SlideShare a Scribd company logo
1
Software Requirements and
Specification
2
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
Learning outcome
After this lecture
•You will be able to understand what is requirement
•What is software requirement
•Sources of Requirement
•Levels of requirement
•Importance of software requirement
•Kinds of requirements
•Examples
3
4
Software Requirements
Lecture # 1
5
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
6
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
7
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
8
Software Requirements - 3
• Software requirements may be:
– Abstract statements of services and/or
constraints
– Detailed mathematical functions
9
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
10
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
11
Sources of Requirements
• Stakeholders
– People affected in some way by the
system
• Documents
• Existing system
• Domain/business area
12
Levels of Software Requirements
• Stakeholders describe requirements at
different levels of detail
– “What versus How”
– “One person’s floor is another person’s
ceiling”
13
What Versus How
User needs
Product space
Actual product’s behavior
Architecture/data flow
Module specifications
Algorithms
Code
What
How
What
How
What
How
What
How
What
How
What
How
14
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
15
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.
16
Examples of Requirements - 2
• The system shall interface with the
central computer to send daily sales
and inventory data from every retail
store
17
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.
18
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
19
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
20
Kinds of Software Requirements
21
Kinds of Software Requirements
• Functional requirements
• Non-functional requirements
• Domain requirements
• Inverse requirements
• Design and implementation constraints
22
Functional Requirements
23
Functional Requirements - 1
• Statements describing what the system
does
• Functionality of the system
24
Functional Requirements - 2
• Statements of services the system
should provide
– Reaction to particular inputs
– Behavior in particular situations
25
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
26
Functional Requirements - 4
• Functional requirements should be
complete and consistent
• Customers and developers usually
focus all their attention on functional
requirements
27
Functional Requirements Example # 1
• The system shall solve a quadratic
equation using the following formula
x = (-b+sqrt(b2
– 4*a*c))/2*a
28
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.)
29
Functional Requirements Example # 3
• The system shall provide appropriate
viewers for the user to read documents
in the document store
30
Functional Requirements Example # 4
• Every order shall be allocated a unique
identifier (ORDER_ID) which the user
shall use to access that order
31
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
32
Comments on Examples
• Notice the level of detail in different
requirements described above. Some
are very detailed compared to others
33
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
34
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
35
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
36
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
37
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

More Related Content

PPTX
1 software requirements engineering-01
Zaman Khan
 
PPT
vu-re-lecture-01 requirements engineering.ppt
ubaidullah75790
 
PPT
vu-re-lecture-01 software engineering.ppt
ubaidullah75790
 
PPTX
SRE lec 1.pptx software requirement and engineering
mee23nu
 
PPTX
6. software requirements
Muhammad Sikandar Mustafa
 
PPT
Software architecture3
Ahmad Zee
 
PPT
Ch 1-Introduction.ppt
balewayalew
 
PPTX
Software Requirements Engineering .pptx
zafarzahid979
 
1 software requirements engineering-01
Zaman Khan
 
vu-re-lecture-01 requirements engineering.ppt
ubaidullah75790
 
vu-re-lecture-01 software engineering.ppt
ubaidullah75790
 
SRE lec 1.pptx software requirement and engineering
mee23nu
 
6. software requirements
Muhammad Sikandar Mustafa
 
Software architecture3
Ahmad Zee
 
Ch 1-Introduction.ppt
balewayalew
 
Software Requirements Engineering .pptx
zafarzahid979
 

Similar to Software Requirement Engineering - Power Point Slides lecture-01.ppt (20)

PDF
SE UNIT 2.pdf
udhayaveenaa
 
PPT
CS8494 SOFTWARE ENGINEERING Unit-2
SIMONTHOMAS S
 
PPT
best software requirements for the students
AssadLeo1
 
PPTX
Lecture 2 & 3.pptx
RaoShahid10
 
PDF
SE-Unit II.pdf
AMITKUMARSINGH756828
 
PDF
Lecture 1.pdf
RaoShahid10
 
PDF
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
UjjwalAgrawal34
 
PPT
INTRODUCTION to software engineering requirements specifications
kylan2
 
PDF
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
Jayanthi Kannan MK
 
PDF
Se lec-uosl-8
Shahzad Zaman
 
PPTX
Software Engineering Unit 2 AKTU Complete
malviyamishra19
 
PPTX
SRE_Lecture_1,2,3,4.pptx
AlideveroMurtaza
 
PPT
Web development .. presentation for IT students
asmatarar317
 
PPTX
Software requirement & specification .pptx
SarowarSuman
 
PPT
vu-re-lecture-22 .ppt
HashimAli631806
 
PPTX
Software engineering is a branch of engineering focused on designing, develop...
ushajjad
 
PPT
Se week 4
Mahmoud Saaideh
 
PPT
Se week 4
Mahmoud Saaideh
 
PPTX
2.1. SW Requirements n Specifications.pptx
dawarbaba
 
PPT
Software Requirements engineering
Md. Shafiuzzaman Hira
 
SE UNIT 2.pdf
udhayaveenaa
 
CS8494 SOFTWARE ENGINEERING Unit-2
SIMONTHOMAS S
 
best software requirements for the students
AssadLeo1
 
Lecture 2 & 3.pptx
RaoShahid10
 
SE-Unit II.pdf
AMITKUMARSINGH756828
 
Lecture 1.pdf
RaoShahid10
 
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
UjjwalAgrawal34
 
INTRODUCTION to software engineering requirements specifications
kylan2
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
Jayanthi Kannan MK
 
Se lec-uosl-8
Shahzad Zaman
 
Software Engineering Unit 2 AKTU Complete
malviyamishra19
 
SRE_Lecture_1,2,3,4.pptx
AlideveroMurtaza
 
Web development .. presentation for IT students
asmatarar317
 
Software requirement & specification .pptx
SarowarSuman
 
vu-re-lecture-22 .ppt
HashimAli631806
 
Software engineering is a branch of engineering focused on designing, develop...
ushajjad
 
Se week 4
Mahmoud Saaideh
 
Se week 4
Mahmoud Saaideh
 
2.1. SW Requirements n Specifications.pptx
dawarbaba
 
Software Requirements engineering
Md. Shafiuzzaman Hira
 
Ad

Recently uploaded (20)

PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PDF
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PDF
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PPTX
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PDF
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
PDF
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
PDF
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Activate_Methodology_Summary presentatio
annapureddyn
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
Presentation about variables and constant.pptx
kr2589474
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
Ad

Software Requirement Engineering - Power Point Slides lecture-01.ppt

  • 2. 2 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
  • 3. Learning outcome After this lecture •You will be able to understand what is requirement •What is software requirement •Sources of Requirement •Levels of requirement •Importance of software requirement •Kinds of requirements •Examples 3
  • 5. 5 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
  • 6. 6 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
  • 7. 7 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
  • 8. 8 Software Requirements - 3 • Software requirements may be: – Abstract statements of services and/or constraints – Detailed mathematical functions
  • 9. 9 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
  • 10. 10 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
  • 11. 11 Sources of Requirements • Stakeholders – People affected in some way by the system • Documents • Existing system • Domain/business area
  • 12. 12 Levels of Software Requirements • Stakeholders describe requirements at different levels of detail – “What versus How” – “One person’s floor is another person’s ceiling”
  • 13. 13 What Versus How User needs Product space Actual product’s behavior Architecture/data flow Module specifications Algorithms Code What How What How What How What How What How What How
  • 14. 14 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
  • 15. 15 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.
  • 16. 16 Examples of Requirements - 2 • The system shall interface with the central computer to send daily sales and inventory data from every retail store
  • 17. 17 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.
  • 18. 18 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
  • 19. 19 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
  • 20. 20 Kinds of Software Requirements
  • 21. 21 Kinds of Software Requirements • Functional requirements • Non-functional requirements • Domain requirements • Inverse requirements • Design and implementation constraints
  • 23. 23 Functional Requirements - 1 • Statements describing what the system does • Functionality of the system
  • 24. 24 Functional Requirements - 2 • Statements of services the system should provide – Reaction to particular inputs – Behavior in particular situations
  • 25. 25 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
  • 26. 26 Functional Requirements - 4 • Functional requirements should be complete and consistent • Customers and developers usually focus all their attention on functional requirements
  • 27. 27 Functional Requirements Example # 1 • The system shall solve a quadratic equation using the following formula x = (-b+sqrt(b2 – 4*a*c))/2*a
  • 28. 28 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.)
  • 29. 29 Functional Requirements Example # 3 • The system shall provide appropriate viewers for the user to read documents in the document store
  • 30. 30 Functional Requirements Example # 4 • Every order shall be allocated a unique identifier (ORDER_ID) which the user shall use to access that order
  • 31. 31 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
  • 32. 32 Comments on Examples • Notice the level of detail in different requirements described above. Some are very detailed compared to others
  • 33. 33 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
  • 34. 34 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
  • 35. 35 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
  • 36. 36 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
  • 37. 37 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