Tải bản đầy đủ (.pdf) (321 trang)

UML 2 0 in a nutshell

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (15.18 MB, 321 trang )

www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
...............................................
Publisher:O'Reilly
Pub Date: June 2005
ISBN:0-596-00795-7
Pages:234

Table of Contents | Index

System developers have used modeling languages for decades to specify, visualize,
construct, and document systems. The Unified Modeling Language (UML) is one of those
languages. UML makes it possible for team members to collaborate by providing a common
language that applies to a multitude of different systems. Essentially, it enables you to
communicate solutions in a consistent, tool-supported language.
Today, UML has become the standard method for modeling software systems, which means
you're probably confronting this rich and expressive language more than ever before. And
even though you may not write UML diagrams yourself, you'll still need to interpret
diagrams written by others.
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.
Topics include:
The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams


Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
...............................................
Publisher:O'Reilly
Pub Date: June 2005
ISBN:0-596-00795-7
Pages:234

Table of Contents | Index

System developers have used modeling languages for decades to specify, visualize,
construct, and document systems. The Unified Modeling Language (UML) is one of those
languages. UML makes it possible for team members to collaborate by providing a common
language that applies to a multitude of different systems. Essentially, it enables you to
communicate solutions in a consistent, tool-supported language.
Today, UML has become the standard method for modeling software systems, which means
you're probably confronting this rich and expressive language more than ever before. And
even though you may not write UML diagrams yourself, you'll still need to interpret
diagrams written by others.

UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.
Topics include:
The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


www.it-ebooks.info

UML 2.0 in a Nutshell

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
...............................................
Publisher:O'Reilly
Pub Date: June 2005
Copyright © 2005 O'Reilly Media, Inc. All rights reserved.
ISBN:0-596-00795-7

Pages:234

by Dan Pilone with Neil Pitman

Printed in the United States of America.

Published by O'Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.
Table of Contents | Index

O'Reilly books may be purchased for educational, business, or sales promotional use. Online
editions are also available for most titles (safari.oreilly.com). For more information, contact
System
developers have used
languages

specify, visualize,
our
corporate/institutional
salesmodeling
department:
(800) for
998-9938
construct, and document systems. The Unified Modeling Language (UML) is one of those
languages. UML makes it possible for team members to collaborate by providing a common
language
systems.
Essentially, it enables you to
Editor: that applies to a multitude of different
Jonathan
Gennick

communicate solutions in a consistent, tool-supported language.
Production Editor:
Mary Anne Weeks Mayo
Today, UML has become the standard method for modeling software systems, which means
Cover Designer:
Ellie Volckhausen
you're probably confronting this rich and expressive language more than ever before. And
even
though
you may not write UML diagrams
Interior
Designer:
Davidyourself,
Futato you'll still need to interpret
diagrams written by others.
Printing History:

UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
June 2005:
First Edition.
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
Nutshell
Handbook, the
Nutshell
logo, and
the O'Reilly logoto
are
This comprehensive
new

edition Handbook
not only provides
a quick-reference
allregistered
UML 2.0 diagram
trademarks
of explains
O'Reilly Media,
Inc. The
a Nutshell
series to
designations,
UML 2.0
in a with
types, it also
key concepts
in In
a way
that appeals
readers already
familiar
Nutshell
the image of a programming
chimpanzee, and
related trade dress are trademarks of O'Reilly
UML or ,object-oriented
concepts.
Media, Inc.
Topics include:
Unified Modeling Language, UML, Model Driven Architecture, MDA, Common Object Request

Broker Architecture, and CORBA are all trademarks of Object Management Group.
The role and value of UML in projects
Many of the designations used by manufacturers and sellers to distinguish their products are
The
paradigm
its relationappear
to the in
UML
claimed
asobject-oriented
trademarks. Where
thoseand
designations
this book, and O'Reilly Media,
Inc. was aware of a trademark claim, the designations have been printed in caps or initial
caps. An integrated approach to UML diagrams

Object, has
Usebeen
Case,taken
Sequence,
Activity,
Component,
While Class
every and
precaution
in the Collaboration,
preparation of Statechart,
this book, the
publisher

and
and
Deployment
Diagrams for errors or omissions, or for damages resulting from the
authors
assume
no responsibility
use of the information contained herein.
Extension Mechanisms
ISBN: 0-596-00795-7
The Object Constraint Language (OCL)
[M]
If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman

Dedication

...............................................
Publisher:O'Reilly
Pub Date: June 2005
For my family: the
reason I wrote this book and the reason I was able to
ISBN:0-596-00795-7
Pages:234


.

Dan Pilone

For Laurie Ann:

Table of Contents | Index

Giorraíonn beirt bóthar/Two people shorten the road

.

System
developers have used modeling languages for decades to specify, visualize,
Neil
Pitman
construct, and document systems. The Unified Modeling Language (UML) is one of those
languages. UML makes it possible for team members to collaborate by providing a common
language that applies to a multitude of different systems. Essentially, it enables you to
communicate solutions in a consistent, tool-supported language.
Today, UML has become the standard method for modeling software systems, which means
you're probably confronting this rich and expressive language more than ever before. And
even though you may not write UML diagrams yourself, you'll still need to interpret
diagrams written by others.
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with

UML or object-oriented programming concepts.
Topics include:
The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman

Preface

...............................................
Publisher:O'Reilly
Pub Date: June 2005
About ThisISBN:
Book0-596-00795-7
Pages:234

How to Use This Book


Typographic Conventions

Table of Contents | Index

Safari Enabled

System
developers
used modeling languages for decades to specify, visualize,
Comments
andhave
Questions
construct, and document systems. The Unified Modeling Language (UML) is one of those
Acknowledgments
languages.
UML makes it possible for team members to collaborate by providing a common
language that applies to a multitude of different systems. Essentially, it enables you to
communicate solutions in a consistent, tool-supported language.
Today, UML has become the standard method for modeling software systems, which means
you're probably confronting this rich and expressive language more than ever before. And
even though you may not write UML diagrams yourself, you'll still need to interpret
diagrams written by others.
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.
Topics include:
The role and value of UML in projects

The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
About This
Book
...............................................
Publisher:O'Reilly
Pub Date: June 2005
Welcome to UMLISBN:
2.0 0-596-00795-7
in a Nutshell . The Unified Modeling Language (UML) has expanded quite
Pages:234
a bit since its inception
and can be applied to many different domains, however it still has its

roots in software development. We have tried to make this book applicable to as broad an
audience as possible, but it's helpful to have at least a cursory knowledge of Object Oriented
Table of Contents | (OOP)

Index
Programming
because UML draws much of its terminology from that domain.
Before going any further we'd like to clarify how this book refers to the Unified Modeling
Language.
Grammatically
speaking,
"the languages
UML" is correct.
However,
it sounds
weird. This book
System developers
have used
modeling
for decades
to specify,
visualize,
uses
the
more
colloquial
"UML".
construct, and document systems. The Unified Modeling Language (UML) is one of those
languages. UML makes it possible for team members to collaborate by providing a common
UML
2.0 in that
a Nutshell
reference
for the

