Page 322 -
P. 322
CHAPTER 11 ANALYSIS CONCEPTS AND PRINCIPLES 293
11.5.3 The Software Requirements Specification
The Software Requirements Specification is produced at the culmination of the analy-
sis task. The function and performance allocated to software as part of system engi-
neering are refined by establishing a complete information description, a detailed
functional description, a representation of system behavior, an indication of perfor-
mance requirements and design constraints, appropriate validation criteria, and other
information pertinent to requirements. The National Bureau of Standards, IEEE (Stan-
dard No. 830-1984), and the U.S. Department of Defense have all proposed candidate
formats for software requirements specifications (as well as other software engi-
neering documentation).
The Introduction of the software requirements specification states the goals and
objectives of the software, describing it in the context of the computer-based system.
Actually, the Introduction may be nothing more than the software scope of the plan-
ning document.
The Information Description provides a detailed description of the problem that the
software must solve. Information content, flow, and structure are documented. Hard-
ware, software, and human interfaces are described for external system elements
Software Requirements
Specification and internal software functions.
A description of each function required to solve the problem is presented in the
Functional Description. A processing narrative is provided for each function, design
constraints are stated and justified, performance characteristics are stated, and one
or more diagrams are included to graphically represent the overall structure of the
software and interplay among software functions and other system elements. The
Behavioral Description section of the specification examines the operation of the soft-
ware as a consequence of external events and internally generated control charac-
teristics.
Validation Criteria is probably the most important and, ironically, the most often
When you develop neglected section of the Software Requirements Specification. How do we recognize a
validation criteria,
answer the following successful implementation? What classes of tests must be conducted to validate func-
question: “How would tion, performance, and constraints? We neglect this section because completing it
I recognize a demands a thorough understanding of software requirements—something that we
successful system if it often do not have at this stage. Yet, specification of validation criteria acts as an
were dropped on my
desk tomorrow?” implicit review of all other requirements. It is essential that time and attention be
given to this section.
Finally, the specification includes a Bibliography and Appendix. The bibliography
contains references to all documents that relate to the software. These include other
software engineering documentation, technical references, vendor literature, and
standards. The appendix contains information that supplements the specifications.
Tabular data, detailed description of algorithms, charts, graphs, and other material
are presented as appendixes.

