ABSTRACT

Software architectures have been demonstrated to be effective representations for expressing system stakeholder concerns and prescribing software systems to satisfy those concerns. However, research is only beginning to emphasize systematic processes for deriving and evaluating those architectures from stakeholder requirements. The research described in this chapter offers a systematic process and a supporting tool, Reference Architecture Representation Environment (RARE), for deriving and evaluating a high-level software architecture, the Domain Reference Architecture (DRA), such that the resulting architecture reflects quality goals prioritized by the architect, including reusability, maintainability, performance, integrability, reliability, and comprehensibility. The DRA is an implementation-independent architecture composed of Domain Reference Architecture Classes (DRACs), each of which specifies some portion of domain data and functionality. Thus, the essential DRA derivation process consists of identifying DRACs and allocating domain data and functionality to those DRACs. While disciplines such as object-oriented analysis and design offer selective guidance for deriving class-based architectures, the current state of the art is largely ad hoc. The approach used in this research focuses on defining a deterministic transformation, such that for a given model of functional and data requirements and a prioritized set of architect quality goals, the derivation process yields a particular DRA structure, and the evaluation of that DRA with respect to quality goals is consistent.