| date: | 2005-09-29 10:39:43 |
|---|---|
| category: | Methodology for Non-Programmers |
Requirements describe the problem, and provide a direction for composing a solution. The remaining deliverables, leading up to the creation of software, are created from the requirements. These includes the architecture, design, implementation and deployment documents.
By defining the problem, the requirements document also serves to bracket the scope of the effort. It describes the context, the details of problem and the constraints on candidate solutions. It evolves from a business use case through system use cases. It also includes a conceptual or business model that depicts enties and relationships named by the use cases.
A use case defines an actor’s interactions with the system and how those interactions produce business value. There are many templates for use cases. Simpler is better.
An actor is a person or an automated interface, external to the system. An actor has goals behind their interactions with the system. These goals define the business value the actor creates through their interaction with the system.
The system is the hardware, software or procedures (or combination) under consideration. When doing use case analysis, the system is a “black box” or “tool” with which the actors interact. Further steps in the process will decompose this black box. That activity has to wait until the system, as a whole, has been described.
Business value is some kind of benefit, either intellectual, emotional or economic created through interaction with the system. Generally, it is informational in nature and leads an actor to make a decision or take an action outside the system.
The uses cases form “functional requirements” - things the system will do. The constraints form “non-functional requirements” - other attributes of the system. The non-functional requirements should be organized according to the SEI Quality Measures Taxonomy [link ].
Do not start any other activities until requirements gathering is complete. All time spent prior to understanding the problem is wasted.
A use case should identify the following; for information see the Zachman framework [link ].
Content
The activity of analysis can create three models of the business problem. Each model has a different point of view, but describe the same value-creating activities.
Process
The following four process steps outline the requirements analysis process.
Note that this is a discovery exercise, and is inherently unscopable. Active management of scope and potential scope creep issues is critical.
Note that this often proceeds in several phases: a scoping or inception phase for planning purposes, a high-level analysis phase to decompose the problem and then detailed analysis for individual subject areas.
Note that is iterative: often, the initial results will be refined until they are usable. Common problems include early specification of implementation details, failure to completely identify actors or use cases. These kinds of problems are resolved by iteration through the process.
Standards
Requirements must be finite, definite and effective.
Risk. Failure to define the problem typically leads to a premature effort to define a solution.
Examples of problems include the following.