SlideShare a Scribd company logo
Software Requirements
Lecture # 3
2
Kinds of Software Requirements
• Functional requirements
• Non-functional requirements
• Domain requirements
• Inverse requirements
• Design and implementation constraints
3
Non-Functional Requirements Discussion
• NFRs are very important to capture the
emergent behavior of the system in these
there major dimensions
• Product
– Usability, reliability, portability, efficiency
(performance, space)
• Organizational
– Standards, implementation, delivery
• External
– Interoperability, ethical, legislative (privacy,
safety)
4
NFRs as Goals
• Non-functional requirements are
sometimes written as general goals,
which are difficult to verify
• They should be expressed
quantitatively using metrics (measures)
that can be objectively tested
5
Example: Goal converted into an NFR
• Goal (unverifiable)
– The system should be easy to use by
experienced controllers and should be
organized in such a way that user errors are
minimized
• Non-functional requirement (verifiable)
– Experienced controllers shall be able to use all
the system functions after a total of two hours’
training. After this training, the average
number of errors made by experienced users
shall not exceed two per day
Metrics for
Non-Functional Requirements
(NFRs)
7
Metrics for NFRs - 1
Property Measure
Speed 1. Processed
transactions/second
2. Response time
3. Screen refresh time
Requirements related to “Speed” can use different
measures to quantify the goal
8
Metrics for NFRs - 2
Property Measure
Size 1. K bytes
2. Number of function points
Requirements related to “Size” can use different measures
to quantify the goal
9
Metrics for NFRs - 3
Property Measure
Ease of use 1. Training time
2. Number of help frames
Requirements related to “Ease of use” can use different
measures to quantify the goal
10
Metrics for NFRs - 4
Property Measure
Reliability 1. Mean time to failure
2. Probability of
unavailability
3. Rate of failure occurrence
4. Availability
Requirements related to “Reliability” can use different
measures to quantify the goal
11
Metrics for NFRs - 5
Property Measure
Robustness 1. Time to restart after failure
2. Percentage of events
causing failure
3. Probability of data
corruption on failure
Requirements related to “Robustness” can use different
measures to quantify the goal
12
Metrics for NFRs - 6
Property Measure
Portability 1. Percentage of target-
dependent statements
2. Number of target systems
Requirements related to “Portability” can use different
measures to quantify the goal
13
Discussion on Metrics for NFRs
• With the help of these measures the NFRs
can be verified quantitatively
• It should also be noted that the cost of
quantitatively verifying each NFR may be
very high
14
Kinds of Software Requirements
• Functional requirements
• Non-functional requirements
• Domain requirements
• Inverse requirements
• Design and implementation constraints
Domain Requirements
16
Domain Requirements - 1
• Requirements that come from the
application domain and reflect
fundamental characteristics of that
application domain
• These can be both the functional or
non-functional requirements
17
Domain Requirements - 2
• These requirements, sometimes, are
not explicitly mentioned
• Domain experts find it difficult to
convey domain requirements
• Their absence can cause significant
dissatisfaction
18
Domain Requirements - 3
• Domain requirements can impose strict
constraints on solutions. This is
particularly true for scientific and
engineering domains
• Domain-specific terminology can also
cause confusion
19
Domain Requirements - 4
• Example:
In a commission-based sales
businesses, there is no concept of
negative commission. However, if
care is not taken novice developers can
be lured into developing systems,
which calculate negative commission
20
Domain Requirements - 5
• Banking domain has its own specific
constraints, for example, most banks
do not allow over-draw on most
accounts, however, most banks allow
some accounts to be over-drawn
21
Kinds of Software Requirements
• Functional requirements
• Non-functional requirements
• Domain requirements
• Inverse requirements
• Design and implementation constraints
Inverse Requirements
23
Inverse Requirements - 1
• They explain what the system shall not do.
Many people find it convenient to describe
their needs in this manner
• These requirements indicate the indecisive
nature of customers about certain aspects of
a new software product
24
Inverse Requirements - 2
• Example:
The system shall not use red color in
the user interface, whenever it is
asking for inputs from the end-user
25
Kinds of Software Requirements
• Functional requirements
• Non-functional requirements
• Domain requirements
• Inverse requirements
• Design and implementation constraints
Design and Implementation
Constraints
27
Design and Implementation
Constraints - 1
• They are development guidelines
within which the designer must work
• These requirements can seriously limit
design and implementation options
• Can also have impact on human
resources
28
Design and Implementation
Constraints Examples
• The system shall be developed using
the Microsoft .Net platform
• The system shall be developed using
open source tools and shall run on
Linux operating system
29
Summary
• Discussed different kinds of
requirements including domain,
inverse, and implementation
constraints
• Requirements should be explored from
different perspectives and categorized
differently
30
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
Lecture No 03.pptx requirement engineering
PPTX
Lecture 5 Types of Requirements I.pptx
PPT
Software Requirements engineering
PDF
Software Requirements Till User Stories.pdf
PPTX
6. software requirements
PPTX
2.1. SW Requirements n Specifications.pptx
PPTX
Types of Software Requirements | software engineering.pptx
PPTX
Software engineering is a branch of engineering focused on designing, develop...
Lecture No 03.pptx requirement engineering
Lecture 5 Types of Requirements I.pptx
Software Requirements engineering
Software Requirements Till User Stories.pdf
6. software requirements
2.1. SW Requirements n Specifications.pptx
Types of Software Requirements | software engineering.pptx
Software engineering is a branch of engineering focused on designing, develop...

