Automated abstraction of class diagrams
ACM Transactions on Software Engineering and Methodology (TOSEM)
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
A Comparison of four Reverse Engineering Tools
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
UML 2 Toolkit
A Systematic Study of UML Class Diagram Constituents for their Abstract and Precise Recovery
APSEC '04 Proceedings of the 11th Asia-Pacific Software Engineering Conference
Assessing the Comprehension of UML Class Diagrams via Eye Tracking
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
A Survey of the Practice of Design -- Code Correspondence amongst Professional Software Engineers
ESEM '07 Proceedings of the First International Symposium on Empirical Software Engineering and Measurement
Hi-index | 0.00 |
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.