Ch03a SoftwareRequirementsAndAnalysis
Ch03a SoftwareRequirementsAndAnalysis
Specification and
Analysis I
1
Goal of Requirements Analysis &
Specification
The goal of the requirements analysis
and specification phase is to clearly
understand the customer requirements
and to systematically organize the
requirements into a document called the
Software Requirements
Specification(SRS) document.
2
Requirements Analysis &
Specification
• The engineers who gather and analyze customer
requirements, then write the requirements
specification document are known as system analysts in
the software industry.
• On understanding the precise user requirements, the
analysts analyze the requests to weed out
inconsistencies, anomalies and incompleteness.
• They then proceed to write the SRS.
• The SRS document is the final outcome of the
requirements analysis and specification phase.
3
Requirements Analysis &
Specification Phases
1)Requirements Gathering &
Analysis:
a)Requirements gathering
b)Requirements analysis
2)Requirements Specification
4
Requirements Gathering
• Popularly known as requirements elicitation.
• Objective of the requirements gathering task
is to collect the requirements from the
stakeholders.
• A stakeholder is a source of the requirements
and is usually a person, a group of persons
who either directly or indirectly are
concerned with the software.
5
Analyst Gathering
Requirements Procedure
• Studying existing documents(SOP provided)
• Interview(Delphi Technique used)
• Task Analysis(Service supported by a s/w)
• Scenario Analysis
• Requirements activities such as
questionnaires, surveys, task analysis,
scenario analysis and form analysis.
6
Requirements Gathering
• The main purpose of this activity is to analyse
the gathered requirements to remove all
ambiguities(anomalies), incompleteness and
inconsistencies from the gathered customer
requirements and to obtain a clear
understanding of the software to be
developed.
7
Users of SRS Document
Users, customers, and marketing
personnel
Software developers
Test engineers
User documentation writers
Project managers
Maintenance engineers
8
What are Requirements?
• A Requirement is:
• Requirements Analysis:
– Remove inconsistencies, anomalies, etc. from
requirements.
• Requirements Specification:
– Document requirements properly in an SRS document.
What are the Uses of an SRS Document?
• Establishes the basis for agreement between the
customers and the suppliers
• Forms the starting point for development.
• Provide a basis for estimating costs and
schedules.
• Provide a basis for validation and verification.
• Provide a basis for user manual preparation.
• Serves as a basis for later enhancements.
Forms A Basis for User Manual
• The SRS serves as the basis for writing User
Manual for the software:
Gathering
• Specification
Analysis and review may
Specification
lead to further
Review
gathering and
analysis.
SRS Document
How to Gather Requirements?
needs
• Observe existing (manual) systems,
Gathering
Review
• Input and Output analysis
SRS
• Analyze what needs to be done Docume
nt
Requirements Gathering Activities
• The important ways in which an experienced
analyst gathers requirements are:
• 2. Interview
• 3. Task analysis
• 4. Scenario analysis
• 5. Form analysis
Requirements Gathering (CONT.)
– Experience…
Case Study: Automation of Office Work at CSE Dept.
Specification
incompleteness. SRS
Docume
nt
Analysis
– Contract document
– Reference document
40
SRS Document (CONT.)
• If necessary:
– Later a formal requirement specification
may be developed from it.
• It should be concise
– and at the same time should not be ambiguous.
• Implementation Indepenedent: It should
specify what the system must do
Properties of a Good
– and not say how to do it. SRS Document
• Easy to change.,
– i.e. it should be well-structured.
• It should be consistent.
• It should be complete.
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, code, etc and vice versa.
• It should be verifiable
– e.g. “system should be user friendly” is not
verifiable
SRS should not include...
• Project development plans
– E.g. cost, staffing, schedules, methods, tools, etc
• Lifetime of SRS is until the software is made obsolete
• Lifetime of development plans is much shorter
• Designs
– Requirements and designs have different audiences
– Analysis and dessign are different areas of expertise