Page 209 -
P. 209

194     BARBER  AND  GRASER
                    Representation-Related Concerns


                    Is the organization’s development centered around Unified Modeling Language, data
                    flow diagrams (DFDs), Integrated DEFinition models (e.g., IDEF0), or other software
                    engineering notations?


                    As discussed previously, software engineering practitioners and researchers have offered many
                    different definitions for software architecture. Common among all definitions is the notion that a
                    software architecture is a model that either describes an existing system or prescribes a system to
                    be built. Beyond that common ground, definitions vary considerably with regard to the specific
                    elements that constitute a software architecture. While the RARE DRA is composed of compo-
                    nents and connectors, where components represent collections of domain functionality and data
                    and connectors result from the input/output dependencies between those components, others have
                    suggested that the collection of UML models (class, state chart, use case, etc.) used to describe a
                    system under development can be construed as an architecture (Kruchten, 2000).
                      RARE benefits/limitations to consider. For organizations that rely solely on UML models, the
                    RARE DRA representation is a departure from the notations/representations they use in early
                    analysis. In particular, these organizations may not typically consider allocation to components at
                    an early stage. However, both representations capture domain functionality and data. Therefore,
                    the RARE DRA can coexist with UML models. Furthermore, the DRA complements those models
                    by enabling RARE-style structural evaluation.

                    Is the organization’s development methodology centered around data modeling
                    (e.g., entity-relationship diagrams)?


                    Some organizations focus their analysis effort on developing a project-level or enterprise-level
                    data model with minimal emphasis on functional specifications. In fact, an extensive effort to
                    specify functionality may not be cost effective if an organization develops and maintains systems
                    that focus on information storage, retrieval, and display with minimal data transformation or
                    workflow management.
                      RARE benefits/limitations to consider. Considerations for an organization that emphasizes data
                    modeling are similar to those for a UML-centric organization. The DRA can coexist with a data
                    model and complements the data model by allocating data requirements to responsible components.
                    Each representation provides a different view on the data: data concepts and their relationships
                    are expressed in a data model, while component allocation is conveyed by the DRA.


                    Does the organization emphasize the use of formal requirements specifications?
                    Formal specification languages and their associated analyzers (e.g., Alloy and its accompany-
                    ing tool ALCOA) provide a means for specifying requirements in precise terms and conducting
                    computer-based analysis to ensure correctness based on well-defined properties (Jackson, 2006).
                    However, using a formal specification language requires a level of discipline and rigor when gath-
                    ering and representing stakeholder requirements in order to map requirements to the constructs
                    of the chosen language and interpret evaluation results in terms of which requirements will and
                    will not be satisfied.
   204   205   206   207   208   209   210   211   212   213   214