Please enable JavaScript.
Coggle requires JavaScript to display documents.
Requirement Specifications :fire: (Writing a System Requirements …
Requirement Specifications :fire:
Software Requirements Documents
Include
Definition of user requirements
Specification of the system requirements
WHAT the system should do
NOT a design document
Agile Method and Requirements
Example : XP use incremental requirements
engineering and express requirements a‘user stories’.
Practical for bussiness development but not for system that require pre-delivery analysis
Writing a System
Requirements Specification :fountain_pen:
Graphical notations
graphical models, supplemented by text annotations
used to define functional requirements
e.g UML use case, sequence diagrams
Structured natural language
written in natural language on standard form or template
information about an aspect of the requirement on each field
Mathematical specifications
based on mathematical concepts
can reduce the ambiguity in a requirements document
most customers don't understand
reluctant to accept it as a system contract
Natural language
using numbered sentences
each sentence express one requirement
Design description
language
like programming language, but with more abstract features
specify requirement by defining an operational model
rarely used but useful for interface specifications
Natural Language Specification
Problem with Natural Language
Guideline for Writing Requirements
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
use language in consistent way. "SHALL" for mandatory. "SHOULD" for desirable
Lack of clarity
Requirement confusion
Requirement Amalgamation
requirements are written as natural language sentences
expressive, intuitive and universal
requirements can be understood by users and customers
Structured Specifications
What
Usually use for embedded control system
Writing requirements in a standardize way
Format
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
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