SlideShare a Scribd company logo
1 of 30
Lecture No 2 & 3.
1
SOFTWARE REQUIREMENTS ENGINEERING
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
What is SRS?
 Def: A documents use to describe the behavior of the software
system, functional, no-functional requirement of the software
system.
 SRS is a description of a software system to be developed.
 It lays out functional and non-functional requirements of the
software to be developed.
 It may include a set of use cases that describe user interactions
that the software must provide to the user for perfect
interaction. 2
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
 Users of the SRS:
• Development Team
• Maintenance Team
• Clients
• Technical writers
3
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
Contents of the SRS
1. Category: What kind of your software is e.g: Desktop
application, Web based application, Android application
2. Purpose: Describe what is the purpose of making this system
3. Scope: What is the area it covering, what is its range, to what
limits it will help you.
4. Introduction: Define the existing system and proposed system.
(In the perspective how the proposed one is better than existing.)
4
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
Contents of the SRS
5. Advantage: Define the advantage of the system. (In every
perspective).
6. Functional Requirement of the System
7. Non-Functional Requirement of the System
8. Software Tools: Mention the software tools which will
involve in all this development process.
5
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
Contents of the SRS
9. Development: What kind of environment will be needed
to deploy the software. E.g. OS, RAM, Processor etc.
10. Hardware Specifications: The hardware required to
develop this system.
6
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
SRS Structure
1. Introduction
1.1 Purpose
1.2 Intended Audience
1.3 Scope
1.4 Definitions
1.5 References
2. Overall Description
2.1 User Interfaces
2.2 System Interfaces
2.3 Constraints, assumptions and dependencies
2.4 User characteristics 7
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
SRS Structure
3. System Feature and Requirement
3.1 Functional Requirements
3.2 Use Case
3.3 External Interface Requirement
3.4 Logical database requirement
3.5 Non-functional Requirements
4. Deliver for Approval
8
KINDS OF SOFTWARE REQUIREMENTS
1. Functional requirements
2. Non-functional requirements
3. Domain requirements
4. Inverse requirements
5. Design and implementation constraints
9
FUNCTIONAL REQUIREMENT
• Statements describing what the system should do.
• Functionality of the system
• Statements of services the system should provide.
• Reaction to particular inputs
• Behavior in particular situations
• Abnormal behavior is also documented as functional
requirements in the form of exception handling.
• Customers and developers usually focus all their attention on
functional requirements.
10
FUNCTIONAL REQUIREMENT
• Examples of Functional Requirements
• The user shall be able to search either the entire database of
patients or select a subset.
• Every order shall be allocated a unique identifier (ORDER_ID)
which the user shall use to access that order.
• 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.
11
FUNCTIONAL REQUIREMENT
• Comments on Functional Requirement:
• Incomplete and ambiguous requirements are open to multiple
interpretations and assumption.
• This can lead to the development of poor quality, or faulty,
software products.
• The level of details are different in all the requirements.
12
NON-FUNCTIONAL REQUIREMENT
• Most non-functional requirements relate to the system. They
include constraints on timing, performance, reliability, security,
maintainability, accuracy, the development process, standards,
etc.
• They are often more critical than individual functional
requirements.
• Must be built into the framework of the software product.
• Failure to meet a non-functional system requirement may make
the whole system unusable.
13
NON-FUNCTIONAL REQUIREMENT
 Example on Non-functional Requirements
• If an aircraft system does not meet reliability requirements, it will not
be certified as “safe”.
• If a real time control system fails to meet its performance
requirements, the control functions will not operate correctly.
 Observations of Non-Functional Requirements
• Non-functional requirements can be written to reflect general goals
for the system.
• Example include:
• -Ease of use
• Recovery from failure
• Rapid user response
14
NON-FUNCTIONAL REQUIREMENT
 Observations of Non-Functional Requirements
• Non-functional requirements are sometimes written as general
goals.
 Verifiable and Unverifiable NFR
o 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 user shall not
exceed two per day.
15
NON-FUNCTIONAL REQUIREMENT
 Verifiable and Unverifiable NFR
o Unverifiable
The system should be easy to use by experienced controllers and
should be organized in such a way that user error are minimised.
16
NON-FUNCTIONAL REQUIREMENT
NFR Block Diagram:
17
Non Functional
Requirement
Organizational
Requirements
External
Requirements
Product
Requirements
NON-FUNCTIONAL REQUIREMENT
Product Requirement Block Diagram:
18
Product
Requirements
Usability
Requirement
Efficiency
Requirement
Reliability
Requirement
Portability
Requirement
Usability
Requirement
Space
Requirement
NON-FUNCTIONAL REQUIREMENT
Organization Block Diagram:
19
Organization
Requirement
Implement Deliver
Standard
NON-FUNCTIONAL REQUIREMENT
External Requirement Block Diagram:
20
External
Requirement
Interoperable Ethical Legislative
Privacy
Requirement
Safety
NON-FUNCTIONAL REQUIREMENT
 Interoperability
