Abstract
UML class and sequence diagrams are helpful for understanding the static structure and dynamic behavior of a software system. Algorithms and tools have been developed to generate these UML diagrams automatically for program understanding purposes. Many tools, however, often ignore perceptual factors in the layout of these diagrams. Therefore, users still have to spend much time and effort rearranging boxes and lines to make the diagram understandable. This article presents key criteria and guidelines for the effective layout of UML class and sequence diagrams from the perspective of perceptual theories. Two UML tools are evaluated to illustrate how the criteria can be applied to assess the readability of their generated diagrams.
Similar content being viewed by others
References
UML: UML resource page 2006. http://www.uml.org/.
Ambler, S.W. Introduction to UML 2 Sequence Diagrams 2006. http://www.agilemodeling.com/artifacts/sequenceDiagram.htm.
Tilley, S., Huang, S. 2003. A qualitative assessment of the efficacy of UML diagrams as a form of graphical documentation in aiding program understanding. In: SIGDOC 2003: Proceedings of the 21st Annual International Conference on Documentation, pp. 184–191, ACM Press.
Eichelberger, H. 2003. Nice class diagrams admit good design? In: SoftVis 2003: Proceedings of the 2003 ACM Symposium on Software Visualization, pp. 159–168, ACM Press.
Battista, G.D., Eades, P., Tamassia, R., Tollis, I.G. 1999. Graph Drawing: Algorithms for the Visualization of Graphs. Prentice Hall.
Herman, I., Melançon, G., Marshall, M.S. 2000. Graph visualization and navigation in information visualization: A survey. 2000. IEEE Transactions on Visualization and Computer Graphics 6(1):24–43.
Eiglsperger, M., Kaufmann, M., Siebenhaller, M. 2003. A topology-shape-metrics approach for the automatic layout of UML class diagrams. In: SoftVis 2003: Proceedings of the 2003 ACM Symposium on Software Visualization, pp. 189–198, ACM Press.
Eichelberger, H. 2002. Aesthetics of class diagrams. In: VISSOFT 2002: Proceedings of the 1st International Workshop on Visualizing Software for Understanding and Analysis, pp. 23–31, IEEE Computer Society Press.
Gutwenger, C., Jünger, M., Klein, K., Kupke, J., Leipert, S., Mutzel, P. 2003. A new approach for visualizing UML class diagrams. In: SoftVis 2003: Proceedings of the 2003 ACM Symposium on Software Visualization, pp. 179–188, ACM Press.
Dwyer, T. 2001. Three dimensional UML using force directed layout. In: CRPITS 2001: Australian Symposium on Information Visualisation, pp. 77–85, Australian Computer Society, Inc.
Bist, G., MacKinnon, N., Murphy, S. 2004. Sequence diagram presentation in technical documentation. In: SIGDOC 2004: Proceedings of the 22nd Annual International Conference on Design of Communication, New York, NY, USA, pp. 128–133, ACM Press.
Poranen, T., Mäkinen, E., Nummenmaa, J. 2003. How to draw a sequence diagram. In: Proceedings of the Eighth Symposium on Programming Languages and Software Tools, SPLST 2003, University of Kuopio, Department of Computer Science pp. 91–102.
Purchase, H.C. 1997. Which aesthetic has the greatest effect on human understanding? In: GD 1997: Proceedings of the 5th International Symposium on Graph Drawing, pp. 248–261, Springer-Verlag.
Purchase, H.C., Allder, J.A., Carrington, D.A. 2002. Graph layout aesthetics in UML diagrams: User preferences. Journal of Graph Algorithms and Applications 6(3):255–279.
Purchase, H.C., Cohen, R.F., James, M. 1996. Validating graph drawing aesthetics. In: GD 1995: Proceedings of the Symposium on Graph Drawing, pp. 435–446, Springer-Verlag.
Purchase, H.C., McGill, M., Colpoys, L., Carrington, D. 2001. Graph drawing aesthetics and the comprehension of UML class diagrams: an empirical study. In: CRPITS 2001: Australian Symposium on Information Visualisation, pp. 129–137, Australian Computer Society, Inc.
Purchase, H.C., Colpoys, L., McGill, M., Carrington, D., Britton, C. 2001. UML class diagram syntax: an empirical study of comprehension. In: CRPITS 2001: Australian Symposium on Information Visualisation, pp. 113–120, Australian Computer Society, Inc.
Borland: Borland Together 2006. http://www.borland.com/together/.
IBM: IBM Rational Software 2006. http://www-306.ibm.com/software/rational/.
Sun, D., Wong, K. 2004. On understanding software tool adoption using perceptual theories. In: ACSE 2004: Proceedings of the Fourth International Workshop on Adoption-Centric Software Engineering, pp. 51–55, Institution of Electrical Engineers.
Ware, C. 2000. Information Visualization: Perception for Design. Morgan Kaufmann.
Petre, M., Blackwell, A., Green, T. 1998. Cognitive questions in software visualisation. Invited chapter in: Stasko, J., Domingue, J., Brown, M., and Price, B. (Eds.), Software Visualization: Programming as a Multimedia Experience. pp. 453–480, MIT Press.
Marr, D. 1982. Vision: A Computational Investigation into the Human Representation and Processing of Visual Information. W.H. Freeman.
Gibson, J.J. 1979. The Ecological Approach to Visual Perception. Boston: Houghton Mifflin.
Benjafield, J.G. 1997. Cognition. 2nd edn. Prentice Hall.
Moore, P., Fitz, C. 1993. Gestalt theory and instructional design. Journal of Technical Writing and Communication 23(2):137–157.
Boff, K.R., Kaufman, L., Thomas, J.P. 1986. Handbook of Perception and Human Performance. Volume II. Cognitive Processes and Performance. Wiley-Interscience.
Goldstein, B.E. 2002. Sensation and Perception. 6th edn. Wadsworth-Thomson Learning.
Schiffman, H.R. 2001. Sensation and Perception: An Integrated Approach. 5th edn. John Wiley & Sons.
Kimchi, R., Behrmann, M., Olson, C.R. 2003. Perceptual Organization in Vision: Behavioral and Neural Perspectives. Lawrence Erlbaum.
Ware, C., Purchase, H., Colpoys, L., McGill, M. 2002. Cognitive measurements of graph aesthetics. Information Visualization 1(2):103–110.
Ambler, S.W.: Modeling Style Guidelines 2006. http://www.agilemodeling.com/style/.
Ambler, S.W. 2003. The Elements of UML Style. Cambridge University Press.
Petre, M. 1995. Why looking isn’t always seeing: readership skills and graphical programming. Communication of the ACM 38(6):33–44.
Díaz, J., Petit, J., Serna, M. 2002. A survey of graph layout problems. ACM Computing Surveys 34(3):313–356.
Tamassia, R., Battista, G.D., Batini, C. 1988. Automatic graph drawing and readability of diagrams. IEEE Transactions on Systems, Man and Cybernetics 18(1):61–79.
Himsolt, M. 1995. Comparing and evaluating layout algorithms within GraphEd. Journal of Visual Language and Computing 6(3):255–273.
Andriyevska, O., Dragan, N., Simoes, B., Maletic, J.I. 2005. Evaluating UML class diagram layout based on architectural importance. In: Proceedings of the 3rd International Workshop on Visualizing Software for Understanding and Analysis, VISSOFT 2005, pp. 14–19, IEEE Computer Society Press.
Wampler, B.E. 2002. The Essence of Object-Oriented Programming with Java and UML. Addison Wesley.
Hou, D., Wong, K., Hoover, H.J. 2005. What can programmer questions tell us about frameworks? In: IWPC 2005: Proceedings of the 13th IEEE International Workshop on Program Comprehension, pp. 87–96, IEEE Computer Society Press.
JGraph: JGraph web site (2006). http://www.jgraph.com/.
Author information
Authors and Affiliations
Corresponding author
Additional information
Kenny Wong is an Associate Professor in the Department of Computing Science at the University of Alberta. His main areas of research include software comprehension, evolution, and visualization. This research includes building, using, and evaluating integrated environments for reverse engineering, and devising strategies to understand and evolve diverse software systems. He is General Chair of the 2007 International Conference on Program Comprehension in Banff, and Program Chair of the 2008 International Conference on Software Maintenance in Beijing.
Dabo Sun is an M.Sc. student in the Department of Computing Science at the University of Alberta. His research interests include program comprehension, software visualization, and end-user software engineering. He has assisted the teaching of courses in software engineering and web information systems. He also has been working as a software engineer on developing and maintaining industrial software systems.
Rights and permissions
About this article
Cite this article
Wong, K., Sun, D. On evaluating the layout of UML diagrams for program comprehension. Software Qual J 14, 233–259 (2006). https://doi.org/10.1007/s11219-006-9218-2
Issue Date:
DOI: https://doi.org/10.1007/s11219-006-9218-2