skip to main content
10.1145/1297144.1297167acmconferencesArticle/Chapter ViewAbstractPublication PagesdocConference Proceedingsconference-collections
Article

Documenting software systems with views V: towards visual documentation of design patterns as an aid to program understanding

Published: 22 October 2007 Publication History

Abstract

Cognitive science research indicates that a system is more readily understood when it is presented at progressive levels of decomposition, exposing increasing amounts of detail. One logical level of detail would present a system in terms of its implemented design patterns. However, to date, no entirely satisfactory method of documentation has been devised for explicating a software system as a set of design patterns. This paper discusses the challenges inherent in visualizing a software system as a set of design patterns, reviews the progress of another current effort, and describes a UML-compliant enhanced class-participation diagram as one possible solution.

References

[1]
Ambler, S. The Elements of UML 2.0 Style. New York, NY: Cambridge University Press, 2005.
[2]
Brown, W., Malveau, R., McCormick, H., and Mowbray, T. AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. New York: Wiley & Sons, 1998. pp. 7--8.
[3]
Chikofsy, E.; and Cross, J. "Reverse Engineering and Design Recovery: A Taxonomy." IEEE Software 7(1):13--17, January 1990.
[4]
Costagliola, G., De Lucia, A. Deufemia, V., Gravino, C. and Risi, M. "Case Studies of Visual Language Based Design Patterns Recovery" Proceedings of the Conference on Software Maintenance and Reengineering (CSMR'06) IEEE, 2006.
[5]
Eichelberger, H. "Nice Diagrams Admit Good Design?" In SoftVis '03: Proceedings of the 2003 Symposium on Software Visualization, pp. 159--168. New York: ACM Press, 2003.
[6]
Gamma, E and R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Reading, Mass: Addison-Wesley, 1995.
[7]
Gutwenger, C., Jünger, M., Klein, K., Kupke, J., Leipert, S. and Mutzel, P. "A New Approach for Visualizing UML class Diagrams." ACM Symposium on Software Visualization. San Diego, CA, 2003 pp. 179--188.
[8]
Huang, S. An Integrated Approach to Program Redocumentation. Ph.D. Dissertation, University of California, Riverside, 2004.
[9]
Kostelnick, C. and Roberts, D. Designing Visual Language: Strategies for Professional Communicators. Needham Heights, MA: Allyn & Bacon, 1998.
[10]
Mak, J., Choy, C., and Lun, D. "Precise Modeling of Design Patterns in UML." Proceedings of the 26th International Conference on Software Engineering (ICSE'04).
[11]
Prechelt, L.; B. Unger-Lamprecht; M. Philippsen; and W. Tichy. "Two Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program Maintenance." IEEE Transactions on Software Engineering, Vol. 28, No. 6, June 2002. pp. 595--606.
[12]
Schauer, R. and Keller, R. "Pattern visualization for software comprehension." Proceedings of the 6th International Workshop on Program Comprehension (IWPC '98: June 24-26, 1998; Ischia, Italy), pp. 4--12. Los Alamitos, CA: IEEE Computer Society Press, 1998.
[13]
Sun, D. and Wong, K. "On Evaluating the Layout of UML Class Diagrams for Program Comprehension." Proceedings of the 13th International Workshop on Program Comprehension (IWPC 2005: May 15-16, 2006; St. Louis, MO), pp. 317--326. Los Alamitos, CA: IEEE Computer Society Press, 2005.
[14]
Tilley, S. and S. Huang. "A Qualitative Assessment of the Efficacy of UML Diagrams as a Form of Graphical Documentation in Aiding Program Understanding." Proceedings of the 21st Annual International Conference on Design of Communication (SIGDOC 2003: October 12-15, 2003; San Francisco, CA), pp. 184--191. ACM Press: New York, NY, 2003.
[15]
Tilley, S. and S. Huang. "Towards a Documentation Maturity Model." Proceedings of the 21st Annual International Conference on Design of Communication (SIGDOC 2003: October 12-15, 2003; San Francisco, CA), pp. 93--99. ACM Press: New York, NY, 2003.
[16]
Tufte, Edward R. Visual Explanations: Images and Quantities, Evidence and Narrative. Cheshire, CT: Graphics Press, 1997.
[17]
von Mayerhauser, A. and Vans, A. "Program Understanding during Large Scale Debugging of Software." Papers Presented at the Seventh Workshop on Empirical Studies of Programmers. New York: ACM Press, 1997. pp. 157--179.

Cited By

View all
  • (2015)Cost, benefits and quality of software development documentationJournal of Systems and Software10.1016/j.jss.2014.09.04299:C(175-198)Online publication date: 1-Jan-2015
  • (2014)Persuasive software design patterns for social influencePersonal and Ubiquitous Computing10.1007/s00779-014-0778-z18:7(1689-1704)Online publication date: 1-Oct-2014
  • (2009)Documenting software systems with views VIProceedings of the 27th ACM international conference on Design of communication10.1145/1621995.1622043(239-244)Online publication date: 5-Oct-2009
  • Show More Cited By

Index Terms

  1. Documenting software systems with views V: towards visual documentation of design patterns as an aid to program understanding

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SIGDOC '07: Proceedings of the 25th annual ACM international conference on Design of communication
    October 2007
    286 pages
    ISBN:9781595935885
    DOI:10.1145/1297144
    • General Chair:
    • David Novick,
    • Program Chair:
    • Clay Spinuzzi
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 22 October 2007

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. design patterns
    2. documentation
    3. program understanding

    Qualifiers

    • Article

    Conference

    SIGDOC07
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 355 of 582 submissions, 61%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 01 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2015)Cost, benefits and quality of software development documentationJournal of Systems and Software10.1016/j.jss.2014.09.04299:C(175-198)Online publication date: 1-Jan-2015
    • (2014)Persuasive software design patterns for social influencePersonal and Ubiquitous Computing10.1007/s00779-014-0778-z18:7(1689-1704)Online publication date: 1-Oct-2014
    • (2009)Documenting software systems with views VIProceedings of the 27th ACM international conference on Design of communication10.1145/1621995.1622043(239-244)Online publication date: 5-Oct-2009
    • (2008)Remixing visualization to support collaboration in software maintenance2008 Frontiers of Software Maintenance10.1109/FOSM.2008.4659257(139-148)Online publication date: Sep-2008

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media