UML 2.0
Superstructure,
fromyou
a user's
language
appliesistoa adetailed
multitude
of different
systems.
Essentially,
it enables
to
perspective.
Whenever
it
would
be
helpful
to
clarify
a
UML
concept
with
a
concrete
example,
communicate solutions in a consistent, tool-supported language.
we will present Java code.


Today, UML has become the standard method for modeling software systems, which means
In general we assume that you are familiar with OOP and the type of constructs that go with
you're probably confronting this rich and expressive language more than ever before. And
it (classes, methods, inheritance, etc.). However, we make no assumptions about what you
even though you may not write UML diagrams yourself, you'll still need to interpret
know about UML. Each chapter starts with a top-to-bottom discussion of the chapter's topic.
diagrams written by others.
This will be fast paced and thorough, meant for those who understand the basics and want to
know the "nitty-gritty" of a piece of UML. Subsequent sections are kinder, gentler discussions
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
of the topic. This includes examples that show how the topic may be applied to typical
you who must read, create, and understand system artifacts expressed using UML.
problems, help you further refine your models to eliminate ambiguity, capture details that
Furthermore, it's been fully revised to cover version 2.0 of the language.
might otherwise be lost, or add information to your model that aids in tool-based
development.
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with
A brief word of warning: UML has a strict terminology for just about every aspect of modeling.
UML or object-oriented programming concepts.
This is necessary to reduce ambiguity and confusion as much as possible. However, in
everyday use some terms are used interchangeably with others that have completely different
Topics include:
meanings in UML. A classic example of this is operation and method. These are frequently
treated as being synonymous in a software development environment but have different
meanings
used
in the
context
of UML. We will make a point to use the correct UML term

The when
role and
value
of UML
in projects
even if it may not be the most colloquial name.
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
How to Use
This Book
...............................................
Publisher:O'Reilly
Pub Date: June 2005
ISBN:based
0-596-00795-7
This book is divided
on UML diagram type. Obviously there is some crossover, as some

Pages:
234
diagrams build on
concepts
from others. Chapter 1, Fundamentals of UML, covers the basics

of UML and presents some background information that will help you understand the context
for the rest of the book. If you are familiar with previous versions of UML, you can probably
Table ofthis
Contents
| Index If you don't have a strong background in UML, you should definitely start
skim
chapter.
here.
The
next developers
set of chapters
is called
static modeling
in UML.
Static visualize,
modeling captures
System
havecover
used what
modeling
languages
for decades
to specify,
the

physical
structure
of
a
piece
of
software
(as
much
as
software
has
a
"physical"
construct, and document systems. The Unified Modeling Language (UML) is one of structure).
those
For
example:UML
what
operations
and attributes
a class contains,
what interfaces
a class
realizes,
languages.
makes
it possible
for team members
to collaborate

by providing
a common
or
what packages
contain
this mess.
staticsystems.
modelingEssentially,
chapters include:
language
that applies
to aall
multitude
of The
different
it enables you to
communicate solutions in a consistent, tool-supported language.

Today, UML has become the standard method for modeling software systems, which means
Chapter 2, Class Diagrams
you're probably confronting this rich and expressive language more than ever before. And
even though you may not write UML diagrams yourself, you'll still need to interpret
This chapter introduces the class diagram. It discusses the various elements that can be
diagrams written by others.
used on a class diagram, what they represent, and how to extend them. Because class
diagrams are often a centerpiece of a UML model, you should know this chapter inside
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
and out. The last part of the chapter discusses how class diagrams fit into the overall
you who must read, create, and understand system artifacts expressed using UML.
UML model and how the diagrams are typically mapped to code.

Furthermore, it's been fully revised to cover version 2.0 of the language.
This comprehensive
new edition not only provides a quick-reference to all UML 2.0 diagram
Chapter
3, Package Diagrams
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or
object-oriented
programming
This
chapter introduces
packagesconcepts.
and grouping within a UML model.
Topics include:
Chapter 4, Composite Structures
The role
and introduces
value of UML
projects
This
chapter
theinnew
UML 2.0 concept of composite structures. Composite
structures are specifically designed to represent patterns and are a major new
The object-oriented
paradigm
and its relation to the UML
component
to the modeling
language.

An integrated approach to UML diagrams
Chapter 5, Component Diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment
Diagrams
This
chapter introduces
components and the component diagram. Topics such as the
stereotypes used in component diagrams, relationships between components, and
Extension Mechanisms
component metainformation are discussed. The latter part of this chapter discusses how
components are typically realized in a programming language.
The Object Constraint Language (OCL)
Chapter 6, Deployment Diagrams

If you're new to UML, a tutorial with realistic examples has even been included to help you
This chapter introduces the concept of capturing system deployment using deployment
quickly familiarize yourself with the system.
diagrams. Deployment fundamentals such as nodes, node stereotypes, and
relationships to components are explained. This chapter also includes a discussion on
modeling a distributed system using deployment diagrams.
The next set of chapters cover the second half of UMLbehavioral modeling. Behavioral
modeling captures how the various elements of a system interact during execution. Diagrams


www.it-ebooks.info

such as the use case diagram can capture requirements from an external actor's perspective,
and sequence diagrams can show how objects interact to implement a particular use case.
The behavioral modeling chapters include:

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
...............................................

Chapter 7, Use Publisher:
Case Diagrams
O'Reilly

Pub Date: June 2005

This chapter
introduces
use cases, actors, and system boundaries. It goes slightly
ISBN:
0-596-00795-7
beyond pure
UML
in
that
the chapter touches on common practices regarding use cases,
Pages:234
such as use case scoping, use case documents, and use case realizations.
Table of Contents | Index

Chapter 8, Statechart Diagrams
This chapter introduces state machine modeling using states, actions, and transitions.
System developers have used modeling languages for decades to specify, visualize,
Statecharts can be used to model a simple algorithm all the way up to a complex
construct, and document systems. The Unified Modeling Language (UML) is one of those
system.

languages. UML makes it possible for team members to collaborate by providing a common
language that applies to a multitude of different systems. Essentially, it enables you to
communicate
solutions
in a consistent, tool-supported language.
Chapter
9, Activity
Diagrams

Today,
UML
has become
the standard
methodtofor
software
systems,
whichdiagram.
means
This
chapter
introduces
a close relative
themodeling
statechart
diagram,
the activity
you'reActivity
probably
confronting
this rich

and expressive
language
thanused
evertobefore.
diagrams
resemble
old-school
flowcharts
and aremore
typically
model And
an
even algorithm
though you
not write
UML diagrams yourself, you'll still need to interpret
ormay
use case
realization.
diagrams written by others.
UML 2.010,
in aInteraction
Nutshell from
O'Reilly feels your pain. It's been crafted for professionals like
Chapter
Diagrams
you who must read, create, and understand system artifacts expressed using UML.
Furthermore,
it's been
fully revised

