0% found this document useful (0 votes)
9 views6 pages

UML (Unified Modeling Language)

UML (Unified Modeling Language) is a standardized graphical modeling language used in software engineering to specify, visualize, construct, and document software artifacts. Developed in the mid-1990s and adopted by the Object Management Group in 1997, UML encompasses various diagrams that represent both the static and dynamic aspects of systems. It serves as a tool for object-oriented analysis and design, facilitating the modeling of both software and non-software systems.

Uploaded by

sr0935364
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)
9 views6 pages

UML (Unified Modeling Language)

UML (Unified Modeling Language) is a standardized graphical modeling language used in software engineering to specify, visualize, construct, and document software artifacts. Developed in the mid-1990s and adopted by the Object Management Group in 1997, UML encompasses various diagrams that represent both the static and dynamic aspects of systems. It serves as a tool for object-oriented analysis and design, facilitating the modeling of both software and non-software systems.

Uploaded by

sr0935364
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/ 6

UML(Unified Modeling Language)

UML (Unified Modeling Language) is a general-purpose, graphical modeling language in the


field of Software Engineering. UML is used to specify, visualize, construct, and document the
artifacts (major elements) of the software system. It was initially developed by Grady Booch,
Ivar Jacobson, and James Rumbaugh in 1994-95 at Rational software, and its further
development was carried out through 1996. In 1997, it got adopted as a standard by the
Object Management Group.

UML (Unified Modeling Language) is a general-purpose, graphical modeling language in the


field of Software Engineering. UML is used to specify, visualize, construct, and document the
artifacts (major elements) of the software system. It was initially developed by Grady Booch,
Ivar Jacobson, and James Rumbaugh in 1994-95 at Rational software, and its further
development was carried out through 1996. In 1997, it got adopted as a standard by the
Object Management Group.

What is UML

The UML stands for Unified modeling language, is a standardized general-purpose visual
modeling language in the field of Software Engineering. It is used for specifying, visualizing,
constructing, and documenting the primary artifacts of the software system. It helps in
designing and characterizing, especially those software systems that incorporate the concept
of Object orientation. It describes the working of both the software and hardware systems.

The UML was developed in 1994-95 by Grady Booch, Ivar Jacobson, and James Rumbaugh
at the Rational Software. In 1997, it got adopted as a standard by the Object Management
Group (OMG).

The Object Management Group (OMG) is an association of several companies that controls
the open standard UML. The OMG was established to build an open standard that mainly
supports the interoperability of object-oriented systems. It is not restricted within the
boundaries, but it can also be utilized for modeling the non-software systems. The OMG is
best recognized for the Common Object Request Broker Architecture (CORBA) standards.

Goals of UML
o Since it is a general-purpose modeling language, it can be utilized by all the modelers.

o UML came into existence after the introduction of object-oriented concepts to


systemize and consolidate the object-oriented development, due to the absence of
standard methods at that time.

o The UML diagrams are made for business users, developers, ordinary people, or
anyone who is looking forward to understand the system, such that the system can be
software or non-software.
o Thus it can be concluded that the UML is a simple modeling approach that is used to
model all the practical systems.
Characteristics of UML

The UML has the following features:

o It is a generalized modeling language.

o It is distinct from other programming languages like C++, Python, etc.


o It is interrelated to object-oriented analysis and design.

o It is used to visualize the workflow of the system.

o It is a pictorial language, used to generate powerful modeling artifacts.

Conceptual Modeling

Before moving ahead with the concept of UML, we should first understand the basics of the
conceptual model.

A conceptual model is composed of several interrelated concepts. It makes it easy to


understand the objects and how they interact with each other. This is the first step before
drawing UML diagrams.

Following are some object-oriented concepts that are needed to begin with UML:

o Object: An object is a real world entity. There are many objects present within a
single system. It is a fundamental building block of UML.

o Class: A class is a software blueprint for objects, which means that it defines the
variables and methods common to all the objects of a particular type.

o Abstraction: Abstraction is the process of portraying the essential characteristics of


an object to the users while hiding the irrelevant information. Basically, it is used to
envision the functioning of an object.
o Inheritance: Inheritance is the process of deriving a new class from the existing ones.

o Polymorphism: It is a mechanism of representing objects having multiple forms used


for different purposes.
o Encapsulation: It binds the data and the object together as a single unit, enabling
tight coupling between them.
OO Analysis and Design

OO is an analysis of objects, and design means combining those identified objects. So, the
main purpose of OO analysis is identifying the objects for designing a system. The analysis
can also be done for an existing system. The analysis can be more efficient if we can identify
the objects. Once we have identified the objects, their relationships are then identified, and
the design is also produced.
The purpose of OO is given below:
o To identify the objects of a system.

