Software Specification: Structure and Contents of the Requirements Definition
Structure and contents of the requirements definition
The sectional organization of the requirements definition (ANSI/IEEE guide to Software Requirement Specification [ANSI 1984]) are:
1. Initial situation and goals
A general description of
> The initial situation with reference to the requirements analysis,
> The project goals, and
> A delimitation of these goals with respect to the system environment.
2. System application and system environment
> Description of the prerequisites that must apply for the system to be used.
Note:
> The description of all information that is necessary for the employment of the system, but not part of the implementation.
> Specification of the number of users, the frequency of use, and the jobs of the users.
3. User interfaces
> The human-machine interface.
Notes:
> This section is one of the most important parts of the requirements definition, documenting how the user communicates with the system.
> The quality of this section largely determines the acceptance of the software product.
4. Functional requirements
> Definition of the system functionality expected by the user
> All necessary specifications about the type, amount and expected precision of the data associated with each system function.
Notes:
> Good specifications of system functionality contain only the necessary information about these functions.
> Any additional specifications, such as about the solution algorithm for a function, distracts from the actual specification task and restricts the flexibility of the subsequent system design.
> Only exact determination of value ranges for data permits a plausibility check to detect input errors.
5. Nonfunctional requirements
> Requirements of nonfunctional nature: reliability, portability, and response and processing times …
Note:
> For the purpose of the feasibility study, it is necessary to weight these requirements and to provide detailed justification.
6. Exception handling
> Description of the effects of various kinds of errors and the required system behavior upon occurrence of an error.
Note:
> Developing a reliable system means considering possible errors in each phase of development and providing appropriate measures to prevent or diminish the effects of errors.
7. Documentation requirements
> Establish the scope and nature of the documentation.
Note:
> The documentation of a system provides the basis for both the correct utilization of the software product and for system maintenance.
8. Acceptance criteria
> Establishing the conditions for inspection of the system by the client.
Notes:
> The criteria refer to both functional and nonfunctional requirements
> The acceptance criteria must be established for each individual system requirement. If no respective acceptance criteria can be found for a given requirement, then we can assume that the client is unclear about the purpose and value of the requirement.
9. Glossary and index
> A glossary of terms
> An extensive index
Notes:
> The requirements definition constitutes a document that provides the basis for all phases of a software project and contains preliminary considerations about the entire software life cycle
> The specifications are normally not read sequentially, but serve as a reference for lookup purposes.
Posted in Computer Science, Information Technology, Software Engineering, Software Engineering |
