- 01 - Introduction
- 02a - Planning
- 02b - Administrative Specification
- 02c - Requirements Specification
- 02d - Platform Specification
- 02e - Software Repository
- 03a - Development
- 03b - Documentation
- 03c - Security
- 03d - Quality
- 03e - Uncoupled Configuration
The requirements specification should detail all of the processes and functionalities that the finished software should contain. This specification should include both functional specifications and non-functional specifications. The functional specification should employ use cases that describe the users interaction with the system (Graphical User Interface, Reporting Requirements). And, the non-functional specification should include any constraints not imposed by the user (Database Requirements, performance requirements, quality requirements).
It is recommended that a flowchart with detailed descriptions be used to document the manual and automated processes.
Graphical User Interface
Screen mock-ups can be used to remove ambiguity about the final appearance of the graphical user interface, but this is optional.
Applications requiring the generation of reports must contain detailed descriptions of the report formats and the desired report data as this could impact the definition of the database schema.
Data Security Requirements
If the application will read, write, delete, display or in any other way touch sensitive personnel or corporate data then descriptions of the steps taken to protect this data must be described.
Applications requiring a database or any other type of long-term data storage should contain the desired database schema and a description of methods for adhering to data retention policies.
The analyst/programmer should also list any assumptions that he is making.