Академический Документы
Профессиональный Документы
Культура Документы
Slide Set - 4
Organized & Presented By:
Software Engineering Team CSED
TIET, Patiala
Software Requirements
Software Requirements
Descriptions and specifications of a system
Objectives:
Requirements
The descriptions of the system
services and constraints
that are generated during the
requirements engineering
process
What is a requirement?
• It may range from a high-level abstract statement of a service or of a
system constraint to a detailed mathematical functional specification
• Types of Requirements:
• 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
Client manag ers
System end -users
User req uirements Client en gineers
Contractor man ag ers
System architects
• 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
• The user shall be able to search either all of the initial set of
databases or select a subset from it.
Complete
• They should include descriptions of all facilities required
Consistent
• There should be no conflicts or contradictions in the descriptions
of the system facilities
• 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
Non-fu nctio nal
requ ir ements
• Goal
• A general intention of the user such as ease of use
• Understandability
• Requirements are expressed in the language of the
application domain
• This is often not understood by software engineers
developing the system
• 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
Guidelines for writing requirements
• 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
• The same 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 in addition to NL
specification
S p e c i f y t h e r e q u ir e m e n ts a n d
r e a d th e m to c h e c k t h a t t h e y
S y s t e m c u s to m e r s m e e t th e ir n e e d s . T h e y
s p e c if y c h a n g e s t o th e
r e q u ir e m e n ts
U s e t he re q ui re m e nt s
M a na g e rs d o c u m e n t to p l a n a b i d f o r
t h e s y s te m a n d to p l a n th e
s y s t e m d e v e lo p m e n t p r o c e s s
U s e t h e r e q u i r e m e n t s to
S y s t e m e n g in e e r s u n d e r s ta n d w h a t s y s te m i s to
b e d e v e lo p e d
S y s t e m te s t U s e t h e r e q u i r e m e n t s to
e n g in e e r s d ev e lo p v a l id a ti o n te s ts f o r
t h e s y s te m
Users of a
S y st e m U s e t h e r e q u i r e m e n t s to h e l p requirements
m a in te n a n c e
e n g in e e r s
u n d er s ta n d th e s y s t e m a n d
t h e r e l a ti o n s h ip s b e tw e e n it s document
p ar t s
Video Link –
Functional vs Non-Functional
Requirements
https://www.youtube.com/watch?v=NE1_cAWzQLM