UML Tutorial

UML is the international standard notation for object-oriented analysis and design. It is defined by the Object Management Group ( and is currently at release 1.4 with 2.0 expected next year. UML provides several notations which are described in detail in Ian Graham's Object-Oriented Methods (Addison-Wesley, 2001); Chapters 1, 6 and 7 give a detailed coverage of object-oriented analysis and design using UML and Catalysis. This tutorial is based on it.

UML is a sound basis for object-oriented methods including those that apply to component based development. One such method is Catalysis which is described elsewhere on this site. To buy the book click here.

This UML Tutorial focuses both on the widely used UML notation and upon the principles of modelling. Our treatment is particularly based on Catalysis (D'Souza and Wills, 1999) and SOMA (Graham, 1995). The focus is on best practice and we suggest a set of requirements for a practical analysis and design technique.

We introduce and explain the Unified Modelling Language (UML). UML is a standardized notation for object-oriented analysis and design. However, a method is more than a notation. To be an analysis or design method it must include guidelines for using the notation and methodological principles. To be a complete software engineering method it must also include procedures for dealing with matters outside the scope of mere software development: business and requirements modelling, development process, project management, metrics, traceability techniques and reuse management. In this tutorial we focus on the notational and analysis and design aspects.