SlideShare a Scribd company logo
1
Requirements Analysis and
Specification
Many projects fail:
because they start implementing
the system without determining
whether they are building what
the customer really wants.
2
Requirements Analysis and
Specification
Goals of requirements analysis and
specification phase:
fully understand the user
requirements
remove inconsistencies, anomalies,
etc. from requirements
document requirements properly in
an SRS document
3
Requirements Analysis and
Specification
Consists of two distinct
activities:
Requirements Gathering
and Analysis
Specification
4
Requirements Analysis and
Specification
The person who undertakes
requirements analysis and specification:
known as systems analyst:
collects data pertaining to the product
analyzes collected data:
to understand what exactly needs to be
done.
writes the Software Requirements
Specification (SRS) document.
5
Requirements Analysis and
Specification
Final output of this phase:
Software Requirements
Specification (SRS) Document.
The SRS document is reviewed
by the customer.
reviewed SRS document forms
the basis of all future
development activities.
6
Analyst gathers requirements
through:
observation of existing systems,
studying existing procedures,
discussion with the customer and
end-users,
analysis of what needs to be
done, etc.
Requirements Gathering
7
Requirements Gathering
(CONT.)
In the absence of a working
system,
lot of imagination and creativity
are required.
Interacting with the customer to
gather relevant data:
requires a lot of experience.
8
Requirements Gathering
(CONT.)
Some desirable attributes of
a good system analyst:
Good interaction skills,
imagination and creativity,
experience.
9
Analysis of the Gathered
Requirements
After gathering all the requirements:
analyze it:
Clearly understand the user requirements,
Detect inconsistencies, ambiguities, and
incompleteness.
Incompleteness and inconsistencies:
resolved through further discussions
with the end-users and the customers.
10
Inconsistent requirement
Some part of the requirement:
 contradicts with some other part.
Example:
One customer says turn off heater
and open water shower when
temperature > 100 C
Another customer says turn off
heater and turn ON cooler when
temperature > 100 C
11
Incomplete requirement
Some requirements have been
omitted:
due to oversight.
Example:
The analyst has not recorded:
when temperature falls below 90 C
heater should be turned ON
water shower turned OFF.
12
Analysis of the Gathered
Requirements (CONT.)
Requirements analysis involves:
obtaining a clear, in-depth
understanding of the product to
be developed,
remove all ambiguities and
inconsistencies.
13
Analysis of the Gathered
Requirements(CONT.)
Several things about the project should
be clearly understood by the analyst:
What is the problem?
Why is it important to solve the problem?
What are the possible solutions to the
problem?
What complexities might arise while solving
the problem?
14
Analysis of the Gathered
Requirements(CONT.)
After collecting all data regarding
the system to be developed,
remove all inconsistencies and
anomalies from the requirements,
systematically organize requirements
into a Software Requirements
Specification (SRS) document.
15
Software Requirements
Specification
Main aim of requirements
specification:
systematically organize the
requirements arrived during
requirements analysis
document requirements properly.
16
Software Requirements
Specification
The SRS document is useful in
various contexts:
statement of user needs
contract document
reference document
definition for implementation
17
Software Requirements Specification: A
Contract Document
Requirements document is a
reference document.
SRS document is a contract
between the development team and
the customer.
Once the SRS document is approved
by the customer,
any subsequent controversies are settled
by referring the SRS document.
18
Software Requirements Specification:
A Contract Document
Once customer agrees to the SRS
document:
development team starts to develop the
product according to the requirements
recorded in the SRS document.
The final product will be acceptable to the
customer:
as long as it satisfies all the requirements
recorded in the SRS document.
19
SRS Document (CONT.)
The SRS document is known as black-box
specification:
the system is considered as a black box
whose internal details are not known.
only its visible external (i.e. input/output)
behaviour is documented.
S
Input Data Output Data
20
SRS Document (CONT.)
SRS document concentrates on:
what needs to be done
carefully avoids the solution (“how to do”)
aspects.
The SRS document serves as a contract
between development team and the
customer.
Should be carefully written
21
SRS Document (CONT.)
The requirements at this stage:
written using end-user
terminology.
later a formal requirement
specification may be developed
from it.
22
Properties of a good SRS
document
It should be concise
and at the same time should not be
ambiguous.
It should specify what the system must do
and not say how to do it.
Easy to change.,
i.e. it should be well-structured.
It should be consistent.
It should be complete.
23
Properties of a good SRS
document (cont...)
It should be traceable
you should be able to trace which part of the
specification corresponds to which part of the
design and code, etc and vice versa.
It should be verifiable
e.g. “system should be user friendly” is not verifiable
24
SRS Document (CONT.)
SRS document, normally
contains three important parts:
functional requirements,
Non functional requirements,
constraints on the system.
25
SRS Document (CONT.)
It is desirable to consider every
system:
performing a set of functions {fi}.
Each function fi considered as:
transforming a set of input data to
corresponding output data.
Input Data Output Data
fi
26
Example: Functional
Requirement
F1: Search Book
Input:
 an author’s name:
