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.
   317   318   319   320   321   322   323   324   325   326   327