Skip to main content

Advertisement

Log in

An empirical study on the efficiency of different design pattern representations in UML class diagrams

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

Design patterns are recognized in the software engineering community as useful solutions to recurring design problems that improve the quality of programs. They are more and more used by developers in the design and implementation of their programs. Therefore, the visualization of the design patterns used in a program could be useful to efficiently understand how it works. Currently, a common representation to visualize design patterns is the UML collaboration notation. Previous work noticed some limitations in the UML representation and proposed new representations to tackle these limitations. However, none of these pieces of work conducted empirical studies to compare their new representations with the UML representation. We designed and conducted an empirical study to collect data on the performance of developers on basic tasks related to design pattern comprehension (i.e., identifying composition, role, participation) to evaluate the impact of three visual representations and to compare them with the UML one. We used eye-trackers to measure the developers’ effort during the execution of the study. Collected data and their analyses show that stereotype-enhanced UML diagrams are more efficient for identifying composition and role than the UML collaboration notation. The UML representation and the pattern-enhanced class diagrams are more efficient for locating the classes participating in a design pattern (i.e., identifying participation).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

Notes

  1. http://www.objectsbydesign.com/books/RebeccaWirfs-Brock.html

  2. In the following, for the sake of simplicity, we use the last name of the first author of a notation to denote its representation.

  3. http://www.eyelinkinfo.com/

