0% found this document useful (0 votes)
38 views17 pages

Requirements Gathering & Specification Session-2

The document discusses the importance of software requirements analysis and specification, emphasizing the need for a clear understanding of the problem to develop satisfactory systems. It outlines the properties of a good Software Requirements Specification (SRS) document, which should be concise, verifiable, and well-structured, serving as a contract between the development team and the customer. Additionally, it highlights common pitfalls in SRS documents, such as ambiguity, contradictions, and over-specification.

Uploaded by

Krutarth Solanki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views17 pages

Requirements Gathering & Specification Session-2

The document discusses the importance of software requirements analysis and specification, emphasizing the need for a clear understanding of the problem to develop satisfactory systems. It outlines the properties of a good Software Requirements Specification (SRS) document, which should be concise, verifiable, and well-structured, serving as a contract between the development team and the customer. Additionally, it highlights common pitfalls in SRS documents, such as ambiguity, contradictions, and over-specification.

Uploaded by

Krutarth Solanki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Software Requirements:

Analysis and Specification


Analysis of Gathered Requirements (CONT.)


Requirements analysis involves:
− Obtaining a clear, in-depth understanding of the
product to be developed,
− Remove all ambiguities and inconsistencies from
the initial customer perception of the problem.

It is quite difficult to obtain:
− A clear, in-depth understanding of the problem:

Especially if there is no working model of the
problem.

Experienced analysts take considerable time:
− To understand the exact requirements the
customer has in his mind. 17
Analysis of Gathered Requirements (CONT.)


Experienced systems analysts know -
often as a result of painful experiences
− Without a clear understanding of the problem, it
is impossible to develop a satisfactory system.

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?
18
Analysis of Gathered Requirements (CONT.)


Some anomalies and inconsistencies can be
very subtle:
− Escape even most experienced eyes.
− If a formal model of the system is constructed,

Many of the subtle anomalies and inconsistencies get
detected.

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.
19
Software Requirements Specification

Main aim of requirements specification:
− Systematically organize the requirements arrived
during requirements analysis.
− Document requirements properly.

SRS document is useful in various contexts:
− Statement of user needs
− Contract document
− Reference document
− Definition for implementation

20
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 SRS document is approved by customer,

Any subsequent controversies are settled by
referring the SRS document.

21
Software Requirements Specification:
A Contract Document

Once customer agrees to SRS document:
− Development team starts to develop (rather
prepare a detailed design) 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.

22
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

The requirements at this stage:
− Written using end-user terminology.

If necessary:
− Later a formal requirement specification may be
developed from it. 24
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.

25
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

26
SRS Document (CONT.)


SRS document, normally contains three
important parts:
− Functional requirements,
− Non-functional requirements,
− Goals of Implementation.

27
Non-functional Requirements

Why? - Characteristics of the system
which can not be expressed as functions

Nonfunctional requirements include:
− Reliability issues,
− Performance issues:

Example: How fast the system can produce results
− so that it does not overload another system to
which it supplies data, etc.
− Human-computer interface issues,
− Interface with other external systems,
− Security, Portability, Scalability, Usability,
Maintainability, etc. 31
Non-Functional Requirements

Hardware to be used,

Operating system or DBMS to be used

Capabilities of I/O devices

Standards compliance

Data representations
− by the interfaced system

32
Goals of Implementation

Goals describe things that are desirable of
the system:
− But, would not be checked for compliance.
− For example,

Reusability issues

Functionalities to be developed in future

Goals vs. Requirements ?

33
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.

Noise:
− Presence of text containing information irrelevant to
the problem.

Silence:
− aspects important to proper solution of the problem
are omitted. 41
Examples of Bad SRS Documents


Over-specification:
− Addressing “how to” aspects
− For example, “Library member names should be stored in
a sorted descending order”
− Why? - Over-specification restricts the solution space
for the designer.

Contradictions:
− Contradictions might arise

if the same thing described at several places in different ways.

42
Examples of Bad SRS Documents

Ambiguity:
− Literary expressions
− Unquantifiable aspects, e.g. “good user interface”,
“fantastic processing”, “ultra transfer speed”, etc.

Forward References:
− References to aspects of problem
− defined only later on in the text.
− e.g., R1.1 refers R5.2


Wishful Thinking:
− Descriptions of aspects
− for which realistic solutions will be hard to find/achieve.
− e.g., Successful Search of 1.2 billion adhaar finger-print
records in 1 ns. 43

You might also like