You are on page 1of 20

An Introduction to the UML

❚ What is the UML


❚ History
❚ Goals
❚ Scope
❚ Artifacts

CIS 320-02 1
What is the UML?
❚ The Unified Modeling Language is a
language for
specifying,
constructing,
visualizing, and
documenting
the artifacts of a software-intensive
system.

CIS 320-02 2
UML is not a
❚ Method/Process
❙ no notion of process but can be used in many
development processes
❚ Programming Language
❚ Development Tool

CIS 320-02 3
More on the UML
❚ Visual modeling language for developing and
communicating meaningful models
❚ Communicate models without losing information or
without imposing excessive work to map models to a
very abstract form
❚ Consolidate a set of core modeling concepts that are
generally accepted across many current methods and
modeling tools.
❚ Modeling concepts are needed in many or most large
applications
❚ Not every concept is needed in every part of every
application
CIS 320-02 4
Goals of the UML
❚ Independent of particular programming
languages and development
processes.
❙ Support all reasonable programming
languages
❙ Support various methods and processes of
building models.
❘ designed with concurrent, distributed systems in mind

CIS 320-02 5
Goals of the UML
❚ Developers embrace a process model which is
use-case driven, architecture centric, iterative
and incremental.
❚ Integrate best practices.
❙ A key motivation has been to integrate the best
practices in the industry in the areas of levels of
abstraction, domains, architectures, life cycle stages,
implementation technologies, etc.

CIS 320-02 6
Goals of the UML
❚ Support higher-level development
concepts :
❙ collaborations, frameworks, patterns, and
components
❙ Clearly defined semantics of these concepts
in the UML is essential to realizing the full
benefit of OO and reuse.

CIS 320-02 7
History of the UML
❚ The Unified Modeling Language fuses the
concepts of Booch, OMT (Object
Modeling Technique), and OOSE (Object
Oriented Software Engineering).
❚ The three amigos:
❙ Booch
❙ Rumbaugh
❙ Jacobson
CIS 320-02 8
The Scope of the UML
❚ The Unified Modeling Language focuses
on a standard modeling language, not a
standard process.
❙ Different organizations and problem domains
require different processes.
❙ A development process for shrink-wrapped
software is vastly different from one for
building hard-real-time safety-critical avionics
systems.

CIS 320-02 9
The Structure of the UML
 Common metamodel
❙ unifies semantics
 Common notation
❙ provides a rendering of the semantics

CIS 320-02 10
UML Metamodel
❚ The purpose of the UML metamodel is to
provide a single, common, and definitive
statement of the syntax and semantics of
the elements of the UML.

CIS 320-02 11
UML Notation
❚ The graphical notation and textual syntax
are the most visible part of the UML, used
by humans and tools to model systems.
❚ Graphical notations are representations of
a user-level model.

CIS 320-02 12
Characteristics of UML
❚ Each type of diagram captures a different
perspective, or view, of the system’s
underlying model.
❚ For any diagram type, multiple diagrams
of that type may exist.
❚ The use cases starts the ball rolling.
❚ The class diagram is core to the UML
model.

CIS 320-02 13
UML Artifacts
❚ The choice of what models and diagrams
one creates has a profound influence
upon how a problem is attacked and how
a corresponding solution is shaped.
❚ Abstraction, the focus on relevant details
while ignoring others, is a key to learning
and communicating.

CIS 320-02 14
UML Artifacts
❚ Every complex system is best approached
through a small set of nearly independent
views of a model; no single view is
sufficient.
❚ Every model may be expressed at
different levels of fidelity.
❚ The best models are connected to reality.

CIS 320-02 15
UML Artifacts
❚ The UML defines the following graphical
diagrams:
❙ Use case diagram
❙ Class diagram

CIS 320-02 16
UML Artifacts
❙ Behavior diagrams
❘ Statechart diagram
❘ Activity diagram
❘ Interaction diagrams
• Sequence diagram
• Collaboration diagram
❙ Implementation diagrams
❘ Component diagram
❘ Deployment diagram

CIS 320-02 17
Development Project Artifacts
❚ These diagrams provide multiple
perspectives of the system under analysis
or development.
❚ The underlying model integrates these
perspectives so that a self-consistent
system can be analyzed and built.

CIS 320-02 18
Development Project Artifacts
❚ These diagrams, along with supporting
documentation, are the primary artifacts
that a modeler sees, although the UML
and supporting tools will provide for a
number of derivative views.

CIS 320-02 19
Characteristics of UML
❚ A given model element might exist on
multiple diagrams, but there is only one
definition of that element in the underlying
model.

CIS 320-02 20

You might also like