<BackWhat are UML diagrams used for?
5/23/2023In the last publication, we got acquainted with the ER diagram, which is an integral part of the database design process.
In this post, we will delve into the process of designing IT solutions and get acquainted with the diagram of the UML - Unified Modeling Language (Unified Modeling Language).
UML is a standard used to visualize and model the architecture of a project. It is a set of graphic symbols and notations that facilitate the perception of a complex project for all team members.
There are different types of UML diagrams. Let's talk about them.
Varieties of UML
Class diagram. Imagine the database entity as a separate class with its own attributes. In addition to attributes, a class can have its own methods. And classes can also depend on each other.
Let's look at a concrete example. Suppose we have a class "Product", which has the attributes "name", "price", "category". This class can have methods: "create a product", "delete a product", "edit a product", "search for a product" and others. In addition, this class has a relationship with another class — "Product category".
Agree, it's a bit difficult to perceive such a text, so we came up with a class diagram in which this text is graphically displayed.
Use case diagram. In any business process there is an actor, someone who performs an action. We also have, in fact, the action itself. This diagram graphically reflects the actors and what actions they perform.
Sequence diagram. This is a detailed representation of the precedent diagram. The sequence diagram contains the objects that participate in the process, as well as the messages that the objects exchange. There are also results of this exchange.
Process example:
1. The "User" has clicked the "Checkout" button;
2. The "Server" created an object of the "Payment" entity in the DB;
3. The "Server" sent a request to the "Bank" to receive a payment link;
4. The "Bank" returned the payment link to the "Server";
5. The "Server" sent the payment link to the user;
6. The "User" made the payment;
7. The "Bank" has returned information about the successful transaction to the server;
8. The "User" is redirected to the previous page.
A diagram of states. Displays the various states in which an object or system can be located, and transitions between these states.
Activity diagram. These are processes presented in the form of a logical flowchart. On this flowchart there is a start point of the process, there is a completion point. The flow of actions is located between these two points.
Example:
1. Woke up in the morning;
2. Washed up;
3. If you did not oversleep, then point 4, and if you overslept, point 5;
4. I've been doing sports;
5. Got dressed;
6. Went to work.
Component diagram. It is a map of all system components and their connections. This diagram allows you to model the overall picture of an IT solution.
Deployment diagram. Shows the physical placement of system components on the hardware.
Conclusion
UML diagrams are a very useful tool for designing IT solutions. It allows you to sort out an IT product with a complex architecture. As a rule, UML diagrams are used in medium or large projects.
Lates
About graphs, simply.
12/18/2022In this article, we will begin our acquaintance with graphs, get acquainted with the breadth-first search algorithm (BFS) and implement the graph in the Rust programming language.
What is the difference between outsourcing development and outstaffing an IT employee for development?
10/17/2022In this article we will understand what outsourcing and outstaff development are.
UI/UX design: The creation process
4/9/2023In this article we will talk about the main steps in the process of creating UI/UX design.
UI/UX design: Introduction
3/29/2023In this article, we begin to get acquainted with UI / UX design. This is the most important stage in the development of any visual application interface.
Meet the Pentest
8/22/2022We are beginning to consider one of the main methods of assessing the security of computer systems and networks for potential vulnerabilities - penetration testing
Reducing the implementation period of MVP
12/8/2022Let's figure out the timing of the implementation of the MVP.
Choosing a programming language
3/17/2023In this article we will talk about choosing a programming language to study
Testing an MVP concept
1/9/2023We will figure out how not to waste the budget on MVP development in vain
Application Architecture Design: Introduction
3/6/2023In this article, we will talk about the process of creating the architecture of an IT solution.
The terms of references: Structure
2/17/2023In this publication we will consider the universal structure of ToR
Incorrect estimation of the cost of IT contractor services
9/10/2022Today we will talk about the incorrect assessment of the cost of developing IT solutions. This pain is one of the main ones for enterprises and startups, including IT contractors themselves.
Introduction to Design Patterns in Software Development
10/3/2022In this article, we will begin to dive into the world of optimizing application architecture using design patterns.
Choosing the direction of development for programming training
2/5/2023In this article, you will find out what areas of IT development there are, how they differ and in which they pay more
OSI Model Levels
9/6/2022In this article, we will take a closer look at each of the levels of the OSI model
Main types of application architecture
3/7/2023In this publication, we will look at what application architectures are
10 ways to use Rust Cargo
2/11/2023In this short article I have collected 10 ways to use the build system and package manager of the Rust programming language
Documenting code in the Rust programming language
8/24/2022In this article, we will look at how documentation takes place in Rust and consider a very useful opportunity - writing tests through documentation.
Introduction to the OSI model
8/19/2022In this article we begin to consider the fundamental model of network interaction - OSI
CSS animation ripple
8/31/2022A simple example of how to implement ripple animation using HTML and CSS
What is the purpose of an ER-diagram in the development process?
4/28/2023Let's discuss in general terms what an ER diagram is and what it is used for.
From concept to MVP
11/18/2022In this article, you will learn, by example, how to move from a concept to an MVP without unnecessary complications in the functionality of the product
Introduction to writing the terms of references
1/31/2023The Terms of Reference are an important part of the development process. In this article, we will begin to dive into this issue.
Introduction to software development
10/10/2022Today, most companies are faced with IT development and often do not get what they want. In this article, we begin to dive into the process of creating IT solutions.
From idea to concept
10/27/2022In this publication, we will talk about how the idea differs from the concept. Let's do this with an example of a specific goal
Weighted graphs
12/26/2022In this article, we will get acquainted with weighted graphs, Dijkstra's algorithm, and its implementation in the Rust programming language.
Why does a VPN business need?
9/27/2022In this article, we will look at how you can secure access to enterprise cloud resources using a VPN