This reports on a case study of HotDraw. The VirLibUoof1997 and VirLibPlop1996 papers both draw on this case study.


We show how a new technique called use case maps helps humans to understand, capture, analyze, reuse, and change high-level behaviour patterns in complex software. We do so through the example of reengineering an object-oriented framework, a type of software that is well known to be difficult to understand. In the framework we studied (HotDraw), we trace scenarios through the software and express the behaviour patterns we see with use case maps. These maps express high-level behaviour patterns in terms of cause-effect paths, above the detailed level of messages. We find some unexpected, irregular patterns in Hotdraw's use case maps, redraw the maps, and make resulting changes to the software. The contribution of this paper is intended to be, not changes to Hotdraw, but the techniques we used to aid human understanding and communication of high-level behaviour patterns.

Revised version of Technical report SCE-95-17, Carleton University, Ottawa, Canada.

-- GunterMussbacher - 13 Oct 2005


  • Please feel free to discuss this article directly on this page. Constructive comments are welcomed! Please sign your TWiki name.

FormForVirtualLibrary edit

Title Design Patterns with Use Case Maps: A Case Study in Reengineering an Object-Oriented Framework
Authors R.J.A. Buhr, R.S. Casselman, and T.W. Pearce
Type Other
Conference/Journal Title
Month June
Year 1996
Keywords design patterns, reverse engineering, reengineering, use cases, use case maps, frameworks
Topic attachments
I Attachment Action Size Date Who Comment
dpwucm.pdfpdf dpwucm.pdf manage 164 K 12 Oct 2005 - 20:08 GunterMussbacher revised technical report
dpwucm.psps manage 1 MB 12 Oct 2005 - 20:09 GunterMussbacher revised technical report
Topic revision: r2 - 12 Oct 2005, GunterMussbacher
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback