Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

Requirements Analysis and Specification   179 180   Fundamentals of Software Engineering

sounded. However, on an examination of all requirements, it was found that there is no functionality should be clearly described, and the input and output data should have been
provision for resetting the alarm bell after the temperature has been brought down in any identified precisely.
of the requirements. This is clearly an incomplete requirement.
User documentation writers: The user documentation writers need to read the SRS
Can an analyst detect all the problems existing in the gathered requirements? document to ensure that they understand the features of the product well enough to be
able to write the users’ manuals.
Many of the inconsistencies, anomalies, and incompleteness are detected effortlessly, while
some others require a focused study of the specific requirements. A few problems in the Project managers: The project managers refer to the SRS document to ensure that they
requirements can, however, be very subtle and escape even the most experienced eyes. can estimate the cost of the project easily by referring to the SRS document and that it
Many of these subtle anomalies and inconsistencies can be detected, if the requirements are contains all the information required to plan the project.
specified and analysed using a formal method. Once a system has been formally specified,
Maintenance engineers: The SRS document helps the maintenance engineers to understand
it can be systematically (and even automatically) analysed to remove all problems from the functionalities supported by the system. A clear knowledge of the functionalities
the specification. We will discuss the basic concepts of formal system specification in can help them to understand the design and code. Also, a proper understanding of the
Section 4.3. Though the use of formal techniques is not widespread, the current practice
functionalities supported enables them to determine the specific modifications to the
is to formally specify only the safety-critical2 parts of a system.
system’s functionalities would be needed for a specific purpose.
Many software engineers in a project consider the SRS document to be a reference
4.2  SOFTWARE REQUIREMENTS SPECIFICATION (SRS) document. However, it is often more appropriate to think of the SRS document as the
After the analyst has gathered all the required information regarding the software to be documentation of a contract between the development team and the customer. In fact,
developed, and has removed all incompleteness, inconsistencies, and anomalies from the the SRS document can be used to resolve any disagreements between the developers
specification, he starts to systematically organise the requirements in the form of an SRS and the customers that may arise in the future. The SRS document can even be used as
document. The SRS document usually contains all the user requirements in a structured a legal document to settle disputes between the customers and the developers in a court
though an informal form. of law. Once the customer agrees to the SRS document, the development team proceeds
Among all the documents produced during a software development life cycle, SRS to develop the software and ensure that it conforms to all the requirements mentioned in
document is probably the most important document and is the toughest to write. One the SRS document.
reason for this difficulty is that the SRS document is expected to cater to the needs of a
wide variety of audience. In the following subsection, we discuss the different categories
4.2.2  Why Spend Time and Resource to Develop an SRS Document?
of users of an SRS document and their needs from it.
A well-formulated SRS document finds a variety of usage other than the primary intended
4.2.1  Users of SRS Document usage as a basis for starting the software development work. In the following subsection,
we identify the important uses of a well-formulated SRS document:
Usually a large number of different people need the SRS document for very different
purposes. Some of the important categories of users of the SRS document and their needs Forms an agreement between the customers and the developers: A good SRS document
for use are as follows: sets the stage for the customers to form their expectation about the software and the
developers about what is expected from the software.
Users, customers, and marketing personnel: These stakeholders need to refer to the SRS
document to ensure that the system as described in the document will meet their needs. Reduces future reworks: The process of preparation of the SRS document forces
Remember that the customer may not be the user of the software, but may be some one the stakeholders to rigorously think about all of the requirements before design and
employed or designated by the user. For generic products, the marketing personnel need development get underway. This reduces later redesign, recoding, and retesting. Careful
to understand the requirements that they can explain to the customers. review of the SRS document can reveal omissions, misunderstandings, and inconsistencies
early in the development cycle.
Software developers: The software developers refer to the SRS document to make sure
that they are developing exactly what is required by the customer. Provides a basis for estimating costs and schedules: Project managers usually estimate
the size of the software from an analysis of the SRS document. Based on this estimate
Test engineers: The test engineers use the SRS document to understand the functionalities, they make other estimations such as the effort required to develop the software and the
and based on this write the test cases to validate its working. They need that the required total cost of development. The SRS document also serves as a basis for price negotiations
with the customer. The project manager also uses the SRS document for work scheduling.
2
 A safety-critical system is one whose improper working can result in financial loss, loss of property,
or life.

You might also like