to cover
2.0 of
the language.
This chapter
introduces
the large
set of version
interaction
diagrams
supported by UML 2.0. The
two best-known diagrams are sequence and collaboration diagrams. This chapter also
This comprehensive
newtiming-centric
edition not only
providesdiagram.
a quick-reference to all UML 2.0 diagram
discusses the new
interaction
types, it also explains key concepts in a way that appeals to readers already familiar with
The
part of the bookprogramming
covers extension
and applications of UML 2.0:
UMLfinal
or object-oriented
concepts.
Topics include:
Chapter 11, Tagged Values, Stereotypes, and UML Profiles
The role and value of UML in projects
This chapter discusses how UML 2.0 may be extended and refined.

The object-oriented paradigm and its relation to the UML
Chapter
Effectiveapproach
Diagramming
An12,
integrated
to UML diagrams
This
departs
theSequence,
specification
side of UMLStatechart,
2.0 and offers
real-world
advice
Classchapter
and Object,
Usefrom
Case,
Collaboration,
Activity,
Component,
on
what
parts of UML 2.0 to use when, and how to effectively convey the
andmodeling,
Deployment
Diagrams
right information.
Extension Mechanisms


The A,
Object
Language
(OCL)
Appendix
MDA:Constraint
Model-Driven
Architecture
This appendix introduces the Model-Driven Architecture (MDA). While MDA isn't a new
idea, UML 2.0 has MDA in mind in several places, and next-generation tools may be
If you're
to UML,
a tutorial
with realistic examples has even been included to help you
ablenew
to make
MDA
a reality.
quickly familiarize yourself with the system.
Appendix B, The Object Constraint Language
This appendix describes the Object Constraint Language (OCL), a simple language
defined to express constraints on UML diagrams. It can be applied in countless ways


www.it-ebooks.info

and is introduced here in its basic form.
If you're familiar with the fundamental UML concepts, you can read this book's chapters in
UML

2.0 in a Nutshell
nearly any order.
However,
there is always a certain amount of overlap between chapters
because some elements
can
ByDan Pilone,
Neilappear
Pitman on many diagrams. Instead of repeating the information
in each chapter,...............................................
we fully define elements (and their associated stereotypes, attributes, etc.)
the first time they
are encountered,
and in subsequent chapters, we provide detailed cross
Publisher:
O'Reilly
Date:
June 2005
references backPub
to the
original
definition, when needed.
ISBN:0-596-00795-7
Pages:234

Table of Contents | Index

System developers have used modeling languages for decades to specify, visualize,
construct, and document systems. The Unified Modeling Language (UML) is one of those
languages. UML makes it possible for team members to collaborate by providing a common

language that applies to a multitude of different systems. Essentially, it enables you to
communicate solutions in a consistent, tool-supported language.
Today, UML has become the standard method for modeling software systems, which means
you're probably confronting this rich and expressive language more than ever before. And
even though you may not write UML diagrams yourself, you'll still need to interpret
diagrams written by others.
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.
Topics include:
The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
Typographic

Conventions
...............................................
Publisher:O'Reilly
Pub Date: June
2005
The following typographic
conventions
are used in this book:
ISBN:0-596-00795-7
Pages:234

Constant width
Table of Contents | Index

Used in the text to refer to class names, stereotypes, and other elements taken from
UML diagrams.

System developers have used modeling languages for decades to specify, visualize,
construct, and document systems. The Unified Modeling Language (UML) is one of those
Constant width italic
languages. UML makes it possible for team members to collaborate by providing a common
language that applies to a multitude of different systems. Essentially, it enables you to
Used in UML diagrams to indicate text that would be replaced by the user.
communicate solutions in a consistent, tool-supported language.
Today, UML has become the standard method for modeling software systems, which means
Italic
you're probably confronting this rich and expressive language more than ever before. And
even Used
though
you new

mayterms
not write
diagrams
still references.
need to interpret
when
are UML
introduced,
andyourself,
for URLsyou'll
and file
diagrams written by others.
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
...
you who must read, create, and understand system artifacts expressed using UML.
Ellipses indicate
has 2.0
been
from a diagram for the
Furthermore,
it's beennonessential
fully revisedmaterial
to coverthat
version
ofomitted
the language.
sake of readability.
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented

concepts.
Indicates programming
a tip, suggestion,
or general note.
Topics include:
The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
Indicates an aspect of UML that you must be particularly careful about
using.
An integrated
approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Note that UML makes frequent use of curly braces ({}) and guillemots («»). When these are
used in
a syntax Mechanisms
definition, they are required by UML.
Extension
NearlyThe
everything
in UML notation
is optional,
Object Constraint
Language
(OCL) so there is no specific notation to indicate an
optional field. If a particular piece of syntax is required, it is noted in the text.

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.



www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
Safari Enabled
...............................................
Publisher:O'Reilly
Pub Date: June 2005
ISBN:0-596-00795-7
Pages:234

When you see a Safari® Enabled icon on the cover of your favorite technology
book, it means the book is available online through the O'Reilly Network Safari Bookshelf.
Table of Contents | Index

Safari offers a solution that's better than e-books. It's a virtual library that lets you easily
search thousands of top tech books, cut and paste code samples, download chapters, and find
quick
answers
when have
you need
most accurate,
current
information.
Try itvisualize,
for free at
System
developers
usedthe

modeling
languages
for decades
to specify,
.
construct, and document systems. The Unified Modeling Language (UML) is one of those
languages. UML makes it possible for team members to collaborate by providing a common
language that applies to a multitude of different systems. Essentially, it enables you to
communicate solutions in a consistent, tool-supported language.

Today, UML has become the standard method for modeling software systems, which means
you're probably confronting this rich and expressive language more than ever before. And
even though you may not write UML diagrams yourself, you'll still need to interpret
diagrams written by others.
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.
Topics include:
The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you

quickly familiarize yourself with the system.


www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
Comments
and Questions
...............................................
Publisher:O'Reilly
Pub Date: June
Please address comments
and2005
questions concerning this book to the publisher:
ISBN:0-596-00795-7
Pages:Inc.
234
O'Reilly Media,
1005 Gravenstein Highway North
Sebastopol, CA 95472
Table of Contents
| Index
800-998-9938
(in the United States or Canada)
707-829-0515 (international/local)
707-829-0104 (fax)
System developers have used modeling languages for decades to specify, visualize,
There
is a web

for this
book that
errata,
examples,
or any(UML)
additional
information.
construct,
and page
document
systems.
Thelists
Unified
Modeling
Language
is one
of those
You
can access
pageitat:
languages.
UMLthis
makes
possible for team members to collaborate by providing a common
language that applies to a multitude of different systems. Essentially, it enables you to
/>communicate
solutions in a consistent, tool-supported language.

To comment or ask technical questions about this book, send email to:
Today, UML has become the standard method for modeling software systems, which means

you're probably confronting this rich and expressive language more than ever before. And

even though you may not write UML diagrams yourself, you'll still need to interpret
diagrams
written by others.
For
more information
about books, conferences, Resource Centers, and the O'Reilly Network,
see the O'Reilly web site at:
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
you who
must read, create, and understand system artifacts expressed using UML.

Furthermore, it's been fully revised to cover version 2.0 of the language.

This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.
Topics include:
The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.