Output:
details of the author’s books and the
locations of these books in the library.
Author Name Book Details
f1
27
Functional Requirements
Functional requirements
describe:
A set of high-level requirements
Each high-level requirement:
takes in some data from the user
outputs some data to the user
Each high-level requirement:
might consist of a set of
identifiable functions
28
Functional Requirements
For each high-level requirement:
every function is described in terms
of
input data set
output data set
processing required to obtain the
output data set from the input data
set
29
Nonfunctional
Requirements
Characteristics of the system
which can not be expressed as
functions:
maintainability,
portability,
usability, etc.
30
Nonfunctional
Requirements
Nonfunctional requirements include:
reliability issues,
performance issues,
human-computer interface issues,
Interface with other external systems,
security, maintainability, etc.
31
Constraints
Constraints describe things that the
system should or should not do.
For example,
standards compliance
how fast the system can produce results
• so that it does not overload another
system to which it supplies data, etc.
32
Examples of constraints
Hardware to be used,
Operating system
or DBMS to be used
Capabilities of I/O devices
Standards compliance
Data representations
by the interfaced system
33
Organization of the SRS
Document
Introduction.
Functional Requirements
Nonfunctional Requirements
External interface requirements
Performance requirements
Constraints
34
Example Functional
Requirements
List all functional requirements
with proper numbering.
Req. 1:
Once the user selects the “search”
option,
he is asked to enter the key words.
The system should output details of all
books
whose title or author name matches any of
the key words entered.
Details include: Title, Author Name,
Publisher name, Year of Publication, ISBN
Number, Catalog Number, Location in the
Library.
35
Example Functional Requirements
Req. 2:
When the “renew” option is selected,
the user is asked to enter his
membership number and password.
After password validation,
the list of the books borrowed by him
are displayed.
The user can renew any of the books:
by clicking in the corresponding renew
box.
36
Req. 1:
R.1.1:
Input: “search” option,
Output: user prompted to enter the key words.
R1.2:
Input: key words
Output: Details of all books whose title or author
name matches any of the key words.
Details include: Title, Author Name, Publisher name, Year
of Publication, ISBN Number, Catalog Number, Location in
the Library.
Processing: Search the book list for the keywords
37
Req. 2:
R2.1:
Input: “renew” option selected,
Output: user prompted to enter his
membership number and password.
R2.2:
Input: membership number and password
Output:
list of the books borrowed by user are
displayed. User prompted to enter books to be
renewed or
user informed about bad password
Processing: Password validation, search
books issued to the user from borrower list
and display.
38
Req. 2:
R2.3:
Input: user choice for renewal of the
books issued to him through mouse
clicks in the corresponding renew box.
Output: Confirmation of the books
renewed
Processing: Renew the books selected
by the in the borrower list.
39
Examples of Bad SRS
Documents
Unstructured Specifications:
Narrative essay --- one of the worst
types of specification document:
Difficult to change,
difficult to be precise,
difficult to be unambiguous,
scope for contradictions, etc.
Forward References:
References to aspects of problem
defined only later on in the text.
40
Examples of Bad SRS
Documents
Overspecification:
Addressing “how to” aspects
For example, “Library member names should
be stored in a sorted descending order”
Overspecification restricts the solution space
for the designer.
Contradictions:
Contradictions might arise
if the same thing described at several places in
different ways.
41
Summary
Requirements analysis and
specification
an important phase of software
development:
any error in this phase would affect
all subsequent phases of
development.
Consists of two different activities:
Requirements gathering and analysis
42
Summary
The aims of requirements analysis:
Gather all user requirements
Clearly understand exact user requirements
Remove inconsistencies and
incompleteness.
The goal of specification:
 systematically organize requirements
