0% found this document useful (0 votes)
29 views16 pages

What Is Unified Modeling Language - Lucidchart

Uploaded by

bigfishdesignsco
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views16 pages

What Is Unified Modeling Language - Lucidchart

Uploaded by

bigfishdesignsco
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

A picture is worth a thousand words. That’s why Unified Modeling Language (UML)
diagramming was created: to forge a common visual language in the complex world
of software development that would also be understandable for business users and
anyone who wants to understand a system. Learn the essentials of UML diagrams
along with their origins, uses, concepts, types and guidelines on how to draw them
using our UML diagram tool.
15 minute read

Do you want to create your own UML diagram? Try Lucidchart. It's fast, easy, and
totally free.

Create a UML Diagram

What is UML?
The Unified Modeling Language (UML) was created to forge a common,
semantically and syntactically rich visual modeling language for the architecture,
design, and implementation of complex software systems both structurally and
behaviorally. UML has applications beyond software development, such as
process flow in manufacturing.

It is analogous to the blueprints used in other fields, and consists of different


types of diagrams. In the aggregate, UML diagrams describe the boundary,
structure, and the behavior of the system and the objects within it.

UML is not a programming language but there are tools that can be used to
generate code in various languages using UML diagrams. UML has a direct
https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 1/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

relation with object-oriented analysis and design.

UML and its role in object-oriented modeling


and design
There are many problem-solving paradigms or models in Computer Science,
which is the study of algorithms and data. There are four problem-solving model
categories: imperative, functional, declarative and object-oriented languages
(OOP). In object-oriented languages, algorithms are expressed by defining
‘objects’ and having the objects interact with each other. Those objects are things
to be manipulated and they exist in the real world. They can be buildings, widgets
on a desktop, or human beings.

Object-oriented languages dominate the programming world because they


model real-world objects. UML is a combination of several object-oriented
notations: Object-Oriented Design, Object Modeling Technique, and Object-
Oriented Software Engineering.

UML uses the strengths of these three approaches to present a more consistent
methodology that's easier to use. UML represents best practices for building and
documenting different aspects of software and business system modeling.

The history and origins of UML


‘The Three Amigos’ of software engineering as they were known, had evolved
other methodologies. They teamed up to provide clarity for programmers by
creating new standards. The collaboration between Grady, Booch, and Rumbaugh
made all three methods stronger and improved the final product.

The efforts of these thinkers resulted in the release of the UML 0.9 and 0.91
documents in 1996. It soon became clear that several organizations, including
Microsoft, Oracle, and IBM saw UML as critical to their own business
development. They, along with many other individuals and companies,
established resources that could develop a full-fledged modeling language. The

https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 2/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

Three Amigos published The Unified Modeling Language User Guide in 1999, and
an update which includes information about UML 2.0 in the 2005 Second Edition.

OMG: It has a different meaning


According to their website, The Object Management Group® (OMG®) is an
international, open membership, not-for-profit technology standards consortium,
founded in 1989. OMG standards are driven by vendors, end-users, academic
institutions and government agencies. OMG Task Forces develop enterprise
integration standards for a wide range of technologies and an even wider range
of industries. OMG’s modeling standards, including the UML and Model Driven
Architecture® (MDA®), enable powerful visual design, execution and
maintenance of software and other processes.

OMG oversees the definition and maintenance of UML specifications. This


oversight gives engineers and programmers the ability to use one language for
many purposes during all phases of the software lifecycle for all system sizes.

The purpose of UML according to OMG


The OMG defines the purpose of the UML as:

Providing system architects, software engineers, and software developers with


tools for analysis, design, and implementation of software-based systems as
well as for modeling business and similar processes.

Advancing the state of the industry by enabling object visual modeling tool
interoperability. However, to enable meaningful exchange of model information
between tools, agreement on semantics and notation is required.

UML meets the following requirements:

Setting a formal definition of a common Meta-Object Facility (MOF)-based


