IEEE Std 830-1998 Recommended Practice for Software Requirements SpeciЮcations
Introduction
(This introduction is not a part of IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements SpeciÞ- cations.)
This recommended practice describes recommended approaches for the speciÞcation of software requirements.
It is based on a model in which the result of the software requirements speciÞcation process is an unambiguous and complete speciÞcation document. It should help a) Software customers to accurately describe what they wish to obtain; b) Software suppliers to understand exactly what the customer wants; c) Individuals to accomplish the following goals: 1) Develop a standard software requirements speciÞcation (SRS) outline for their own organizations; 2) DeÞne the format and content of their speciÞc software requirements speciÞcations; 3) Develop additional local supporting items such as an SRS quality checklist, or an SRS writerÕs handbook.
To the customers, suppliers, and other individuals, a good SRS should provide several speciÞc beneÞts, such as the following: - 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 speciÞed in the SRS will assist the potential users to determine if the software speciÞed meets their needs or how the software must be modiÞed to meet their needs.
- Reduce the development effort.
The preparation of the SRS forces the various concerned groups in the customerÕs organization to consider rigorously all of the requirements before design begins and reduces later 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. - 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. - Provide a baseline for validation and veriÞcation.
Organizations can develop their validation and veriÞcation plans 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. - Facilitate transfer.
The SRS makes it easier to transfer the software product to new users or new machines. Customers thus Þnd it easier to transfer the software to other parts of their organization, and suppliers Þnd it easier to transfer it to new customers. - 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 Þnished product. The SRS may need to be altered, but it does provide a foundation for continued production evaluation.
The readers of this document are referred to Annex B for guidelines for using this recommended practice to meet the requirements of IEEE/EIA 12207.1-1997, IEEE/EIA GuideÑIndustry Implementation of ISO/IEC 12207: 1995, Standard for Information TechnologyÑSoftware life cycle processesÑLife cycle data.
Participants
This recommended practice was prepared by the Life Cycle Data Harmonization Working Group of the Software Engineering Standards Committee of the IEEE Computer Society. At the time this recommended practice was approved, the working group consisted of the following members: