0% found this document useful (0 votes)
8 views26 pages

1.introduction To UML

The Unified Modeling Language (UML) is a standardized graphical communication tool developed by Rumbaugh, Booch, and Jacobson for modeling systems. It serves various purposes including visualization, specification, construction, and documentation, while emphasizing the importance of creating models that accurately represent reality. UML encompasses different types of elements such as structural, behavioral, grouping, and annotational things, as well as various diagrams to illustrate system components and relationships.

Uploaded by

Towhidul Islam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views26 pages

1.introduction To UML

The Unified Modeling Language (UML) is a standardized graphical communication tool developed by Rumbaugh, Booch, and Jacobson for modeling systems. It serves various purposes including visualization, specification, construction, and documentation, while emphasizing the importance of creating models that accurately represent reality. UML encompasses different types of elements such as structural, behavioral, grouping, and annotational things, as well as various diagrams to illustrate system components and relationships.

Uploaded by

Towhidul Islam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

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

You might also like