34
The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

Embed Size (px)

Citation preview

Page 1: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

The Unified Modeling Language (UML)

A Standard Graphical Modeling Notation

Eddie Roache

Page 2: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 2

Outline

Why Use UML History UML Characteristics Diagram Types Use Case Diagrams Class Diagrams

Page 3: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 3

Why Use UML?

Help analyze complex domains Help design complex systems Visualize analysis and design artifacts Clearly document development artifacts Is simple, yet expressive Can be applied to different processes

Page 4: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 4

Some UML Examples

Shape

SplineEllipsePolygon

Shape

SplineEllipsePolygon

Shared Target Style

Separate Target Style

. . .

. . .

Source: OMG, Unified Modeling Language Specification, version 1.5. March 2003

Page 5: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 5

Some UML Examples

Source: OMG, Unified Modeling Language Specification, version 1.5. March 2003

Polygon PointContains

{ordered}

3..1

GraphicsBundle

colortexturedensity

1

1

-bundle

+points

Page 6: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 6

Some UML Examples

additional requests :

OrderProduct

SupplyArrange

«include»«include»«include»

RequestCatalog

«extend»Extension points

PaymentCustomer Data

after creation of the order

Place Order

1 * the salesperson asks forthe catalog

Source: OMG, Unified Modeling Language Specification, version 1.5. March 2003

Page 7: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 7

History

OO takes a foothold New OO modeling notations spring up Three amigos get together

Grady Booch Ivar Jacobson James Rumbaugh

UML 0.8 is born

Page 8: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 8

UML Characteristics

Unified Modeling Language Standard graphical modeling notation Supported by formal semantics Current version: 2.0 Wide use and acceptance in the IT industry Large tool support

Rational Rose, Together, Visio, Jude, … … although no tool fully supports the standard

Is not a process Process independent

Page 9: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 9

Diagram Types

Structure diagrams Class diagram Object diagram Component diagram Deployment diagram Package diagram Composite Structure diagram

Behavior diagrams Use Case diagram Interaction diagrams

Sequence diagram Interaction Overview diagram Communications diagram Timing diagram

State Machine diagram Activity diagram

Page 10: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 10

Diagram Types

Source: OMG, Unified Modeling Language: Superstructure Specification, version 2.0. August 2005

Page 11: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 11

Use Case Diagrams

Model user interaction with system Capture functional requirements Also used for

business modeling component specification

UML Spec does not include Use Case Specs

Page 12: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 12

Use Case Definition

“A use case specifies a sequence of actions, including variants, that the system can perform and that yields an observable result of value to a particular actor.”

“The Unified Software Development Process”, Ivar Jacobsen*, Grady Booch, Jim Rumbaugh

*Author of “Object-Oriented Software Engineering: A Use Case Driven Approach”

Page 13: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 13

Use Case Specification

Name: Create AddressEntry

Description: This use case allows the actor to create a new entry for an Address Book.

Preconditions:

1. An Address Book is open.

Steps:

1. The actor requests to create a new AddressEntry.

2. The system creates a new AddressEntry and returns it to the actor.

Post Conditions:

1. An Address Book Entry is created.

See “Writing Effective Use Cases” and “http://alistair.cockburn.us/usecases/usecases.html”

Page 14: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 14

Use Case Diagrams

ActorUse CaseAssociationDependency

extend include

GeneralizationNote (Comment)

Close AddressBook

<<extend>>

<<include>>

<<Actor>>

This is a note.

Page 15: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 15

Address Book Example

The Address Book System provides distributed access to a set of address books. An Address Book is made up of Address Book Entries An Address Book Entry contains a name, street

address, phone number, email address The Address Book System shall:

allow users to create, view, delete, and save address books

allow users to create, modify, and delete entries in an address book

Page 16: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 16

AddressBook System

Use Case Diagram

View AddressBook

AddressBook User

Create AddressBook

Delete AddressBook

Page 17: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 17

Use Case Diagram

View AddressBook

Add New Address

Update AddressDelete Address

Save AddressBook

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Address Book User

Close AddressBook

Create AddressEntry

Add AddressEntry

<<include>>

<<include>>