www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
Acknowledgments
...............................................

From Dan

Publisher:O'Reilly
Pub Date: June 2005
ISBN:0-596-00795-7
Pages:234

This book was truly a team effort. Without support, emails, comments, harassment, and
Table of Contents from
| Indexfriends, family, and colleagues, this book would not have happened. First I'd
suggestions
like to thank my editor, Jonathan Gennick, for his astonishing amount of patience. He is
fantastic to work with and helped keep this book on track.
System developers have used modeling languages for decades to specify, visualize,
Next,
I'd like
to document
thank the systems.
technical The
reviewers
were never
short(UML)

on suggestions
or
construct,
and
Unifiedwho
Modeling
Language
is one of those
comments.
times
I felt
this was
the fourth
edition
of the book,by
after
working
in all their
languages. At
UML
makes
it like
possible
for team
members
to collaborate
providing
a common
ideas.
The that

techapplies
reviewers
Stephen
Mellor, Michael
Chonoles,
Mike
Bernie
language
to awere:
multitude
of different
systems.
Essentially,
it Hudson,
enables you
to
Thuman,
Kimberly
Hamilton,
Russ Miles,tool-supported
and Julie Webster.
communicate
solutions
in a consistent,
language.
Finally,
like
to become
thank my
my method

parents for
for modeling
supporting
me from
the startwhich
and setting
Today, I'd
UML
has
thefamily:
standard
software
systems,
means
an
example
that has
driven me
both
myexpressive
professional
and personal
life, and
wife, And
you're
probably
confronting
thisinrich
and
language

more than
evermy
before.
Tracey,
for somehow
hold
everything
together
while
wrotetothis
book.
even though
you maymanaging
not writeto
UML
diagrams
yourself,
you'll
stillI need
interpret
Compared
to
the
magic
she
has
been
working,
writing
this

book
was
a
piece
of
cake. Last but
diagrams written by others.
not least, I'd like to thank my son Vinny: now we can head to the park!

UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
you who must read, create, and understand system artifacts expressed using UML.
Furthermore,
From
Neil it's been fully revised to cover version 2.0 of the language.
This
comprehensive
new edition
only provides
quick-reference to
UML 2.0
diagram
I'd
like
to thank Ron Wheeler
andnot
Jacques
Hamel ofaArtifact-Software
forall
allowing
the

use of
types,
it
also
explains
key
concepts
in
a
way
that
appeals
to
readers
already
familiar
with
XML examples. Thanks also to Derek McKee of Mindset Corporation for the use of LamMDA
UML or object-oriented
examples.
Finally, I'd likeprogramming
to especially concepts.
thank Jonathan Gennick for his depth of patience.
Topics include:
The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms

The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman

Chapter 1. Fundamentals of UML

...............................................
Publisher:O'Reilly
Pub Date: June 2005
On the surface, ISBN:
the Unified
Modeling Language (UML) is a visual language for capturing
0-596-00795-7
software designs
and
patterns.
Dig a little deeper, though, and you'll find that UML can be
Pages:234

applied to quite a few different areas and can capture and communicate everything from
company organization to business processes to distributed enterprise software. It is intended
to
beof aContents

common
way of capturing and expressing relationships, behaviors, and high-level
Table
| Index
ideas in a notation that's easy to learn and efficient to write. UML is visual; just about
everything in it has a graphical representation. Throughout this book we'll discuss the
meaning behind the various UML elements as well as their representations.
System developers have used modeling languages for decades to specify, visualize,
construct, and document systems. The Unified Modeling Language (UML) is one of those
languages. UML makes it possible for team members to collaborate by providing a common
language that applies to a multitude of different systems. Essentially, it enables you to
communicate solutions in a consistent, tool-supported language.

Today, UML has become the standard method for modeling software systems, which means
you're probably confronting this rich and expressive language more than ever before. And
even though you may not write UML diagrams yourself, you'll still need to interpret
diagrams written by others.
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.
Topics include:
The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms

The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
1.1. Getting
Started
...............................................
Publisher:O'Reilly
Date:
June
2005be sure to read this chapter all the way through to get
If you're new toPub
UML,
you
should
0-596-00795-7
acquainted withISBN:
the basic
terminology used throughout the book. If you are a developer, class
Pages:
234simplest diagrams to start with because they map closely to code.
diagrams tend to
be the
Pick a program or domain you know well, and try to capture the entities involved using

classes. Once you're convinced you've modeled the relationships between your entities
Table of Contents
correctly,
pick| Index
a piece of functionality and try to model that using a sequence diagram and
your classes.

IfSystem
you're developers
more of a process
person
(business
or otherwise),
you to
may
be more
comfortable
have used
modeling
languages
for decades
specify,
visualize,
starting
with
andocument
activity diagram.
Chapter
9 shows
examples

of modeling
construct,
and
systems.
The Unified
Modeling
Language
(UML) business
is one of processes
those
with
different
groups
(Human
Resources,
IT,members
etc.) and to
progresses
to by
modeling
parallel
languages.
UML
makes
it possible
for team
collaborate
providing
a common
processes

different
language over
that applies
togeographic
a multituderegions.
of different systems. Essentially, it enables you to
communicate solutions in a consistent, tool-supported language.

Today, UML has become the standard method for modeling software systems, which means
you're probably confronting this rich and expressive language more than ever before. And
even though you may not write UML diagrams yourself, you'll still need to interpret
diagrams written by others.
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.
Topics include:
The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.



www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
1.2. Background
...............................................
Publisher:O'Reilly
Pub
Date:
UML has become
the
de June
facto 2005
standard for modeling software applications and is growing in
ISBN:0-596-00795-7
popularity in modeling
other domains. Its roots go back to three distinct methods: the Booch
Pages:
234 the Object Modeling Technique coauthored by James Rumbaugh, and
Method by Grady
Booch,
Objectory by Ivar Jacobson. Known as the Three Amigos, Booch, Rumbaugh, and Jacobson
kicked off what became the first version of UML, in 1994. In 1997, UML was accepted by the
Table of Contents
| Index
Object
Management
Group (OMG) and released as UML v1.1.


Since then, UML has gone through several revisions and refinements leading up to the current
2.0
release.
Each revision
has tried
to address
problems
and shortcomings
identified in the
System
developers
have used
modeling
languages
for decades
to specify, visualize,
previous
versions,
leading systems.
to an interesting
expansion
andLanguage
contraction
of the
language.
UML
construct,
and document
The Unified
Modeling

(UML)
is one
of those
2.0
is by far UML
the largest
specification
in members
terms of page
count (theby
superstructure
alone is
languages.
makes UML
it possible
for team
to collaborate
providing a common
over
600 pages),
but itto
represents
theofcleanest,
compact
version it
ofenables
UML yet.
language
that applies
a multitude

differentmost
systems.
Essentially,
you to
communicate solutions in a consistent, tool-supported language.

Today, UML has become the standard method for modeling software systems, which means
you're probably confronting this rich and expressive language more than ever before. And
even though you may not write UML diagrams yourself, you'll still need to interpret
diagrams written by others.
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.
Topics include:
The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


