The Software Requirements Document Sometimes Called Software Requirements Specification (SRS) What is an SRS? SRS is the official statement of what the system developers should implement. SRS is a complete description of the behavior of the system to be developed. SRS should include both a definition of user requirements and a specification of the system requirements. The SRS fully describes what the software will do and how it will be expected to perform. What is the purpose of an SRS? The SRS precisely defines the software product that will be built. SRS used to know all the requirements for the software development and thus that will help in designing the software. It provides feedback to the customer. Users of a Requirements Document, Structure of the Requirements Document: A number of large organizations, such as the US Department of Defense and the IEEE, have defined standards for requirements documents. The most widely known standard is IEEE/ANSI 830-1998 (IEEE, 1998). This IEEE standard suggests the following structure for requirements documents: Structure Explained 1. INTRODUCTION Purpose Describe the purpose of the SRS, not the purpose of the software being developed. Intended audience for SRS. Scope Describe application of software (benefits, objectives). Explain what software will (not) do. Structure Explained 1. INTRODUCTION Definitions/acronyms/abbreviations Definitions of terms and abbreviations that are used in the SRS. E.g. User: The person operating and/or using the software system. References A complete list of all documents referenced elsewhere in the SRS. Specify the sources from which the references can be obtained. Overview Brief description of rest of SRS. How the SRS is organized Structured Explained 2. OVERALL DESCRIPTION Product Perspective If the product is independent and totally self-contained, it should be stated here. Describe the functions of each component of the larger system or project, and identify interfaces. Product Functions Provide a summary of the functions that the software will perform. Block diagrams showing the different functions and their relationships can be helpful. User Characteristics Describe those general characteristics of the eventual users of the product that will affect the specific requirements. Structured Explained 2. OVERALL DESCRIPTION Constraints Provide a general description of any other items that will limit the developer's options for designing the system. E.g. 1. The software system will run under Windows. 2. All code shall be written in Java. Assumptions and Dependencies List and description of each of the factors that affect the requirements stated in the SRS. Structured Explained 2. OVERALL DESCRIPTION Apportioning Of Requirements Identify requirements that may be delayed until future versions of the system.