<<extend>>

Create PersonAddressEntry Create OrgAddressEntry

Page 18: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 18

Use Case Diagram

View AddressBook

Add New Address

Update AddressDelete AddressEntry

Save AddressBook

Address Book User

Close AddressBook

Create AddressEntry

Add AddressEntry

<<include>>

<<include>>

Create PersonAddressEntry Create OrgAddressEntry

All dependencies are extend unless stereotyped otherwise

Page 19: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 19

Class Diagrams

Model system classes, interfaces, and class relationships

Capture structural (vs. behavioral) info Used for

business domain modeling logical design implementation design

Page 20: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 20

Class Diagrams

ClassAbstract ClassClass with Attributes and Operations

AddressBook

AddressBook

AddressBook

-id+name+phone

+getName()+getPhone()

Page 21: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 21

Class Diagrams

DependencyAssociationNavigabilityAggregationCompositionGeneralization

Page 22: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 22

Class Diagrams

MultiplicityConstraintRoleNameDirectionalityNesting

1..2 *

{ordered}

*

+entry

has

displays

Page 23: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 23

Class Diagrams

StereotypeRealizationRealizationDerived Assoc.Association Class

Note (Comment)

<<Interface>>

This is a note.

/entry

<<Entity>>

Page 24: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 24

Class Model Element

Window

display ()

size: Areavisibility: Boolean

hide ()

Window

Window

+default-size: Rectangle#maximum-size: Rectangle

+create ()

+display ()

+size: Area = (100,100)#visibility: Boolean = invisible

+hide ()

-xptr: XWindow*

-attachXWindow(xwin:Xwindow*)

{abstract,author=Joe,status=tested}

Source: OMG Unified Modeling Language Specification, version 1.5. March 2003

Page 25: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 25

Class Model Element

bill no-shows

Reservation

operations

guarantee()cancel ()change (newDate: Date)

responsibilities

match to available rooms

exceptions

invalid credit card

Source: OMG Unified Modeling Language Specification, version 1.5. March 2003

Page 26: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 26

Address Book Domain

AddressBook

AddressEntry*

Party

Person Organization

1 1

Page 27: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 27

Logical Design

AddressBookControllerAddressBookView

AddressBook

Page 28: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 28

Implementation Design

AddressBookController

AddressBook

AddressBookView-addrBookFrame: JFrame-addrList: JList-entryNames: String[]

+show()+update()#createAddrBookFrame(): JFrame

+getEntryNames(): String[]+createNewEntry(): AddressBookEntry~removeEntry()+findEntry(name: String): AddressBookEntry

AddressBookEntry

-name: String

+load()+getEntryNames(): String[]+addEntry()+removeEntry()+findEntry(name: String): AddressBookEntry

#name: String#streetAddress: String#city: String#State: String#Zip: String#phoneNumber: String#emailAddress: String

+toString(): String

* 1

11

1

*

Page 29: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 29

More UML Characteristics

Supported by formal semantics (meta-model) Meta-Object Facility Specification

UML Model Interchange using XML Metadata Interchange (XMI)

Object Constraint Language (OCL) Action Semantics UML Extensions Standard profiles

Page 30: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 30

Tools

Paper and Pencil Any drawing program (preferably vector-based) Rational Rose (and XDE) Together Jude Poseidon ArgoUML StarUML Many others . . .

Page 31: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 31

References

www.omg.org www.uml.org www.rational.com www.martinfowler.com/books.html#uml www.oreilly.com/catalog/umlnut/ www.oreilly.com/catalog/umlpr/ www.oreilly.com/catalog/learnuml/ http://www.ambysoft.com/elementsUMLStyle.html The Unified Modeling Language User Guide The Unified Modeling Language Reference Manual http://alistair.cockburn.us/usecases/usecases.html

Page 32: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

Questions

Page 33: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 33

Class Diagram

Fruit

Apple Orange Pear

Granny Smith Red Delicious Rome

Seed*

Page 34: The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

v1.2Copyright © 2003-2006 Eddie Roache. All rights reserved. 34

Class Diagram

Source: OMG, Unified Modeling Language: Superstructure Specification, version 2.0. August 2005