is a characteristic of a product or system, whose interfaces
are completely understood, to work with other products or
systems.
 Legislature
is a deliberative assembly with the authority to make laws
for a political entity such as a country or city.
21
NON-FUNCTIONAL REQUIREMENT
Software Metrics for Non-Functional Requirements
22
S.
No
Property Measure
1 Speed • Processed transactions/second
• Response Time
• Screen refresh time
2 Size • K bytes
• Number of function points
3 Ease of use • Training time
• Number of help frames
NON-FUNCTIONAL REQUIREMENT
Software Metrics for Non-Functional Requirements
23
S.
No
Property Measure
4 Reliability • Mean time to failure
• Probability of unavailability
• Rate of failure occurrence
• Availability
5 Robustness • Time to restart after failure
• Percentage of events causing failure
6 Portability • Percentage of target-dependent
statements
• Number of target systems
DOMAIN REQUIREMENT
 Requirements that come from the application domain and reflect
Fundamentals characteristics of that application domain.
 These can be both the functional or non-functional requirements
 These requirements, sometimes, are not explicitly mentioned
 There absence can cause significant dissatisfaction.
24
DOMAIN REQUIREMENT
 Example of Domain Requirement
• Banking domain has its own specific constraints, for
example, banks do not allow over-draw on most accounts,
however, most banks allow some accounts to be overdrawn.
25
INVERSE REQUIREMENT
 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 law software product.
 Example: The system shall not use red color in the user interface,
whenever it is asking for inputs from the end-user.
26
DESIGN AND IMPLEMENTATION CONSTRAINTS
 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.
27
REQUIREMENTS PROBLEMS
 The requirements don’t reflect the real needs of the customers for
the system
 Requirements are inconsistent and/or incomplete
 It is expensive to make changes to requirements after they have
been agreed upon
 There are misunderstandings between customers, those developing
the system requirements, and software engineers developing or
maintaining the system.
28
REQUIREMENTS PROBLEMS
 Problems with Natural Languages
o Requirements specification in natural language pose some
problems which include
o Lack of clarity
o Requirements amalgamation
o Requirement confusion
 A natural language requirements specification is over-flexible.
“You can say the same thing in completely different ways”.
 It is not possible to modularized natural language requirements. It
may be difficult to find all related requirements.
29
REQUIREMENTS PROBLEMS
 Impact of wrong Requirements
 When requirements are wrong, systems are late, unreliable and
don’t meet customers need.
o This result in enormous loos of time, revenue, market share, and
trust of customers.
30

More Related Content

Similar to Lecture 2 & 3.pptx

SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptxaryan631999
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirementFish Abe
 
chapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineeringchapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineeringJavedKhan524377
 
Lecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptxLecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptxYaseenNazir3
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationNishu Rastogi
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specificationDeepak Sharma
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1JusperKato
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2SIMONTHOMAS S
 
Sofyware Engineering
Sofyware EngineeringSofyware Engineering
Sofyware EngineeringAmberSinghal1
 

Similar to Lecture 2 & 3.pptx (20)

Se week 4
Se week 4Se week 4
Se week 4
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptx
 
Lec srs
Lec srsLec srs
Lec srs
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirement
 
chapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineeringchapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineering
 
Lecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptxLecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptx
 
Software engeneering
Software engeneering Software engeneering
Software engeneering
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
SE UNIT-2.pdf
SE UNIT-2.pdfSE UNIT-2.pdf
SE UNIT-2.pdf
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
Se lec-uosl-8
Se lec-uosl-8Se lec-uosl-8
Se lec-uosl-8
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 
Lecture 1.pdf
Lecture 1.pdfLecture 1.pdf
Lecture 1.pdf
 
SE UNIT 2.pdf
SE UNIT 2.pdfSE UNIT 2.pdf
SE UNIT 2.pdf
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2
 
Sofyware Engineering
Sofyware EngineeringSofyware Engineering
Sofyware Engineering
 

More from RaoShahid10

Virtual Class Room System.pdf
Virtual Class Room System.pdfVirtual Class Room System.pdf
Virtual Class Room System.pdfRaoShahid10
 
