0% found this document useful (0 votes)
176 views23 pages

UML Diagrams: A Tool For Presentation of Architecture

UML (Unified Modeling Language) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. It provides graphical notation techniques to create visual models of object-oriented software-intensive systems. UML offers a variety of diagram types to depict different views of a system, such as use case, class, sequence, and state diagrams. While UML was created in the 1990s, it has become widely used for communication between developers and stakeholders.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
176 views23 pages

UML Diagrams: A Tool For Presentation of Architecture

UML (Unified Modeling Language) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. It provides graphical notation techniques to create visual models of object-oriented software-intensive systems. UML offers a variety of diagram types to depict different views of a system, such as use case, class, sequence, and state diagrams. While UML was created in the 1990s, it has become widely used for communication between developers and stakeholders.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 23

UML Diagrams

A tool for presentation of


Architecture
UML origins
80’s and early 90’s – explosion of modeling
methods and notations
Not to mention competition among
methods people
The “three amigos” (Booch, Jacobson,
Rumbaugh) were working on the UML by
1996
OMG issued UML 1.3 in March, 2000
UML is
Language
 Good for communication
 Standardization is essential
 Mostly graphical
 Example: used everywhere in Fowler
NOT method
 You can use any design method you like to
create UML diagrams
 Standardization can be helpful, but is not
so important
More precise, less precise …
UML
Usefulness in design

Natural
language

Code

Precision
UML diagram types
Static diagrams
 Use case
 Class
Dynamic diagrams
 Object
 State
 Activity
 Collaboration
 Sequence
Implementation diagrams
 Component
 Deployment
Use Case Diagram Elements

Order Merchandise Order Book

<<include>>

Enter Credit Card


consumer
Check Order Status
Remember:
Use case names should be: the ovals are use cases,
Action-verb + object-phrase NOT use case steps
Use Case Diagram
O-O Diagrams
Class – static relationships
 Inheritance, composition,
association,dependency
Object – dynamic snapshot
 Object relationships at runtime,
processes,threads
Classes

Class name

Attributes

Operations Interface
Relationships

dependency

association

generalization

realization
Class Diagram
Stereotypes
Text in << >> are stereotypes
Stereotypes should be defined in the
project’s glossary.
Examples:
<<interface>> <<transfer object>>
Runnable BankMessage
+ account : long
+ run( ) : void + balance : Money
Behavioral Diagrams
Sequence
 Interaction (for one use case) viewed by time
Collaboration
 Interaction (for one use case) viewed by structure
State Chart
 Internal state of an object (or class) across multiple
use cases
Activity
 Interaction of multiple objects across multiple use
cases (includes concurrent activity)
Sequence diagram
System Sequence diagram
(a way to draw use case steps)
:Customer :Amazon.com :creditCardSvc

Add book to cart

Confirm cart contents

Request checkout

Request authentication

Provide credentials
Present options

Provide credit card


info, shipping options
Validate card

Confirm order

See Larman, Chpt 9 (2nd edition)


Summing up
UML is responsibility-oriented
UML diagrams are a means to an end
OOAD allows many benefits, but does not
guarantee them
UML Usage Guide
Use the diagrams to communicate
Don’t become a slave to the diagrams
What you leave out is as important as what
you put into the diagram!
Highlight important details; leave the rest
out
Rule of thumb: when in doubt, leave it out.
Review question
Why are there so many types of diagrams?
Bonus material
Three levels of class diagrams
Conceptual view
 Boxes are concepts, associations are
associations :-)
 Concepts may or may not correspond to classes
Specification view
 Boxes are interfaces
 Associations imply responsibilities
Implementation view
 Boxes are classes
 Associations imply navigability

Following Fowler, UML Distilled


Behavioral Things

state

message

object
Alice:Employee asynch message
Components and Nodes

component node
System Packaging
Component Diagrams
 Modules and Packaging of software
Deployment
 Physical Layout
 Hardware

You might also like