Page 205 -
P. 205

190     BARBER  AND  GRASER
                    Tekinerdogan, 2004) as well as supporting tools (Benarif et al., 2004; Kazman, 1996). As evident
                    by the name, ATAM considers multiple quality attributes and the tradeoffs between those attributes.
                    The assumption is that attribute-specific analyses are interdependent, since attributes connect to
                    other attributes through specific architectural elements (e.g., a property of a component), leading
                    to tradeoffs (Kazman et al., 1998). RARE recognizes such inherent conflicts among quality goals
                    (manifested through a given DRA structure, which promotes some attributes while inhibiting oth-
                    ers), and the RARE approach allows the architect to establish goal priorities, so RARE can make
                    sensible tradeoffs when conflicts arise.
                      Other evaluation methods that are not scenario-based have also been applied to software ar-
                    chitectures (Dobrica and Niemela, 2002). Among those relevant to DRA evaluation in RARE are
                    the use of static metrics to aid the evaluation of quality attributes (Kalyanasundaram et al., 1998);
                    a method for architectural complexity evaluation described in Alhazbi (2004); and metrics for
                    evaluating product-line architectures (the DRA was partly inspired by the notion of product-line
                    architectures) discussed in (van der Hoek, Dincel, and Medvidovic, 2003). In Kalyanasundaram
                    and colleagues (1998), the authors propose the Concept Selection Method to assess the effects of
                    individual metrics on different software qualities, attempting to establish a relationship between
                    objective metrics and subjective quality attributes. The RARE DRA derivation process improves
                    upon the Concept Selection Method by establishing a stronger correlation between high-level
                    goals and low-level metrics, managing the many-to-many relationships through heuristics and
                    strategies. A number of the static metrics referenced in Kalyanasundaram and colleagues (1998)
                    contributed to the metrics suite used in DRA derivation, although many do not apply, since they
                    focus on implementation-level concerns.

                    Object-Oriented Analysis and Design and Software Architectures

                    The software development community has migrated away from traditional functional method-
                    ologies toward object-oriented analysis/object-oriented design (OOA/OOD) methodologies due
                    to what many researchers and practitioners claim to be the clear advantages of OO architectures
                    (Calio, Antiero, and Bux, 2000; Eckert, 1994; Graham, 1995; Henderson-Sellers and Edwards,
                    1994; Meyer, 1997; Richter, 1999; Riel, 1996). Because these benefits align so closely with the
                    quality attributes typically targeted by software architectures (e.g., reusability, maintainability,
                    performance, reliability), object-orientation is often selected as an appropriate architectural style
                    for structuring an architecture to yield desired qualities.
                      A significant activity in all OOA/OOD methodologies involves identifying class abstractions
                    and assigning domain data and functionality to those classes. This activity sets the foundation for
                    the structure upon which resulting systems will be built (Meyer, 1997) and is also foundational for
                    DRA derivation. Nonetheless, based on experiments comparing the conceptualizations offered by
                    different people given the same problem, Stepp and Michalski (1986) conclude there is no “right”
                    answer. The position taken by the research described in this chapter is analogous. The objective of
                    this research is to evolve from an ad hoc DRA derivation approach toward a more formal process
                    by leveraging advice (heuristics) from experienced architects in a rational manner that aligns with
                    quality goals (intentions) prioritized by the architect. To provide a foundation for these heuristics,
                    the research described in this chapter must draw upon the recommendations of popular OOA/
                    OOD methodologies (Booch, Rumbaugh, and Jacobson, 1999; Coad and Yourdon, 1991; Graham,
                    1995; Kruchten, 2000; Rubin and Goldberg, 1992; Shlaer and Mellor, 1992; Wirfs-Brock et al.,
                    1990) as well as experts in the field (Richter, 1999; Riel, 1996; Meyer, 1997).
                      Without the ability to objectively evaluate an object-oriented design in light of given qualities,
   200   201   202   203   204   205   206   207   208   209   210