Characteristics of
Good Requirements
Good Requirements are SMART:
Document:
Software Requirement Specification (SRS)
Basic Description
The product of the Requirements Engineering process.
Specifies:
Types of Requirements
Focus
Functionality
User Requirements
Summary
Requirements written for customers
Statements are written in natural language, concepts illustrated with simple diagrams
System Requirements
Summary
Written for the development team.
Functional Requirements
Summary
Includes:
Non-Functional Requirements
Summary
Who typically reads User Requirements?
Who typically reads
System Requirements?
Completeness and Consistency
of Requirements Specification
The Requirement Specification should be:
Refactoring:
Definition
The process of restructuring existing computer code without changing its external behavior.
Refactoring:
Guidelines
Requirements Engineering:
Description
A process that covers all the activities involved in
Discovering, Documenting and Maintaining a set of Requirements.
The process should use systematic and repeatible techniques to ensure the quality of the software requirements.
Requirements Engineering:
Common Activities
Requirements Elicitation
Requirements Analysis
Requirements Validation
Requirements Management
Non-Functional Requirements:
Making them verifiable
Nonfunctional requirements may be very difficult to state precisely.
Imprecise requirements may be difficult to verify.
A Verifiable Nonfunctional Requirement should state some specific measure that can be objectively tested
Non-Functional Requirements:
Possible Metrics
Writing Requirements:
Guidelines (4)
Writing Requirements:
Two Approaches to structuring
Tabular Specification
Structured Specification
Writing Requirements:
Tabular Specification
Writing Requirements:
Structured Specification
Who typically reads the
Software Requirements Specification (SRS)?