You are on page 1of 26

UML History and Introduction

UML was created by the Object Management Group (OMG) and UML 1.0
specification draft was proposed to the OMG in January 1997.
UML stands for Unified Modeling Language.
UML is different from the other common programming languages such as
C++, Java, COBOL, etc.
UML is a pictorial language used to make software blueprints.
UML can be described as a general purpose modeling language to visualize,
specify, construct, and document software system.
Although UML is generally used to model software systems, It is also used to
model non-software systems as well. For example, the process flow in a
manufacturing unit, etc.
UML is not a programming language but tools can be used to generate code
in various languages using UML diagrams. UML has a direct relation with
object oriented analysis and design.
After some standardization, UML has become an OMG standard.
Basic Structure of UML
Structure of UML
Structure of UML
Structure of UML
Role of UML in OO design

UML is a modeling language used to model software as


well as non-software systems, but here it focuses on
modeling OO software applications.
It is essential to understand the relation between the OO
design and UML. The OO design can be converted into the
UML as and when required.
The UML is used to represent of object-oriented
notations like Object-Oriented Design (OOD), Object
Modeling Technique (OMT), and Object-Oriented
Software Engineering (OOSE).
The strength of these three approaches is utilized by the
UML to represent more consistency.
UML Building Blocks
• UML is composed of three main building blocks,
i.e., things, relationships, and diagrams. Building
blocks generate one complete UML model
diagram by rotating around several different
blocks. It plays an essential role in developing
UML diagrams. The basic UML building blocks
are enlisted below:
• (1)Things
• (2)Relationships
1. Things
• Anything that is a real world entity or object is
termed as things. It can be divided into several
different categories:
• Structural things
• Behavioral things
• Grouping things
• Annotational things
Structural things

• Shows the static behavior of a model is


termed as structural things. They display the
physical and conceptual components. They
include class, object, interface, node,
collaboration, component, and a use case.
• Class: A Class is a set of identical things that
outlines the functionality and properties of an
object.
Structural things….
• Object:: An individual that describes the
behavior and the functions of a system. The
notation of the object is similar to that of the
class; the only difference is that the object
name is always underlined and its notation is
given below;
Structural things…

• Interface − Interface defines a set of operations, which


specify the responsibility of a class.

• Collaboration −Collaboration defines an interaction


between elements.

• Use case −Use case represents a set of actions


performed by a system for a specific goal.

• Component −Component describes the physical part of a


system.
Structural things….
• Node − A node can be defined as a physical element
that exists at run time.

• Behavioral Things They are the verbs that


encompass the dynamic parts of a model. It depicts
the behavior of a system. They involve state
machine, activity diagram, interaction diagram,
grouping things, annotation things
Behavioral Things…
Relationships
• It illustrates the meaningful connections between
things. It shows the association between the entities
and defines the functionality of an application. There
are following types of relationships given below:
• Dependency
• Association
• Class Notation
• UML class is represented by the following figure. The
diagram is divided into four parts.
• The top section is used to name the class.
• The second one is used to show the attributes of the
class.
Class Diagrams

• The third section is used to describe the operations


performed by the class.
• The fourth section is optional to show any additional
components.
Class Diagram..
Object Diagram

• The object is represented in the same way as the


class. The only difference is the name which is
underlined as shown in the following figure.

• As the object is an actual implementation of a


class, which is known as the instance of a class.
Hence, it has the same usage as the class.
Use Case
• A Use Case Model describes the proposed functionality of a
new system. A Use Case represents a discrete unit of
interaction between a user (human or machine) and the
system. Each Use Case describes the functionality to be built
in the proposed system.
• Use Cases are typically related to 'actors', which are human or
machine entities that use or interact with the system . The use
case diagrams have:-
• Functionalities to be represented as use case
• Actors
• Relationships among the use cases and actors.
Use Case….
Sequence Diagrams..
• Sequence diagrams provide a graphical representation of
object interactions over time. These typically show a user or
actor, and the objects and components they interact with in
the execution of a use case. One sequence diagram typically
represents a single Use Case 'scenario'
Implementation Diagram

• A Use Case is a formal description of functionality that the


system will have when constructed. An implementation
diagram is typically associated with a Use Case to document
which design elements how particular case is implemented
Component Diagrams
• The component diagrams illustrates the
software components that will be used to build
the system.
• These may be built up from the class diagrams
or may be brought in from other projects and
3rd party vendors. Components are high level
aggregations of smaller software pieces.
• provide a 'black box' building block approach to
software construction.
Component Diagrams..
• The component diagram shows the
relationship between software components,
their dependencies, communication, location
and other conditions.
Deployment Diagram
• A deployment diagram illustrates the physical deployment of
the system into a production (or test) environment. It shows
where components will be located, on what servers, machines
or hardware. It may illustrate network links, LAN bandwidth &
etc.
Deployment Diagrams
(Security Components)
Activity Diagrams
• Activity diagrams are mainly used as a flowchart that consists
of activities performed by the system.
• Activity diagrams are not exactly flowcharts as they have
some additional capabilities. These additional capabilities
include branching, parallel flow.

You might also like