www.it-ebooks.info


UML 2.0 in a Nutshell
Dan Pilone,Neil Pitman
1.3. UML By
Basics
...............................................
Publisher:O'Reilly
Pub Date: June 2005
ISBN:
First and foremost,
it0-596-00795-7
is important to understand that UML is a language . This means it has
234
both syntax andPages:
semantics.
When you model a concept in UML, there are rules regarding how

the elements can be put together and what it means when they are organized in a certain
way. UML is intended not only to be a pictorial representation of a concept, but also to tell you
Table of Contents
| Index
something
about
its context. How does widget 1 relate to widget 2? When a customer orders
something from you, how should the transaction be handled? How does the system support
fault tolerance and security?
System developers have used modeling languages for decades to specify, visualize,
You
can apply
in any systems.

number ofThe
ways,
but common
include:
construct,
andUML
document
Unified
Modeling uses
Language
(UML) is one of those
languages. UML makes it possible for team members to collaborate by providing a common
language that applies to a multitude of different systems. Essentially, it enables you to
Designing software
communicate solutions in a consistent, tool-supported language.
Communicating software or business processes
Today, UML has become the standard method for modeling software systems, which means
you're
probablydetails
confronting
rich and
language
more than ever before. And
Capturing
about this
a system
for expressive
requirements
or analysis
even though you may not write UML diagrams yourself, you'll still need to interpret

diagrams
written by
Documenting
anothers.
existing system, process, or organization

UML has
2.0 been
in a Nutshell
from
O'Reillydomains,
feels yourincluding:
pain. It's been crafted for professionals like
UML
applied to
countless
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
Banking and investment sectors
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
Health
care
types,
it also
explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.
Defense
Topics include:
Distributed computing
Embedded systems

The role and value of UML in projects
Retail sales and supply
The object-oriented paradigm and its relation to the UML
The basic building block of UML is a diagram. There are several types, some with very specific
An integrated approach to UML diagrams
purposes (timing diagrams) and some with more generic uses (class diagrams). The following
sections
touch
some of
the
major
ways UML
has been employed.
TheActivity,
diagrams
mentioned
Class
andon
Object,
Use
Case,
Sequence,
Collaboration,
Statechart,
Component,
in each
section
are by no
means confined to that section. If a particular diagram helps you
and

Deployment
Diagrams
convey your message you should use it; this is one of the basic tenants of UML modeling.
Extension Mechanisms

Object Constraint
Language (OCL)
1.3.1.The
Designing
Software
Because UML grew out of the software development domain, it's not surprising that's where it
still
finds its
greatest
When with
applied
to software,
UML
attempts
to bridge
thetogap
between
If you're
new
to UML,use.
a tutorial
realistic
examples
has
even been

included
help
you
the
original
idea foryourself
a piece with
of software
and its implementation. UML provides a way to
quickly
familiarize
the system.
capture and discuss requirements at the requirements level (use case diagrams), sometimes
a novel concept for developers. There are diagrams to capture what parts of the software
realize certain requirements (collaboration diagrams). There are diagrams to capture exactly
how those parts of the system realize their requirements (sequence and statechart diagrams).
Finally there are diagrams to show how everything fits together and executes (component and


www.it-ebooks.info

deployment diagrams).
Books describing previous versions of UML made a point to emphasize that UML was not a
UML 2.0
in a Nutshell
visual programming
language;
you couldn't execute your model. However, UML 2.0 changes
the rules somewhat.
the

major motivations for the move from UML 1.5 to UML 2.0 was
ByDan One
Pilone,of
Neil
Pitman
to add the ability
for modelers to capture more system behavior and increase tool
...............................................
automation. A relatively
new technique called Model Driven Architecture (MDA) offers the
Publisher:O'Reilly
Pub Date:
June 2005
potential to develop
executable
models that tools can link together and to raise the level of
ISBN:
0-596-00795-7
abstraction above
traditional
programming languages. UML 2.0 is central to the MDA effort.
Pages:234

It is important to realize the UML is not a software process. It is meant to be used within a
software process and has facets clearly intended to be part of an iterative development
Table of Contents | Index
approach.
While UML was designed to accommodate automated design tools, it wasn't intended only for
tools.
Professional

were kept
in mind for
when
UML was
designed,
so the language
System
developerswhiteboarders
have used modeling
languages
decades
to specify,
visualize,
lends
itself
to
quick
sketches
and
capturing
"back
of
the
napkin"
type
designs.
construct, and document systems. The Unified Modeling Language (UML) is one of those

languages. UML makes it possible for team members to collaborate by providing a common
language that applies to a multitude of different systems. Essentially, it enables you to

communicate
solutions
in a consistent,
tool-supported language.
1.3.2.
Business
Process
Modeling
Today, UML has become the standard method for modeling software systems, which means
you're
confronting
this rich
and expressive
language
more than
before.
And
UML
hasprobably
an extensive
vocabulary
for capturing
behavior
and process
flow.ever
Activity
diagrams
even
though
you

may
not
write
UML
diagrams
yourself,
you'll
still
need
to
interpret
and statecharts can be used to capture business processes involving individuals, internal
diagrams
by others.
groups,
or written
even entire
organizations. UML 2.0 has notation that helps model geographic
boundaries (activity partitions), worker responsibilities (swim lanes), and complex
UML 2.0 in a (statechart
Nutshell from
O'Reilly feels your pain. It's been crafted for professionals like
transactions
diagrams).
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.
Topics include:

The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


www.it-ebooks.info

UML 2.0 in a Nutshell
Dan Pilone,Neil Pitman
1.4. UML By
Specifications
...............................................
Publisher:O'Reilly
June
2005
Physically, UML Pub
is aDate:
set of
specifications
from the OMG. UML 2.0 is distributed as four
ISBN:
0-596-00795-7
specifications: the

Diagram
Interchange Specification, the UML Infrastructure, the UML
234Object Constraint Language (OCL). All of these specifications are
Superstructure,Pages:
and the
available from the OMG web site, .
Table of
Contents |Interchange
Index
The
Diagram
Specification was written to provide a way to share UML models
between different modeling tools. Previous versions of UML defined an XML schema for
capturing what elements were used in a UML diagram, but did not capture any information
about
how
a diagramhave
was used
laid out.
To address
this, for
the decades
Diagramto
Interchange
Specification
System
developers
modeling
languages
specify, visualize,

was
developed
with systems.
a mapping
from
a new
XML schema
to a Scalable
construct,
and along
document
The
Unified
Modeling
Language
(UML) is Vector
one of Graphics
those
(SVG)
representation.
Typically
thefor
Diagram
Interchange
Specification
used only
by tool
languages.
UML makes
it possible

team members
to collaborate
byisproviding
a common
vendors,
the OMG
an effort
to include
"whiteboard
tools."
languagethough
that applies
to amakes
multitude
of different
systems.
Essentially,
it enables you to
communicate solutions in a consistent, tool-supported language.
The UML Infrastructure defines the fundamental, low-level, core, bottom-most concepts in
UML;
theUML
infrastructure
is the
a metamodel
that is used
to produce
the rest
of UML.which
The means

