blog posts

What is Uniform Modeling Language (UML) ?

In the field of software engineering, coding does not always come first. A standard modeling language is sometimes required to make a uniform modeling language easier for software engineers. Unified Modeling Language, abbreviated as UML, is a unified set of diagrams used to help system and software developers specify, visualize, construct, and document the various parts of software systems. UML can also be used for modeling in business and other fields unrelated to programming.

Why do we use the UML language?

A question that may have occurred to you is why do software engineers involve themselves in charts and graphs when they can use coding for development? The answer is found in the application of uniform modeling language. In fact, when we look at the history of UML in software engineering, we will see a set of engineering best practices that have been successful in modeling large and complex systems.

UML design is a very important part of object-oriented software development and the software development process. This language mainly uses graphical symbols to express the design of software projects. UML helps project teams communicate, explore potential, and validate software architecture designs.

UML aims to provide a standard notation that can be used by all object-oriented methods and to select and integrate the best elements of leading notations. The UML language is designed for a wide range of applications. Therefore, in addition to software systems, businesses and managers can also benefit from it.

Another reason for the popularity of the uniform modeling language can be considered the interest of software industry activists in the automation of all parts of their work. Because this work, i.e. the automation of the software production process, will improve the quality and reduce the cost and time of delivery to the market.

On the other hand, visual programming, patterns, and frameworks are a fast way to transfer data and information. Of course, let’s not forget the right, managing and documenting several charts will be much easier than managing the non-visual documentation of a project or department in the business. In this case, if something needs to be changed, updated, repeated, etc. in the software production process, it can easily track these changes through the uniform modeling language. In fact, integrated modeling language is designed to meet this style of needs.

Features and features of the uniform modeling language

In general, with UML, you can access the following facilities:

  • Providing a ready-to-use visual modeling language for creating and exchanging meaningful models
  • Providing extensibility and specialized mechanisms to expand the main concepts
  • Independent of specific programming languages ​​and development processes
  • Provide a formal basis for understanding the modeling language
  • Support for high-level object-oriented development concepts, including Collaboration, Framework, Pattern, and Component
  • The possibility of integrating different modeling
  • The possibility of using forward engineering and converting models into programming codes like Java
  • The possibility of using reverse engineering and converting programming codes to models

In Uniform Modeling Language, you will be able to create different diagrams.

In the following, we will mention 8 of the most basic UML diagrams:

  • Class Diagram: Representing classes, interfaces, and the relationship between class components
  • Object Diagram: Displays system objects and a snapshot of the class diagram
  • Use Case Diagram: showing the interaction of users with the system and describing the system’s requirements, architecture, and overall implementation.
  • Interaction Diagram: Displays the interaction of various system components, including objects and messages exchanged between them.
  • State Chart Diagram: showing states and events between objects and in general the life cycle of the system
  • Activity Diagram: Displays the sequential activities of performing an operation in the system
  • Component Diagram: representing the static model of the implemented system
  • Deployment Diagram: Displays the components used in the system such as libraries, codes, files, etc.

Important terms in uniform modeling language

You may come across terms in the uniform modeling language that you don’t know how to use properly. In Adame, the most important terms of UML have been collected in the form of a dictionary. Of course, these terms, collected by the Visual Paradigm site, are only a part of the terms available in the Integrated Modeling Language.

  • Abstract: A class that is never instantiated means that an instance of this class will never exist.
  • Actor: An object or person that initiates events involving the system.
  • Aggregation: A part of a class represented by a hollow diamond next to that class in diagrams.
  • Articrafts: Graphical, textual, or hybrid documents that describe the output of a step in the design process.
  • Attributes: Attributes of an object that may refer to other objects or store object state information.
  • Class: A group of similar objects described by the same properties and operations.
  • Classifier: A UML element with attributes and operations, specifically, Actors, Classes, and Interfaces.
  • Component: A code unit that can be deployed in the system.
  • Concept: A noun or abstract idea that should be included in the Domain model.
  • Domain: The part of the world that the system is involved with.
  • Element: Anything that appears in a model.
  • Encapsulation: Data is private in objects.
  • Fork: A point in the activity graph where multiple parallel threads of control begin.
  • GoF: a set of four design patterns (Gang of Four)
  • Initial State: A state diagram or an activity diagram indicates the starting point of the diagram.
  • Instance: A class behaves like a template for creating an object. This object is called an instance of the class.
  • Join: A point in the activity diagram where multiple parallel threads of control are synchronized and rejoined.
  • Member: An attribute or an operation in a Classifier.
  • Merge A point in the activity diagram where different control paths come together.
  • Method: A function in an object.
  • Notation: graphic document with rules for creating analysis and design methods.
  • Note: A text note is appended to the diagram to display more details.
  • Object: An object whose task is to receive or provide information from Activities.
  • Package: A group of uniform modeling language elements that should be logically grouped.
  • Pattern: solutions or patterns to determine the responsibility of objects in interactions.
  • Parameter: The argument of an operation.
  • Polymorphism: Multiple forms that have the same message but different functions. It is also used as a template.
  • Role: The role used in the Domain model is an optional description of the role of an Actor.
  • State: The state diagram shows a state of a system or subsystem. It means work and data values ​​are done at a point in time.
  • Workflow: A workflow or set of activities that produce specific results.

Although the use of programming codes is necessary for software development, it is not sufficient. To develop software in a principled way, managers will need a visual workflow that, in addition to exchanging information as quickly as possible, is completely understandable and simple. Therefore, the foot of the uniform modeling language or UML is opened to the field of software development. Of course, this language is not only used for software development. And managers of different departments can use it to depict different systems and strategies.