Unified Modeling Language
Introduction to the modeling world
CSE 307 Presentation 2 (ATP) 1
Introduction
• UML or Unified Modeling Language comes
from Rumbaugh, Booch, and Jacobson (the
three amigos) who combined efforts to
standardize on one modeling language
• This is primarily a graphical communication
mechanism for developers and customers
• We will learn some, but not all, of the UML
– it is very complex, few understand all of it
CSE 307 Presentation 2 (ATP) 2
What is a model ?
• A model
ode iss a simplification
s p ca o of o reality.
ea y
• Model provides a blueprint of a system
• When yyou make a model yyou are makingg a mapping
pp g
from the problem domain to a representation of the
system you are modeling.
Reality
System
CSE 307 Presentation 2 (ATP) 3
Principles of modeling
• Principle
p 1: “ The choice of what models to create has a
profound influence on how the problem is attacked and the
solution is shaped. ”
• Principle
P i i l 2:2 “ Every
E model
d l may b
be expressed
d att diff
differentt level
l l
of precision. ”
• Principle
p 3: “ The best models are connected to reality.
y ”
• Principle 4: “ No single model is sufficient. ”
CSE 307 Presentation 2 (ATP) 4
Why UML ?
• UML is a Language for
– Visualizing
– Specifying
– Constructing
– Documenting
D ti
CSE 307 Presentation 2 (ATP) 5
UML is a Language
• A language provides a vocabulary and some
rules for combining words in the vocabulary.
• The vocabulary and rules of modeling
language focuses on the conceptual and
physical representation of a system.
system
• For modeling language the notations are their
vocabulary
b l and
d there
h are some predefined
d fi d
rules for using them.
CSE 307 Presentation 2 (ATP) 6
UML is a language for Visualizing
• Most of us when given a programming problem, we just think it and
we coded it
it.
• Still we are doing some modeling
– but mentally
• However
H th
there are severall problems
bl with
ith thi
this
– Communication is harder.
– Hard to reconstruct.
– Some important property of the s/w can sometimes be skipped.
skipped
• Modeling can be
– Textual
– Graphical
• Since UML has some well defined notations and semantics so any
designer can visualize the system.
CSE 307 Presentation 2 (ATP) 7
UML is a language for Specifying
• Specifying means building a model that is
– Precise
– Unambiguous
g
– Complete
• UML addresses the specification of all the
important decision of
– Analysis
y
– Design
– Implementation
CSE 307 Presentation 2 (ATP) 8
UML is a language for Constructing
• UML is not a pprogramming
g g language.
g g
• But it can be directly used to construct code in
variety of languages.
• UML expresses the things graphically while
programming language expresses the things
textually.
• Forward engineering : Construction of a code
from a model.
• Reverse Engineering : Reconstruction of the
model from the code itself.
CSE 307 Presentation 2 (ATP) 9
UML is a language for Documenting
• Thee following
o o g docu
documents
e ts sshould
ou d aalso
so be
maintained by s/w developers
– Requirement
– Architecture
– Design
– S
Source code
d
– Project plan
– Tests
– Prototype
– Releases
CSE 307 Presentation 2 (ATP) 10
Where can we use UML ?
• Enterprise
p information system
y
• Banking and financial services
• Telecommunication
• Transportation
• Defense/ aerospace
• Retail
• Medical electronics
• S i ifi
Scientific
• Distributed web‐based services
CSE 307 Presentation 2 (ATP) 11
Conceptual Model
• Building blocks
– Things
– Relationships
p
– Diagrams
• Things are the abstractions that are the first
class citizens in a model.
• Relationship ties things together.
• Diagram groups interesting collection of
t gs
things.
CSE 307 Presentation 2 (ATP) 12
Things
• Four kinds of things are in UML
– Structural things
– Behavioral things
– Grouping Things
– Annotational
A t ti l thi
things
CSE 307 Presentation 2 (ATP) 13
Structural Things
• These are the nouns in UML.
UML
• Mostly there are seven kind of structural thing
– Class
Cl ‐ Set
S t off objects
bj t sharing
h i same attribute,
tt ib t
operations, relationship and semantics.
ClassName
attributes
operations
– Interface‐ A collection of operations.
Interface
CSE 307 Presentation 2 (ATP) 14
Structural Things
– Collaboration
Collaboration‐ defines an interaction and a society
of roles and other elements that works together
to provide cooperative behavior.
Chain of
responsibility
Collaborations
– Use case‐ A description of set of sequence of
action
action.
Use case name
Use case
CSE 307 Presentation 2 (ATP) 15
Structural Things
– Active Class
Class‐ A class whose object owns a process
or a thread. ClassName
attributes
operations
Active Class
– Components‐ A physical and replaceable part of a
system.
y
name
Component
CSE 307 Presentation 2 (ATP) 16
Structural Things
– Server
Server‐ A node with some memory and processing
capability.
Name
Server
CSE 307 Presentation 2 (ATP) 17
Behavioral Things
• Dynamic
y a c part
pa of
o a model
ode
• Acts as the verb of the model
• Two kinds of behavioral things
g are present‐
p
– Interaction ‐ massage, action sequence, links etc.
display
Message
– State machine‐
machine states,
states events
events, transitions
Waiting
S
States
CSE 307 Presentation 2 (ATP) 18
Grouping Things
• Organizational part of UML
UML.
• One kind of grouping things are available in
UML
– Packages‐ General purpose mechanism for
organizing.
organizing
P k
Package name
Package
CSE 307 Presentation 2 (ATP) 19
Annotational Things
• Explanatory part of UML
UML.
• Usually notes are used.
CSE 307 Presentation 2 (ATP) 20
Relationships
• Dependencies‐
Dependencies Directed to the things being
depended on.
Dependencies
• Association‐ Connections between objects.
0..1 *
Associations
• Generalization‐
Generalization
CSE 307 Presentation 2 (ATP) 21
Relationship
• Realization‐
Realization Used in the context of interface
and collaborations.
Realization ?????
????
CSE 307 Presentation 2 (ATP) 22
Diagrams
• Class Diagram
g
• Object Diagram
• Use case Diagram
• Sequence Diagram
• Collaboration Diagram
• State chart Diagram
• Activity Diagram
• C
Component Di
Diagram
• Deployment Diagram
CSE 307 Presentation 2 (ATP) 23
Common Mechanism in UML
• adornments : Transaction
+ execute()
+ rollback()
# priority()
‐ timestamp()
Adornments
• Common Divisions: Jan: Customer
: Customer
Elyse
CSE 307 Presentation 2 (ATP) 24
Common Mechanism in UML
• Extensibility Mechanism:
– Stereotype
– Tagged Values EventQueue
– Constraints {version = 3.2}
<<exception>>
Overflow
add() {ordered}
remove()
flush()
CSE 307 Presentation 2 (ATP) 25
Reference
• UML user Guide
– Chapter 1,2
CSE 307 Presentation 2 (ATP) 26