A Comparison of Requirements Specification Methods from a Software Architecture Perspective
August 2006 • Technical Report
In this report, five methods for the elicitation and expression of requirements are evaluated with respect to their ability to capture architecturally significant requirements.
Software Engineering Institute
CMU/SEI Report Number
One of the key challenges to producing high-quality software architecture is identifying and understanding the software's architecturally significant requirements. These requirements are the ones that have the most far-reaching effect on the architecture. In this report, five methods for the elicitation and expression of requirements are evaluated with respect to their ability to capture architecturally significant requirements. The methods evaluated are requirements specification using natural language, use case analysis, the Quality Attribute Workshop (developed by the Carnegie Mellon Software Engineering Institute), global analysis, and an approach developed by Fergus O'Brien. These methods were chosen because they are in widespread use or emphasize the capture of architecturally significant requirements.
Three problems must be solved to systematically transform business and mission goals into architecturally significant requirements: (1) the requirements must be expressed in a form that provides the information necessary for design; (2) the elicitation of the requirements must capture architecturally significant requirements; and (3) the business and mission goals must provide systematic input for the elicitation process. The primary finding from the evaluation of these methods is that there are promising solutions to the first two problems. However, there is no method for systematically considering the business and mission goals in the requirements elicitation.