A Systematic Literature Review on the Quality of UML Models

A Systematic Literature Review on the Quality of UML Models

Marcela Genero, Ana M. Fernández-Saez, H. James Nelson, Geert Poels, Mario Piattini
DOI: 10.4018/978-1-4666-2044-5.ch012
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

The quality of conceptual models directly affects the quality of the understanding of the application domain and the quality of the final software products that are ultimately based on them. This paper describes a systematic literature review (SLR) of peer-reviewed conference and journal articles published from 1997 through 2009 on the quality of conceptual models written in UML, undertaken to understand the state-of-the-art, and then identify any gaps in current research. Six digital libraries were searched, and 266 papers dealing specifically with the quality of UML models were identified and classified into five dimensions: type of model quality, type of evidence, type of research result, type of diagram, and research goal. The results indicate that most research focuses on semantic quality, with relatively little on semantic completeness; as such, this research examines new modeling methods vs. quality frameworks and metrics, as well as quality assurance vs. understanding quality issues. The results also indicate that more empirical research is needed to develop a theoretical understanding of conceptual model quality. The classification scheme developed in this paper can serve as a guide for both researchers and practitioners.
Chapter Preview
Top

Introduction

Software is becoming increasingly complex. So complex, in fact, that it is widely acknowledged that it is impossible to test every aspect of system software or application programs before release. One method of increasing understanding between the software developer and the customer, of deepening the understanding of how software works, and ultimately of reducing the complexity of software, is through the use of models (Thomas, 2004). Over the years, we have come to understand that modeling offers benefits to different stakeholders in software projects (Selic, 2003). In the very early stages of a project, models aid in understanding and communicating requirements. During development, architecture and design models guide the implementation of the system. Finally, models are used for test-generation (Offutt & Abdurazik, 1999) and for easing maintenance activities (Dzidek, Arisholm, & Briand, 2008).

Software development itself is becoming more model-centric (Mohagheghi, Dehlen, & Neple, 2009). The OMG Model Driven Architecture (OMG, 2003) and the recent growth of the Model-Driven Development (MDD) software engineering paradigm (Atkinson & Kühne, 2003) emphasizes the role of modeling in the development of software systems. MDD treats software development as a set of transformations between successive models from requirements to analysis, to design, to implementation, and to deployment (Thomas, 2004). MDD’s defining characteristic is that software development’s primary focus and products are models rather than computer programs.

The dominant question is no longer “Should we do modeling?” but “How should we do modeling?” This new focus on the modeling process, rather than on the software product resulting from the development activities, puts model quality in the forefront. There has been increasing interest, both in industry and academia, on methods and techniques for quality assessment, assurance, and improvement of models in software development and maintenance (Mohagheghi, Dehlen, & Neple, 2009). While there has been a great deal of research on software quality, there has been relatively little work on the quality of models, and the concept of model quality is poorly understood. Existing knowledge on software quality has limited applicability to model quality. Models have very different characteristics than source code: models have multiple views, may be used informally and casually rather than formally and with precision, can be used throughout all phases of the project, and so on.

In an effort to bring together the wide variety of modeling methods and forms, the Unified Modeling Language (UML) emerged in the 1990s as a standard modeling language for a wide spectrum of application domains (Rumbaugh, Booch, & Jacobson, 1998). This standardization has driven the advancement of modeling methods and tools and has enabled academics and practitioners alike to improve on the core structure of UML and engage in a healthy debate about the use, advancement, and basic beliefs about the modeling process. However, modeling research has tended to be more about improving UML to deal with special modeling cases than with improving model quality (Dobing & Parsons, 2006; Grossman, Aronson, & McCarthy, 2005).

In order to advance the field of conceptual modelling quality research, it is useful to explore the history of the field and to determine its current state of the art by locating, evaluating, and interpreting relevant research to date that is related to model quality with a focus on UML. This paper presents a systematic literature review (SLR) of papers dealing with the quality of UML models. A proper systematic literature review follows a rigorous and systematic approach, in particular that described by Brereton, Kitchenham, Budgen, Turner, and Khalil (2007), Kitchenham (2004), and Kitchenham and Charters (2007).

Complete Chapter List

Search this Book:
Reset