SDA-6 lecture number 6
SDA-6 lecture number 6
http://www.uml-diagrams.org/uml-25-diagrams.html
1
Overview
• What is UML?
• A brief history of UML and its origins.
• UML diagrams (Version 2.5)
• UML Modeling tools
• References
2
UML: Unified Modeling Language
• An industry-standard graphical language for
specifying, visualizing, constructing, and
documenting the artifacts of software systems,
as well as for business modeling.
Booch ’91
(OOD) Rumbaugh's
OMT - 1
5
Three Amigos.
6
Structure diagram shows static structure of the system and its
parts on different abstraction and implementation levels and
how those parts are related to each other.
Structure diagrams are not utilizing time related concepts, do
not show the details of dynamic behavior.
STRUCTURE DIAGRAMS
7
Class diagram
• A static structure diagram which describes
structure of a system at the level
of classifiers (classes, interfaces, etc.).
• It shows some classifiers of the system,
subsystem or component, different relationships
between classifiers, their attributes, operations
and constraints.
• Some common types of class diagrams are:
– domain model diagram,
– System model diagram of implementation classes.
8
Package Diagram
• Package diagram is UML structure
diagram which shows structure of the
designed system at the level of packages.
• The following elements are typically drawn
in a package diagram:
– package, packageable element,
dependency, element import, package
import, package merge.
9
Package Diagram
10
Composite Structure Diagrams
Composite Structure Diagram could be used to show:
• internal structure of a classifier - internal
structure diagram,
• classifier interactions with environment
through ports,
• a behavior of a collaboration - collaboration use
diagram.
The term "structure" for this type of diagrams is
defined in UML as a composition of interconnected
elements, representing run-time instances
collaborating over communications links to achieve
some common objectives.
11
Collaboration Use Diagram
12
Network architecture diagrams
13
Behavior diagrams show the dynamic behavior of the objects in
a system, which can be described as a series of changes to the
system over time
BEHAVIOR DIAGRAMS
14
Use Case Diagram
• Use case diagrams are in fact twofold:
– they are both behavior diagrams, because they describe
behavior of the system describe a set of actions (use
cases) that some system or systems (subject) should or
can perform in collaboration with one or more external
users of the system (actors), and
– they are also structure diagrams - as a special case of
class diagrams where classifiers are restricted to be
either actors or use cases related to each other
with associations.
• UML 2.5 Specification moved use cases out of
behavior modeling to UML supplementary
concepts.
• Two kinds: Business use case and system use case
15
Business Use Case Diagrams
16
Business Use Case Diagrams
17
System Use Case Diagram
18
Information Flow Diagrams
• Information flow diagram is UML behavior
diagram which shows exchange of information
between system entities at some high levels of
abstraction.
• Information flows may be useful to describe
circulation of information through a system by
representing aspects of models not yet fully
specified or with less details. Useful for
architectural modeling.
• Information flows do not specify the nature of the
information, mechanisms by which it is conveyed,
sequences of exchange, or any control conditions.
19
Information Flow Diagrams
20
Activity Diagrams
• Activity diagram is UML behavior diagram which
shows flow of control or object flow with
emphasis on the sequence and conditions of the
flow.
• The actions coordinated by activity models can be
initiated because other actions finish executing,
because objects and data become available, or
because some events external to the flow occur.
• The following nodes and edges are typically drawn
on UML activity diagrams:
– activity, partition, action, object, control, activity edge.
21
Business Flow - Process Order Example
22
State Machine Diagrams
• State machine diagram is a behavior
diagram which shows discrete behavior of a part
of designed system through finite state
transitions.
• State machine diagrams can also be used to
express the usage protocol of part of a system.
• Two kinds of state machines defined in UML
2.4 are:
– behavioral state machine, and
– protocol state machine.
• Behavioral state machine is subclassed by
protocol state machine
23
Behavioral state machine diagram
Example - Bank ATM
24
Interaction diagrams
25
Sequence Diagrams
• Sequence diagram is the most common kind
of interaction diagram, which focuses on
the message interchange between a number
of lifelines.
• Sequence diagram describes an interaction by
focusing on the sequence of messages that are
exchanged, along with their corresponding
occurrence specifications on the lifelines.
• The following nodes and edges are typically drawn
in a UML sequence diagram:
– lifeline, execution specification, message, combined
fragment, interaction use, state invariant continuation
destruction occurrence.
26
Communication Diagrams
27
Communication Diagrams
28
Communication Diagram
Example
Timing Diagrams
30
Timing Diagrams
• Timing Diagram Example - Stages of Alzheimer’s
Disease
31
Each UML diagram has a contents area.
As an option, some diagrams may also have a frame (shown as
rectangle) with frame heading.
32
UML Modeling Tools
• Rational Rose (www.rational.com) by IBM
• UML Studio 7.1 ( http://www.pragsoft.com/) by
Pragsoft Corporation
Capable of handling very large models (tens of
thousands of classes). Educational License US$ 125.00;
Freeware version.
• Microsoft Visio
• Dia: open source, much like visio.
(http://www.gnome.org/projects/dia/)
• ArgoUML (Open Source; written in java )
(http://www.apple.com/downloads/macosx/development_
tools/argouml.html )
• Others
(http://www.objectsbydesign.com/tools/umltools_byCom
pany.html )
33
Reference
1. UML Distilled: A Brief Guide to the Standard Object Modeling Language
Martin Fowler, Kendall Scott
34
Thank You!
35