This paper illustrates the application of use case maps to understanding object-oriented frameworks, using as examples two frameworks, HotDraw and ACE. It is probably the clearest explanation so far, in the smallest space, of the way use case maps can be applied to understanding object-oriented programs.

This is a book chapter.


Object-oriented frameworks provide a powerful construction technique for software, but understanding the behaviour of applications constructed from them is well known to be difficult, for a number of reasons. 1) The first class representation of the framework in code centers around construction; system structure and behaviour are only visible in a second class way, in widely scattered details. 2) The system view we seek is not a concrete thing, but an abstraction. 3) The use of design patterns, a common practice in frameworks, may obscure the system view by making intercomponent interactions more indirect than they would otherwise be. 4) The use of combinations of design patterns obscures the system view because pattern combination is not yet a well defined subject. 5) Both the system view we seek and design patterns are abstractions, so gaining system understanding requires combining multiple abstractions, for frameworks that make serious use of design patterns. 6) Although framework class organizations are fixed, systems constructed from framework are self modifying while they are running, and self modifying software is notoriously difficult to understand. 7) Specific applications are visible only in framework customization details. This paper illustrates by example how a general technique called “use case maps”—invented by the author for describing complex systems of any kind—can help to alleviate these difficulties. To indicate the range of applicability, the examples are drawn from frameworks in very different application domains: HotDraw for GUIs and ACE for communications. The objective is to raise the visibility in the framework community of the UCM approach to alleviating the above problems, not to “prove” UCMs solve them or to provide a cookbook for solving them.

-- 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 Understanding Macroscopic Behaviour Patterns in Object-Oriented Frameworks, with Use Case Maps (chapter 18)
Authors R.J.A. Buhr
Type Book
Conference/Journal Title Building Application Frameworks: Object-Oriented Foundations of Framework Design
Editors Mohamed E. Fayad, Ralph E. Johnson, Douglas C. Schmidt
Publisher John Wiley & Sons
Month September
Year 1999
Pages 415-440
Keywords Use Case Maps, Object-oriented Frameworks
Topic attachments
I Attachment Action Size Date Who Comment
uoof.pdfpdf uoof.pdf manage 144 K 12 Oct 2005 - 21:51 GunterMussbacher book chapter
uoof.psps manage 298 K 12 Oct 2005 - 21:52 GunterMussbacher book chapter
Topic revision: r3 - 02 Apr 2006, DanielAmyot
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