Today,
has become
standard method
for modeling
software
systems,
infrastructure
isn't
typically used
by an
end
user, but language
it providesmore
the foundation
for the And
UML
you're probably
confronting
this rich
and
expressive
than ever before.
Superstructure.
even though you may not write UML diagrams yourself, you'll still need to interpret
diagrams written by others.
The UML Superstructure is the formal definition of the elements of UML, and it weighs in at
over
pages.
This isfrom
the authority

on all
thatpain.
is UML,
least
as farfor
as professionals
the OMG is like
UML 600
2.0 in
a Nutshell
O'Reilly feels
your
It's at
been
crafted
concerned.
The read,
superstructure
documentation
is typically
usedexpressed
by tool vendors
and those
you who must
create, and
understand system
artifacts
using UML.
writing
books on

some effort
hasversion
been made
make
it human readable.
Furthermore,
it'sUML,
beenthough
fully revised
to cover
2.0 oftothe
language.

The OCL specification defines a simple language for writing constraints and expressions for
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
elements in a model. The OCL is often brought into play when you specify UML for a particular
types, it also explains key concepts in a way that appeals to readers already familiar with
domain and need to restrict the allowable values for a parameter or object. Appendix B is an
UML or object-oriented programming concepts.
overview of the OCL.

Topics include:
It is important to realize that while the specification is the definitive source of the formal
definition of UML, it is by no means the be-all and end-all of UML. UML is designed to be
extended
depending
on the domain, user, and specific application. There is
The and
role interpreted
and value of

UML in projects
enough wiggle room in the specification to fit a data center through it... this is intentional. For
example,
are typically
two or more
ways
to represent
a UML concept depending on what
The there
object-oriented
paradigm
and its
relation
to the UML
looks best in your diagram or what part of a concept you wish to emphasize. You may choose
to represent
a particular
element
using
an in-house notation; this is perfectly acceptable as
An integrated
approach
to UML
diagrams
far as UML is concerned. However, you must be careful when using nonstandard notation
Class
Object,
Usefor
Case,
Sequence,

Collaboration,
Activity, Component,
because
partand
of the
reason
using
UML in the
first place is Statechart,
to have a common
and Deployment
Diagrams with other users.
representation
when collaborating
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
1.5. Putting
UML to Work
...............................................
Publisher:O'Reilly
Pub Date: June 2005

ISBN:0-596-00795-7
A UML model provides
a view of a systemoften just one of many views needed to actually
Pages:
build or document
the234
complete system. Users new to UML can fall into the trap of trying to

model everything about their system with a single diagram and end up missing critical
information. Or, at the other extreme, they may try to incorporate every possible UML
Table of Contents
Index model, thereby overcomplicating things and creating a maintenance
diagram
into |their
nightmare.
Becoming
proficient have
with UML
understanding
what
each diagram
hasvisualize,
to offer and
System developers
usedmeans
modeling
languages for
decades
to specify,
knowing

when
to
apply
it.
There
will
be
many
times
when
a
concept
could
be
expressed
construct, and document systems. The Unified Modeling Language (UML) is one
of thoseusing
any
number UML
of diagrams;
the one(s)
that
will mean
most to by
your
users. a common
languages.
makes it pick
possible
for team

members
to the
collaborate
providing
language that applies to a multitude of different systems. Essentially, it enables you to
Each
chapter ofsolutions
this book
a type
of diagram and
gives examples of its use. There
communicate
indescribes
a consistent,
tool-supported
language.
are times when you may need to have more than one diagram to capture all the relevant
details
a single
part of the
your
system.method
For example,
you may
need asystems,
statechart
diagram
to
Today,for
UML

has become
standard
for modeling
software
which
means
show
how
an embedded
controller
processes
input from
a user more
as well
as aever
timing
diagram
you're
probably
confronting
this rich
and expressive
language
than
before.
And to
show
the you
controller
interacts

withdiagrams
the rest of
the system
a result
of that
input.
even how
though
may not
write UML
yourself,
you'llasstill
need to
interpret

diagrams written by others.
You should also consider your audience when creating models. A test engineer may not care
about the low-level implementation (sequence diagram) of a component, only the external
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
interfaces it offers (component diagram). Be sure to consider who will be using each diagram
you who must read, create, and understand system artifacts expressed using UML.
you produce and make it meaningful to that person.
Furthermore, it's been fully revised to cover version 2.0 of the language.
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram

types, itUML
also explains
key concepts in a way that appeals to readers already familiar with
1.5.1.
Profiles

UML or object-oriented programming concepts.

Topics
include:
In
addition
to a variety of diagram types, UML is designed to be extended. You can informally
extend UML by adding constraints, stereotypes, tagged values, and notes to your models, or
you can use the formal UML extension and define a full UML profile . A UML profile is a
The of
role
and value and
of UML
in projects
collection
stereotypes
constraints
on elements that map the otherwise generic UML to
a specific problem domain or implementation. For example, there are profiles for CORBA,
The object-oriented paradigm and its relation to the UML
Enterprise Application Integration (EAI), fault tolerance, database modeling, and testing. See
Chapter
for moreapproach
information
on UML
2.0 Profiles.
An11
integrated
to UML
diagrams

Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


www.it-ebooks.info

UML 2.0 in a Nutshell
ByDan Pilone,Neil Pitman
1.6. Modeling
...............................................
Publisher:O'Reilly
Pub Date:
June
2005
It should go without
saying
that
the focus of UML is modeling. However, what that means,
0-596-00795-7
exactly, can be ISBN:
an open-ended
question. Modeling is a means to capture ideas, relationships,
Pages:234
decisions, and requirements
in a well-defined notation that can be applied to many different

domains. Modeling not only means different things to different people, but also it can use
different pieces of UML depending on what you are trying to convey.
Table of Contents | Index

In general a UML model is made up of one or more diagrams . A diagram graphically
represents things, and the relationships between these things. These things can be
representations
of real-world
pure
softwarefor
constructs,
or specify,
a description
of the
System developers
have usedobjects,
modeling
languages
decades to
visualize,
behavior
of and
some
other object.
It is The
common
forModeling
an individual
thing (UML)
to show

construct,
document
systems.
Unified
Language
is up
oneon
ofmultiple
those
diagrams;
a particular
interest,
or view , of by
theproviding
thing being
modeled.
languages.each
UMLdiagram
makes itrepresents
possible for
team members
to collaborate
a common
language that applies to a multitude of different systems. Essentially, it enables you to
communicate solutions in a consistent, tool-supported language.

1.6.1. Diagrams

Today, UML has become the standard method for modeling software systems, which means
you're probably confronting this rich and expressive language more than ever before. And

