UML class diagram simplification: what is in the developer's mind?

  • Authors:
  • Hafeez Osman;Arjan van Zadelhoff;Dave R. Stikkolorum;Michel R. V. Chaudron

  • Affiliations:
  • Leiden University, Leiden, The Netherlands;Leiden University, Leiden, The Netherlands;Leiden University, Leiden, The Netherlands;Leiden University, Leiden, The Netherlands

  • Venue:
  • Proceedings of the Second Edition of the International Workshop on Experiences and Empirical Studies in Software Modelling
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Class diagrams play an important role in software development. However, in some cases, these diagrams contain a lot of information. This makes it hard for software maintainers to use them to understand a system. In this paper, we aim to discover how to simplify class diagrams in a such way that they make systems easier to understand. To this end, we performed a survey to analyze what type of information software developers find important to include or exclude in order to simplify a class diagram. This survey involved 32 software developers with 75% of the participants having more than 5 years of experience with class diagrams. As the result, we found that the important elements in a class diagram are class relationship, meaningful class names and class properties. We also found that information that should be excluded in a simplified class diagram is GUI related information, private and protected operations, helper classes and library classes. In this survey we also tried to discover what types of features are needed for class diagram simplification tools.