Lecture 8 & 9.pdf
Lecture 8 & 9.pdfLecture 8 & 9.pdf
Lecture 8 & 9.pdfRaoShahid10
 
Lecture 6 & 7.pdf
Lecture 6 & 7.pdfLecture 6 & 7.pdf
Lecture 6 & 7.pdfRaoShahid10
 

More from RaoShahid10 (6)

Virtual Class Room System.pdf
Virtual Class Room System.pdfVirtual Class Room System.pdf
Virtual Class Room System.pdf
 
Lecture 10.pdf
Lecture 10.pdfLecture 10.pdf
Lecture 10.pdf
 
Lecture 8 & 9.pdf
Lecture 8 & 9.pdfLecture 8 & 9.pdf
Lecture 8 & 9.pdf
 
Lecture 6 & 7.pdf
Lecture 6 & 7.pdfLecture 6 & 7.pdf
Lecture 6 & 7.pdf
 
Lecture 5.pdf
Lecture 5.pdfLecture 5.pdf
Lecture 5.pdf
 
Lecture 4.pdf
Lecture 4.pdfLecture 4.pdf
Lecture 4.pdf
 

Recently uploaded

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 

Recently uploaded (20)

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 

Lecture 2 & 3.pptx

  • 1. Lecture No 2 & 3. 1 SOFTWARE REQUIREMENTS ENGINEERING
  • 2. SOFTWARE REQUIREMENTS SPECIFICATION (SRS) What is SRS?  Def: A documents use to describe the behavior of the software system, functional, no-functional requirement of the software system.  SRS is a description of a software system to be developed.  It lays out functional and non-functional requirements of the software to be developed.  It may include a set of use cases that describe user interactions that the software must provide to the user for perfect interaction. 2
  • 3. SOFTWARE REQUIREMENTS SPECIFICATION (SRS)  Users of the SRS: • Development Team • Maintenance Team • Clients • Technical writers 3
  • 4. SOFTWARE REQUIREMENTS SPECIFICATION (SRS) Contents of the SRS 1. Category: What kind of your software is e.g: Desktop application, Web based application, Android application 2. Purpose: Describe what is the purpose of making this system 3. Scope: What is the area it covering, what is its range, to what limits it will help you. 4. Introduction: Define the existing system and proposed system. (In the perspective how the proposed one is better than existing.) 4
  • 5. SOFTWARE REQUIREMENTS SPECIFICATION (SRS) Contents of the SRS 5. Advantage: Define the advantage of the system. (In every perspective). 6. Functional Requirement of the System 7. Non-Functional Requirement of the System 8. Software Tools: Mention the software tools which will involve in all this development process. 5
  • 6. SOFTWARE REQUIREMENTS SPECIFICATION (SRS) Contents of the SRS 9. Development: What kind of environment will be needed to deploy the software. E.g. OS, RAM, Processor etc. 10. Hardware Specifications: The hardware required to develop this system. 6
  • 7. SOFTWARE REQUIREMENTS SPECIFICATION (SRS) SRS Structure 1. Introduction 1.1 Purpose 1.2 Intended Audience 1.3 Scope 1.4 Definitions 1.5 References 2. Overall Description 2.1 User Interfaces 2.2 System Interfaces 2.3 Constraints, assumptions and dependencies 2.4 User characteristics 7
  • 8. SOFTWARE REQUIREMENTS SPECIFICATION (SRS) SRS Structure 3. System Feature and Requirement 3.1 Functional Requirements 3.2 Use Case 3.3 External Interface Requirement 3.4 Logical database requirement 3.5 Non-functional Requirements 4. Deliver for Approval 8
  • 9. KINDS OF SOFTWARE REQUIREMENTS 1. Functional requirements 2. Non-functional requirements 3. Domain requirements 4. Inverse requirements 5. Design and implementation constraints 9
  • 10. FUNCTIONAL REQUIREMENT • Statements describing what the system should do. • Functionality of the system • Statements of services the system should provide. • Reaction to particular inputs • Behavior in particular situations • Abnormal behavior is also documented as functional requirements in the form of exception handling. • Customers and developers usually focus all their attention on functional requirements. 10
  • 11. FUNCTIONAL REQUIREMENT • Examples of Functional Requirements • The user shall be able to search either the entire database of patients or select a subset. • Every order shall be allocated a unique identifier (ORDER_ID) which the user shall use to access that order. • 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. 11
  • 12. FUNCTIONAL REQUIREMENT • Comments on Functional Requirement: • Incomplete and ambiguous requirements are open to multiple interpretations and assumption. • This can lead to the development of poor quality, or faulty, software products. • The level of details are different in all the requirements. 12
  • 13. NON-FUNCTIONAL REQUIREMENT • Most non-functional requirements relate to the system. They include constraints on timing, performance, reliability, security, maintainability, accuracy, the development process, standards, etc. • They are often more critical than individual functional requirements. • Must be built into the framework of the software product. • Failure to meet a non-functional system requirement may make the whole system unusable. 13
  • 14. NON-FUNCTIONAL REQUIREMENT  Example on Non-functional Requirements • If an aircraft system does not meet reliability requirements, it will not be certified as “safe”. • If a real time control system fails to meet its performance requirements, the control functions will not operate correctly.  Observations of Non-Functional Requirements • Non-functional requirements can be written to reflect general goals for the system. • Example include: • -Ease of use • Recovery from failure • Rapid user response 14
  • 15. NON-FUNCTIONAL REQUIREMENT  Observations of Non-Functional Requirements • Non-functional requirements are sometimes written as general goals.  Verifiable and Unverifiable NFR o 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 user shall not exceed two per day. 15
  • 16. NON-FUNCTIONAL REQUIREMENT  Verifiable and Unverifiable NFR o Unverifiable The system should be easy to use by experienced controllers and should be organized in such a way that user error are minimised. 16
  • 17. NON-FUNCTIONAL REQUIREMENT NFR Block Diagram: 17 Non Functional Requirement Organizational Requirements External Requirements Product Requirements
  • 18. NON-FUNCTIONAL REQUIREMENT Product Requirement Block Diagram: 18 Product Requirements Usability Requirement Efficiency Requirement Reliability Requirement Portability Requirement Usability Requirement Space Requirement
  • 19. NON-FUNCTIONAL REQUIREMENT Organization Block Diagram: 19 Organization Requirement Implement Deliver Standard
  • 20. NON-FUNCTIONAL REQUIREMENT External Requirement Block Diagram: 20 External Requirement Interoperable Ethical Legislative Privacy Requirement Safety
  • 21. NON-FUNCTIONAL REQUIREMENT  Interoperability is a characteristic of a product or system, whose interfaces are completely understood, to work with other products or systems.  Legislature is a deliberative assembly with the authority to make laws for a political entity such as a country or city. 21
  • 22. NON-FUNCTIONAL REQUIREMENT Software Metrics for Non-Functional Requirements 22 S. No Property Measure 1 Speed • Processed transactions/second • Response Time • Screen refresh time 2 Size • K bytes • Number of function points 3 Ease of use • Training time • Number of help frames
  • 23. NON-FUNCTIONAL REQUIREMENT Software Metrics for Non-Functional Requirements 23 S. No Property Measure 4 Reliability • Mean time to failure • Probability of unavailability • Rate of failure occurrence • Availability 5 Robustness • Time to restart after failure • Percentage of events causing failure 6 Portability • Percentage of target-dependent statements • Number of target systems
  • 24. DOMAIN REQUIREMENT  Requirements that come from the application domain and reflect Fundamentals characteristics of that application domain.  These can be both the functional or non-functional requirements  These requirements, sometimes, are not explicitly mentioned  There absence can cause significant dissatisfaction. 24
  • 25. DOMAIN REQUIREMENT  Example of Domain Requirement • Banking domain has its own specific constraints, for example, banks do not allow over-draw on most accounts, however, most banks allow some accounts to be overdrawn. 25
  • 26. INVERSE REQUIREMENT  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 law software product.  Example: The system shall not use red color in the user interface, whenever it is asking for inputs from the end-user. 26
  • 27. DESIGN AND IMPLEMENTATION CONSTRAINTS  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. 27
  • 28. REQUIREMENTS PROBLEMS  The requirements don’t reflect the real needs of the customers for the system  Requirements are inconsistent and/or incomplete  It is expensive to make changes to requirements after they have been agreed upon  There are misunderstandings between customers, those developing the system requirements, and software engineers developing or maintaining the system. 28
  • 29. REQUIREMENTS PROBLEMS  Problems with Natural Languages o Requirements specification in natural language pose some problems which include o Lack of clarity o Requirements amalgamation o Requirement confusion  A natural language requirements specification is over-flexible. “You can say the same thing in completely different ways”.  It is not possible to modularized natural language requirements. It may be difficult to find all related requirements. 29
  • 30. REQUIREMENTS PROBLEMS  Impact of wrong Requirements  When requirements are wrong, systems are late, unreliable and don’t meet customers need. o This result in enormous loos of time, revenue, market share, and trust of customers. 30