document the requirements in an SRS
document.
43
Summary
Main components of SRS document:
functional requirements
Non functional requirements
constraints

More Related Content

PPT
3.Requirements gathering and Analysis_SRS _Functional and Non Functional Requ...
PPT
3.Requirements gathering and Analysis_SRS _Functional and Non Functional Requ...
PDF
Software Engineering .pdf
PPT
Chapter 2 SRS_241222135554.ppt
PPT
LECT3.ppt on software development life cycle
PDF
Requirements Analysis and Specification.pdf
PPT
4.SRS.ppt
PPT
4.SRS (1).ppt
3.Requirements gathering and Analysis_SRS _Functional and Non Functional Requ...
3.Requirements gathering and Analysis_SRS _Functional and Non Functional Requ...
Software Engineering .pdf
Chapter 2 SRS_241222135554.ppt
LECT3.ppt on software development life cycle
Requirements Analysis and Specification.pdf
4.SRS.ppt
4.SRS (1).ppt

Similar to chapter 4.ppt (20)

PPT
4.SRS.ppt
PPTX
Software Engineering- Requirement Elicitation and Specification
PPTX
Unit ii update
PPTX
SE2023 0201 Software Analysis and Design.pptx
PPT
3-Requirements.ppt
PDF
software requirement and architecture.pdf
PDF
SE_Module2.pdf
PPT
INTRODUCTION to software engineering requirements specifications
PPTX
Software Engineering Unit 2 Power Point Presentation AKTU University
PPTX
REQUIRMENT ENGINERRf3f02406b832ac5df6c7cc6-1678011872886.pptx
PDF
CSE2014 SE MODULE - 2 new.pdf CSE2014 SE MODULE - 2 new.pdfCSE2014 SE MODULE ...
PPT
Requirement specification
PPTX
APPPLICATION. DEVELOPMENT SYSTEM
PPTX
Lecture 2.pptx Advance Software Engineering
PPTX
software requirement specifcation.pptx
PPTX
Software_Requirements_SRS lovely professional university
PDF
Requirement analysis and specification
PPTX
Lecture 2 & 3.pptx
PPTX
Requirement Analysis & Specification sharbani bhattacharya
PPTX
Software Requirement Specification
4.SRS.ppt
Software Engineering- Requirement Elicitation and Specification
Unit ii update
SE2023 0201 Software Analysis and Design.pptx
3-Requirements.ppt
software requirement and architecture.pdf
SE_Module2.pdf
INTRODUCTION to software engineering requirements specifications
Software Engineering Unit 2 Power Point Presentation AKTU University
REQUIRMENT ENGINERRf3f02406b832ac5df6c7cc6-1678011872886.pptx
CSE2014 SE MODULE - 2 new.pdf CSE2014 SE MODULE - 2 new.pdfCSE2014 SE MODULE ...
Requirement specification
APPPLICATION. DEVELOPMENT SYSTEM
Lecture 2.pptx Advance Software Engineering
software requirement specifcation.pptx
Software_Requirements_SRS lovely professional university
Requirement analysis and specification
Lecture 2 & 3.pptx
Requirement Analysis & Specification sharbani bhattacharya
Software Requirement Specification
Ad

Recently uploaded (20)

PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Insiders guide to clinical Medicine.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
human mycosis Human fungal infections are called human mycosis..pptx
Abdominal Access Techniques with Prof. Dr. R K Mishra
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Module 4: Burden of Disease Tutorial Slides S2 2025
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPH.pptx obstetrics and gynecology in nursing
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
O5-L3 Freight Transport Ops (International) V1.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Insiders guide to clinical Medicine.pdf
VCE English Exam - Section C Student Revision Booklet
2.FourierTransform-ShortQuestionswithAnswers.pdf
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Ad

