Definition

Email this page to a friend   

Email to a friend

Software Requirements Specification

(Alias: SRS, software specification)

A software requirements specification describes the essential behaviour of a software product from a user's point of view.

The purpose of the SRS is to:

  1. Establish the basis for agreement between the customers and the suppliers on what the software product is to do. The complete description of the functions to be performed by the software specified in the SRS will assist the potential user to determine if the software specified meets their needs or how the software must be modified to meet their needs
  2. Provide a basis for developing the software design. The SRS is the most important document of reference in developing a design
  3. Reduce the development effort. The preparation of the SRS forces the various concerned groups in the customer's organisation to thoroughly consider all of the requirements before design work begins. A complete and correct SRS reduces effort waisted on redesign, recoding and retesting. Careful review of the requirements in the SRS can reveal omissions, misunderstandings and inconsistencies early in the development cycle when these problems are easier to correct
  4. Provide a basis for estimating costs and schedules. The description of the product to be developed as given in the SRS is a realistic basis for estimating project costs and can be used to obtain approval for bids or price estimates
  5. Provide a baseline for validation and verification. Organisations can develop their test documentation much more productively from a good SRS. As a part of the development contract, the SRS provides a baseline against which compliance can be measured
  6. Facilitate transfer. The SRS makes it easier to transfer the software product to new users or new machines. Customers thus find it easier to transfer the software to other parts of their organisation and suppliers find it easier to transfer it to new customers
  7. Serve as a basis for enhancement. Because the SRS discusses the product but not the project that developed it, the SRS serves as a basis for later enhancement of the finished product. The SRS may need to be altered, but it does provide a foundation for continued product evaluation.

Login/register to access our free SRS Standard

Click to login and access our SRS Standard

Guidelines for use

1 Introduction

1.1 Purpose
1.2 Scope
1.3 Definitions, acronyms, and abbreviations
1.4 References
1.5 Document overview

2 General description

2.1 Purpose
2.2 Product context
2.3 Product functions
2.4 User characteristics
2.5 General constraints
2.6 Assumptions and dependencies
2.7 Apportioning of requirements

3 Product functions

3.1 Purpose
3.2 Function description

3.2.1 Introduction
3.2.2 Inputs
3.2.3 Processing
3.2.4 Outputs

4 External interfaces

4.1 Purpose
4.2 User interfaces
4.3 Hardware interfaces
4.4 Software interfaces
4.5 Communications interfaces

5 Performance requirements

5.1 Purpose
5.2 Static capacity
5.3 Dynamic performance

6 Design constraints

7 Software product attributes

7.1 Purpose
7.2 Reliability
7.3 Availability
7.4 Maintainability
7.5 Security
7.6 Portability
7.7 Safety

8 Database requirements

9 Installation requirements

10 Operational requirements

11 Documentation requirements

12 Appendices

Appendix A - Glossary
Appendix B - Data dictionary

Collaboration

- Rate this definition.
- Did it help?
- Suggest improvements.
- Request more information.
- Exchange ideas with our member community.

Email to a friend