Introduction to UML
Learn via video courses
Overview
The Unified Modeling Language (UML) is a modeling language that can be used for a variety of purposes. The primary goal of UML is to establish a standard way to visualize how a system has been constructed. It is very similar to blueprints used in other engineering professions. This article gives a comprehensive introduction to UML.
Scope
- Although UML is a modeling language that may represent software and non-software systems, this article focuses on modeling object-oriented software applications.
- We start with the history of UML - from its advent to becoming a standard.
- We present an introduction to UML.
- We understand what UML is, what are the benefits of using it, and its characteristics.
- Then we move to conceptual modeling, object-oriented analysis, and design and roles of UML in OO design.
History of UML
Grady Booch, Ivar Jacobson, and James Rumbaugh created it in 1994-95 at Rational Software, and it was further developed throughout 1996. The Object Management Group approved it as a standard in 1997. In 1997, the Object Management Group (OMG) approved Unified Modelling Language as a standard. Since then, it has been administered by OMG. In 2005, the International Organization for Standardization (ISO) accepted UML as a standard. UML has been changed throughout time and is reviewed on a regular basis.
The Object Management Group (OMG) is a business consortium that manages the open standard UML. The OMG was established to develop an open standard that primarily aids the interoperability of object-oriented systems. It can be used to simulate non-software systems as well as software systems.
What is the Unified Modeling Language?
To give an introduction to UML, UML (Unified Modeling Language) can be called a graphical modeling language that is used in the field of software engineering. It specifies, visualizes, builds, and documents the software system's artifacts (main elements). It is a visual language, not a programming language. UML diagrams are used to depict the behavior and structure of a system. UML facilitates modeling, design, and analysis for software developers, business owners, and system architects. A picture is worth a thousand words.
The Benefits of Using UML
- Because it is a general-purpose modeling language, it can be used by any modeler. UML is a straightforward modeling approach utilized to describe all practical systems.
- Because no standard methods were available then, UML was developed to systemize and condense object-oriented programming. Complex applications demand collaboration and preparation from numerous teams, necessitating a clear and straightforward means of communication among them.
- The UML diagrams are designed for customers, developers, laypeople, or anyone who wants to understand a system, whether software or non-software. Businesspeople do not understand code. As a result, UML becomes vital for communicating the system's essential requirements, features, and procedures to non-programmers. Technical details became easier to understand by non-technical people through an introduction to UML.
- When teams can visualize processes, user interactions, and the system's static structure, they save a lot of time in the long run.
Characteristics of UML
The UML has the following characteristics:
- It is a modeling language that has been generalized for various use cases.
- It is not a programming language; instead, it is a graphical modeling language that uses diagrams that can be understood by non-programmers as well.
- It has a close connection to object-oriented analysis and design.
- It is used to visualize the system's workflow.
Conceptual Modeling
Conceptual modeling depicts the business domain at a high level, utilizing language and concepts that business users are familiar with while neglecting logical and physical level aspects (e.g., underlying database or data structures used for implementation) and external level aspects (e.g., screen forms used for data entry). A conceptual model is made up of multiple interconnected concepts. It simplifies the understanding of the objects and how they interact with one another. This is the preliminary stage before creating UML diagrams.
The following object-oriented ideas are required to get started using UML:
Object
An object is a real-world entity. A single system contains a large number of objects. Therefore, it is a fundamental component of UML.
Class
A class is a key construct in many object-oriented languages. A class is a group of objects that are categorized based on their members. Classes, like objects, can be implemented in traditional languages by employing separate compilations and structs for encapsulation.
Abstraction Abstraction is the technique of conveying to users the essential properties of an object while suppressing extraneous information. Essentially, it is used to imagine how an object will function.
Inheritance Inheritance is the process of creating a new class from an existing one. The ability to define a new class(called the child class) of objects that inherits from a parent class is referred to as inheritance. New elements and methods can be added to the new class, but the parent class's elements and methods are available to objects in the child class without having to rewrite their declarations.
Polymorphism Polymorphism is a mechanism for expressing objects with various forms that can be utilized for different reasons.
Encapsulation It joins the data and the methods as a single entity, allowing tight coupling.
Object-Oriented Design and Analysis
The primary goal of OO analysis is to identify the objects of a system to be created. An existing system is also subjected to this study. Now, efficient analysis is only possible if we can begin to conceptualize in terms of objects that can be identified. After identifying the objects, their links are determined, and the design is completed. The goal of OO analysis and design is as follows:
Identifying a System's Objects
The most fundamental goal of OO analysis is to identify objects and characterize them properly. The following design task will be simple if these things are efficiently identified. Responsibility should be assigned to the objects. The functions performed by the object are referred to as their responsibilities. Every object has a set of duties that must be met. When these obligations are shared, the system's goal is achieved.
Identifying Their Connections
The next stage is OO design. The emphasis throughout this phase is on the requirements and their fulfillment. The things are collaborated in this stage according to their desired relationship. When the association is finished, the design is finished as well.
Creating a Design that Can Be Translated Into Executables Utilizing Oo Languages
OO implementation is the third phase. OO languages such as Java, C++, and others are used to implement the design during this phase.
Role of UML in OO Design
In computer science, there are numerous problem-solving paradigms or models. There are four types of problem-solving models: imperative, functional, declarative, and object-oriented (OOP). Algorithms in object-oriented languages are stated by defining 'objects' and having the objects interact with one another. Those objects can be manipulated and exist in the real world. They can be structures, desktop widgets, or humans.
In a comprehensive introduction to UML, it is critical to understand the relationship between OO design and UML. The OO design can be transformed into UML as needed. OO languages have an impact on the programming world because they model real-world objects.
Because they model real-world items, object-oriented languages rule the programming world. Object-Oriented Design, Object Modeling Technique, and Object-Oriented Software Engineering are all combined in UML. The UML is an aggregation of object-oriented notations such as Object-Oriented Design (OOD), Object Modeling Technique (OMT), and Object-Oriented Software Engineering (OOSE). The UML makes use of the strengths of these three techniques to portray greater uniformity. It draws on the qualities of these three methodologies to create a more uniform and user-friendly methodology. It represents best practices for developing and documenting various software and business components.
Conclusion
- When you need to explain the design to a programmer in another country or simply someone who will be joining the group in six months, the lack of design documentation can become an issue in the long run. In these cases, UML is quite helpful in eliminating misunderstandings and ambiguity about the design.
- Grady Booch, Ivar Jacobson, and James Rumbaugh created the Unified Modeling Language (UML) in 1994-1995. In the introduction to UML, the goal mentioned was to create a consistent way to visualize a system's design.
- Because it is a general-purpose modeling language, it can be used by any modeler. UML is a straightforward modeling approach utilized to describe all practical systems.
- The UML has a close connection with the object-oriented design paradigm.
- The UML is an aggregation of object-oriented notations such as Object-Oriented Design (OOD), Object Modeling Technique (OMT), and Object-Oriented Software Engineering (OOSE).