TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

UML Tutorial

UML Tutorial with What is UML, OO Analysis and Design, Building Blocks, Architecture, Diagrams, Relationships, Object Diagram, Component Diagram, Tools, Activity Diagram, Notation etc.

<< Back to UML

UML Tutorial

UML Tutorial

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

  • Since it is a general-purpose modeling language, it can be utilized by all the modelers.
  • 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.
  • 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.
  • 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:

  • It is a generalized modeling language.
  • It is distinct from other programming languages like C++, Python, etc.
  • It is interrelated to object-oriented analysis and design.
  • It is used to visualize the workflow of the system.
  • 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:

  • 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.
  • 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.
  • 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.
  • Inheritance: Inheritance is the process of deriving a new class from the existing ones.
  • Polymorphism: It is a mechanism of representing objects having multiple forms used for different purposes.
  • 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:

  • To identify the objects of a system.
  • To identify their relationships.
  • 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.

Audience

This UML tutorial is made for both beginners and professionals, to help them understand the fundamental concept of UML. After completion of this tutorial, you will find yourself at a moderate level of expertise from where you take yourself to the next level.

Prerequisites

No particular skills are required as a prerequisite before starting with this tutorial. The learner must be enthusiastic about gaining knowledge of UML.

Problems

We assure you that you will not find any difficulty in this tutorial. But if there is any query, or you find any mistake, do let us know by posting it in the contact form so that we can further improve it.






Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf