 |
UML
2 composite structure diagrams
are used to explore run-time instances of interconnected
instances collaborating over communications links.
Figure 1 depicts a composite
structure diagram for enrolling in a seminar. The
dashed oval, Enroll in Seminar, models a
collaboration. A collaboration enables you to model the
relevant aspects of a cooperation between instances,
indicating the objects and the roles that they take
within the collaboration. The rectangles model
instances of any type of classifier, including classes,
objects, or interfaces. The properties used in the
collaboration, such as the prerequisite seminars that a
student has taken in the past, are optionally indicated
with the classifier boxes. |
|
Figure 1. Composite
structure diagram for enrolling in a seminar.

An alternative form of this diagram
is shown in
Figure 2, something I refer to as a
collaboration-style composite structure diagram. I’d
really like to refer to this as a collaboration diagram,
but my fear is that this name would be confusing for
anyone familiar with UML 1.x’s collaboration diagrams
which are now called
communication diagrams. In this diagram the
collaboration symbol contains a detailed composite
structure diagram, showing how the composite structure
diagrams can effectively be nested within one another.
Figure 2.
Collaboration diagram for the enrolling in a seminar.

It is interesting to note that UML
composite structure diagrams are very similar to
object role model (ORM) diagrams in notation.
Although the two diagrams explore similar issues,
structure, they do so in different ways. ORM diagrams
are very good for explored detailed relationships
between entities whereas the focus of composite
structure diagrams is on exploring collaborations
between entities.
To be honest I don’t find composite
structure diagrams to be of much use. I would much
rather use
UML sequence diagrams for exploring a collaboration
because the notation is much more robust and because far
more developers understand the notation.
This artifact description is excerpted from Chapter 11 of
The Object Primer 3rd Edition: Agile Model 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. |
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.
|