Page 183 -
P. 183

ChaptEr 10




                                 SYSTEMATIC DERIVATION AND
                          EVALUATION OF DOMAIN-SPECIFIC AND
                               IMPLEMENTATION-INDEPENDENT
                                   SOFTWARE ARCHITECTURES




                                 k. suZannE barbEr and thomas grasEr





                    Abstract: Software architectures have been demonstrated to be effective representations for ex-
                    pressing 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 com-
                    prehensibility. 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.

                    Keywords: Software Architecture, Software Engineering

                    INTRODUCTION

                    Software architectures have been used to represent a variety of concerns in the software develop-
                    ment process, including requirements, domain-specific knowledge, implementation structure, and
                    component connectivity (Bass, Clements, and Kazman, 1998; Tracz, 1995). To accommodate these
                    concerns, a variety of architecture representations have been proposed (Clements, 1996). In an ef-
                    fort to promote large-scale reuse over time, one form of architecture, the “reference architecture,”
                    has proved to be particularly effective for prescribing a series of systems within a domain without
                    constraining developers by current technology. The reference architecture is designed to describe
                    anticipated system component functionality and relationships between those components without
                    specifying implementation details (Gacek, 1995). Avoiding such details allows the architecture
                                                         168
   178   179   180   181   182   183   184   185   186   187   188