even though you may not write UML diagrams yourself, you'll still need to interpret
UML 2.0 divides diagrams into two categories: structural diagrams and behavioral diagrams .
diagrams written by others.
Structural diagrams are used to capture the physical organization of the things in your
systemi.e., how one object relates to another. There are several structural diagrams in UML
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
2.0:
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
This comprehensive
new edition not only provides a quick-reference to all UML 2.0 diagram
Class
diagrams
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or
object-oriented
concepts. to capture details about the entities that
Class
diagrams useprogramming
classes and interfaces
make up your system and the static relationships between them. Class diagrams are
Topicsone
include:
of the most commonly used UML diagrams, and they vary in detail from fully
fleshed-out and able to generate source code to quick sketches on whiteboards and
napkins. Class diagrams are discussed in Chapter 2.
The role and value of UML in projects
The object-oriented
paradigm and its relation to the UML
Component

diagrams
An integrated
approach
to UML
Component
diagrams
show
the diagrams
organization and dependencies involved in the
implementation of a system. They can group smaller elements, such as classes, into
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
larger, deployable pieces. How much detail you use in component diagrams varies
and Deployment Diagrams
depending on what you are trying to show. Some people simply show the final,
deployable
version of a system, and others show what functionality is provided by a
Extension Mechanisms
particular component and how it realizes its functionality internally. Component
diagrams
discussedLanguage
in Chapter
5.
The Objectare
Constraint
(OCL)
Composite structure diagrams
If you're new to UML, a tutorial with realistic examples has even been included to help you
Composite
structure
new to UML 2.0. As systems become more complex,

quickly
familiarize
yourselfdiagrams
with the are
system.
the relationships between elements grow in complexity as well. Conceptually, composite
structure diagrams link class diagrams and component diagrams; they don't emphasize
the design detail that class diagrams do or the implementation detail that composite
structures do. Instead, composite structures show how elements in the system combine
to realize complex patterns. Composite structures are discussed in Chapter 4.


www.it-ebooks.info

Deployment diagrams
UML 2.0 in a Nutshell

Deployment
diagrams
ByDan
Pilone,Neilshow
Pitmanhow your system is actually executed and assigned to
various pieces
of hardware. You typically use deployment diagrams to show how
...............................................
components
are configured
at runtime. Deployment diagrams are discussed in Chapter
Publisher:
O'Reilly

6.
Pub Date: June 2005
ISBN:0-596-00795-7
Pages:234

Package diagrams
Package
diagrams
Table of Contents
| Index

are really special types of class diagrams. They use the same
notation but their focus is on how classes and interfaces are grouped together. Package
diagrams are discussed in Chapter 3.

System developers have used modeling languages for decades to specify, visualize,
construct, and document systems. The Unified Modeling Language (UML) is one of those
Object diagrams
languages. UML makes it possible for team members to collaborate by providing a common
language
that
applies to
a the
multitude
of different
systems.
Essentially,
it enables
youinstances
to

Object
diagrams
use
same syntax
as class
diagrams
and show
how actual
communicate
solutions
in
a
consistent,
tool-supported
language.
of classes are related at a specific instance of time. You use object diagrams to show
snapshots of the relationships in your system at runtime. Object diagrams are discussed
Today,
become
the standard
method
asUML
parthas
of class
diagrams
in Chapter
2. for modeling software systems, which means
you're probably confronting this rich and expressive language more than ever before. And
even though
you may

not on
write
diagrams
yourself,inyou'll
still need
interpret
Behavioral
diagrams
focus
theUML
behavior
of elements
a system.
For to
example,
you can use
diagrams
written
by
others.
behavioral diagrams to capture requirements, operations, and internal state changes for
elements. The behavioral diagrams are:
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.
Activity diagrams
This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram
capture
the flow
one appeals

behaviortoorreaders
activity already
, to the familiar
next. They
types,Activity
it also diagrams
explains key
concepts
in a from
way that
withare
similar
in concept to
a classic flowchart,
but are much more expressive. Activity
UML or
object-oriented
programming
concepts.
diagrams are discussed in Chapter 9.
Topics include:
Communication diagrams
The role and value of UML in projects
Communication diagrams are a type of interaction diagram that focuses on the
The object-oriented
andbehavior
its relation
the messages
UML
elements

involved inparadigm
a particular
andtowhat
they pass back and
forth. Communication diagrams emphasize the objects involved more than the order
An integrated
approach
to UML
diagramsCommunication diagrams are discussed as part
and
nature of the
messages
exchanged.
of interaction diagrams in Chapter 10.
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Interaction overview diagrams
Extension Mechanisms
Interaction overview diagrams are simplified versions of activity diagrams. Instead of
The Object Constraint
Language
emphasizing
the activity
at each (OCL)
step, interaction overview diagrams emphasize which
element or elements are involved in performing that activity. The UML specification
describes interaction diagrams as emphasizing who has the focus of control throughout
the execution of a system. Interaction overview diagrams are discussed as part of
If you're new to UML, a tutorial with realistic examples has even been included to help you
interaction diagrams in Chapter 10.

quickly familiarize yourself with the system.
Sequence diagrams
Sequence diagrams are a type of interaction diagram that emphasize the type and
order of messages passed between elements during execution. Sequence diagrams are


www.it-ebooks.info

the most common type of interaction diagram and are very intuitive to new users of
UML. Sequence diagrams are discussed as part of interaction diagrams in Chapter 10.
UML 2.0 in a Nutshell

State machine diagrams
ByDan Pilone,Neil Pitman
...............................................

State machine
diagrams
Publisher:
O'Reillycapture the internal state transitions of an element. The
element could
be as
small
as a single class or as large as the entire system. State
Pub Date:
June
2005
machine diagrams
are commonly used to model embedded systems and protocol
ISBN:0-596-00795-7

Pages:
specifications
or234
implementations. State machine diagrams are discussed in Chapter 8.

Timing
diagrams
Table of Contents
| Index
Timing diagrams are a type of interaction diagram that emphasize detailed timing
specifications
messages.
They are
often used
to modelto
real-time
System
developers for
have
used modeling
languages
for decades
specify, systems
visualize,such as
satellite
communication
or
hardware
handshaking.
They

have
specific
to
construct, and document systems. The Unified Modeling Language (UML) is notation
one of those
indicate
how
long a
process
or respond
to messages,
and howa external
languages.
UML
makes
it system
possiblehas
for to
team
members
to collaborate
by providing
common
interruptions
are to
factored
into execution.
diagrams
are discussed
asyou

parttoof
language
that applies
a multitude
of differentTiming
systems.
Essentially,
it enables
interaction
diagrams
in
Chapter
10.
communicate solutions in a consistent, tool-supported language.

Today, UML has become the standard method for modeling software systems, which means
Use case diagrams
you're probably confronting this rich and expressive language more than ever before. And
even Use
though
may not
write UML
diagrams
yourself, you'll
needThey
to interpret
caseyou
diagrams
capture
functional

requirements
for a still
system.
provide an
diagrams
written
by
others.
implementation-independent view of what a system is supposed to do and allow the
modeler to focus on user needs rather than realization details. Use case diagrams are
UML 2.0
in a Nutshell
from7.
O'Reilly feels your pain. It's been crafted for professionals like
discussed
in Chapter
you who must read, create, and understand system artifacts expressed using UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.

