The Unified Modeling Language

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

THE UNIFIED MODELING LANGUAGE

The Unified Modeling Language (UML) is a standard visual modeling language intended
to be used for modeling business and similar processes, analysis, design, and
implementation of software-based systems
UML is a common language for business analysts, software architects and developers used
to describe, specify, design, and document existing or new business processes, structure
and behavior of artifacts of software systems.
UML can be applied to diverse application domains (e.g., banking, finance, internet,
aerospace, healthcare, etc.) It can be used with all major object and component software
development methods and for various implementation platforms (e.g., J2EE, .NET).
UML is a standard modeling language, not a software development process. UML 1.4.2
Specification explained that process:

provides guidance as to the order of a teams activities,


specifies what artifacts should be developed,
directs the tasks of individual developers and the team as a whole, and
offers criteria for monitoring and measuring a projects products and activities.

UML is intentionally process independent and could be applied in the context of different
processes. Still, it is most suitable for use case driven, iterative and incremental
development processes. An example of such process is Rational Unified Process (RUP).
UML is not complete and it is not completely visual. Given some UML diagram, we can't be
sure to understand depicted part or behavior of the system from the diagram alone. Some
information could be intentionally omitted from the diagram, some information represented
on the diagram could have different interpretations, and some concepts of UML have no
graphical notation at all, so there is no way to depict those on diagrams.
For example, semantics of multiplicity of actors and multiplicity of use cases on use case
diagrams is not defined precisely in the UML specification and could mean either concurrent
or successive usage of use cases.
Name of an abstract classifier is shown in italics while final classifier has no specific
graphical notation, so there is no way to determine whether classifier is final or not from the
diagram.
VERSIONS OF UML
The current version of UML is UML 2.4.1, released in August 2011 [UML 2.4.1 Specification].
The first versions of UML were created by Three Amigos -Grady Booch (creator of Booch
method), Ivar Jacobson (Object-Oriented Software Engineering, OOSE), and Jim
Rumbaugh (Object-Modeling Technique, OMT). UML specification (standard) is updated
and managed by the Object Management Group (OMG) OMG UML.
UML DIAGRAMS OVERVIEW
A UML diagram is a partial graphical representation (view) of a model of a system under
design, implementation, or already in existence. UML diagram contains graphical
elements (symbols) - UML nodes connected with edges (also known as paths or flows) that represent elements in the UML model of the designed system. The UML model of the
system might also contain other documentation such as use cases written as templated
texts.

The kind of the diagram is defined by the primary graphical symbols shown on the
diagram. For example, a diagram where the primary symbols in the contents area are
classes is class diagram. A diagram which shows use cases and actors is use case
diagram. A sequence diagram shows sequence of message exchanges between lifelines.
UML specification does not preclude mixing of different kinds of diagrams, e.g. to combine
structural and behavioral elements to show a state machine nested inside a use case.
Consequently, the boundaries between the various kinds of diagrams are not strictly
enforced. At the same time, some UML Tools do restrict set of available graphical elements
which could be used when working on specific type of diagram.

CLASSIFICATION OF UML DIAGRAMS


UML
specification
defines
two
diagrams and behavior diagrams.

major

kinds

of

UML

diagram: structure

Structure diagrams show the static structure of the system and its parts on different
abstraction and implementation levels and how they are related to each other. The elements
in a structure diagram represent the meaningful concepts of a system, and may include
abstract, real world and implementation concepts.
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.
UML diagrams could be categorized hierarchically as shown below. Note, items shown in
blue are not part of official UML 2.5 taxonomy of diagrams.

UML STRUCTURE DIAGRAMS


Structure diagrams show static structure of the system and its parts on different
abstraction and implementation levels and how those parts are related to each other. The
elements in a structure diagram represent the meaningful concepts of a system, and may
include abstract, real world and implementation concepts.
Structure diagrams are not utilizing time related concepts, do not show the details of
dynamic behavior. However, they may show relationships to the behaviors of the classifiers
exhibited in the structure diagrams.
Diagram
Class
diagram

Purpose
Shows structure of the designed system,
subsystem or component as related
classes and interfaces, with their
features, constraints and relationships associations, generalizations,
dependencies, etc.

Elements
class, interface, feature,constr
aint, association,generalizatio
n, dependency.

Object
diagram

Instance level class diagram which shows instance


instance specifications of classes and
specification, object,slot, link.
interfaces (objects), slots with value
specifications, and links (instances of

association).
Object diagram was defined in now
obsolete UML 1.4.2 Specification as "a
graph of instances, including objects and
data values. A static object diagram is an
instance of a class diagram; it shows a
snapshot of the detailed state of a
system at a point in time." It also stated
that object diagram is "a class diagram
with objects and no classes."
UML 2.5 specification simply provides no
definition of object diagram.
Package
diagram

Shows packages and relationships


between the packages.

package, packageable
element,dependency, element
import,package
import, package merge.

Model
diagram

UML auxiliary structure diagram which


model, package, packageable
shows some abstraction or specific view element, dependency.
of a system, to describe architectural,
logical or behavioral aspects of the
system. It could show, for example,
architecture of a multi-layered (aka multitiered) application - see multi-layered
application model.

Composite
structure
diagram

Diagram could be used to show:


Internal structure of a classifier
A behavior of a collaboration

Internal
structure
diagram

Shows internal structure of a classifier - a structured


decomposition of the classifier into its
class, property,part, port, conn
properties, parts and relationships.
ector, usage.

Collaboration Shows objects in a system cooperating