meta-model that specifies the abstract syntax of the UML. The abstract syntax
defines the set of UML modeling concepts, their attributes and their

https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 3/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

relationships, as well as the rules for combining these concepts to construct


partial or complete UML models.

Providing a detailed explanation of the semantics of each UML modeling


concept. The semantics define, in a technology independent manner, how the
UML concepts are to be realized by computers.

Specifying the human-readable notation elements for representing the


individual UML modeling concepts as well as rules for combining them into a
variety of different diagram types corresponding to different aspects of
modeled systems.

Defining ways in which UML tools can be made compliant with this
specification. This is supported (in a separate specification) with an XML-based
specification of corresponding model interchange formats (XMI) that must be
realized by compliant tools.

UML and data modeling


The UML is popular among programmers, but isn’t generally used by database
developers. One reason is simply that the UML creators did not focus on
databases. Despite this, the UML is effective for high-level conceptual data
modeling, and it can be used in different types of UML diagrams. You can find
information about layering of an object-oriented class model onto a relational
database in this article about Database Modeling in UML.

Diagramming is quick and easy with Lucidchart. Start a free trial today to start
creating and collaborating.

https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 4/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

Create a UML Diagram

Updates in UML 2.0


UML is being continually refined. UML 2.0 extends UML specs to cover more
aspects of development, including Agile. The goal was to restructure and refine
UML so that usability, implementation, and adaptation are simplified. Here are
some of the updates to UML diagrams:

Greater integration between structural and behavior models.

Ability to define hierarchy and breakdown a software system into components


and sub-components.

UML 2.0 raises the number of diagrams from 9 to 13.

UML terms glossary


Familiarize yourself with the UML vocabulary, with this list culled from the UML
2.4.1 document intended to help OMG non-members understand commonly used
terms.

Abstract syntax compliance Users can move models across different tools, even
if they use different notations

Common Warehouse Metamodel (CWM) Standard interfaces that are used to


enable interchange of warehouse and business intelligence metadata between
warehouse tools, warehouse platforms and warehouse metadata repositories in
distributed heterogeneous environments

https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 5/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

Concrete syntax compliance Users can continue to use a notation they are
familiar with across different tools

Core In the context of UML, the core usually refers to the "Core package" which
is a complete metamodel particularly designed for high reusability

Language Unit Consists of a collection of tightly coupled modeling concepts


that provide users with the power to represent aspects of the system under
study according to a particular paradigm or formalism

Level 0 (L0) Bottom compliance level for UML infrastructure - a single language
unit that provides for modeling the kinds of class-based structures encountered
in most popular object-oriented programming languages

Meta Object Facility (MOF) An OMG modeling specification that provides the
basis for metamodel definitions in OMG's family of MDA languages

Metamodel Defines the language and processes from which to form a model

Metamodel Constructs (LM) Second compliance level in the UML infrastructure


- an extra language unit for more advanced class-based structures used for
building metamodels (using CMOF) such as UML itself. UML only has two
compliance levels

Model Driven Architecture (MDA) An approach and a plan to achieve a


cohesive set of model-driven technology specifications

Object Constraint Language (OCL) A declarative language for describing rules


that apply to Unified Modeling Language. OCL supplements UML by providing
terms and flowchart symbols that are more precise than natural language but
less difficult to master than mathematics

Object Management Group (OMG) Is a not-for-profit computer industry


specifications consortium whose members define and maintain the UML
specification

UML 1 First version of the Unified Modeling Language

Unified Modeling Language (UML) A visual language for specifying,


constructing, and documenting the artifacts of systems

https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 6/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

XMI An XML-based specification of corresponding model interchange formats


View the complete MOF document

Download the complete UML 2.4.1 Infrastructure document.

Modeling concepts specified by UML


System development focuses on three overall different system models:

Functional: These are Use Case diagrams, which describe system functionality
from the point of view of the user.

Object: These are Class Diagrams, which describe the structure of the system in
terms of objects, attributes, associations, and operations.

