UML is an abbreviation for Unified Modeling Language. In fact, this is one of the most popular methods for modeling business processes, which is an international standard notation for specifying, visualizing, and documenting software development. Defined by an object management group, it emerged as a result of several additional UML notation systems and has now become the de facto standard for visual modeling. The fundamental principle of any object-oriented programming begins with building a model.
Method Prerequisites
UML was created as a result of the chaos surrounding software development and documentation. In the 1990s, there were several different ways of representing software systems. There was a need for a more unified way of visual UML representation of these systems, and as a result in 1994-1996 it was developed by three software engineers working in Rational Software. It was later adopted as a standard in 1997 and still remains one with only a few updates.
Basically, UML is a general-purpose modeling language in the field of software development. However, now it is reflected in the documentation of several business processes or work processes, for example, activity diagrams. The type of UML diagrams can be used as a replacement for flowcharts. They provide both a more standardized way to simulate workflows and a wide range of functions to increase readability and efficiency.
Modeling Language Architecture
The architecture is based on a meta-object that defines the basis for creating the UML language. It is accurate enough to create an entire application. Fully executable UML can be deployed on multiple platforms using different technologies with all processes throughout the software development cycle.
UML is designed for users to develop a visual modeling language. It supports high-level development concepts such as frameworks, templates, and collaboration. UML is a collection of elements such as:
- Statements about the programming language.
- Actors - describe the role played by the user or any other system interacting with the object.
- Activities to be performed to fulfill the work contract and be presented in diagrams.
- A business process that includes a set of tasks that create a specific service for customers, visualized by a flowchart of sequential actions.
- Logical and reusable software components.
UML diagrams fall into two categories. The first type includes seven types of diagrams representing structural information, the second includes the remaining seven, representing general types of behavior. These diagrams are used to document system architecture and are directly involved in UML system modeling.
Various structural diagrams
UML diagrams are presented in the form of static and dynamic representations of the system model. The static view includes class diagrams and composite structures that emphasize the static structure. A dynamic view is an interaction between objects and changes in the internal states of objects using sequence, activity, and state diagrams.
A variety of UML modeling tools are available to simplify modeling, including IBM Rose, Rhapsody, MagicDraw, StarUML, ArgoUML, Umbrello, BOUML, PowerDesigner, and Dia.
Types of UML diagram.
Types of use
Using UML has various forms in the documentation for software development, and in business processes:
- Sketch. In this case, UML diagrams are used to convey various aspects and characteristics of the system. However, this is only a representation of the top level of the system and, most likely, will not include all the necessary details for the implementation of the project until the very end.
- Forward Design - sketch design is performed before coding the application. This is for a better overview of the system or workflow that the user is trying to create. Many design problems or deficiencies can be identified, which will improve the overall health and well-being of the project.
- Reverse Design. After writing the code, UML diagrams are displayed as a form of documentation for various actions, roles, participants, and workflows.
- Blueprint. In this case, the diagram serves as a complete construction, which requires only the actual implementation of the system or software. Often this is done using CASE (Computer Aided Software Engineering Tools) tools. The main disadvantage of using CASE tools is that they require a certain level of knowledge, user training, as well as management and personnel.
Pseudo programming language
UML is not a standalone programming language like Java, C ++ or Python, but with the right tools, it can turn into a UML pseudo-programming language. To achieve this, the entire system must be documented in different diagrams, and using the right software, diagrams can be directly translated into code. This method can only be useful if the time it takes to draw the diagrams takes less time than writing the actual code. Despite the fact that UML was created for modeling systems, it has found several applications in business areas.
The following is an example of a UML diagram for business modeling.
One practical solution would be to visualize the process flow for telesales through an activity diagram. From the moment when the order is taken as an input to the moment when the order is completed and a specific output is given.
There are several types of UML diagrams, and each of them performs a different task, regardless of whether it is developed before implementation or after, as part of the documentation. The two widest categories, covering all other types, are a behavior diagram and a structural diagram. As the name suggests, some UML diagrams attempt to analyze and depict the structure of a system or process, while others describe the behavior of the system, its participants, and components.
Different types are broken as follows:
- Not all of the 14 different types of UML diagrams are used regularly to document systems and architectures.
- The Pareto principle applies to the use of UML diagrams.
- 20% of diagrams are used by developers in 80% of cases.
The most commonly used elements in software development:
- usage diagrams;
- class diagrams;
- sequence.
Action chart
Action diagrams are the most important UML diagrams for creating business process models. In software development, they are used to describe the flow of various actions. They can be either sequential or parallel. They describe the objects used, consumed or produced as a result of the activity and the relationship between the various activities.
All of the above is important for modeling business processes that lead from one to another, since they are interconnected with a clear beginning and end. In a business environment, this is also called business process mapping. The main actors are the author, editor and publisher. The following are examples of UML. When the reviewer reviews the project and decides that some changes are necessary. The author then revises the project and returns it again to analyze the review.
Usage chart
The cornerstone of the system - used to analyze system level requirements. These requirements are expressed in different use cases. The three main components of a UML diagram are:
- Functional - presented as use cases.
- A verb that describes an action.
- Actors - to interact with the system. An actor can be users, organizations, or an external application. Relations between participants are represented by straight arrows.
For example, for a stock management chart. In this case, there is an owner, supplier, manager, inventory specialist, and inventory inspector. In round containers indicate the actions that the actors perform. Possible actions: buying and paying for shares, checking the quality of stocks, returning stocks or distributing them.
This type of diagram is well suited to display dynamic behavior between participants in the system, simplifying its presentation without reflecting implementation details.
Temporary
UML timing diagrams are used to represent relationships of objects when the focus of attention is dependent on time. It’s not interesting how the objects interact or change each other, but the user wants to imagine how the objects and subjects act along a linear time axis.
Each individual participant is represented through the line of life, which is essentially a line that forms the stages, as an individual participant moves from one stage to another. The focus is on the length of time of events and the changes that occur depending on it.
The main components of the timing chart are:
- Lifeline is an individual member.
- Timeline of the state - the only life path can go through various states within the process.
- Duration Limit - A limitation of the time interval that represents the duration of the restriction that is necessary to fulfill.
- Time limit - limit the time interval during which something must be performed by the participant.
- The appearance of destruction is the appearance of a message that destroys an individual participant and depicts the end of the life cycle of that participant.
State Machine UML Diagram
Horizontal diagrams, also called state diagrams, are used to describe the various states of a component within a system. It accepts the final name format because the diagram is essentially a machine that describes several states of an object and how it changes based on internal and external events.
A very simple diagram of the state of a machine would be in a chess game. A typical chess game consists of moves made by White and movements made by Black. White has the first move, which thus initiates the game. The end of the game can occur regardless of whether White or Black wins. The game may end with a match, resignation or a draw (different machine conditions). Statecharts find application mainly in the forward and reverse UML design of various systems.
Sequential
This type of diagram is the most important UML diagram not only among the computer science community, but also as a design level model for developing business applications. They are popular in describing business processes because of their visually self-evident nature. As the name implies, diagrams describe the sequence of messages and interactions that occur between subjects and objects. Actors or objects can be active only when necessary or when another object wants to communicate with them. All communications are presented in chronological order.
For more complete information, you can consider the example UML sequence diagram below.
As follows from the example, structural diagrams are used to display the structure of the system. More specifically, the language is used in software development to represent the system architecture and how the different components are interconnected.
Class diagram
A UML class diagram is the most common type of diagram for software documentation. Since most of the programs currently being created are still based on an object-oriented programming paradigm, using class diagrams to document software proves to be common sense. This is because OOP is based on UML classes and the relationships between them. In a nutshell, diagrams contain classes, along with their attributes, also called data fields, and their behavior, called member functions.
More specifically, each class has 3 fields: name at the top, attributes right below the name, operations / behavior at the bottom. The relationship between the various classes (represented by a connecting line) makes up a class diagram. The above example shows a basic class diagram.
Of objects
When discussing UML structural diagrams, you need to delve deeper into concepts related to computer science. In software development, classes are considered as abstract data types, while objects are instances of an abstract class. For example, if there is a “Car”, which is a common abstract type, then an instance of the “Car” class will be “Audi”.
UML object diagrams help software developers verify that the generated abstract structure generates a viable structure when implemented in practice, that is, when objects are created. Some developers consider this a secondary level of accuracy testing. It displays instances of classes. More precisely, the general class "Client" now has an actual client, for example, under the name "James". James is an instance of a more general class and has the same attributes, however, with the given values. The same thing was done with the “Accounts and Savings” account. They are both objects of their respective classes.
Deployment
Deployment diagrams are used to visualize the relationship between software and hardware. To be more specific, with deployment diagrams, you can build a physical model of how software components (artifacts) are deployed to hardware components known as nodes.
A typical simplified deployment scheme for a web application will include:
- Nodes (application server and database server).
- Artifacts diagram of client application and database.
Nodes contain artifacts. The database schema runs on the database server, and the application client runs on the application server. As the name implies, the diagram shows exactly where each software component is deployed.
A package diagram is similar to a macro collection for the deployment UML diagrams that we explained above. Various packages contain nodes and artifacts. They group diagrams and model components into groups, just as a namespace encapsulates different names that are somewhat interconnected. Ultimately, a package can also be created by several other packages to display more complex systems and behavior.
The main purpose of the package diagram is to show the relationships between the various large components that make up a complex system. Programmers find this abstraction feature a good advantage for using package diagrams, especially when some details may be left out of the picture.
UML Chart Drawing Tools
Like any other thing in life, to do something right, you need the right tools. Software tools, processes, or UML annotations and diagram templates are used to document software, processes, or systems. There are various software documentation tools that can help draw a diagram.
They are usually divided into the following main categories:
- Paper and pen are easy. Paper and pen are taken, UML syntax code is opened from the Internet, and any type of diagram that is needed is drawn.
- Online Tools - There are several online applications that you can use to create a chart. Most of them offer a paid subscription or a limited number of diagrams at a free level.
- Free online tools are almost the same as paid ones. The main difference is that paid ones also offer tutorials and ready-made templates for specific diagrams.
- The desktop application is a typical desktop application for use with charts, and almost any other chart is Microsoft Visio. . , .
, , UML - , - . .