SlideShare a Scribd company logo
Software Engineering
CS20006
Lecture 2
Requirement Specification
Lecture #2
• System Requirement Specification (SRS)
• SRS Document Template
Software Engineering (CS20006)
Spring 2020 @DSamanta
2
System Requirement Specification
• Objectives:
– Understanding the precise requirement of the
customers
• Avoids bitter developer-customer disputes
• Legal battle, timely payment
– Requirements documentation
• Several contractors can bid for the contract, offering,
perhaps, different ways of meeting the customer’s need
• To avoid number of iterative changes during the
development life cycle
Software Engineering (CS20006)
Spring 2020 @DSamanta
3
Requirement Engineering
• Requirements for a system are the description
of the services provided by the system and its
operational constraints
• The process of finding out, analyzing,
documenting and checking these services and
constraints is called Requirements Engineering
Software Engineering (CS20006)
Spring 2020 @DSamanta
4
Requirement Engineering
Activities:
– Requirement gathering and analysis
– Requirement specification
Note: SRS activities are carried out by System
Analysts
Software Engineering (CS20006)
Spring 2020 @DSamanta
5
Requirement Gathering and Analysis
• Requirements gathering
What is the problem?
Why it is important to solve the problem?
What are the possible solutions to the problem?
What exactly are the input to the system and what exactly are the
output required from the system?
What are the likely complexities that might arise while solving the
problem?
If there are external software or hardware with which the developed
software has to interface, then what exactly would the data interchange
formats with the external system be?
Software Engineering (CS20006)
Spring 2020 @DSamanta
6
Requirement Gathering and Analysis
• Requirements analysis
– Resolve anomaly/ambiguity in the requirement (customer)
• e.g. Distributed system without the specification of network
protocols
– Resolve the contradiction in requirement
• e.g. OODBMS and SQL query, faster execution with lesser
memory requirement
– Resolve incompleteness
• Overlooked in some requirements
Software Engineering (CS20006)
Spring 2020 @DSamanta
7
Requirements Specification
• User requirements
– High level abstract requirement
• Are statements, in a natural language plus diagrams, of what services the
system is expected to provide and the constraints under which it must
operate
• System requirements
– Detailed description of what the system should do
– Set out the system’s functions, services and operational constraints
• Functional requirements
• Non-functional requirements
• Interface requirements
Software Engineering (CS20006)
Spring 2020 @DSamanta
8
Functional Requirements
• Functional system requirements describe the system
function in detail, its inputs and outputs, exceptions,
and so on
• It should be
– Complete
• All services required by the user should be defined
– Consistent
• Requirements should not have contradictory definitions
Software Engineering (CS20006)
Spring 2020 @DSamanta
9
An Example: ATM
• Case Study: Automated Teller Machine
Software Engineering (CS20006)
Spring 2020 @DSamanta
10
ATM: Functional Requirements
• Withdraw Cash
• Deposit Cash
• Balance Enquiry
• Passbook Update
• Transaction Details
• PIN Change
Software Engineering (CS20006)
Spring 2020 @DSamanta
11
ATM: Withdraw Cash
Select
Withdraw Cash
Dispaly
Account Type Menu
Enter
Option
Prompt
Amount to be withdrawn
Enter
Amount
Check
Validity of input
Display
Current Balance
Check
Transaction Request
Dispaly
Changed Balance
Software Engineering (CS20006)
Spring 2020 @DSamanta
12
ATM: Withdraw Cash
F1: Withdraw Cash
Description: Determines the type of accounts, amount to be withdrawn,
valid transaction
F1.1: Select Withdraw Cash
Input: Withdraw Cash Option
Output: Prompt to enter Account Type
F1.2: Select Account Type
Input: User Option
Output: Prompt to enter Amount
F1.3: Read Amount
Input: Amount to be withdrawn (within a range)
Output: Processing for “Valid Transaction” with requested cash and
printed transaction OR “Failed Transaction” with regret
message
Software Engineering (CS20006)
Spring 2020 @DSamanta
13
Non-Functional Requirements
• Nonfunctional requirements deal with the characteristics of the
system that cannot be expressed as functions
• Examples:
– Maintainability
– Portability
– Usability
– Reliability issues
– Accuracy of results
– Human-computer interface issues
– Constraints on the system implementation
Many more .....
Software Engineering (CS20006)
Spring 2020 @DSamanta
14
Non-Functional Requirements
Non-functional
requirements
Product
requirements
Organizational
requirements
External
requirements
Software Engineering (CS20006)
Spring 2020 @DSamanta
15
Non-Functional Requirements
Non-functional
requirements
Product
requirements
Organizational
requirements
External
requirements
Efficiency
requirements
Reliability
requirements
Portability
requirements
Usability
requirements
Performance
requirements
Space
requirements
Software Engineering (CS20006)
Spring 2020 @DSamanta
16
Non-Functional Requirements
Non-functional
requirements
Product
requirements
Organizational
requirements
External
requirements
Implementation
requirements
Delivery
requirements
Standard
requirements
Software Engineering (CS20006)
Spring 2020 @DSamanta
17
Non-Functional Requirements
Non-functional
requirements
Product
requirements
Organizational
requirements
External
requirements
Ethical
requirements
Interoperability
requirements
Legislative
requirements
Privacy
requirements
Safety
requirements
Software Engineering (CS20006)
Spring 2020 @DSamanta
18
Interface Requirements
• Different interface for different functionality in
the system
– Specified with user’s level of understanding
– GUI or Command based
– With HCI perspective
Software Engineering (CS20006)
Spring 2020 @DSamanta
19
SRS Document Template
Software Engineering (CS20006)
Spring 2020 @DSamanta
20
Importance of SRS Document
• Systematic organization of all the requirements
• Cater to the needs of a wide variety of audience
– Users, customers, marketing personnel
– Software developers
– Test engineers
– User documentation writers
– Project managers
– Maintenance engineers
Software Engineering (CS20006)
Spring 2020 @DSamanta
21
SRS Document Template
SRS Document
Preface
System evolution
System model
System architecture
User requirement definition
Glossary
Introduction
System requirements definition
Appendices
Index
Software Engineering (CS20006)
Spring 2020 @DSamanta
22
SRS Document Template
Chapter Description
Preface This defines the expected readership of the document and
describes its version history, including a rationale for the creation
of a new version and a summary of the changes made in each
version.
Introduction This describes the need for the system. It should briefly describe
its function and explain how it will work with other systems. It
describes how the system fits into the overall business or strategic
objective of the organization.
Glossary This defines the technical terms used in the document. Author
should not make assumptions about the experience or expertise of
the reader.
User requirements
definition
This defines the service provided for the user. User natural
language, diagrams or other notations those are easy to
understand by the customers.
Software Engineering (CS20006)
Spring 2020 @DSamanta
23
SRS Document Template (Cont’d)
Chapter Description
System architecture This describes a high level overview of the anticipated system
architecture showing the distribution of functions across system
modules.
System
requirements
definition
This describes the functional and non-functional requirements in
more detail.
System model This describes the object models, data-flow models, semantic
models etc.
System evolution This describes the fundamental assumptions on which the system
is based and anticipated changes due to hardware evaluation,
changing user needs, etc.
Appendices This includes specific detailed information related to the system.
Index Several indexes to the document may be included. As well as a
normal alphabetic index, there may be an index of diagrams, an
index of functions, etc.
Software Engineering (CS20006)
Spring 2020 @DSamanta
24
IEEE Standard of SRS Document
For the IEEE Standard (1998) of SRS Document
preparation, see the link below:
http://www.facweb.iitkgp.ernet.in/~dsamanta
Software Engineering (CS20006)
Spring 2020 @DSamanta
25
Problems to Ponder
• Why SRS document is often touted as a “Black
Box” document?
• “SRS document should be a flexible
document” - Agree or disagree the comment
• SRS can be taken as a legal document for the
customer as well as the developer - Justify
Software Engineering (CS20006)
Spring 2020 @DSamanta
26
Problems to Ponder
• How Requirement Engineering is related to
process development models?
• How Requirement Engineering is related to
software quality?
• How RE takes place in Agile software
development environment?
Software Engineering (CS20006)
Spring 2020 @DSamanta
27

More Related Content

Similar to L02_RequirementEngineering.ppsx

Sw Requirements Engineering
Sw Requirements EngineeringSw Requirements Engineering
Sw Requirements Engineering
jonathan077070
 
Software requirements full sides & concepts
Software requirements full sides & conceptsSoftware requirements full sides & concepts
Software requirements full sides & concepts
realilkacase
 
Sofyware Engineering
Sofyware EngineeringSofyware Engineering
Sofyware Engineering
AmberSinghal1
 
Se week 4
Se week 4Se week 4
Se week 4
Mahmoud Saaideh
 
Se week 4
Se week 4Se week 4
Se week 4
Mahmoud Saaideh
 
Chapter 3 requirements
Chapter 3 requirementsChapter 3 requirements
Chapter 3 requirements
Golda Margret Sheeba J
 
SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software Requirements
Jomel Penalba
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Syed Zaid Irshad
 
Srs
SrsSrs
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
Software Engineering Principles and Practices
Software Engineering Principles and PracticesSoftware Engineering Principles and Practices
Software Engineering Principles and Practices
ManjunathaOk
 
ReqanalysisModel_OL.pdf
ReqanalysisModel_OL.pdfReqanalysisModel_OL.pdf
ReqanalysisModel_OL.pdf
FahimHasanAlif1
 
software requirement specifcation.pptx
software requirement specifcation.pptxsoftware requirement specifcation.pptx
software requirement specifcation.pptx
SACHINMAURYA57
 
Cs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsCs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirements
MISHAQ6
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Jennifer Polack
 
Chap1 RE Introduction
Chap1 RE IntroductionChap1 RE Introduction
Chap1 RE Introduction
Ian Sommerville
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysis
Antony Alex
 
Soft requirement
Soft requirementSoft requirement
Soft requirement
Rishav Upreti
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
kunj desai
 
Introduction to Requirement engineering
Introduction to Requirement engineeringIntroduction to Requirement engineering
Introduction to Requirement engineering
Nameirakpam Sundari
 

Similar to L02_RequirementEngineering.ppsx (20)

Sw Requirements Engineering
Sw Requirements EngineeringSw Requirements Engineering
Sw Requirements Engineering
 
Software requirements full sides & concepts
Software requirements full sides & conceptsSoftware requirements full sides & concepts
Software requirements full sides & concepts
 
Sofyware Engineering
Sofyware EngineeringSofyware Engineering
Sofyware Engineering
 
Se week 4
Se week 4Se week 4
Se week 4
 
Se week 4
Se week 4Se week 4
Se week 4
 
Chapter 3 requirements
Chapter 3 requirementsChapter 3 requirements
Chapter 3 requirements
 
SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software Requirements
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Srs
SrsSrs
Srs
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software Engineering Principles and Practices
Software Engineering Principles and PracticesSoftware Engineering Principles and Practices
Software Engineering Principles and Practices
 
ReqanalysisModel_OL.pdf
ReqanalysisModel_OL.pdfReqanalysisModel_OL.pdf
ReqanalysisModel_OL.pdf
 
software requirement specifcation.pptx
software requirement specifcation.pptxsoftware requirement specifcation.pptx
software requirement specifcation.pptx
 
Cs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsCs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirements
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Chap1 RE Introduction
Chap1 RE IntroductionChap1 RE Introduction
Chap1 RE Introduction
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysis
 
