• Keine Ergebnisse gefunden

Related Work

3.1 Quality Models for UML

A surprisingly small number of researchers have addressed the problem of quality assessment for UML models. The most comprehensive work in this area has been done by Lange and Chaudron [48,50]. In [50], they discuss the difference between source code andUML models and highlight the particularities ofUML models. As a consequence, a special quality model for UMLhas been developed (in the following called Lange-Chaudron-model). An overall view of the model is

given in Figure 3.1.

Like the model developed by McCall, the Lange-Chaudron-model is a hierarchical model with four levels. On the highest level, the Lange-Chaudron-model defines the two uses Maintenance and Development. The maintenance use is taken from the McCall model. The other two uses from McCall, i.e., operation and Transition, are not relevant for the quality of UML models. The operation use is related to external quality attributes and the transition use is not related to the development phases in whichUMLis used, i.e., modeling and design phases.

25

Maintenance

Development

Modification

Testing

Comprehension

Communication

Analysis

Prediction

Implementation

Code Generation

Communicativeness

Correspondence

Self-Descriptiveness

Conciseness

Precision

Aesthetics

Detailedness

Consistency Complexity

Balance

Modularity

Completeness

Primary Use Purpose Characteristic

Figure 3.1: Lange-Chaudron Quality Model [48]

The second level of the Lange-Chaudron-model defines the purposes of modeling.

For example, the purpose Testing indicates that the model is used for test generation and the purpose Code Generation denotes a usage for automatic code generation. The third level of the Lange-Chaudron-model identifies the characteristics of the purposes. The meaning of most characteristics in Figure3.1 is straightforward. For example, the characteristiccomplexity measures the effort required to understand a model or a system.

Two special characteristics of the Lange-Chaudron-model are Aesthetics and Balance. The quality of the graphical diagrams is addressed by the aesthetics characteristic only. Aesthetics is defined by the extent that the graphical layout of a model or a system enables the ease of understanding of the described system.

Lange and Chaudron define balance as the extent that all parts of a system are described at an equal degree. All characteristics are included in the balance

3.1. QUALITY MODELS FORUML 27

characteristic with the same weight. This has been criticized by Mohagheghi and Aagedal [57], because the assessment of the balance characteristic requires the evaluation of all metrics and rules defined in the fourth level, i.e., it is not a good abstraction. In [57], it is proposed to shift balance to the purpose level and to assess balance by using the characteristics completeness, conciseness, modularity, and self-descriptiveness.

The fourth level of the Lange-Chaudron-model (not shown in Figure 3.1) defines metrics and rules for the assessment of the characteristics. We discuss this part of Lange-Chaudron-model in the Sections 3.2 and 3.3. Lange and Chaudron underpinned their work with industrial case studies. They showed the applicability of their approach by interviewing representatives of project teams, analyzingUML models, and giving feedback to project teams.

A quality model for design documentation in model-centric domains has been developed by Pareto and Boquist [76]. The background of this work is experience with theRUPas model-centric software development process. Even thoughUML is an essential part ofRUP, all kinds of artifacts on the abstraction levels between requirements specification and code are considered relevant. For the development of the quality model, Pareto and Boquist interviewed and discussed with designers, process engineers, line managers and architects. From these interviews and discussions, 22 quality attributes were identified and structured into six groups. Each group identified one quality characteristic. As the quality model is related to RUP also quality aspects for management are covered. However, they stop with the identification of quality attributes and quality characteristics.

No means for the assessment of quality attributes and characteristics are provided.

Mar´ın et al. [14] propose a quality model for conceptual models in terms of Model Driven Development (MDD). Their quality model is comprised of a metamodel and a set of rules. The metamodel provides the specifications for the conceptual model of the MDD environment. The set of rules are described using OCL constraints.

The 6C quality goals (Correctness, Completeness, Consistency, Comprehensibility by humans, Confinement, and Changeability) have been identified by Mohagheghi et al. [58] for the modeling domain. They provide a comprehensive literature review on model quality. They compared their proposed 6C’s quality goals with the quality characteristics that have already been discussed in the literature review and categorized into three main quality goals, i.e., syntactic, semantic and pragmatic quality. However, they are still not sure that their 6C’s quality goals can cover every aspect of the quality goals.

Expressiveness

Meaningful State Names Quality Characteristics

Quality Sub-Characteristics

Quality Attributes

Testability

Syntactic Quality Semantic Quality

Understandability

Well-formdness Semantic Validitiy Semantic

Completeness Complexity

Consistency of

Redefined State charts Dead States Explicit Time out Handling

Nondeterministic Behavior

Figure 3.2: Quality Model for Testability of Models [90]

Voigt et al. [90] focused on the models used for testability. They introduced a quality plan for the assessment of quality models and quality characteristics for testability. They used state charts to show the instantiation of the model.

For useful evaluation of the model, they have proposed a checklist. The quality model for the testability of models is shown in Figure 3.2. It is divided into three levels: quality characteristics, quality sub-characteristics and quality attributes.

On top level there is a testability quality characteristic. They consider syntactic, semantic and understandability as their sub-characteristics, additionally, each of the sub-characteristics are further categorized. On the bottom level, they provide quality attributes for exemplary model introduced for the instantiation of the quality model. They did not cover important quality attributes for the testability such as controllability and observability [13].