Vu Re Lecture 01
Vu Re Lecture 01
Vu Re Lecture 01
Engineering
(CS 708)
Lecture # 1
3
Requirement
Something required, something wanted
or needed
Websters dictionary
There is a huge difference between
wanted and needed and it should be
kept in mind all the time
4
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
5
Software Requirements - 2
Software requirements are complete
specification of the desired external
behavior of the software system to be
built
7
Software Requirements - 4
Software requirements may be:
Part of the bid of contract
The contract itself
Part of the technical document, which
describes a product
8
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
9
Sources of Requirements
Stakeholders
People affected in some way by the
system
Documents
Existing system
Domain/business area
10
Levels of Software Requirements
Stakeholders describe requirements at
different levels of detail
What versus How
One persons floor is another persons
ceiling
11
What Versus How
User needs What
How
Product space What
How
Actual products behavior What
How
Architecture/data flow What
How
Module specifications What
How
Algorithms What
How
Code
12
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
13
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.
14
Examples of Requirements - 2
The system shall interface with the
central computer to send daily sales
and inventory data from every retail
store
15
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.
16
Examples of Requirements - 4
The system shall allow users to search
for an item by title, author, or by
International Standard Book Number
17
Examples of Requirements - 5
The system shall support at least
twenty transactions per second
18
Kinds of Software Requirements
19
Kinds of Software Requirements
Functional requirements
Non-functional requirements
Domain requirements
Inverse requirements
Design and implementation constraints
20
Functional Requirements
21
Functional Requirements - 1
Statements describing what the system
does
22
Functional Requirements - 2
Statements of services the system
should provide
Reaction to particular inputs
Behavior in particular situations
23
Functional Requirements - 3
Sequencing and parallelism are also
captured by functional requirements
24
Functional Requirements - 4
Functional requirements should be
complete and consistent
25
Functional Requirements Example # 1
x = (-b+sqrt(b2 4*a*c))/2*a
26
Functional Requirements Example # 2
27
Functional Requirements Example # 3
28
Functional Requirements Example # 4
29
Functional Requirements Example # 5
30
Comments on Examples
Notice the level of detail in different
requirements described above. Some
are very detailed compared to others
31
Comments on Examples
Notice the ambiguity in the
requirement, which uses the term
appropriate viewers
x = (-b+sqrt(b2 4*a*c))/2*a
33
Comments on Examples
Incomplete and ambiguous
requirements are open to multiple
interpretations and assumptions
35
References
Requirements Engineering: Processes and
Techniques by G. Kotonya and I.
Sommerville, John Wiley & Sons, 1998
Software Requirements: Objects, Functions,
and States by A. Davis, PH, 1993
Software Engineering 6th Edition, by I.
Sommerville, 2000
Software Engineering 5th Edition, by R.
Pressman
36