Dynamic: Interaction Diagrams, State Machine Diagrams, and Activity Diagrams


are used to describe the internal behavior of the system.

These system models are visualized through two different types of diagrams:
structural and behavioral.

Object-oriented concepts in UML


The objects in UML are real world entities that exist around us. In software
development, objects can be used to describe, or model, the system being
created in terms that are relevant to the domain. Objects also allow the
decomposition of complex systems into understandable components that allow
one piece to be built at a time.

Here are some fundamental concepts of an object-oriented world:

Objects Represent an entity and the basic building block.

Class Blue print of an object.

Abstraction Behavior of a real world entity.

https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 7/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

Encapsulation Mechanism of binding the data together and hiding them from
outside world.

Inheritance Mechanism of making new classes from existing one.

Polymorphism It defines the mechanism to exists in different forms.

Types of UML diagrams


UML uses elements and associates them in different ways to form diagrams that
represent static, or structural aspects of a system, and behavioral diagrams, which
capture the dynamic aspects of a system.

Structural UML diagrams

Class Diagram The most commonly used UML diagram, and the principal
foundation of any object-oriented solution. Classes within a system, attributes
and operations and the relationship between each class. Classes are grouped
together to create class diagrams when diagramming large systems.

Component Diagram Displays the structural relationship of software system


elements, most often employed when working with complex systems with
multiple components. Components communicate using interfaces.

Composite Structure Diagram Composite structure diagrams are used to show


the internal structure of a class.

Deployment Diagram Illustrates system hardware and its software. Useful when
a software solution is deployed across multiple machines with unique
configurations.

Object Diagram Shows the relationship between objects using real world
examples and illustrates how a system will look at any given time. Because data
is available within objects, they can be used to clarify relationships between
objects.

Package Diagram There are two special types of dependencies defined between
packages: package import and package merge. Packages can represent the

https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 8/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

different levels of a system to reveal the architecture. Package dependencies can


be marked to show the communication mechanism between levels.
Behavioral UML diagrams

Activity Diagrams Graphically represented business or operational workflows to


show the activity of any part or component in the system. Activity diagrams are
used as an alternative to State Machine diagrams.

Communication Diagram Similar to sequence diagrams, but the focus is on


messages passed between objects. The same information can be represented
using a sequence diagram and different objects.

Interaction Overview Diagram There are seven types of interaction diagrams,


and this diagram shows the sequence in which they act.

Sequence Diagram Shows how objects interact with each other and the order
of occurrence. They represent interactions for a particular scenario.

State Diagram Similar to activity diagrams, they describe the behavior of


objects that behave in varying ways in their current state.

Timing Diagram Like Sequence Diagrams, the behavior of objects in a given


time frame are represented. If there is a single object, the diagram is simple.
With more than one object, interactions of objects are shown during that
particular time frame.

Use Case Diagram Represents a particular functionality of a system, created to


illustrate how functionalities relate and their internal/external controllers
(actors).

How to create a UML diagram: Tutorials and


examples
To illustrate how to create different types of UML diagrams, try one or all of these
tutorials to guide you through the process of drawing both structural and
behavioral diagrams.

Structural Diagram Tutorial Examples

https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 9/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

CLASS DIAGRAMS

Class diagrams represent the static structures of a system, including its classes,
attributes, operations, and objects. A class diagram can display computational
data or organizational data in the form of implementation classes and logical
classes, respectively. There may be overlap between these two groups.

1. Classes are represented with a rectangular shape that is split into thirds. The top
section displays the class name, while the middle section contains the class'
attributes. The bottom section features the class operations (also known as
methods).

2. Add class shapes to your class diagram to model the relationship between those
objects. You may need to add subclasses, as well.

3. Use lines to represent association, inheritance, multiplicity, and other


relationships between classes and subclasses. Your preferred notation style will
inform the notation of these lines.

COMPONENT DIAGRAMS

