Software Requirements Specification
Requirements Gathering → Analysis → Specification → Review → SRS document creation
Requirements Gathering
- Gathering involves interviewing the end users to understand their needs
- Studying existing products, manual, techniques etc.
Requirements Analysis
- This is phase is it get into the gathered requirements and detect incompleteness, inconsistencies, ambiguity etc.
Requirements Specification
- The cleaned up requirements are organised in SRS (Black-box specification)
What exactly the SRS document should be ?
- Concise
- Easy to change
- Complete
- Complete
- Should not contain ambiguity
- It should be verifiable
It should not contain
- Design
- Implementation details
Important Sections of SRS document
- Functional Requirements
Specifies the functionality of the software → Heart of SRS
- Non functional Requirements
Maintainability Portability Usability Security
- Constraints
Operating System, Computer specifications
- External Interfaces
User interfaces, Hardware interfaces, File export formats
IEEE Standard for SRS
- Introduction - Purpose, scope and definitions
- Functional Requirements - Describe all the functionalities
- Non functional Requirements - Portability, Maintainability, Security, Performance
- External Interfaces - User, Hardware and Software interfaces
- Constraints
Logic Representation Tools
- Decision Trees
- Decision Table - (Upper → Conditions) (Lower → Actions)