UML Class Diagram Simplification - A Survey for Improving Reverse Engineered Class Diagram Comprehension

Class diagrams may include an overwhelming amount of information. For a large and complex class diagrams there is a possibility that not all information in the class diagram is important for understanding the system. In this paper, we study how to identify essential and secondary information in class diagrams. To this end, we performed a survey with professionals, academics and students to enquire information in class diagrams that is considered important. In total, 25 complete responses were received with 76% of the respondents having average or above skills with class diagrams. As the results, we discovered that the metric that counts the number of public operations is the most important metric for indicating importance of a class in a diagram. Also, we discovered that class names and coupling were influencing factors when it comes to excluding classes from a class diagram.

[1]  Hans-Erik Eriksson,et al.  UML 2 Toolkit , 2003 .

[2]  Michel R. V. Chaudron,et al.  A Survey of the Practice of Design -- Code Correspondence amongst Professional Software Engineers , 2007, First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007).

[3]  Jonathan I. Maletic,et al.  Assessing the Comprehension of UML Class Diagrams via Eye Tracking , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[4]  Yann-Gaël Guéhéneuc A systematic study of UML class diagram constituents for their abstract and precise recovery , 2004, 11th Asia-Pacific Software Engineering Conference.

[5]  Alexander Egyed Automated abstraction of class diagrams , 2002, TSEM.

[6]  Harald C. Gall,et al.  A comparison of four reverse engineering tools , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[7]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.