Component diagrams show how components are combined to form larger


components or software systems. These diagrams are meant to model the
dependencies of each component in the system. A component is something
required to execute a stereotype function. A component stereotype may consist
of executables, documents, database tables, files, or library files.
https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 10/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

1. Represent a component with a rectangle shape. It should have two small


rectangles on the side, or feature an icon with this shape.

2. Add lines between component shapes to represent the relevant relationships.

DEPLOYMENT DIAGRAMS

A deployment diagram models the physical deployment and structure of


hardware components. Deployment diagrams demonstrate where and how the
components of a system will operate in conjunction with each other.

1. When drawing a deployment diagram, use the same notation that you use for a
component diagram.

2. Use a 3-D cube to model a node (which represents a physical machine or virtual
machine).

3. Label the node in the same style that is used for sequence diagrams. Add other
nodes as needed, then connect with lines.

https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 11/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

Behavioral Diagram Tutorial Examples

ACTIVITY DIAGRAM

Activity diagrams show the procedural flow of control between class objects,
along with organizational processes like business workflows. These diagram are
made of specialized shapes, then connected with arrows. The notation set for
activity diagrams is similar to those for state diagrams.

1. Begin your activity diagram with a solid circle.

2. Connect the circle to the first activity, which is modeled with a round-edged
rectangle.

3. Now, connect each activity to other activities with lines that demonstrate the
stepwise flow of the entire process.

4. You can also try using swimlanes to represent the objects that perform each
activity.
https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 12/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

USE CASE DIAGRAM

A use case is a list of steps that define interaction between an actor (a human who
interacts with the system or an external system) and the system itself. Use case
diagrams depict the specifications of a use case and model the functional units of
a system. These diagrams help development teams understand the requirements
of their system, including the role of human interaction therein and the

https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 13/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

differences between various use cases. A use case diagram might display all use
cases of the system, or just one group of use cases with similar functionality.

1. To begin a use case diagram, add an oval shape to the center of the drawing.

2. Type the name of the use case inside the oval.

3. Represent actors with a stick figure near the oval, then use lines to model
relationships between actors and use cases.

SEQUENCE DIAGRAM

Sequence diagrams, also known as event diagrams or event scenarios, illustrate


how processes interact with each other by showing calls between different objects
in a sequence. These diagrams have two dimensions: vertical and horizontal. The
vertical lines show the sequence of messages and calls in chronological order, and
the horizontal elements show object instances where the messages are relayed.

1. To create a sequence diagram, write the class instance name and class name in a
rectangular box.

https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 14/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

2. Draw lines between class instances to represent the sender and receiver of
messages.

3. Use solid arrowheads to symbolize synchronous messages, open arrowheads for


asynchronous messages, and dashed lines for reply messages.

Lucidchart makes it easy to draw UML diagrams


You can start UML diagramming now with Lucidchart. We make it simple, efficient,
and even fun.
https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 15/16
3/31/23, 4:53 PM What is Unified Modeling Language | Lucidchart

Simple to use If you’re making a UML diagram, you clearly know what you’re
doing, but we want to make it as easy as possible to get the job done. You’ll
save time with Lucidchart’s polished interface and smart drag-and-drop editor.

Extensive shape library Draw state diagrams, activity diagrams, use case
diagrams, and more. With an extensive shape and connector library, you'll find
everything you need.

Fully integrated Lucidchart is fully integrated with G Suite. Once you get started
with Lucidchart, you’ll be able to find us right in your Google productivity suite
along with Gmail and Google Drive. Plus, you can use the same login you use
for Google.

Enables collaboration You can easily share your UML diagram with your co-
workers, clients, or your boss. Your diagrams can be embedded into a webpage
or published as a PDF, and Lucidchart’s presentation mode turns your creation
into a great-looking visual aid.

Visio import/export It’s easy to import and export Visio files so you can save
the work you've already done. The whole experience is fast and seamless.

https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language 16/16

You might also like