The Unified Modeling Language
The Unified Modeling Language
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:
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.
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.
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
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
package, packageable
element,dependency, element
import,package
import, package merge.
Model
diagram
Composite
structure
diagram
Internal
structure
diagram
collaboration, property,connec
tor, part, dependency.
Component
diagram
component, interface,provided
interface, required
interface, class, port,connecto
r, artifact, component
realization, usage.
manifestation, component,artif
act.
Deployment
diagram
deployment, artifact,deployme
nt
Network
architecture
diagram
Profile
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.
Activity diagram
State machine
diagram
Behavioral state
machine diagram
behavioral
state, behavioral
transition, pseudost
ate.
Protocol state
machine diagram
protocol
state, protocol
transition, pseudost
ate.
Interaction
diagram
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)
lifeline, message.
Timing diagram
lifeline, state or
Interaction
overview diagram
condition
timeline, destruction
event,duration
constraint, time
constraint.