Software Requirements Specification
Software Requirements Specification
March 2009
Health and Human Services Agency, Office of Systems Integration
Revision History
REVISION HISTORY REVISION/WORKSITE # SDLC Outlines #5357 OSI Admin 5357v2 DATE OF RELEASE August 29, 2008 03/26/09 OWNER OSI-PMO OSI-PMO SUMMARY OF CHANGES Initial Release Updated document to reference that this outline should be used when developing RFP requirements. Updated the roles to reflect responsibilities associated with the Software Requirements Specification.
OSIAdmin #5357
Table of Contents
1. PURPOSE......................................................................................................................................... 1 2. SCOPE.............................................................................................................................................. 1 3. RESPONSIBILITIES......................................................................................................................... 1 4. SOFTWARE REQUIREMENTS SPECIFICATION OUTLINE...........................................................2
OSIAdmin #5357
1. PURPOSE
This document should be used by the Office of Systems Integration (OSI) projects to assist in defining RFP requirements. This document provides guidance in the uniform development of the Software Requirements Specification (SRS) document, which is a structured collection of information that embodies the requirements of the software. The purpose of the SRS is to communicate the stakeholder requirements to the technical resources that will specify and build the software to meet the requirements. This document was based on the following Institute of Electrical and Electronics Engineers (IEEE) Standard (STD): IEEE STD 830-1998.
2. SCOPE
The SRS is a product that is produced during the System Development Life Cycle (SDLC). The SDLC is a conceptual model used for project management that describes a series of phases involved in a system development project. The OSI has defined the following phases as part of the SDLC model: Requirements Analysis, Design, Development, Test, Implementation, and Transition to Maintenance and Operations (M&O). The SRS is constructed during the analysis phase of the SDLC and is a deliverable of this phase. Detailed and accurate software requirements establish and communicate expectations for all aspects of the softwares features and performance. In addition, the SRS serves as the basis for ensuring that requirements are addressed during subsequent SDLC phase documents, such as the Detailed Design Specification, testing documents and software documentation.
3. RESPONSIBILITIES
3.1 Contractor The Contractor is responsible for developing, updating, and obtaining approval for the SRS, if it is included as a requirement in the contract. 3.2 Project Manager
The Project Manager is responsible for coordinating the efforts of those
involved in the SRS development, review, and approval. 3.3 Contract Manager The Contract Manager verifies that the SRS deliverable is provided, reviewed, and approved. 3.4 Systems Engineer The Systems Engineer may provide input in developing the SRS. 3.5 Quality Manager The Quality Manager verifies the quality of the SRS.
OSIAdmin #147189220.doc
3.6 Project Stakeholders The project stakeholders are involved in requirements gathering to allow the project team to document and verify their software requirements. 3.7 Project Team The project team member(s) is responsible for assisting with gathering requirements and developing and reviewing the SRS.
4.5 Assumptions, Dependencies and Constraints 4.5.1 Assumptions Describe assumptions made that can affect the requirements of the SRS. Assumptions are factors that are believe to be true during the life cycle of the project, that if changed may affect the outcome of the project. 4.5.2 Dependencies Describe each dependency that can affect the requirements specified in the SRS. Dependencies are outside of the scope and control of the project and must remain true for the project to succeed. 4.5.3 Constraints Describe factors that limit the scope and functionality of the software. Constraints are requirements that are imposed on the software solution. 4.6 Requirements In the requirement subsections, specify all software requirements to a level of detail sufficient to enable the developer to build the software application. Each requirement documented in the requirements sections must have a unique identifier for requirements traceability and should be ranked for importance and/or stability. 4.6.1 Business Requirements Describe all requirements from a business perspective. Business requirements are the parts of the fully defined business process that will be automated by the software. 4.6.2 Functional Requirements The functional requirements sections should be customized to contain the information necessary to define the fundamental actions that must take place within the software to process inputs and to process and generate outputs. Functional requirements should include specific requirements for business rules, which describe and document the steps in a business process. 4.6.3 Logical Data Requirements Describe the logical data requirements for the system. 4.6.4 User Requirements Describe the user requirements; these should capture the intended behavior of the human interface of the application. 4.6.5 System Requirements 6.6.5.1 Performance Requirements
OSIAdmin #147189220.doc
Describe the performance conditions and their associated capabilities. These requirements should be stated in measurable terms. 6.6.5.2 Quality Requirements Describe requirements for the quality characteristics of the application, such as usability, reliability, and maintainability. These requirements should be stated in measurable and verifiable terms. 4.6.6 Interfaces Describe the characteristic of each interface between the software and other hardware or software, such as communication protocols and purpose of the interface. 4.6.7 Other Requirements Identify any additional requirements that could not be appropriately categorized into the preceding requirements sections. 4.7 References Provide any references used in the creation of the document. 4.8 Glossary Provide an alphabetized list of definitions for special terms and acronymns used in the document. 4.9 Appendices The appendices should contain material that is too detailed or large to be included in the main body of the document. Refer to each appendix in the main body of the text where the information applies.
OSIAdmin #147189220.doc