chapter 4.ppt

  • 1. 1 Requirements Analysis and Specification Many projects fail: because they start implementing the system without determining whether they are building what the customer really wants.
  • 2. 2 Requirements Analysis and Specification Goals of requirements analysis and specification phase: fully understand the user requirements remove inconsistencies, anomalies, etc. from requirements document requirements properly in an SRS document
  • 3. 3 Requirements Analysis and Specification Consists of two distinct activities: Requirements Gathering and Analysis Specification
  • 4. 4 Requirements Analysis and Specification The person who undertakes requirements analysis and specification: known as systems analyst: collects data pertaining to the product analyzes collected data: to understand what exactly needs to be done. writes the Software Requirements Specification (SRS) document.
  • 5. 5 Requirements Analysis and Specification Final output of this phase: Software Requirements Specification (SRS) Document. The SRS document is reviewed by the customer. reviewed SRS document forms the basis of all future development activities.
  • 6. 6 Analyst gathers requirements through: observation of existing systems, studying existing procedures, discussion with the customer and end-users, analysis of what needs to be done, etc. Requirements Gathering
  • 7. 7 Requirements Gathering (CONT.) In the absence of a working system, lot of imagination and creativity are required. Interacting with the customer to gather relevant data: requires a lot of experience.
  • 8. 8 Requirements Gathering (CONT.) Some desirable attributes of a good system analyst: Good interaction skills, imagination and creativity, experience.
  • 9. 9 Analysis of the Gathered Requirements After gathering all the requirements: analyze it: Clearly understand the user requirements, Detect inconsistencies, ambiguities, and incompleteness. Incompleteness and inconsistencies: resolved through further discussions with the end-users and the customers.
  • 10. 10 Inconsistent requirement Some part of the requirement:  contradicts with some other part. Example: One customer says turn off heater and open water shower when temperature > 100 C Another customer says turn off heater and turn ON cooler when temperature > 100 C
  • 11. 11 Incomplete requirement Some requirements have been omitted: due to oversight. Example: The analyst has not recorded: when temperature falls below 90 C heater should be turned ON water shower turned OFF.
  • 12. 12 Analysis of the Gathered Requirements (CONT.) Requirements analysis involves: obtaining a clear, in-depth understanding of the product to be developed, remove all ambiguities and inconsistencies.
  • 13. 13 Analysis of the Gathered Requirements(CONT.) Several things about the project should be clearly understood by the analyst: What is the problem? Why is it important to solve the problem? What are the possible solutions to the problem? What complexities might arise while solving the problem?
  • 14. 14 Analysis of the Gathered Requirements(CONT.) After collecting all data regarding the system to be developed, remove all inconsistencies and anomalies from the requirements, systematically organize requirements into a Software Requirements Specification (SRS) document.
  • 15. 15 Software Requirements Specification Main aim of requirements specification: systematically organize the requirements arrived during requirements analysis document requirements properly.
  • 16. 16 Software Requirements Specification The SRS document is useful in various contexts: statement of user needs contract document reference document definition for implementation
  • 17. 17 Software Requirements Specification: A Contract Document Requirements document is a reference document. SRS document is a contract between the development team and the customer. Once the SRS document is approved by the customer, any subsequent controversies are settled by referring the SRS document.
  • 18. 18 Software Requirements Specification: A Contract Document Once customer agrees to the SRS document: development team starts to develop the product according to the requirements recorded in the SRS document. The final product will be acceptable to the customer: as long as it satisfies all the requirements recorded in the SRS document.
  • 19. 19 SRS Document (CONT.) The SRS document is known as black-box specification: the system is considered as a black box whose internal details are not known. only its visible external (i.e. input/output) behaviour is documented. S Input Data Output Data
  • 20. 20 SRS Document (CONT.) SRS document concentrates on: what needs to be done carefully avoids the solution (“how to do”) aspects. The SRS document serves as a contract between development team and the customer. Should be carefully written
  • 21. 21 SRS Document (CONT.) The requirements at this stage: written using end-user terminology. later a formal requirement specification may be developed from it.
  • 22. 22 Properties of a good SRS document It should be concise and at the same time should not be ambiguous. It should specify what the system must do and not say how to do it. Easy to change., i.e. it should be well-structured. It should be consistent. It should be complete.
  • 23. 23 Properties of a good SRS document (cont...) It should be traceable you should be able to trace which part of the specification corresponds to which part of the design and code, etc and vice versa. It should be verifiable e.g. “system should be user friendly” is not verifiable
  • 24. 24 SRS Document (CONT.) SRS document, normally contains three important parts: functional requirements, Non functional requirements, constraints on the system.
  • 25. 25 SRS Document (CONT.) It is desirable to consider every system: performing a set of functions {fi}. Each function fi considered as: transforming a set of input data to corresponding output data. Input Data Output Data fi
  • 26. 26 Example: Functional Requirement F1: Search Book Input:  an author’s name: Output: details of the author’s books and the locations of these books in the library. Author Name Book Details f1
  • 27. 27 Functional Requirements Functional requirements describe: A set of high-level requirements Each high-level requirement: takes in some data from the user outputs some data to the user Each high-level requirement: might consist of a set of identifiable functions
  • 28. 28 Functional Requirements For each high-level requirement: every function is described in terms of input data set output data set processing required to obtain the output data set from the input data set
  • 29. 29 Nonfunctional Requirements Characteristics of the system which can not be expressed as functions: maintainability, portability, usability, etc.
  • 30. 30 Nonfunctional Requirements Nonfunctional requirements include: reliability issues, performance issues, human-computer interface issues, Interface with other external systems, security, maintainability, etc.
  • 31. 31 Constraints Constraints describe things that the system should or should not do. For example, standards compliance how fast the system can produce results • so that it does not overload another system to which it supplies data, etc.
  • 32. 32 Examples of constraints Hardware to be used, Operating system or DBMS to be used Capabilities of I/O devices Standards compliance Data representations by the interfaced system
  • 33. 33 Organization of the SRS Document Introduction. Functional Requirements Nonfunctional Requirements External interface requirements Performance requirements Constraints
  • 34. 34 Example Functional Requirements List all functional requirements with proper numbering. Req. 1: Once the user selects the “search” option, he is asked to enter the key words. The system should output details of all books whose title or author name matches any of the key words entered. Details include: Title, Author Name, Publisher name, Year of Publication, ISBN Number, Catalog Number, Location in the Library.
  • 35. 35 Example Functional Requirements Req. 2: When the “renew” option is selected, the user is asked to enter his membership number and password. After password validation, the list of the books borrowed by him are displayed. The user can renew any of the books: by clicking in the corresponding renew box.
  • 36. 36 Req. 1: R.1.1: Input: “search” option, Output: user prompted to enter the key words. R1.2: Input: key words Output: Details of all books whose title or author name matches any of the key words. Details include: Title, Author Name, Publisher name, Year of Publication, ISBN Number, Catalog Number, Location in the Library. Processing: Search the book list for the keywords
  • 37. 37 Req. 2: R2.1: Input: “renew” option selected, Output: user prompted to enter his membership number and password. R2.2: Input: membership number and password Output: list of the books borrowed by user are displayed. User prompted to enter books to be renewed or user informed about bad password Processing: Password validation, search books issued to the user from borrower list and display.
  • 38. 38 Req. 2: R2.3: Input: user choice for renewal of the books issued to him through mouse clicks in the corresponding renew box. Output: Confirmation of the books renewed Processing: Renew the books selected by the in the borrower list.
  • 39. 39 Examples of Bad SRS Documents Unstructured Specifications: Narrative essay --- one of the worst types of specification document: Difficult to change, difficult to be precise, difficult to be unambiguous, scope for contradictions, etc. Forward References: References to aspects of problem defined only later on in the text.
  • 40. 40 Examples of Bad SRS Documents Overspecification: Addressing “how to” aspects For example, “Library member names should be stored in a sorted descending order” Overspecification restricts the solution space for the designer. Contradictions: Contradictions might arise if the same thing described at several places in different ways.
  • 41. 41 Summary Requirements analysis and specification an important phase of software development: any error in this phase would affect all subsequent phases of development. Consists of two different activities: Requirements gathering and analysis
  • 42. 42 Summary The aims of requirements analysis: Gather all user requirements Clearly understand exact user requirements Remove inconsistencies and incompleteness. The goal of specification:  systematically organize requirements document the requirements in an SRS document.
  • 43. 43 Summary Main components of SRS document: functional requirements Non functional requirements constraints