Page 208 -
P. 208

DOMAIN-SPECIFIC & IMPLEMENTATION-INDEPENDENT SOFTWARE ARCHITECTURES     193
                    data as well as properties on that functionality and data. These may be challenging to acquire from
                    stakeholders within allocated project time and budget or difficult to estimate.

                    Is the organization concerned with how an analysis, design, development, or
                    deployment decision was made?


                    Software engineering, and modeling in particular, is an evolutionary process. RARE captures a
                    history of DRA revisions as derivation proceeds and the combination of selected goals, heuristics,
                    metrics, and strategies collectively represent rationale for derivation decisions. As mentioned in
                    the related work section, most software architecture research has emphasized architecture repre-
                    sentation and evaluation techniques over a methodical derivation process.
                      One option for tracking the evolution of design models and other software development artifacts
                    is through document-level versioning (e.g., a version control system); however, this approach alone
                    does not record the decisions that resulted from each evolutionary step. In the absence of such ver-
                    sioning, analysts and architects may tend to incorporate new content and make structural revisions
                    in a single “master” version, thereby losing all traceability for later consumers of the artifact.

                      RARE benefits/limitations to consider. By design, RARE logs chosen goals, heuristics, metrics,
                    and strategies; derivation activity (i.e., strategies applied); and evaluation results. However, given
                    that each revision can be quite granular, the RARE derivation log can be voluminous. Understand-
                    ing the architect’s overall intentions requires mining this log for general trends in the context of
                    chosen goals.

                    Is it possible to map stakeholder objectives to RARE-style goals and metrics? Can
                    heuristics be identified that help achieve those goals?


                    The RARE approach depends on being able to map stakeholder objectives to quality goals and
                    to associate those goals with lower-level metrics through heuristics. The default goals, heuristics,
                    metrics, and strategies provided in RARE represent a compilation from project experiences, com-
                    monly accepted software engineering principles, and software architecture concepts. However,
                    this compilation is by no means exhaustive; furthermore, goals, heuristics, and metrics may be
                    defined uniquely for a given project or influenced by organizational standards. Regardless, since
                    all software systems are developed to address stakeholder needs, “evaluation” is conducted in
                    some form on every project, even if the first feedback is from client acceptance testing after sys-
                    tem delivery and the resulting “architecture refinement” comes in the form of post-deployment
                    system rework. Thus, there is always a mapping between stakeholder objectives and the system
                    under development, whether implicit or explicit.


                      RARE benefits/limitations to consider. If selected goals, heuristics, and metrics accurately reflect
                    stakeholder objectives, RARE provides quantitative insight as to how well an architecture meets
                    quality objectives. However, issues in the context of identifying RARE-style goals, heuristics,
                    metrics, and strategies include the following: (1) Is it possible to identify goals and metrics that
                    map to stakeholder objectives that can be evaluated in a high-level DRA? (2) Is ample project
                    time allotted up front for this activity? (3) Will evaluation results be used to influence subsequent
                    design decisions? (4) How do the structural evaluations available in RARE relate to the various
                    analyses available in other tools (e.g., UML class model analysis) as well as comments garnered
                    from architecture reviews?
   203   204   205   206   207   208   209   210   211   212   213