UML Modelling
Dr. Nargis Fatima
Assistant Professor
Department of Software Engineering
National University of Modern Languages Islamabad
Modeling
Models what and why?
Models are the abstraction that portrays the
essentials of a complex problem or system.
A model is a simplification at some level of
abstraction
We build models
To better understand the systems, we are
developing.
To help us visualize
To specify structure or behavior
To provide template for building system
To document decisions we have made
Modeling contd.
Principles of Modeling:
The models we choose have a
profound influence on the solution
we provide
Every model may be expressed at
different levels of abstraction
Unified Modeling Language.
UML is a visual modeling language “A picture is
worth a thousand words.” - old saying
“A language provides a vocabulary and the rules
for combining words [...] for the purpose of
communication.
A modeling language is a language whose
vocabulary and rules focus on the conceptual and
physical representation of a system.
Unified Modeling Language.
Visual Modeling
Is a way of thinking about problems using
models organized around real world.
Models are useful for
Understanding the problem
Communicating the problem among all
stakeholders of the project
Modeling enterprises
Preparing documentation
Designing programs and databases
Unified Modeling Language (UML)
The Unified Modeling Language (UML) is a
general-purpose, developmental, modeling
language in the field of software engineering that is
intended to provide a standard way to visualize the
design of a system.
Unified Modeling Language (UML)
UML has been evolving since the second half of the 1990s
and has its roots in the object-oriented
programming methods developed in the late 1980s and
early 1990s.
It describes notations for a number of different models that
may be produced during object-oriented analysis and
design
UML is now a standard language for OO modelling.
UML 2 has many types of diagrams, which are divided into
two categories.
Some types represent structural information, and the rest
represent general types of behavior, including a few that
represent different aspects of interactions. These diagrams
can be categorized hierarchically.
Unified Modeling Language (UML)
Unified Modeling Language (UML)
UML structural diagrams
Class diagram
show the classes of the system, their inter-relationships, and the operations and
attributes of the classes
Component diagram
shows the dependencies among software components, including the classifiers that specify
them
Object diagram
(instance diagrams), are useful for exploring real world examples of objects and the
relationships between them. It shows instances instead of classes. They are useful for
explaining small pieces with complicated relationships,
Unified Modeling Language (UML)
UML structural diagrams
Package diagram
simplify complex class diagrams, it can group classes into packages. A package is a collection of logically
related UML elements. Packages are depicted as file folders and can be used on any of the UML diagrams.
Composite structure diagram
used to explore run-time instances of interconnected instances collaborating over communications links. It
shows the internal structure (including parts and connectors) of a structured classifier or collaboration.
Profile diagrams
are an extension of Unified Modelling Language (UML), which are a structural diagram that use stereotypes, tagged
values and constraints to extend and customize UML.
Deployment diagram
depicts a static view of the run-time configuration of hardware nodes and the software components that
run on those nodes. Deployment diagrams show the hardware for your system, the software that is
installed on that hardware
Unified Modeling Language (UML)
Behavioural diagrams
Activity Diagrams
helps to describe the flow of control of the target
system
State Machine diagram
can show the different states of an entity also how
an entity responds to various events by changing
from one state to another.
Unified Modeling Language (UML)
Interaction diagram
Communication diagrams
used to model the dynamic behavior of the use case. When compare to Sequence Diagram, the
Communication Diagram is more focused on showing the collaboration of objects rather than the time
sequence.
Sequence diagram
models the collaboration of objects based on a time sequence. It shows how the objects interact with
others in a particular scenario of a use case.
Interaction overview diagram
focuses on the overview of the flow of control of the interactions. It is a variant of the Activity Diagram
where the nodes are the interactions or interaction occurrences. It describes the interactions where
messages and lifelines are hidden.
Timing diagram
shows the behavior of the objects in a given period of time. Timing diagram is a special form of a sequence
diagram
Unified Modeling Language (UML)
Use case diagram
describes the dynamic behavior of the target system from an
external point of view
Use cases. A use case describes a sequence of actions that
provide something of measurable value to an actor and is
drawn as a horizontal ellipse.
Actors. An actor is a person, organization, or external system
that plays a role in one or more interactions with your system.
Actors are drawn as stick figures.
Associations. Associations between actors and use cases
are indicated by solid lines. An association exists whenever an
actor is involved with an interaction described by a use case.