Getting Started: Five Step UML

As a UML instructor, I find that learning UML presents a paradox: UML is not a process, but rather a notation that can be used in a process; and yet without a process, students don't know where to start with UML. They might see some meaning in a given diagram, but they don't know which diagram to draw when. And without knowing what to draw, they don't draw anything. And of course, without practice, they never master UML, so they never learn to apply it within their own processes.

So to resolve this paradox, I developed Five Step UML, a simple, small process that you can master right away, and then apply immediately to a problem of your choice. As the name implies, Five Step UML is very closely based on UML itself, and is intentionally designed as a learning process for UML. It's not robust enough for a production process -- for instance, it lacks any support for testing, documentation, or management -- but it's just enough process to show UML as a tool from requirements gathering all the way through to code design. It shows my students (especially my programmer students) a few ways in which UML can help them to think about a problem and communicate their thoughts to each other. After all, UML is all about communication.

In case you don't know UML, I have included Five Step UML as a tutorial exercise with Tablet UML. This can also serve as a guide to Tablet UML itself, helping you to explore its features. In the tutorial, I'll both discuss the process and include specific instructions for performing the tutorial using Tablet UML. I'll also include a running example of a sample project analyzed and designed with Five Step UML.

To run this tutorial, I strongly recommend three things:

Once you have your team and your problem, you're ready to work the tutorial. It consists of (roughly) five steps:

  1. Define . Define the features you have to implement. You'll rely primarily on use case diagrams for this.
  2. Refine. Refine a feature to capture the rules for how it must operate. You'll rely primary on activity diagrams and state diagrams for this. Repeat for each feature.
  3. Assign. Assign the steps of the feature rules to parts of the system. You'll rely primary on activity diagrams, collaboration diagrams, and sequence diagrams for this.
  4. Design. Design how the parts of the system are related. You'll rely primarily on component diagrams for this.
  5. Repeat. Repeat the steps above, but at a deeper level, showing what goes on within a component of the system. You'll rely primarily on use case diagrams, activity diagrams, state diagrams, collaboration diagrams, sequence diagrams, and class diagrams for this.

For more information on Five Step UML, see my book.

Legal Notices

For an easy, affordable UML tool, visit The Tablet UML Company.

Copyright © 2006 by Martin L. Shoemaker/The Tablet UML Company.