Similar to vu-re-lecture-03 requirement engineering.ppt (20)

PPTX
Lecture 2 & 3.pptx
PPT
Seven Types of Software Requirements.ppt
PPTX
Non Functional Requirement.
PPTX
Software Engineering Unit 2 AKTU Complete
PDF
SE-Unit II.pdf
PPTX
Software Requirements Engineering .pptx
PPT
Ch 1-Introduction.ppt
PPT
Requirements Engineering about one of requirement engineering process
PPT
CS8494 SOFTWARE ENGINEERING Unit-2
PDF
SE UNIT 2.pdf
PPT
Software Requirement Engineering - Power Point Slides lecture-01.ppt
PPTX
1 software requirements engineering-01
PDF
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
PPTX
Ch 2 types of reqirement
PPTX
2 software requirements-02
PPT
requirement_engineering_for_bs _ch_2.ppt
PPT
vu-re-lecture-01 requirements engineering.ppt
PPT
vu-re-lecture-01 software engineering.ppt
PDF
Non Functional Requirements in Requirement Engineering.pdf
PPT
vu-re-lecture-02 requirements engineering.ppt
Lecture 2 & 3.pptx
Seven Types of Software Requirements.ppt
Non Functional Requirement.
Software Engineering Unit 2 AKTU Complete
SE-Unit II.pdf
Software Requirements Engineering .pptx
Ch 1-Introduction.ppt
Requirements Engineering about one of requirement engineering process
CS8494 SOFTWARE ENGINEERING Unit-2
SE UNIT 2.pdf
Software Requirement Engineering - Power Point Slides lecture-01.ppt
1 software requirements engineering-01
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
Ch 2 types of reqirement
2 software requirements-02
requirement_engineering_for_bs _ch_2.ppt
vu-re-lecture-01 requirements engineering.ppt
vu-re-lecture-01 software engineering.ppt
Non Functional Requirements in Requirement Engineering.pdf
vu-re-lecture-02 requirements engineering.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)

PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPTX
Welding lecture in detail for understanding
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
additive manufacturing of ss316l using mig welding
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
DOCX
573137875-Attendance-Management-System-original
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
PPT on Performance Review to get promotions
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPT
Project quality management in manufacturing
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
Welding lecture in detail for understanding
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
additive manufacturing of ss316l using mig welding
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
573137875-Attendance-Management-System-original
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
CYBER-CRIMES AND SECURITY A guide to understanding
PPT on Performance Review to get promotions
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
Foundation to blockchain - A guide to Blockchain Tech
Model Code of Practice - Construction Work - 21102022 .pdf
Project quality management in manufacturing
Operating System & Kernel Study Guide-1 - converted.pdf

vu-re-lecture-03 requirement engineering.ppt

  • 2. 2 Kinds of Software Requirements • Functional requirements • Non-functional requirements • Domain requirements • Inverse requirements • Design and implementation constraints
  • 3. 3 Non-Functional Requirements Discussion • NFRs are very important to capture the emergent behavior of the system in these there major dimensions • Product – Usability, reliability, portability, efficiency (performance, space) • Organizational – Standards, implementation, delivery • External – Interoperability, ethical, legislative (privacy, safety)
  • 4. 4 NFRs as Goals • Non-functional requirements are sometimes written as general goals, which are difficult to verify • They should be expressed quantitatively using metrics (measures) that can be objectively tested
  • 5. 5 Example: Goal converted into an NFR • Goal (unverifiable) – The system should be easy to use by experienced controllers and should be organized in such a way that user errors are minimized • Non-functional requirement (verifiable) – Experienced controllers shall be able to use all the system functions after a total of two hours’ training. After this training, the average number of errors made by experienced users shall not exceed two per day
  • 7. 7 Metrics for NFRs - 1 Property Measure Speed 1. Processed transactions/second 2. Response time 3. Screen refresh time Requirements related to “Speed” can use different measures to quantify the goal
  • 8. 8 Metrics for NFRs - 2 Property Measure Size 1. K bytes 2. Number of function points Requirements related to “Size” can use different measures to quantify the goal
  • 9. 9 Metrics for NFRs - 3 Property Measure Ease of use 1. Training time 2. Number of help frames Requirements related to “Ease of use” can use different measures to quantify the goal
  • 10. 10 Metrics for NFRs - 4 Property Measure Reliability 1. Mean time to failure 2. Probability of unavailability 3. Rate of failure occurrence 4. Availability Requirements related to “Reliability” can use different measures to quantify the goal
  • 11. 11 Metrics for NFRs - 5 Property Measure Robustness 1. Time to restart after failure 2. Percentage of events causing failure 3. Probability of data corruption on failure Requirements related to “Robustness” can use different measures to quantify the goal
  • 12. 12 Metrics for NFRs - 6 Property Measure Portability 1. Percentage of target- dependent statements 2. Number of target systems Requirements related to “Portability” can use different measures to quantify the goal
  • 13. 13 Discussion on Metrics for NFRs • With the help of these measures the NFRs can be verified quantitatively • It should also be noted that the cost of quantitatively verifying each NFR may be very high
  • 14. 14 Kinds of Software Requirements • Functional requirements • Non-functional requirements • Domain requirements • Inverse requirements • Design and implementation constraints
  • 16. 16 Domain Requirements - 1 • Requirements that come from the application domain and reflect fundamental characteristics of that application domain • These can be both the functional or non-functional requirements
  • 17. 17 Domain Requirements - 2 • These requirements, sometimes, are not explicitly mentioned • Domain experts find it difficult to convey domain requirements • Their absence can cause significant dissatisfaction
  • 18. 18 Domain Requirements - 3 • Domain requirements can impose strict constraints on solutions. This is particularly true for scientific and engineering domains • Domain-specific terminology can also cause confusion
  • 19. 19 Domain Requirements - 4 • Example: In a commission-based sales businesses, there is no concept of negative commission. However, if care is not taken novice developers can be lured into developing systems, which calculate negative commission
  • 20. 20 Domain Requirements - 5 • Banking domain has its own specific constraints, for example, most banks do not allow over-draw on most accounts, however, most banks allow some accounts to be over-drawn
  • 21. 21 Kinds of Software Requirements • Functional requirements • Non-functional requirements • Domain requirements • Inverse requirements • Design and implementation constraints
  • 23. 23 Inverse Requirements - 1 • They explain what the system shall not do. Many people find it convenient to describe their needs in this manner • These requirements indicate the indecisive nature of customers about certain aspects of a new software product
  • 24. 24 Inverse Requirements - 2 • Example: The system shall not use red color in the user interface, whenever it is asking for inputs from the end-user
  • 25. 25 Kinds of Software Requirements • Functional requirements • Non-functional requirements • Domain requirements • Inverse requirements • Design and implementation constraints
  • 27. 27 Design and Implementation Constraints - 1 • They are development guidelines within which the designer must work • These requirements can seriously limit design and implementation options • Can also have impact on human resources
  • 28. 28 Design and Implementation Constraints Examples • The system shall be developed using the Microsoft .Net platform • The system shall be developed using open source tools and shall run on Linux operating system
  • 29. 29 Summary • Discussed different kinds of requirements including domain, inverse, and implementation constraints • Requirements should be explored from different perspectives and categorized differently
  • 30. 30 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