use diagram with each other to produce some
behavior of the system.

collaboration, property,connec
tor, part, dependency.

Component
diagram

component, interface,provided
interface, required
interface, class, port,connecto
r, artifact, component
realization, usage.

Shows components and dependencies


between them. This type of diagrams is
used forComponent-Based
Development (CBD), to describe
systems with Service-Oriented
Architecture (SOA).

Manifestation While component diagrams show


diagram
components and relationships between
components and classifiers,
and deployment
diagrams - deployments of artifacts to
deployment targets, some missing
intermediate diagram is manifestation
diagram to be used to
showmanifestation (implementation)
of components by artifacts and internal
structure of artifacts.
Because manifestation diagrams are
not defined by UML 2.5 specification,
manifestation of components by artifacts
could be shown using either component
diagrams or deployment diagrams.

manifestation, component,artif
act.

Deployment
diagram

deployment, artifact,deployme
nt

Shows architecture of the system


as deployment (distribution) of

software artifacts todeployment


targets.
Note, that components were directly
deployed to nodes in UML 1.x
deployment diagrams. In UML
2.x artifacts are deployed to nodes, and
artifacts could manifest (implement)
components. Components are deployed
to nodes indirectly through artifacts.
Specification level deployment
diagram (also called type level) shows
some overview
ofdeployment of artifacts to deploymen
t targets, without referencing specific
instances of artifacts or nodes.
Instance level deployment
diagram shows deployment of instances
of artifacts to specific instances
of deployment targets. It could be used
for example to show differences in
deployments to development, staging or
production environments with the
names/ids of specific build or deployment
servers or devices.

target, node,device, execution


environment, communication
path, deployment
specification,

Network
architecture
diagram

Deployment diagrams could be used to


show logical or physical network
architecture of the system. This kind of
deployment diagrams - not formally
defined in UML 2.5 - could be called
network architecture diagrams.

node, switch, router, load


balancer, firewall,communicati
on path, network
segment, backbone.

Profile
diagram

Auxiliary UML diagram which allows to


profile, metaclass, stereotype,
define custom stereotypes, tagged
extension, reference, profile
values, and constraints as a lightweight application.
extension mechanism to the UML
standard. Profiles allow to adapt the UML
metamodel for different
platforms (such as J2EE or
.NET), or
domains (such as real-time or
business process modeling).
Profile diagrams were first introduced in
UML 2.0.

UML BEHAVIOR DIAGRAMS


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.
Diagram
Use case diagram

Purpose
Describes 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)
to provide some observable and valuable
results to the actors or other stakeholders of
the system(s).
Note, that UML 2.4.1 specification (see
"16.4 Diagrams") stated that Use Case

Elements
use
case, actor, subject,
extend, include, ass
ociation.

Diagrams are a specialization of Class


Diagrams such that the classifiers shown are
restricted to being either Actors or Use
Cases. Class diagrams are structure
diagrams.
Information flow
diagram

Shows exchange of information between


information
system entities at some high levels of
flow, information
abstraction. Information flows may be useful item, actor, class.
to describe circulation of information through
a system by representing aspects of models
not yet fully specified or with less details.

Activity diagram

Shows sequence and conditions for


coordinating lower-level behaviors, rather
than which classifiers own those behaviors.
These are commonly called control
flow and object flowmodels.

State machine
diagram

Used for modeling discrete behavior through


finite state transitions. In addition to
expressing the behavior of a part of the
system, state machines can also be used to
express the usage protocol of part of a
system. These two kinds of state machines
are referred to as behavioral state
machines and protocol state machines.

Behavioral state
machine diagram

Shows discrete behavior of a part of


designed system through finite state
transitions.

behavioral
state, behavioral
transition, pseudost
ate.

Protocol state
machine diagram

Shows usage protocol or a lifecycle of


some classifier, e.g. which operations of the
classifier may be called in each state of the
classifier, under which specific conditions,
and satisfying some optional postconditions
after the classifier transitions to a target
state.

protocol
state, protocol
transition, pseudost
ate.

Interaction
diagram

Interaction diagrams include several


different types of diagrams:
sequence diagrams,
communication diagrams (known
as collaboration diagrams in UML 1.x),
timing diagrams,
interaction overview diagrams.

activity, partition, act


ion,object, control, a
ctivity edge.

Sequence diagram Most common kind of interaction diagrams


which focuses on the message interchange
betweenlifelines (objects).

lifeline, execution
specification, messa
ge,combined
fragment,interaction
use, state
invariant, destructio
n occurrence.

Communication
diagram (a.k.a.Coll
aboration
diagram in UML 1.x)

Focuses on the interaction


between lifelines where the architecture of
the internal structure and how this
corresponds with the message passing is
central. The sequencing of messages is
given through a sequence
numbering scheme.

lifeline, message.

Timing diagram

Shows interactions when a primary purpose

lifeline, state or

Interaction
overview diagram

of the diagram is to reason about time.


Timing diagrams focus on conditions
changing within and among lifelines along a
linear time axis.

condition
timeline, destruction
event,duration
constraint, time
constraint.

Defines interactions through a variant


of activity diagrams in a way that promotes
overview of the control flow. Interaction
overview diagrams focus on the overview of
the flow of control where the nodes are
interactions or interaction uses. The
lifelines and the messages do not appear at
this overview level.

initial node, flow


final node,activity
final node, decision
node, merge
node, fork node,join
node, interaction,int
eraction
use, duration
constraint, time
constraint.

You might also like