Page 186 -
P. 186

DOMAIN-SPECIFIC & IMPLEMENTATION-INDEPENDENT SOFTWARE ARCHITECTURES     171

                    Table 10.1

                    Typical Software Architecture Quality Attributes
                    Quality attribute  Description                         Category
                    Reusability   Degree to which system’s structure or some of its   Not discernible at runtime
                                  components can be reused
                    Integrability  Ability to make the separately developed   Not discernible at runtime
                                  components of the system work together
                    Maintainability  Ability to make changes quickly and cost effectively Not discernible at runtime
                    Reliability   Ability of the system to keep operating over time  Discernible at runtime
                    Performance   Responsiveness of the system             Discernible at runtime
                    Cost          System development cost                  Business quality
                    Comprehensibility Ease by which architecture can be understood by   Relevant to the architecture
                                  stakeholders
                    Completeness  Scope of architecture content as a percentage of   Relevant to the architecture
                                  source documents
                    Correctness   Accuracy and consistency of content validated   Relevant to the architecture
                                  against source documents
                      Source: Bass, Clements, and Kazman (1998).


                    1998; Shaw and Garlan, 1996). For example, an architecture intended to emphasize reusability
                    may be organized as small, cohesive modules. On the other hand, focusing on performance may
                    suggest optimizing data flow between critical functions that might be separated in a more reusable
                    architecture. Thus, the decision to colocate critical functions during architecture derivation may
                    increase performance in systems built from the architecture blueprint at the expense of greater
                    reusability of system modules.
                      To manage such tradeoffs while yielding an acceptable architecture, the derivation process must
                    be capable of maximizing satisfaction of the architecture based on the priorities of competing
                    quality attributes. As the architect makes decisions at each stage during the derivation process,
                    choices must be made when conflicts arise. Because there are likely many possible architectures
                    for a given set of constraints, the capture of rationale for such choices becomes an integral part
                    of the architecture and the derivation process (Perry and Wolf, 1992).
                      Given the categories of quality attributes shown in Table 10.1, a variety of architecture evaluation
                    methods have proved useful during the derivation process. Methods range from “static” approaches—
                    such as (1) measuring properties of architecture and component structure (Li-Thiao-Te, Kennedy, and
                    Owens, 1997), (2) rating an architecture based on its ability to support various scenarios (Kazman
                    et al., 1994, 1998), and (3) subjectively judging an architecture with respect to specific attributes
                    (Kalyanasundaram et al., 1998)—to “dynamic” approaches such as simulation of an architecture
                    specification (Bose, 1999).
                      The objective of this research is to define a formal process to derive a high-level Domain
                    Reference Architecture analogous to the “Domain Architecture” shown in Figure 10.1 from a
                    computational Domain Model (DM) such that the resulting architecture prescribes systems exhib-
                    iting a prioritized set of quality attributes (Barber, Graser, and Holt, 2001; Graser, 2001). In the
   181   182   183   184   185   186   187   188   189   190   191