Requirement Specifications š„
Software Requirements Documents
Include
Definition of user requirements
Specification of the system requirements
NOT a design document
WHAT the system should do
Agile Method and Requirements
click to edit
Writing a System
Requirements Specification ā
Example : XP use incremental requirements
engineering and express requirements aāuser storiesā.
click to edit
Natural Language Specification
Practical for bussiness development but not for system that require pre-delivery analysis
Problem with Natural Language
Structured Specifications
Graphical notations
Structured natural language
Mathematical specifications
Natural language
Guideline for Writing Requirements
click to edit
Design description
language
What
using numbered sentences
written in natural language on standard form or template
like programming language, but with more abstract features
graphical models, supplemented by text annotations
based on mathematical concepts
use text highlighting to identify key parts of requirement
avoid use computer jargon
include explanation of why requirement is necessary
invent a standard format and use it for all requirements
Lack of clarity
Requirement confusion
Requirement Amalgamation
each sentence express one requirement
information about an aspect of the requirement on each field
specify requirement by defining an operational model
rarely used but useful for interface specifications
used to define functional requirements
e.g UML use case, sequence diagrams
can reduce the ambiguity in a requirements document
most customers don't understand
reluctant to accept it as a system contract
Requirements and Design
requirements: state what system should do
design: how system does this
requirements and design are inseparable
a system architecture may be designed to structure the requirements
system may inter-operate with other systems
that generate design requirements
use of a specific architecture to satisfy non-functional requirements may be a domain requirement
may be a consequence of a regulatory requirement
use language in consistent way. "SHALL" for mandatory. "SHOULD" for desirable
requirements are written as natural language sentences
expressive, intuitive and universal
requirements can be understood by users and customers
Format
Usually use for embedded control system
Writing requirements in a standardize way
Description of the function or entity being specified
Description of its inputs and the origin of these inputs
Description of its outputs and the destination of these outputs
Information about the information needed for the computation or other entities
in the system that are required (the ārequiresā part)
Description of the action to be taken
Description of the side effects (if any) of the operation
Description of the action to be taken
Pre and post conditons (if appropriate)
Tabular specification
What
Useful when have to define a number of possible alternative courses of action
Used to supplement natural language