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
   113   114   115   116   117   118   119   120   121   122   123