might be that the reverse engineered design that was
provided has few differences from the forward design.
The respondent stated that they preferred this diagram
because they find it more detailed, clear, and it is eas-
ier to understand. Some of the respondents also men-
tioned that the interface classes are removed and is
thus a better class diagram.
6.5 Threats to Validity
Although the respondents of this survey was quite
well distributed between the status roles (Student, Re-
searcher/Academic and IT Professional), we consider
that the amount of full responses were not enough.
The locations of the respondents were biased to The
Netherlands and Malaysia. Most of the questions in
this study require the respondent to choose the best
answers. We needed to do several assumptions on
why the respondents chose these answers and this as-
sumptions may not be accurate.
7 FUTURE WORK
This study was an early experiment on how to sim-
plify class diagrams and we see a number of ways to
extend this work. We propose to validate the result-
ing class diagram by using an industrial case study
and discover the suitability of the simplified class dia-
gram for the practical usage. It would also be interest-
ing to include other metrics that we have not chosen
and check whether they are important or not and ask
why the respondent chose the answer to get the rea-
son.
From the results, we found that class role and re-
sponsibility are one of the important indicators in a
class diagram. We would like to suggest a study on
names (class, operation and attribute) that the soft-
ware developers find important or meaningful in order
to understand a system. We discovered some weak-
ness in the questionnaire and our suggestion is to im-
prove this questionnaire by increasing the amount of
responses. It would be interesting to see what the re-
sults are with a larger group of respondents.
8 CONCLUSIONS
In this survey we have discovered the most important
elements in a class design. We also discovered what
flavour of class diagrams is preferred to work with.
From the results, we discovered that the most impor-
tant software design metric is the Number of Public
Operations. This means that if a class has a high num-
ber of public operations then this indicates that this
class is important and should be included in a class di-
agram. In this survey we also discovered that the class
names and coupling are influencing factors when se-
lecting a class to be excluded from a class diagram.
With these results we can highlight which classes
should be included or excluded in a reverse engi-
neered class diagrams based on our results and anal-
ysis by looking at the metrics and behaviour the re-
spondents had in Part C. Although the number of re-
sponses of this questionnaire is not that high, we still
managed to find some influencing factors for deciding
a class to be included or excluded in a class diagram.
REFERENCES
Bellay, B. and Gall, H. (1997). A Comparison of Four Re-
verse Engineering Tools, pages 2–11. IEEE Computer
Society Press.
Bjork, R. C. (2004). Atm system. http://www.math-
cs.gordon.edu/courses/cs211/ATMExample/ .
Chikofsky, E. J. and Cross, J. H. (1990). Reverse engineer-
ing and design recovery: A taxonomy. IEEE Software,
7(1):13–17.
Craig, A., Dinardo, A., and Gillespie, R. (2009). Pacman
game. http://code.google.com/p/tb-pacman/ .
Egyed, A. (2002). Automated abstraction of class diagrams.
ACM Trans. Softw. Eng. Methodol, 11(4):449–491.
Eriksson, H.-E., Penker, M., Lyons, B., and Fado, D.
(2004). UML 2 Toolkit. Wiley.
Gu
´
eh
´
eneuc, Y.-G. (2004). A Systematic Study of UML Class
Diagram Constituents for their Abstract and Precise
Recovery, pages 265–274. IEEE.
Nugroho, A. and Chaudron, M. R. V. (September 20-21,
2007). A Survey of the Practice of Design - Code
Correspondence amongst Professional Software En-
gineers, pages 467–469. Proceedings of the First In-
ternational Symposium on Empirical Software Engi-
neering and Measurement.
Osman, H. and Chaudron, M. R. V. (September 12-13,
2011). An Assessment of Reverse Engineering Capa-
bilities of UML CASE Tools, pages 7–12. 2nd An-
nual International Conference Proceedings on Soft-
ware Engineering Application (SEA 2011).
Osman, H. and van Zadelhoff, A. (2012). Structured ques-
tionnaire responses. http://www.liacs.nl/∼hosman/
Complete Results Structural Survey.rar.
van Zadelhoff, A. (2012). Structured ques-
tionnaire. http://www.liacs.nl/∼hosman/
The Presence of Classes in Class Diagrams.pdf.
Yusuf, S., Kagdi, H., and Maletic, J. I. (2007). Assessing
the Comprehension of UML Class Diagrams via Eye
Tracking. pages 113–122. 15th IEEE International
Conference on Program Comprehension ICPC ’07.
MODELSWARD2013-InternationalConferenceonModel-DrivenEngineeringandSoftwareDevelopment
296