Software Engineering
Software Requirements Specification
The Software Requirements Specification (SRS) is an important document usually produced in the development of a software product. It clearly and unambiguously defines the functionality of the software project for both the stakeholder and for the developer.
Pressman states, “For large systems, a written document, combining natural language descriptions and graphical models may be the best approach. However, usage scenarios may be all that are required for smaller products or systems that reside within well-understood technical environments.” For our class, we will write a formal SRS, as it is easier to scale down than to scale up. That is, when one knows how to do a large formal document, one can extract a smaller subset if desired but doing the first major paper is always the hardest.
The standard described here has been developed over the years from many sources. It is inspired by IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements Specifications, but is much more prescriptive than that recommendation. It is specified at the level that might be required by a particular software development firm. When a person has learned to write to one standard, it is easy to adapt to write to any other standard.
The SRS is the main communication tool between the stakeholder and the developer. It provides assurance that the right product will be created. It also provides a basis for enhancement, a major cost of software. This standard is Use-Case (user scenario) based and allows the usage of whatever graphical tool might be appropriate. It clearly differentiates between the two audiences of the document, providing each with a customized view of the information that they will need and cross-references these views to assure consistency.
This document is accompanied by several supplementary documents. The first document, titled General Information, details how to create and update