SlideShare a Scribd company logo
1
Software Requirements
Engineering
(CS 708)
Dr. Ghulam Ahmad Farrukh
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
Software Requirements
Lecture # 1
4
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
5
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
6
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
7
Software Requirements - 3
• Software requirements may be:
– Abstract statements of services and/or
constraints
– Detailed mathematical functions
8
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
9
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
10
Sources of Requirements
• Stakeholders
– People affected in some way by the
system
• Documents
• Existing system
• Domain/business area
11
Levels of Software Requirements
• Stakeholders describe requirements at
different levels of detail
– “What versus How”
– “One person’s floor is another person’s
ceiling”
12
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
13
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
14
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.
15
Examples of Requirements - 2
• The system shall interface with the
central computer to send daily sales
and inventory data from every retail
store
16
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.
17
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
18
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
19
Kinds of Software Requirements
20
Kinds of Software Requirements
• Functional requirements
• Non-functional requirements
• Domain requirements
• Inverse requirements
• Design and implementation constraints
21
Functional Requirements
22
Functional Requirements - 1
• Statements describing what the system
does
• Functionality of the system
23
Functional Requirements - 2
• Statements of services the system
should provide
– Reaction to particular inputs
– Behavior in particular situations
24
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
25
Functional Requirements - 4
• Functional requirements should be
complete and consistent
• Customers and developers usually
focus all their attention on functional
requirements
26
Functional Requirements Example # 1
• The system shall solve a quadratic
equation using the following formula
x = (-b+sqrt(b2 – 4*a*c))/2*a
27
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.)
28
Functional Requirements Example # 3
• The system shall provide appropriate
viewers for the user to read documents
in the document store
29
Functional Requirements Example # 4
• Every order shall be allocated a unique
identifier (ORDER_ID) which the user
shall use to access that order
30
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
31
Comments on Examples
• Notice the level of detail in different
requirements described above. Some
are very detailed compared to others
32
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
33
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
34
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
35
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
36
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
PPT
Software Requirement Engineering - Power Point Slides lecture-01.ppt
PPTX
SRE lec 1.pptx software requirement and engineering
PPTX
Software requirement and specification
PPTX
Software requirement and specification
PPT
Software architecture3
PDF
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
PPTX
W4 lecture 7&8 - requirements gathering
1 software requirements engineering-01
Software Requirement Engineering - Power Point Slides lecture-01.ppt
SRE lec 1.pptx software requirement and engineering
Software requirement and specification
Software requirement and specification
Software architecture3
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
W4 lecture 7&8 - requirements gathering

Similar to vu-re-lecture-01 software engineering.ppt (20)

DOCX
1 Software Requirements Descriptions and specification.docx
PDF
3. 1 req elicitation
PPT
Software Requirements engineering
PDF
Software Engineering .pdf
PPT
vu-re-lecture-45 requirement engineering.ppt
PPTX
Software Engineering- Requirement Elicitation and Specification
PDF
Software Engineering : Requirement Analysis & Specification
PPT
Requirements Engineering - SRS - IEEE.ppt
PDF
2-Reqerwsrhfdfsfgtdrttddjdiuiversion 2.pdf
PDF
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
PDF
Requirements Engineering - Lecture 1.pdf
PPTX
Un it 2-se-mod-staff
PPT
INTRODUCTION to software engineering requirements specifications
PPT
best software requirements for the students
PPT
Software Requirements Analysis Lecture.ppt
PPTX
Requirements Engineering - "Ch2 an introduction to requirements"
PPTX
6. software requirements
PPT
Software engineering lecture 1
PPT
SRS 1 software requirement specificatio.ppt
1 Software Requirements Descriptions and specification.docx
3. 1 req elicitation
Software Requirements engineering
Software Engineering .pdf
vu-re-lecture-45 requirement engineering.ppt
Software Engineering- Requirement Elicitation and Specification
Software Engineering : Requirement Analysis & Specification
Requirements Engineering - SRS - IEEE.ppt
2-Reqerwsrhfdfsfgtdrttddjdiuiversion 2.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
Requirements Engineering - Lecture 1.pdf
Un it 2-se-mod-staff
INTRODUCTION to software engineering requirements specifications
best software requirements for the students
Software Requirements Analysis Lecture.ppt
Requirements Engineering - "Ch2 an introduction to requirements"
6. software requirements
Software engineering lecture 1
SRS 1 software requirement specificatio.ppt
Ad

More from ubaidullah75790 (20)

PPTX
Chapter20 transaction processing system .pptx
PPTX
Chapter22 database security in dbms.pptx
PPTX
Chapter27 distributed database syst.pptx
PPTX
File Organization in database management.pptx
PPTX
transaction processing databse management.pptx
PPT
physical database design distributed .ppt
PPT
module03-ipaddr ipv6 addressing in net.ppt
PPT
PDBD- Part2 physical database design.ppt
PPT
Physical_Design system development life.PPT
PPT
S3 application and network attacks in.ppt
PPT
Chapter 5 cyber security in computer.ppt
PPTX
1606802425-dba-w7 database management.pptx
PPT
ENCh18 database management system ss.ppt
PPT
Chapter07 database system in computer.ppt
PPT
Chapter05 database sytem in computer . ppt
PPT
Chapter04 database system in computer.ppt
PPT
Chapter03 database system in computer.ppt
PPT
Chapter02 database system in computer.ppt
PPT
Chapter01 database system in computer.ppt
PPT
MYCH8 database management system in .ppt
Chapter20 transaction processing system .pptx
Chapter22 database security in dbms.pptx
Chapter27 distributed database syst.pptx
File Organization in database management.pptx
transaction processing databse management.pptx
physical database design distributed .ppt
module03-ipaddr ipv6 addressing in net.ppt
PDBD- Part2 physical database design.ppt
Physical_Design system development life.PPT
S3 application and network attacks in.ppt
Chapter 5 cyber security in computer.ppt
1606802425-dba-w7 database management.pptx
ENCh18 database management system ss.ppt
Chapter07 database system in computer.ppt
Chapter05 database sytem in computer . ppt
Chapter04 database system in computer.ppt
Chapter03 database system in computer.ppt
Chapter02 database system in computer.ppt
Chapter01 database system in computer.ppt
MYCH8 database management system in .ppt
Ad

Recently uploaded (20)

PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
Sustainable Sites - Green Building Construction
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
web development for engineering and engineering
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
DOCX
573137875-Attendance-Management-System-original
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PDF
Well-logging-methods_new................
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPT
Project quality management in manufacturing
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Sustainable Sites - Green Building Construction
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
additive manufacturing of ss316l using mig welding
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Embodied AI: Ushering in the Next Era of Intelligent Systems
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
UNIT 4 Total Quality Management .pptx
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
web development for engineering and engineering
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
573137875-Attendance-Management-System-original
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Well-logging-methods_new................
bas. eng. economics group 4 presentation 1.pptx
Project quality management in manufacturing

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