Requirement Specifications šŸ”„

Software Requirements Documents paper2

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
designing-868x621

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