Page 118 -
P. 118
Software Requirements Specification
A software requirements specification (SRS) is a complete description of the behavior of the
software to be developed. It includes a set of use cases that describe all of the interactions
that the users will have with the software. In addition to use cases, the SRS contains func-
tional requirements, which define the internal workings of the software: that is, the calcula-
tions, technical details, data manipulation and processing, and other specific functionality
that shows how the use cases are to be satisfied. It also contains nonfunctional requirements,
which impose constraints on the design or implementation (such as performance require-
ments, quality standards, or design constraints).
The SRS is the most important work product that is produced by the requirements engi-
neering project activities. All later work products—software design and architecture, code,
test plans—are based on the SRS.
SRS Template
The SRS contains the use cases, functional requirements, and nonfunctional require-
ments. It should also contain overall information about the project, in order to orient the
team. Table 6-8 shows the SRS template.
TABLE 6-8. Software requirements specification outline
1. Introduction
a. Purpose
b. Scope
c. System overview
d. References
2. Definitions
3. Use cases
4. Functional requirements
5. Nonfunctional requirements
The introduction serves to orient the reader. It describes both the system and the SRS
itself:
Purpose
This section describes the purpose of the document. Typically, this will contain a brief
two- or three-sentence description, including the name of the project. For example:
“The purpose of this document is to serve as a guide to designers, developers, and
testers who are responsible for the engineering of the (name of project) project. It should
give the engineers all of the information necessary to design, develop, and test the soft-
ware.” This is to ensure that the person reading the document understands what he or
she is looking at.
Scope
This section contains a brief description of the scope of the document. If the SRS is a com-
plete description of the software, then it will state something similar to: “This document
contains a complete description of the functionality of the (name of project) project. It con-
110 CHAPTER SIX