Relating Business Goals to Architecturally Significant Requirements for Software Systems
CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST
Pagination or Media Count:
The primary purpose of the architecture for a software-reliant system is to satisfy the driving behavioral and quality attribute requirements. Quality attribute requirements tend to be poorly captured and poorly represented in requirements specifications, which focus on functionality. It is often up to the architects own initiative to capture the actual quality attribute requirements for a system under development. Quality attributes come about because of the business goals behind the system being developed. Business goals drive the conception, creation, and evolution of software-reliant systems. This report examines business goals from the point of view of the software architect. It presents a wide survey of business goal categories from the business literature and uses that survey to produce a classification of business goals. It introduces the concept of goal-subject the person or entity who owns the business goal and goal-object the person or entity that the goal is intended to benefit. Those concepts are essential to the structure of a business goal scenario -- a systematic way to elicit and express business goals. Using the concept of a business goal scenario drives the Pedigreed Attribute eLicitation Method PALM, developed by the authors for eliciting architecturally significant business goals. The report illustrates how to use architecturally significant business goals to produce a set of derived quality attribute requirements that can then be vetted and elaborated with the appropriate goal-subjects and goal-objects. This approach has been vetted in two workshops and the method piloted in an industrial setting.
- Administration and Management
- Economics and Cost Analysis
- Computer Programming and Software