 |
Understanding the thirteen diagrams
of UML 2.x is an important part of understanding OO
development. Although there is
far more to modeling than just the UML the reality
is the UML defines the standard modeling artifacts when
it comes to object technology.
|
|
There are three classifications of UML diagrams:
- Behavior diagrams. A type of diagram that
depicts behavioral features of a system or business
process. This includes activity, state machine, and
use case diagrams as well as the four interaction
diagrams.
- Interaction diagrams. A subset of behavior
diagrams which emphasize object interactions. This
includes communication, interaction overview,
sequence, and timing diagrams.
- Structure diagrams. A type of diagram that
depicts the elements of a specification that are
irrespective of time. This includes class, composite
structure, component, deployment, object, and package
diagrams.
Table 1
summarizes the thirteen, up from nine in UML 1.x,
diagram types of UML 2.x. In the diagram column
the links will take you to description pages for the
artifact. The learning priority column indicates
how important it is for a business application developer
to learn the artifact (IMHO).
Table 1. The diagrams of
UML 2.
|
Diagram |
Description |
Learning Priority |
|
Activity Diagram |
Depicts high-level business
processes, including data flow, or to model the
logic of complex logic within a system. See
UML Activity diagram guidelines. |
High |
|
Class Diagram |
Shows a collection of static
model elements such as classes and types, their
contents, and their relationships. See
UML Class diagram guidelines. |
High |
|
Communication Diagram |
Shows instances of classes,
their interrelationships, and the message flow
between them. Communication diagrams typically focus
on the structural organization of objects that send
and receive messages. Formerly called a
Collaboration Diagram. See
UML Collaboration diagram guidelines. |
Low |
|
Component Diagram |
Depicts the components that
compose an application, system, or enterprise. The
components, their interrelationships, interactions,
and their public interfaces are depicted. See
UML Component diagram guidelines. |
Medium |
|
Composite Structure Diagram |
Depicts the internal structure
of a classifier (such as a class, component, or use
case), including the interaction points of the
classifier to other parts of the system.
|
Low |
|
Deployment Diagram |
Shows the execution
architecture of systems. This includes nodes,
either hardware or software execution environments,
as well as the middleware connecting them. See
UML Deployment diagram guidelines. |
Medium |
|
Interaction Overview Diagram |
A variant of an activity
diagram which overviews the control flow within a
system or business process. Each
node/activity within the diagram can represent
another interaction diagram. |
Low |
|
Object Diagram |
Depicts objects and their
relationships at a point in time, typically a
special case of either a class diagram or a
communication diagram. |
Low |
|
Package Diagram |
Shows how model elements are
organized into packages as well as the dependencies
between packages. See
Package
diagram guidelines. |
Low |
|
Sequence Diagram |
Models the sequential logic, in
effect the time ordering of messages between
classifiers. See
UML Sequence diagram guidelines. |
High |
|
State Machine Diagram |
Describes the states an object
or interaction may be in, as well as the transitions
between states. Formerly referred to as a state
diagram, state chart diagram, or a state-transition
diagram. See
UML State chart diagram guidelines. |
Medium |
|
Timing Diagram |
Depicts the change in state or
condition of a classifier instance or role over
time. Typically used to show the change in
state of an object over time in response to external
events. |
Low |
|
Use Case Diagram |
Shows use cases, actors, and
their interrelationships. See
UML Use case diagram guidelines. |
Medium |
This material has been excerpted from
The Object Primer 3rd Edition: Agile Modeling Driven
Development with UML 2.
 |
|
The Object Primer 3rd Edition: Agile Model Driven
Development with UML 2 is an
important reference book for agile modelers,
describing how to develop 35
types of agile
models including all 13
UML 2 diagrams.
Furthermore, this book describes the techniques
of the
Full Lifecycle Object Oriented Testing
(FLOOT) methodology to give you the fundamental
testing skills which you require to succeed at
agile software development. The book also
shows how to move from your agile models to
source code (Java examples are provided) as well
as how to succeed at implementation techniques
such as
refactoring and
test-driven development
(TDD). The Object Primer also includes a
chapter overviewing the critical database
development techniques (database refactoring,
object/relational mapping,
legacy analysis, and
database access coding) from my award-winning
Agile Database Techniques
book. |
 |
|
Agile Modeling: Effective Practices for Extreme
Programming and the Unified Process is the seminal
book describing how agile software developers approach
modeling and
documentation. It describes principles and
practices which you can tailor into your existing
software process, such as
XP, the
Rational Unified Process (RUP), or the
Agile Unified Process (AUP), to streamline your
modeling and documentation efforts. Modeling and
documentation are important aspects of any software
project, including agile projects, and this book
describes in detail how to
elicit requirements,
architect, and then
design your system in an agile manner. |
 |
|
The Elements of UML 2.0 Style describes a collection
of standards, conventions, and
guidelines
for creating effective
UML diagrams. They are based on sound, proven
software engineering principles that lead to diagrams
that are easier to understand and work with. These
conventions exist as a collection of simple, concise
guidelines that if applied consistently, represent an
important first step in increasing your productivity as
a modeler. This book is oriented towards
intermediate to advanced UML modelers, although there
are numerous examples throughout the book it would not
be a good way to learn the UML (instead, consider
The Object Primer). The book is a brief 188
pages long and is conveniently pocket-sized so it's easy
to carry around. |
 |
|
The UML User Guide 2nd Edition provides a
detailed description of how to apply the
diagrams of the UML 2 in practice. It goes
into significant detail and should prove to be a
useful tutorial guide. |
 |
|
UML Distilled is the classic, concise
reference for the UML. It covers most of
the UML 2 diagrams, overviewing the most
important features of each diagram that you are
likely to use in practice. If you're
looking for a brief overview of the UML then
this book is it. |
I actively work with clients around the world to
improve their information technology (IT) practices as
both a mentor/coach and trainer. A full description of
what I do, and how to contact me, can be
found here.
|