Sre 01
Sre 01
Engineering
Lecture # 01
Adeel Suleman
[email protected]
Lecturer
1
DHA SUFFA UNIVERSITY
Introduction
• Requirements form the basis for all
software products
3
Software Requirements - 1
• A complete description of what the
software system will do without
describing how it will do it is
represented by the software
requirements
4
Software Requirements - 2
• Software requirements are complete
specification of the desired external
behavior of the software system to be
built
6
IEEE Definition
• A condition or capability that must be
met or possessed by a system...to
satisfy a contract, standard,
specification, or other formally
imposed document
– IEEE Std 729
7
Sources of Requirements
• Stakeholders
– People affected in some way by the
system
• Documents
• Existing system
• Domain/business area
8
Levels of Software Requirements
• Stakeholders describe requirements at
different levels of detail
– “What versus How”
– “One person’s floor is another person’s
ceiling”
9
What Versus How
User needs What
How
Product space What
How
Actual product’s behavior What
How
Architecture/data flow What
How
Module specifications What
How
Algorithms What
How
Code
10
Importance of Software
Requirements
• The hardest single part of building a
software system is deciding what to
build...No other part of the work so
cripples the resulting system if done
wrong. No other part is difficult to
rectify later
– Fred Brooks
11
Examples of Requirements - 1
• The system shall maintain records of
all payments made to employees on
accounts of salaries, bonuses,
travel/daily allowances, medical
allowances, etc.
12
Examples of Requirements - 2
• The system shall interface with the
central computer to send daily sales
and inventory data from every retail
store
13
Examples of Requirements - 3
• The system shall maintain records of
all library materials including books,
serials, newspapers and magazines,
video and audio tapes, reports,
collections of transparencies, CD-
ROMs, DVDs, etc.
14
Examples of Requirements - 4
• The system shall allow users to search
for an item by title, author, or by
International Standard Book Number
15
Examples of Requirements - 5
• The system shall support at least
twenty transactions per second
16
Kinds of Software Requirements
17
Kinds of Software Requirements
• Functional requirements
• Non-functional requirements
• Domain requirements
• Inverse requirements
• Design and implementation constraints
18
Functional Requirements
19
Functional Requirements - 1
• Statements describing what the system
does
20
Functional Requirements - 2
• Statements of services the system
should provide
– Reaction to particular inputs (output
produced)
– Behavior in particular situations
21
Functional Requirements - 3
• Sequencing and parallelism are also
captured by functional requirements
22
Functional Requirements - 4
• Functional requirements should be
complete and consistent
23
Functional Requirements Example # 1
x = (-b+sqrt(b2 – 4*a*c))/2*a
24
Functional Requirements Example # 2
25
Functional Requirements Example # 3
26
Functional Requirements Example # 4
27
Functional Requirements Example # 5
28
Comments on Examples
• Notice the level of detail in different
requirements described above. Some
are very detailed compared to others
29
Comments on Examples
• Notice the ambiguity in the
requirement, which uses the term
‘appropriate viewers’
x = (-b+sqrt(b2 – 4*a*c))/2*a
31
Comments on Examples
• Incomplete and ambiguous
requirements are open to multiple
interpretations and assumptions