CS8494 Softwareengineering-Unit Ii
CS8494 Softwareengineering-Unit Ii
CS8494 Softwareengineering-Unit Ii
UNIT II
REQUIREMENTS ANALYSIS AND
SPECIFICATION
“If a comp any w ishes to le t a cont ract for a la rge software deve lopmen t project, it
must define its need s in a suffi cien tly ab stract way that a solution is no t pre-defined.
The requi remen ts must be written so that several cont ractors can b id for the con tract,
offering, pe rhap s, different ways of me eting the c lien t organi sation ’s need s. Once a
contract has been a warded, the cont ractor must write a system definition for the client
in more detail so that the c lient und erstand s and c an val idate what the software will
do. Both o f these docu ment s may be ca lled the requirements document for the
system. ”
Types of requirement
8
User requirements
Statements in natural language plus diagrams of the
services the system provides and its operational
constraints. Written for customers
System requirements
A structured document setting out detailed descriptions of
the system services. Written as a contract between client
and contractor
Software specification
A detailed software description which can serve as a
basis for a design or implementation. Written for
developers
Requirements readers
9
Client managers
System end-users
User requirements Client engineers
Contractor managers
System architects
System end-users
Client engineers
System requirements
System architects
Software developers
Functional requirements
Statements of services the system should provide, how the
system should react to particular inputs and how the
system should behave in particular situations.
Non-functional requirements
constraints
on the services or functions offered by the
system such as timing constraints, constraints on the
development process, standards, etc.
Domain requirements
Requirements that come from the application domain of
the system and that reflect characteristics of that domain
Functional requirements
11
Product requirements
Requirements which specify that the delivered product must
behave in a particular way e.g. execution speed, reliability, etc.
Organisational requirements
Requirements which are a consequence of organisational
policies and procedures e.g. process standards used,
implementation requirements, etc.
External requirements
Requirements which arise from factors which are external to the
system and its development process e.g. interoperability
requirements, legislative requirements, etc.
Non-functional requirement types
14
Non-functional
requir ements
Product requirement
It shall be possible for all necessary communication between the
APSE and the user to be expressed in the standard Ada
character set
Organisational requirement
The system development process and deliverable documents
shall conform to the process and deliverables
External requirement
The system shall not disclose any personal information about
customers apart from their name and reference number to the
operators of the system
Requirements measures
16
Lack of clarity
Precision is difficult without making the document
difficult to read
Requirements confusion
Functional and non-functional requirements tend to be
mixed-up
Requirements amalgamation
Several different requirements may be expressed
together
Database requirement
21
Ambiguity
The readers and writers of the requirement must
interpret the same words in the same way. NL is
naturally ambiguous so this is very difficult
Over-flexibility
Thesame thing may be said in a number of different
ways in the specification
Lack of modularisation
NL structures are inadequate to structure system
requirements
Alternatives to NL specification
30
Notation Description
Structured natural This approach depends on defining standard forms or
language templates to express the requirements specification.
Design description This approach uses a language like a programming
languages language but with more abstract features to specify the
requirements by defining an operational model of the
system.
Graphical A graphical language, supplemented by text annotations is
notations used to define the functional requirements for the system.
An early example of such a graphical language was SADT.
More recently, use-case descriptions (Jacobsen, Christerson
et al., 1993) have been used.
Disadvantages are
The PDL may not be sufficiently expressive to define domain
concepts
The specification will be taken as a design rather than a
specification
Sys. Req. Interface specification
33
Data representations
Users of a
System engineers
Use the requirements to requirements
understand what system is to
be developed document
Introduction
General description
Specific requirements
Appendices
Index
This is a generic structure that must be instantiated
for specific systems
Requirements document structure
38
Introduction
Glossary
User requirements definition
System architecture
System requirements specification
System models
System evolution
Appendices
Index
The Requirement Engineering Process
Requirements validation
Requirements management
Objectives
To describe the principal requirements engineering
activities
To introduce techniques for requirements elicitation
and analysis
To describe requirements validation
To discuss the role of requirements management in
support of other requirements engineering
processes
The Requirements Engineering Process
Feasibility studies
A feasibility study decides whether or not the
proposed system is worthwhile
A short focused study that checks
If the system contributes to organisational objectives
If the system can be engineered using current
technology and within budget
If the system can be integrated with other systems that
are used
Feasibility study implementation
Based on information assessment (what is required),
information collection and report writing
Questions for people in the organisation
What if the system wasn’t implemented?
What are current process problems?