Background for Requirements Management

Several excellent guides to requirements elicitation have been published; therefore, our intent is not to rearticulate them, but to make the reader aware of them and the power of their use. Gerald Weinberg,^ Roger Pressman,^ and Barry Boehrrf^ have suggested steps to gather and understand the necessary software requirements and prepare them for specifications in the SRS, as discussed in Chapter 17. We do not pretend to know of superior approaches, but we do desire to present a practical description and guide to consolidating the wisdom of these authorities.

In this chapter we'll discuss "Gather" and "Analyze" from Weinberg's steps shown in Figure 16-3. We will also reference a set of very high-level models that could help with gathering and analyzing requirements. The majority of modeling activities will take place in the analysis and design phases, as described in Chapter 22.

Figure 16-3. Weinberg's Steps in Analyzing Requirements

Source: Adapted from Donald C. Gause and Gerald M. Weinberg (1989). Exploring Requirements: Quality Before Design. New York,

NY: Dorset House.

From Pressman's requirements engineering steps, shown in Figure 16-4, we'll cover requirements elicitation (understanding what the customer wants) and requirements analysis and negotiation (analyzing need, negotiating a reasonable solution). Pressman's requirements specification step is covered in Chapter 17; Pressman's system modeling step is covered irChapter 22.

Figure 16-4. Pressman's Requirements Engineering Steps

Figure 16-4. Pressman's Requirements Engineering Steps

Requirements engineering steps include:

• Requirements elicitation—understanding what the customer wants;

• Requirements analysis and negotiation—analyzing need, negotiating a reasonable solution;

• Requirements specification—specifying the solution unambiguously;

• System modeling;

• Requirements validation—validating the specification;

• Requirements management.

From Boehm's model, shown in Figure 16-5, win conditions, negotiation, mutual gain, trade-offs, and win-win agreements apply when prioritizing requirements and preparing them for the specification activities.

Figure 16-5. Boehm's Requirements Engineering Steps

Source: Adapted from Barry W. Boehm, et al. (1994). "Software Requirements as Negotiated Win Conditions." Proceedings oflCRE,

Software requirements engineering is the process of determining what is to be produced in a software system. It has the widely recognized goal of determining the needs for, and the intended external behavior of, a system design. The process of requirements engineering is regarded as one of the most important aspects of building a software system. Within a project, it is a general term used to encompass all the activities related to requirements. The four specific steps in software requirements engineering are: requirements elicitation, requirements analysis, requirements specification, and requirements validation.

m previous

Free Open Study >

* previous

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook

Post a comment