Soft requirement
Soft requirementSoft requirement
Soft requirement
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Introduction to Requirement engineering
Introduction to Requirement engineeringIntroduction to Requirement engineering
Introduction to Requirement engineering
 

Recently uploaded

Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
AjmalKhan50578
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
Anant Corporation
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
SakkaravarthiShanmug
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...
IJECEIAES
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
integral complex analysis chapter 06 .pdf
integral complex analysis chapter 06 .pdfintegral complex analysis chapter 06 .pdf
integral complex analysis chapter 06 .pdf
gaafergoudaay7aga
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
architagupta876
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 

Recently uploaded (20)

Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
integral complex analysis chapter 06 .pdf
integral complex analysis chapter 06 .pdfintegral complex analysis chapter 06 .pdf
integral complex analysis chapter 06 .pdf
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 

L02_RequirementEngineering.ppsx

  • 2. Lecture #2 • System Requirement Specification (SRS) • SRS Document Template Software Engineering (CS20006) Spring 2020 @DSamanta 2
  • 3. System Requirement Specification • Objectives: – Understanding the precise requirement of the customers • Avoids bitter developer-customer disputes • Legal battle, timely payment – Requirements documentation • Several contractors can bid for the contract, offering, perhaps, different ways of meeting the customer’s need • To avoid number of iterative changes during the development life cycle Software Engineering (CS20006) Spring 2020 @DSamanta 3
  • 4. Requirement Engineering • Requirements for a system are the description of the services provided by the system and its operational constraints • The process of finding out, analyzing, documenting and checking these services and constraints is called Requirements Engineering Software Engineering (CS20006) Spring 2020 @DSamanta 4
  • 5. Requirement Engineering Activities: – Requirement gathering and analysis – Requirement specification Note: SRS activities are carried out by System Analysts Software Engineering (CS20006) Spring 2020 @DSamanta 5
  • 6. Requirement Gathering and Analysis • Requirements gathering What is the problem? Why it is important to solve the problem? What are the possible solutions to the problem? What exactly are the input to the system and what exactly are the output required from the system? What are the likely complexities that might arise while solving the problem? If there are external software or hardware with which the developed software has to interface, then what exactly would the data interchange formats with the external system be? Software Engineering (CS20006) Spring 2020 @DSamanta 6
  • 7. Requirement Gathering and Analysis • Requirements analysis – Resolve anomaly/ambiguity in the requirement (customer) • e.g. Distributed system without the specification of network protocols – Resolve the contradiction in requirement • e.g. OODBMS and SQL query, faster execution with lesser memory requirement – Resolve incompleteness • Overlooked in some requirements Software Engineering (CS20006) Spring 2020 @DSamanta 7
  • 8. Requirements Specification • User requirements – High level abstract requirement • Are statements, in a natural language plus diagrams, of what services the system is expected to provide and the constraints under which it must operate • System requirements – Detailed description of what the system should do – Set out the system’s functions, services and operational constraints • Functional requirements • Non-functional requirements • Interface requirements Software Engineering (CS20006) Spring 2020 @DSamanta 8
  • 9. Functional Requirements • Functional system requirements describe the system function in detail, its inputs and outputs, exceptions, and so on • It should be – Complete • All services required by the user should be defined – Consistent • Requirements should not have contradictory definitions Software Engineering (CS20006) Spring 2020 @DSamanta 9
  • 10. An Example: ATM • Case Study: Automated Teller Machine Software Engineering (CS20006) Spring 2020 @DSamanta 10
  • 11. ATM: Functional Requirements • Withdraw Cash • Deposit Cash • Balance Enquiry • Passbook Update • Transaction Details • PIN Change Software Engineering (CS20006) Spring 2020 @DSamanta 11
  • 12. ATM: Withdraw Cash Select Withdraw Cash Dispaly Account Type Menu Enter Option Prompt Amount to be withdrawn Enter Amount Check Validity of input Display Current Balance Check Transaction Request Dispaly Changed Balance Software Engineering (CS20006) Spring 2020 @DSamanta 12
  • 13. ATM: Withdraw Cash F1: Withdraw Cash Description: Determines the type of accounts, amount to be withdrawn, valid transaction F1.1: Select Withdraw Cash Input: Withdraw Cash Option Output: Prompt to enter Account Type F1.2: Select Account Type Input: User Option Output: Prompt to enter Amount F1.3: Read Amount Input: Amount to be withdrawn (within a range) Output: Processing for “Valid Transaction” with requested cash and printed transaction OR “Failed Transaction” with regret message Software Engineering (CS20006) Spring 2020 @DSamanta 13
  • 14. Non-Functional Requirements • Nonfunctional requirements deal with the characteristics of the system that cannot be expressed as functions • Examples: – Maintainability – Portability – Usability – Reliability issues – Accuracy of results – Human-computer interface issues – Constraints on the system implementation Many more ..... Software Engineering (CS20006) Spring 2020 @DSamanta 14
  • 19. Interface Requirements • Different interface for different functionality in the system – Specified with user’s level of understanding – GUI or Command based – With HCI perspective Software Engineering (CS20006) Spring 2020 @DSamanta 19
  • 20. SRS Document Template Software Engineering (CS20006) Spring 2020 @DSamanta 20
  • 21. Importance of SRS Document • Systematic organization of all the requirements • Cater to the needs of a wide variety of audience – Users, customers, marketing personnel – Software developers – Test engineers – User documentation writers – Project managers – Maintenance engineers Software Engineering (CS20006) Spring 2020 @DSamanta 21
  • 22. SRS Document Template SRS Document Preface System evolution System model System architecture User requirement definition Glossary Introduction System requirements definition Appendices Index Software Engineering (CS20006) Spring 2020 @DSamanta 22
  • 23. SRS Document Template Chapter Description Preface This defines the expected readership of the document and describes its version history, including a rationale for the creation of a new version and a summary of the changes made in each version. Introduction This describes the need for the system. It should briefly describe its function and explain how it will work with other systems. It describes how the system fits into the overall business or strategic objective of the organization. Glossary This defines the technical terms used in the document. Author should not make assumptions about the experience or expertise of the reader. User requirements definition This defines the service provided for the user. User natural language, diagrams or other notations those are easy to understand by the customers. Software Engineering (CS20006) Spring 2020 @DSamanta 23
  • 24. SRS Document Template (Cont’d) Chapter Description System architecture This describes a high level overview of the anticipated system architecture showing the distribution of functions across system modules. System requirements definition This describes the functional and non-functional requirements in more detail. System model This describes the object models, data-flow models, semantic models etc. System evolution This describes the fundamental assumptions on which the system is based and anticipated changes due to hardware evaluation, changing user needs, etc. Appendices This includes specific detailed information related to the system. Index Several indexes to the document may be included. As well as a normal alphabetic index, there may be an index of diagrams, an index of functions, etc. Software Engineering (CS20006) Spring 2020 @DSamanta 24
  • 25. IEEE Standard of SRS Document For the IEEE Standard (1998) of SRS Document preparation, see the link below: http://www.facweb.iitkgp.ernet.in/~dsamanta Software Engineering (CS20006) Spring 2020 @DSamanta 25
  • 26. Problems to Ponder • Why SRS document is often touted as a “Black Box” document? • “SRS document should be a flexible document” - Agree or disagree the comment • SRS can be taken as a legal document for the customer as well as the developer - Justify Software Engineering (CS20006) Spring 2020 @DSamanta 26
  • 27. Problems to Ponder • How Requirement Engineering is related to process development models? • How Requirement Engineering is related to software quality? • How RE takes place in Agile software development environment? Software Engineering (CS20006) Spring 2020 @DSamanta 27

Editor's Notes

  1. 27 July 2007
  2. 27 July 2007
  3. 27 July 2007
  4. 27 July 2007
  5. 27 July 2007