Content
- Overview
- Requirement
- What is Requirement?
- Types of Requirements
- SRS (Software Requirements Specification)
Overview
Understand customer and end-user needs.
- A clear idea of the services (the required behaviors)
- A clear idea of the constraints on the solution
Requirements Engineering: process of discovering, analyzing, documenting, checking, tracking, and handling change in the services & constraints.
- Elicitation
- Analysis
- Specification
- Validation
- Management
Requirement
What is Requirement?
- An aspect of what the system must do
- A quality attribute the system must have
- A constraint on the system or development
-> solving the customer's problem!
The set of requirements -> negotiated agreement among stakeholders
Types of Requirements
Type | Description |
---|---|
Business requirement | High-level goals and constraints; why needed? |
Business rule | Policy, guideline, standard, regulation; not a requirement itself, but a origin of several of them |
User requirement | Desired product output; use cases or user stories |
Functional requirement | Services must be provided; behavior under certain situations; reaction to certain inputs |
Non-functional requirement | Property or characteristic constraining the system; how well the system provides the functional requirements |
Feature | A set of functional requirements; big idea |
System requirement | Top-level requirement for multi-subsystem product |
Quality attribute | Performance characteristic; sort of non-functional requirements |
External interface requirement | Communication between systems, user, or H/W device |
Constraint | Restricts choices available to developers; sort of non-functional requirements |
SRS (Software Requirements Specification)
Alternative to extending the use case model is to create a separate SRS in which functional & non-functional requirements associated with each feature are identified. Focus on what must be built; discarding details.