About Use Case Maps
The Use Case Map (UCM) notation is gaining in popularity and in notoriety. Whether you consider them as causal scenarios, as architectural entities, or as behaviour patterns, they can help you to describe and understand emergent behaviour of complex and dynamic systems.
The basic idea of UCM is very simple and is captured by the phrase causal paths cutting across organizational structures. The realization of this idea produces a lightweight notation that scales up, while at the same time covering all of the foregoing complexity factors in an integrated and manageable fashion. The notation represents causal paths as sets of wiggly lines that enable a person to visualize scenarios threading through a system without the scenarios actually being specified in any detailed way (e.g. with messages). Compositions of wiggly lines (which may be called behavior structures) represent large-scale units of emergent behavior cutting across systems, such as network transactions, as first-class architectural entities that are above the level of details and independent of them (because they can be realized in different detailed ways).
Where are UCM Models Useful?
The notation is intended to be useful for requirements specification, design, testing, maintenance, adaptation, and evolution. Already, UCM models have been used in a number of areas:
- Requirements engineering and design of:
- Real-time systems
- Object-oriented systems
- Telecommunication systems
- Distributed systems
- Business processes
- Multimedia systems
- Agent systems
- E-health systems
- Aspected-oriented models
- Early phases of development and documentation of standards
- Detection and avoidance of undesirable feature interactions
- Performance analysis and prediction
- Evaluation of architectural alternatives
- Functional testing
- Detection of race conditions
- Synthesis of message sequence charts and formal specifications
- Reverse-engineering of different systems
- etc.
On this Site
Available since November 1998, this site is the prime source of information about the world of UCMs. It hosts a TWiki server for the UCM/URN users, it provides a comprehensive
UCMVirtual Library and a set of tools, including the free Use Case Maps Navigator (
UCMNav) and the new
jUCMNav plug-in for Eclipse.
Many thanks to the Department of Systems and Computer Engineering of Carleton University (with a special mention to Narendra Mehta) for their help in setting up and hosting this site for the first 7 years of its existence, and the University of Ottawa's
Communications Software Engineering Research Group (and especially
Jacques Sincennes) for hosting the new, TWiki-based version.
Looking for an Introduction to UCM?
Documents of various length can help you understand Use Case Maps:
- Vir Lib ICSE01: Bridging the Requirements/Design Gap in Dynamic Systems with Use Case Maps (2001, 2 pages)
- Vir Lib Tutorial 99: Use Case Maps Quick Tutorial Version 1.0 (1999, 18 pages)
- Vir Lib Com Net 03: Introduction to the User Requirements Notation: Learning by Example (2003, 17 pages)
- Draft Rec. Z.152: Use Case Maps (latest version)
- Vir Lib Transactions SE98: Use Case Maps as Architectural Entities for Complex Systems (main reference, 1998, 25 pages)
- Vir Lib Ucm Book 1995: Use Case Maps for Object-Oriented Systems (Prentice Hall, 1996, 302 pages)
Visit the
UCMVirtual Library for additional publications.
--
Daniel Amyot - 11 Oct 2005