References

  • Ambler SW (2005) The elements of UML 2.0 style. Cambridge University Press, Cambridge

    Google Scholar 

  • Aversano L, Canfora G, Cerulo L, Del Grosso C, Di Penta M (2007) An empirical study on the evolution of design patterns. In: Proceedings of the the 6th European software engineering conference and symposium on the foundations of software engineering. ACM, New York, pp 385–394

    Google Scholar 

  • Bednarik R, Tukiainen M (2006) An eye-tracking methodology for characterizing program comprehension processes. In: Proceedings of 5th symposium on eye tracking research & applications. ACM, New York, pp 125–132

    Chapter  Google Scholar 

  • Bojko A (2005) Eye tracking in user experience testing: how to make the most of it. In: Proceedings of the 14th annual conference of the usability professionals association. Usability Professionals’ Association, Bloomingdale

    Google Scholar 

  • Briand LC, Labiche Y, Di Penta M, Yan-Bondoc H (2005) An experimental investigation of formality in UML-based development. Trans Soft Eng 31(10):833–849

    Article  Google Scholar 

  • Chabris CF, Kosslyn SM (2005) Representational correspondence as a basic principle of diagram design. In: Knowledge and information visualization. Springer, New York, pp 36–57

    Google Scholar 

  • Dong J, Yang S, Zhang K (2005) Visdp: a web service for visualizing design patterns on demand. In: Proceedings of the 6th international conference on information technology: coding and computing.

  • Dong J, Yang S, Zhang K (2007) Visualizing design patterns in their applications and compositions. Trans Soft Eng 33(7):433–453

    Article  Google Scholar 

  • Duchowski AT (2003) Eye tracking methodology: theory and practice. Springer, New York

    MATH  Google Scholar 

  • Eden AH, Yehudai A, Gil J (1997) Precise specification and automatic application of design patterns. IEEE Computer Society, Piscataway, pp 143–152

    Google Scholar 

  • Eichelberger H (2003) Nice class diagrams admit good design? In: Proceedings of the 1st symposium on software visualization. ACM, New York, pp 159–ff

    Chapter  Google Scholar 

  • Eichelberger H, von Gudenberg JW (2003) Uml class diagrams—state of the art in layout techniques. In: Proceedings of the 1st SOFTVIS workshop on visualizing software for understanding and analysis. ACM, New York, pp 30–34

    Google Scholar 

  • France RB, Kim D-K, Ghosh S, Song E (2004) A uml-based pattern specification technique. Trans Soft Eng 30(3):193–206

    Article  Google Scholar 

  • Gamma E (1996) Applying design patterns in Java. Java Rep 1(6):47–53

    Google Scholar 

  • Gamma E, Helm R, Johnson R, Vlissides J (1998) Design patterns—elements of reusable object-oriented software. Addison-Wesley, Reading

    Google Scholar 

  • Goldberg JH, Kotval XP (1999) Computer interface evaluation using eye movements: methods and constructs. Int J Ind Ergon 24(6):631–645

    Article  Google Scholar 

  • Goldberg JH, Stimson MJ, Lewenstein M, Scott N, Wichansky AM (2002) Eye tracking in web search tasks: design implications. In: Proceedings of the 1st symposium on eye tracking research & applications. ACM, New York, pp 51–58

    Chapter  Google Scholar 

  • Guan Z, Lee S, Cuddihy E, Ramey J (2006) The validity of the stimulated retrospective think-aloud method as measured by eye tracking. In: Proceedings of the 12th conference on human factors in computing systems, pp 1253–1262

  • Guhneuc Y-G (2006) Taupe: towards understanding program comprehension. In: Proceedings of 16th IBM center for advanced studies conference. ACM, New York, pp 1–13

    Google Scholar 

  • Hutchins E (1995) Distributed cognition. MIT, Cambridge

    Google Scholar 

  • JHotdraw (2007) JHotdraw: a java GUI framework for technical and structured graphics. http://www.jhotdraw.org

  • Kazman R, Klein M, Barbacci M, Longstaff T, Lispon H, Carriere J (1998) The architecture tradeoff analysis method. In: Proceedings of the 4th international conference on engineering of complex computer systems. IEEE Computer Society, Piscataway, pp 68–78

    Google Scholar 

  • Khomh F, Guéhéneuc Y-G (2008) Do design patterns impact software quality positively? In: Proceedings of the 12th conference on software maintenance and reengineering. IEEE Computer Society Press, Piscataway

    Google Scholar 

  • Lauder A, Kent S (1998) Precise visual specification of design patterns. In: Proceedings of the 12th European conference on object-oriented programming. Springer, New York, pp 114–134

    Google Scholar 

  • Mapelsden D, Hosking J, Grundy J (2002) Design pattern modelling and instantiation using dpml. In: Proceedings of the 14th international conference on tools. Australian Computer Society, Canberra, pp 3–11

    Google Scholar 

  • Moore P, Flitz C (1993) Gestalt theory and instructional design. J Tech Writ Commun 23(2):137–157

    Google Scholar 

  • Object Management Group (1997) Unified modeling language specification, version 1.1. http://www.omg.org

  • Purchase HC, Carrington DA, Allder J-A (2002) Empirical evaluation of aesthetics-based graph layout. Empir Soft Eng 7(3):233–255

    Article  MATH  MathSciNet  Google Scholar 

  • Rayner K (1998) Eye movements in reading and information processing: 20 years of research. Psychol Bull 124(3):372–422

    Article  Google Scholar 

  • Rich C, Waters RC (1988) The programmer’s apprentice. Computer 21(11):10–25

    Article  Google Scholar 

  • Schauer R, Keller R (1998) Pattern visualization for software comprehension. In: Proceedings of the 6th international workshop on program comprehension. IEEE Computer Society, Piscataway, pp 4–12

    Google Scholar 

  • Shalloway A, Trott JR (2002) Design patterns explained: a new perspective on object-oriented design. Addison-Wesley, Reading

    Google Scholar 

  • Soloway E, Pinto J, Letovsky S, Littman D, Lampert R (1988) Designing documentation to compensate for delocalized plans. Commununications 31(11):1259–1267

    Google Scholar 

  • Sun D, Wong K (2005) On evaluating the layout of uml class diagrams for program comprehension. In: Proceedings of the 13th international workshop on program comprehension. IEEE Computer Society, Piscataway, pp 317–326

    Google Scholar 

  • Trese T, Tilley S (2007) Documenting software systems with views V: towards visual documentation of design patterns as an aid to program understanding. In: Proceedings of the 25th international conference on design of communication. ACM, New York, pp 103–112

    Google Scholar 

  • Vlissides J (1998) Notation, notation, notation. C+ + Report

  • von Mayrhauser A, Vans AM (1995) Program comprehension during software maintenance and evolution. IEEE Comput 28(8):44–55

    Google Scholar 

  • Ware C (2005) Visual queries: the foundation of visual thinking. Springer, New York

    Google Scholar 

  • Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2000) Experimentation in software engineering: an introduction. Kluwer Academic, Dordrecht

    MATH  Google Scholar 

  • Yusuf S, Kagdi H, Maletic JI (2007) Assessing the comprehension of uml class diagrams via eye tracking. In: Proceedings of the 15th international conference on program comprehension. IEEE Computer Society, Piscataway, pp 113–122

    Chapter  Google Scholar 

Download references

Acknowledgement

The authors thank Rocco Olivieto for the fruitful discussions and suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yann-Gaël Guéhéneuc.

Additional information

Editor: Laurie Williams

This work has been partly funded by the Canada Research Chair on Software Patterns and Patterns of Software, a NSERC Discovery Grant, and a CFI Infrastructure Grant.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cepeda Porras, G., Guéhéneuc, YG. An empirical study on the efficiency of different design pattern representations in UML class diagrams. Empir Software Eng 15, 493–522 (2010). https://doi.org/10.1007/s10664-009-9125-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-009-9125-9

Keywords

Navigation