o To identify their relationships.

o To make a design that is executable when the concepts of OO are employed.

Following are the steps where OO concepts are applied and implemented:
Step 1: OO Analysis

The main purpose of OO analysis is identifying the objects and describing them correctly.
After the objects are identified, the designing step is easily carried out. It is a must to identify
the objects with responsibilities. Here the responsibility refers to the functions performed by
the objects. Each individual object has its own functions to perform. The purpose of the
system is fulfilled by collaborating these responsibilities.

Step 2: OO Design

This phase mainly emphasizes on meeting the requirements. In this phase, the objects are
joined together as per the intended associations. After the association is completed, the
designing phase also gets complete.

Step 3: OO Implementation

This is the last phase that comes after the designing is done. It implements the design using
any OO languages like C++, Java, etc.

Role of UML in OO design

As the 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 OO languages influence the programming world as they model real
world objects.

The UML itself is an amalgamation 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-Diagrams

The UML diagrams are categorized into structural diagrams, behavioral diagrams, and
also interaction overview diagrams. The diagrams are hierarchically classified in the
following figure:
1. Structural Diagrams

Structural diagrams depict a static view or structure of a system. It is widely used in the
documentation of software architecture. It embraces class diagrams, composite structure
diagrams, component diagrams, deployment diagrams, object diagrams, and package
diagrams. It presents an outline for the system. It stresses the elements to be present that are
to be modeled.

o Class Diagram: Class diagrams are one of the most widely used diagrams. It is the
backbone of all the object-oriented software systems. It depicts the static structure of
the system. It displays the system's class, attributes, and methods. It is helpful in
recognizing the relation between different objects as well as classes.

o Composite Structure Diagram: The composite structure diagrams show parts within
the class. It displays the relationship between the parts and their configuration that
ascertain the behavior of the class. It makes full use of ports, parts, and connectors to
portray the internal structure of a structured classifier. It is similar to class diagrams,
just the fact it represents individual parts in a detailed manner when compared with
class diagrams.
o Object Diagram: It describes the static structure of a system at a particular point in
time. It can be used to test the accuracy of class diagrams. It represents distinct
instances of classes and the relationship between them at a time.

o Component Diagram: It portrays the organization of the physical components within


the system. It is used for modeling execution details. It determines whether the
desired functional requirements have been considered by the planned development or
not, as it depicts the structural relationships between the elements of a software
system.

o Deployment Diagram: It presents the system's software and its hardware by telling
what the existing physical components are and what software components are running
on them. It produces information about system software. It is incorporated whenever
software is used, distributed, or deployed across multiple machines with dissimilar
configurations.

o Package Diagram: It is used to illustrate how the packages and their elements are
organized. It shows the dependencies between distinct packages. It manages UML
diagrams by making it easily understandable. It is used for organizing the class and
use case diagrams.

2. Behavioral Diagrams:

Behavioral diagrams portray a dynamic view of a system or the behavior of a system, which
describes the functioning of the system. It includes use case diagrams, state diagrams, and
activity diagrams. It defines the interaction within the system.

o State Machine Diagram: It is a behavioral diagram. it portrays the system's behavior


utilizing finite state transitions. It is also known as the State-charts diagram. It
models the dynamic behavior of a class in response to external stimuli.
o Activity Diagram: It models the flow of control from one activity to the other. With
the help of an activity diagram, we can model sequential and concurrent activities. It
visually depicts the workflow as well as what causes an event to occur.

o Use Case Diagram: It represents the functionality of a system by utilizing actors and
use cases. It encapsulates the functional requirement of a system and its association
with actors. It portrays the use case view of a system.

3. Interaction Diagrams

Interaction diagrams are a subclass of behavioral diagrams that give emphasis to object
interactions and also depicts the flow between various use case elements of a system. In
simple words, it shows how objects interact with each other and how the data flows within
them. It consists of communication, interaction overview, sequence, and timing diagrams.

o Sequence Diagram: It shows the interactions between the objects in terms of


messages exchanged over time. It delineates in what order and how the object
functions are in a system.
o Communication Diagram: It shows the interchange of sequence messages between
the objects. It focuses on objects and their relations. It describes the static and
dynamic behavior of a system.

o Timing Diagram: It is a special kind of sequence diagram used to depict the object's
behavior over a specific period of time. It governs the change in state and object
behavior by showing the time and duration constraints.

o Interaction Overview diagram: It is a mixture of activity and sequence diagram that


depicts a sequence of actions to simplify the complex interactions into simple
interactions.

You might also like