“Enabling teams and individuals to specify, design and deliver software for a complex world.”
Responsibility-Driven Software Development

DesignRebecca's BlogContact UsTraining and ConsultingClients and ProjectsResources

Wirfs-Brock Associates Home Page > Practical UML

Practical UML

1 day

Suitable for small teams or larger groups. Price: Contact us at training@wirfs-brock dot com. Price includes all course materials. Instructor travel and lodging expenses are extra.

This course provides engineers, programmers, software developers and testers with basic, practical knowledge that will enable them to identify and prepare meaningful views of their system using the Unified Modeling Language (UML) diagrams and notation. In class we use the latest version, UML 2.0, which includes some powerful and expressive additions over earlier versions. This class is targeted specifically at that student who may begrudgingly use UML, but wants to be a more effective communicator.

After a brief introduction to a basic development process we'll walk through the most common UML diagrams and show how together they can represent a design model of a software system. We'll explore how UML can be effectively used for rough sketches as part of design discussions as well part of more permanent documentation or presentations. This course is focused on the practical application of UML to effectively communicate design ideas.

Training Philosophy
Students learn by doing. There is enough class-time to explore concepts and techniques and develop basic skills. Class is roughly 80% lecture and 20 % exercises followed by review. Each learning cycle lasts between one and two hours, and consists of:

•an interactive lecture which illustrates and motivates each diagram and presents effective techniques for representing design ideas
•a review of some finer points on how it is best used
•quick exercises to reinforce new skills and/or short discussions

Although we will mention various open source, shareware and commercial UML modeling tools, this is a pencil-and-paper based class focused on effective diagramming techniques and appropriate expressions of designs.

At the end of the course, students should be able to:

• Draw an activity diagram to represent processing steps and actions.
• Draw a sequence diagram that represents an interaction among design elements.
• Create and interpret class diagrams.
• Represent abstract and concrete classes, and interfaces
• Represent attributes and operations and access rights
• Indicate relationships between classes, cardinality, and visibility between classes
• Draw a component diagram representing major system elements and their relationships.
• Create basic elements of a state diagram: initial and ending conditions, states, transitions and guards
• Apply several cross-checks to verify that UML diagrams are in synch and convey what was intended


  1. A brief overview of a design process
    • Defining system behavior at a high level with use cases and/or activity diagrams
    • Designing the system and representing its structure and operation
    • Presenting relevant views of a system's architecture and design
    • An Introduction to UML
    • What it is
    • What is it good for and what are its limitations
    • The difference bet
    ween a design and an implementation view of a system
  2. Common UML diagrams
    • Activity diagrams
    • Sequence diagrams
    • Class diagrams
    • Component diagrams
    • State diagrams
    • Other UML diagrams: communicatio
    n, use case, deployment

Each student will receive a set of UML guidelines developed by Wirfs-Brock Associates which contains basic recipes and summarizes UML diagramming techniques.

For additional information please contact us at training@wirfs-brock.com

Entire Site © Wirfs-Brock Associates 2005 - 2013.
Site Design by Phil Brock/Red Hills Graphics. Click here to contact the Webmaster.