IEEE software life cycle |
---|
|
A Software Requirements Specification (SRS) is a document that lays out the description of the software that is to be developed as well as the intention of the software under development. Software requirements specification shows what the software is supposed to do as well as how it is supposed to perform. What is Software Requirement Specification - SRS? A software requirements specification (SRS) is a document that captures complete description about how the system is expected to perform. It is usually signed off at the end of requirements engineering phase. Qualities of SRS: Correct. Ranked for importance.
A software requirements specification (SRS) is a description of a software system to be developed. It is modeled after business requirements specification(CONOPS), also known as a stakeholder requirements specification (StRS).[citation needed] The software requirements specification lays out functional and non-functional requirements, and it may include a set of use cases that describe user interactions that the software must provide to the user for perfect interaction.
Software requirements specification establishes the basis for an agreement between customers and contractors or suppliers on how the software product should function (in a market-driven project, these roles may be played by the marketing and development divisions). Software requirements specification is a rigorous assessment of requirements before the more specific system design stages, and its goal is to reduce later redesign. It should also provide a realistic basis for estimating product costs, risks, and schedules.[1] Used appropriately, software requirements specifications can help prevent software project failure.[2]
The software requirements specification document lists sufficient and necessary requirements for the project development.[3] To derive the requirements, the developer needs to have clear and thorough understanding of the products under development. This is achieved through detailed and continuous communications with the project team and customer throughout the software development process.
The SRS may be one of a contract's deliverabledata item descriptions[4] or have other forms of organizationally-mandated content.
Structure[edit]
An example organization of an SRS is as follows:[5]
- Purpose
- Background
- System overview
- Overall description
- Product perspective
- Communication Interfaces
- Design constraints
- Site Adaptation Requirements
- Product functions
- User characteristics
- Constraints, assumptions and dependencies
- Product perspective
- Specific requirements
- External interface requirements
- Logical database requirement
- Software System Attributes
- Portability
- Functional requirements
- Environment characteristics
- others..
Goals[edit]
The Software Requirements Specification (SRS) is a communication tool between users and software designers. The specific goals of the SRS are as follows:
- Facilitating reviews
- Describing the scope of work
- Providing a reference to software designers (i.e. navigation aids, document structure)
- Providing a framework for testing primary and secondary use cases
- Including features to customer requirements
- Providing a platform for ongoing refinement (via incomplete specs or questions)
Requirements smell[edit]
Following the idea of code smells, the notion of requirements smell has been proposed to describe issues in requirements specification where the requirement is not necessarily wrong but could be problematic.
[6] Examples of requirements smells are Subjective Language, Ambiguous Adverbs and Adjectives, Superlatives and Negative Statements.[6]
See also[edit]
- Software Engineering Body of Knowledge (SWEBOK)
References[edit]
- ^Bourque, P.; Fairley, R.E. (2014). 'Guide to the Software Engineering Body of Knowledge (SWEBOK)'. IEEE Computer Society. Retrieved 17 July 2014.
- ^'Software requirements specification helps to protect IT projects from failure'. Retrieved 19 December 2016.
- ^Pressman, Roger (2010). Software Engineering: A Practitioner's Approach. Boston: McGraw Hill. p. 123. ISBN9780073375977.
- ^'DI-IPSC-81433A, DATA ITEM DESCRIPTION SOFTWARE REQUIREMENTS SPECIFICATION (SRS)'. everyspec.com. 1999-12-15. Retrieved 2013-04-04.
- ^Stellman, Andrew & Greene, Jennifer (2005). Applied software project management. O'Reilly Media, Inc. p. 308. ISBN978-0596009489.
- ^ abFemmer, Henning; Méndez Fernández, Daniel; Wagner, Stefan; Eder, Sebastian (2017). 'Rapid quality assurance with Requirements Smells'. Journal of Systems and Software. 123: 190–213. arXiv:1611.08847. doi:10.1016/j.jss.2016.02.047.
External links[edit]
- 830-1984 — IEEE Guide to Software Requirements Specifications. 1984. doi:10.1109/IEEESTD.1984.119205. ISBN978-0-7381-4418-4.
- 830-1993 — IEEE Recommended Practice for Software Requirements Specifications. 1994. doi:10.1109/IEEESTD.1994.121431. ISBN978-0-7381-4723-9.
- 830-1998 — IEEE Recommended Practice for Software Requirements Specifications. 1998. doi:10.1109/IEEESTD.1998.88286. ISBN978-0-7381-0332-7.
- 29148-2011 - Systems and software engineering — Life cycle processes — Requirements engineering. Iso/Iec/IEEE 29148:2011(E). 2011. pp. 1–94. doi:10.1109/IEEESTD.2011.6146379. ISBN978-0-7381-6591-2.('This standard replaces IEEE 830-1998, IEEE 1233-1998, IEEE 1362-1998 - http://standards.ieee.org/findstds/standard/29148-2011.html')
- Leffingwell, Dean; Widrig, Don (2003). Managing Software Requirements: A Use Case Approach (2nd ed.). Addison-Wesley. ISBN978-0321122476.
- Gottesdiener, Ellen (2009). The Software Requirements Memory Jogger: A Desktop Guide to Help Business and Technical Teams Develop and Manage Requirements. Addison-Wesley. ISBN978-1576811146.
- Wiegers, Karl; Beatty, Joy (2013). Software Requirements, Third Edition. Microsoft Press. ISBN9780735679665.
- 'IEEE SRS Template - rick4470/IEEE-SRS-Tempate'. Retrieved 27 Dec 2017.
- ^Taaffe, Ed. 'Mr'. thebridger. Retrieved 2019-02-02.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Software_requirements_specification&oldid=931492620'