0% found this document useful (0 votes)
24 views34 pages

Sre 01

The document discusses software requirements engineering and provides examples of functional requirements. It defines requirements, their importance, sources, levels of detail, and types including functional and non-functional. Examples of clear and ambiguous requirements are also analyzed.

Uploaded by

karan kakreja011
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views34 pages

Sre 01

The document discusses software requirements engineering and provides examples of functional requirements. It defines requirements, their importance, sources, levels of detail, and types including functional and non-functional. Examples of clear and ambiguous requirements are also analyzed.

Uploaded by

karan kakreja011
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 34

Software Requirements

Engineering

Lecture # 01

Adeel Suleman
[email protected]
Lecturer
1
DHA SUFFA UNIVERSITY
Introduction
• Requirements form the basis for all
software products

• Requirements engineering is the


process, which enables us to
systematically determine the
requirements for a software product
2
Requirement
• Something required, something wanted
or needed
– Webster’s dictionary
• There is a huge difference between
wanted and needed and it should be
kept in mind all the time

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

• They also represent External behavior


of the system
5
Software Requirements - 3
• Software requirements may be:
– Part of the bid of contract
– The contract itself
– Part of the technical document, which
describes a product

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

• The system’s user interface shall be


implemented using a web browser

15
Examples of Requirements - 5
• The system shall support at least
twenty transactions per second

• The system facilities which are


available to public users shall be
demonstrable in ten minutes or less

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

• Functionality of the system

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

• Abnormal behavior is also documented


as functional requirements in the form
of exception handling

22
Functional Requirements - 4
• Functional requirements should be
complete and consistent

• Customers and developers usually


focus all their attention on functional
requirements

23
Functional Requirements Example # 1

• The system shall solve a quadratic


equation using the following formula

x = (-b+sqrt(b2 – 4*a*c))/2*a

24
Functional Requirements Example # 2

• The user shall be able to search either


the entire database of patients or select
a subset from it (admitted patients, or
patients with asthma, etc.)

25
Functional Requirements Example # 3

• The system shall provide appropriate


viewers for the user to read documents
in the document store

26
Functional Requirements Example # 4

• Every order shall be allocated a unique


identifier (ORDER_ID) which the user
shall use to access that order

27
Functional Requirements Example # 5

• The system shall allow customers to


return non-perishable items within
fifteen days of the purchase. A
customer must present the original sale
receipt to return an item

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’

• This requirement does not mention the


formats of documents and types of
viewers, which can be used
30
Comments on Examples
• Notice the ambiguity in the
requirement for solving the quadratic
equation. The requirement does not
speak about the possibility when the
value of ‘a’ is zero

x = (-b+sqrt(b2 – 4*a*c))/2*a
31
Comments on Examples
• Incomplete and ambiguous
requirements are open to multiple
interpretations and assumptions

• This can lead to the development of


poor quality, or faulty, software
products
32
Summary
• Requirements form the basis of all
software engineering projects
• Functional requirements capture the
behavioral aspects/functions of the
proposed automated system
• Functional requirements are the
backbone of all software products
33
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
34

You might also like