Elicitation[edit]
Elicitation is the gathering and discovery of requirements from stakeholders and other sources. A variety of techniques can be used such as Joint Application Design (JAD) sessions, interviews, document analysis, focus groups, etc. Elicitation is the first step of requirements development.
Analysis[edit]
Main article: Requirements analysis
Analysis is the logical breakdown that proceeds from elicitation. Analysis involves reaching a richer and more precise understanding of each requirement and representing sets of requirements in multiple, complementary ways.
Specification[edit]
Specification involves representing and storing the collected requirements knowledge in a persistent and well-organized fashion that facilitates effective communication and change management. Use cases, user stories, functional requirements, and visual analysis models are popular choices for requirements specification.
Validation[edit]
Validation involves techniques to confirm that the correct set of requirements has been specified to build a solution that satisfies the project's business objectives.
Management[edit]
Requirements change during projects and there are often many of them. Management of this change becomes paramount to ensuring that the correct software is built for the stakeholders.
Tool support for requirements engineering[edit]
Specialized commercial tools for requirements engineering are Gatherspace, Rational RequisitePro, Doors, CaliberRM or QFDCapture, but also free tools like FreeMind can be used.[3] Issue trackers implementing the Volere requirements template have been used successfully in distributed environments.[4]
See also[edit]
Software Requirements Specification
References[edit]
^ IEEE Computer Society (1990). "IEEE Standard Glossary of Software Engineering Terminology". IEEE Standard.
^ "Guide to the Software Engineering Body of Knowledge". IEEE Computer Society. Retrieved 11 January 2013.
^ Laplante, Phillip A. (2009). "Requirements Engineering for Software and Systems". CRC Press.
^ Prause, Christian; et al. (2008). "Managing the Iterative Requirements Process in a Multi-National Project using an Issue Tracker". IEEE Computer Society. Retrieved February 5, 2013.
Further reading[edit]
Wiegers, Karl (2003). Software Requirements (2nd ed.). Microsoft Press. ISBN 0072850590.
Cockburn, Alistair. Writing Effective Use Cases.
Leffingwell, Dean. Managing Software Requirements: A Unified Approach.