1.6.2.
Views
This comprehensive
new edition not only provides a quick-reference to all UML 2.0 diagram
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.
While not strictly part of UML itself, the concept of views of a system helps the modeler
choose
Topics diagrams
include: that help convey the correct information depending on his goals.
Specifically, models are often divided into what is called the 4+1 views of a system. The 4+1

notation represents four distinct views of a system and one overview of how everything fits
The The
rolefour
and views
value are:
of UML in projects
together.
The object-oriented paradigm and its relation to the UML
integrated approach to UML diagrams
DesignAn
view
Classdesign
and Object,
Use Case,
Collaboration,
Statechart,
The
view captures
theSequence,
classes, interfaces,
and patterns
thatActivity,
describeComponent,
the
and Deployment
representation
of Diagrams
the problem domain and how the software will be built to address it.
The design view almost always uses class diagrams, object diagrams, activity diagrams,
Extension Mechanisms

composite
structure diagrams, and sequence diagrams to convey the design of a
system. The design view typically doesn't address how the system will be implemented
The Object Constraint Language (OCL)
or executed.

Deployment view
If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.
The deployment view captures how a system is configured, installed, and executed. It
often consists of component diagrams, deployment diagrams, and interaction diagrams.
The deployment view captures how the physical layout of the hardware communicates
to execute the system, and can be used to show failover, redundancy, and network
topology.


www.it-ebooks.info

Implementation view
The implementation
view emphasizes the components, files, and resources used by a
UML 2.0 in a Nutshell
system. Typically
the
implementation view focuses on the configuration management of
ByDan Pilone,Neil Pitman
a system; what components depend on what, what source files implement what classes,
...............................................
etc. Implementation
views almost always use one or more component diagrams and

Publisher:O'Reilly
may include
diagrams, statechart diagrams, and composite structure
Pub interaction
Date: June 2005
diagrams.ISBN:0-596-00795-7
Pages:234

Process view
Table of Contents | Index

The process view of a system is intended to capture concurrency, performance, and
scalability information. Process views often use some form of interaction diagrams and
activity diagrams to show how a system actually behaves at runtime.
System developers have used modeling languages for decades to specify, visualize,
construct,
and document
Thebrought
Unified Modeling
Language
(UML)
is one of those
The
four distinct
views of asystems.
system are
together with
the final
view:
languages. UML makes it possible for team members to collaborate by providing a common

language that applies to a multitude of different systems. Essentially, it enables you to
communicate solutions in a consistent, tool-supported language.
Use case view
Today, UML has become the standard method for modeling software systems, which means
use case
view captures
the and
functionality
required
by the
end
users.
concept
you'reThe
probably
confronting
this rich
expressive
language
more
than
everThe
before.
Andof
users
is may
deliberately
broad
the use yourself,
case view;

theystill
include
primary
even end
though
you
not write
UML in
diagrams
you'll
need the
to interpret
stakeholders,
system administrator, the testers, and potentially the developers
diagrams
written bythe
others.
themselves. The use case view is often broken down into collaborations that link a use
case
one or from
moreO'Reilly
of the four
Thebeen
use case
view
use case
UML 2.0
in with
a Nutshell
feelsbasic

yourviews.
pain. It's
crafted
forincludes
professionals
like
diagrams
and typically
usesunderstand
several interaction
diagramsexpressed
to show use
case
details.
you who
must read,
create, and
system artifacts
using
UML.
Furthermore, it's been fully revised to cover version 2.0 of the language.

This comprehensive
new edition not only provides a quick-reference to all UML 2.0 diagram
1.6.3.
Notes
types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.

UML provides a catchall element, or note, for adding information to your diagram. The note

Topics include:
symbol is a dog-eared rectangle with an optional dashed line to link it to some element.
Figure 1-1 shows a simple note.

The role and value of UML in projects
The object-oriented paradigm and its relation to the UML

Figure 1-1. A simple note
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
In
general,
you canyourself
use notes
to the
capture
just about anything in your diagram. Notes are often
quickly
familiarize
with
system.
used to express additional information that either doesn't have its own notation or would
clutter a diagram if you drew it right on the element. Some tools allow you to embed URL
links in notes, providing an easy way to navigate from one diagram to the next, or to HTML
documents, etc.



www.it-ebooks.info

1.6.4. Classifiers and Adornments
UML 2.0
in a Nutshell
The basic modeling
element
in UML is the classifier . A classifier represents a group of things
with common properties.
at the level of classifier, we are discussing UML itself,
ByDan Pilone,Remember,
Neil Pitman
not a particular ...............................................
system. So, when we say a class is a classifier, we mean that classes are
things that havePublisher:
common
properties: methods, attributes, exceptions, visibility, etc. A specific
O'Reilly
class, such as Automobile
, isn't
a UML classifier; it's an instance of a classifier, or a class.
Pub Date: June
2005
ISBN:0-596-00795-7
Pages:234

Table of Contents


For the truly self-abusing, this is a glimpse into the UML meta-model .
The full metamodel is quite complex and begins with the UML
| Index
infrastructure specification.

System developers have used modeling languages for decades to specify, visualize,
document
systems.
The Unified
Language
is one of to
those
Aconstruct,
classifier'sand
generic
notation
is a rectangle
thatModeling
can be divided
into (UML)
compartments
show
languages. UML makes
it possible
team members
to collaborate
providingHowever,
a common
classifier-specific
information,

such for
as operations,
attributes,
or stateby
activities.
language
appliessuch
to aas
multitude
of different
systems.
Essentially,
it enables
youtotohelp
many
UML that
classifiers
states, activities,
objects,
etc.,
have custom
notations
communicate
solutions
in a consistent, tool-supported language.
distinguish
them
visually.
AToday,
classifier

can
have
several
of extra
information
attached
to it via
a UML which
mechanism
UML
has
become
thetypes
standard
method
for modeling
software
systems,
means
called
adornments
. For example,
can have restrictions
placed
onever
the values
you're
probably confronting
this classifiers
rich and expressive

language more
than
before.aAnd
feature
of the you
classifier
canwrite
take.UML
In general,
constraints
written
neartothe
classifier or in an
even though
may not
diagrams
yourself, are
you'll
still need
interpret
attached
Seeby
the
specific diagram types for details on what notation to use for a
diagramsnote.
written
others.
constraint when writing it near the classifier.
UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like
Another

of read,
adornment
a stereotype
. Just
as you
would expressed
expect, a stereotype
you whotype
must
create,isand
understand
system
artifacts
using UML.is intended
to
give the reader
a general
of what
a particular
classifier
Furthermore,
it's been
fully idea
revised
to cover
version 2.0
of therepresents.
language. Stereotypes are
usually associated with implementation concepts, such as «TRansactional» or «singleton»,
though

that isn't required
by the UML
specification.
This comprehensive
new edition
not only
provides a quick-reference to all UML 2.0 diagram

types, it also explains key concepts in a way that appeals to readers already familiar with
UML or object-oriented programming concepts.
Topics include:
The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component,
and Deployment Diagrams
Extension Mechanisms
The Object Constraint Language (OCL)

If you're new to UML, a tutorial with realistic examples has even been included to help you
quickly familiarize yourself with the system.


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×