<НазадДля чего нужны UML диаграммы?
5/23/2023В прошлой публикации мы познакомились с диаграммой ER, которая является неотъемлемой частью процесса проектирования баз данных.
В этом посте мы углубимся в процесс проектирования ИТ-решений и познакомимся с диаграммой UML — Unified Modeling Language (Унифицированный язык моделирования).
UML — это стандарт, используемый для визуализации и моделирования архитектуры проекта. Он представляет из себя набор графических символов и нотаций, которые облегчают восприятие сложного проекта для всех членов команды.
Существуют разные виды UML-диаграмм. Давайте поговорим о них.
Разновидности UML
Диаграмма классов. Представьте сущность базы данных как отдельный класс со своими атрибутами. Кроме атрибутов, у класса могут быть свои методы. А еще классы могут зависеть друг от друга.
Давайте рассмотрим конкретный пример. Пусть у нас есть класс «Товар», у которого есть атрибуты «наименование», «цена», «категория». У этого класса могут быть методы: «создать товар», «удалить товар», «редактировать товар», «искать товар» и другие. Кроме того, этот класс имеет взаимосвязь с другим классом — «Категория товара».
Согласитесь, воспринимать такой текст — сложновато, поэтому придумали диаграмму классов, в которой графически отображают этот текст.
Диаграмма прецедентов. В любом бизнес-процессе есть актор, тот, кто выполняет действие. Также у нас есть, собственно, само действие. Эта диаграмма в графическом виде отражает акторов и то, какие действия они совершают.
Диаграмма последовательности. Это детализированное представление диаграммы прецедентов. Диаграмма последовательности содержит объекты, которые участвуют в процессе, а также сообщения, которыми объекты обмениваются. Есть и результаты этого обмена.
Пример процесса:
1. «Пользователь» нажал кнопку «Оформить заказ»;
2. «Сервер» создал объект сущности «Оплата» в БД;
3. «Сервер» отправил запрос в «Банк» на получение ссылки на оплату;
4. «Банк» вернул ссылку на оплату «Серверу»;
5. «Сервер» отправил ссылку на оплату пользователю;
6. «Пользователь» произвел оплату;
7. «Банк» вернул серверу информацию об успешной сделке;
8. «Пользователь» переадресован на предыдущую страницу.
Диаграмма состояний. Отображает различные состояния, в которых может находиться объект или система, и переходы между этими состояниями.
Диаграмма активностей. Это процессы, представленные в виде логической блок-схемы. На этой блок-схеме есть точка старта процесса, есть точка завершения. Между этими двумя точками располагается поток действий.
Пример:
1. Проснулся утром;
2. Умылся;
3. Если не проспал, то пункт 4, а если проспал — пункт 5;
4. Позанимался спортом;
5. Оделся;
6. Пошел на работу.
Диаграмма компонентов. Представляет из себя карту всех компонентов системы и их связи. Данная диаграмма позволяет смоделировать общую картину ИТ решения.
Диаграмма развертывания. Показывает физическое размещение компонентов системы на аппаратном обеспечении.
Заключение
UML-диаграммы — очень полезный инструмент проектирования ИТ-решений. Он позволяет разложить по полочкам ИТ-продукт со сложной архитектурой. Как правило, UML-диаграммы используются в средних или больших проектах.
Самое свежее
Простыми словами о графах
12/18/2022В этой статье мы начнем знакомство с графами, познакомимся с одним из алгоритмов для работы с графами и реализуем граф на языке программирования Rust.
В чем отличие аутсорсинга разработки от аутстаффинга ИТ-сотрудника для разработки?
10/17/2022В этой статье разберемся, что такое аутсорс- и аутстафф-разработка.
UI/UX дизайн: Процесс создания
4/9/2023В этой статье поговорим об основных шагах в процессе создания UI/UX дизайна.
UI/UX дизайн: Введение
3/29/2023В этой статье мы начинаем знакомиться с UI/UX дизайном. Это важнейший этап в разработке любого визуального интерфейса приложений.
Знакомьтесь, Пентест
8/22/2022Начинаем рассматривать один из основных методов оценки безопасности компьютерных систем и сетей на предмет потенциальных уязвимостей - тестирование на проникновение
Сокращаем срок реализации MVP
12/8/2022Разберемся со сроками реализации MVP.
Выбираем язык программирования
3/17/2023В этой статье мы поговорим о выборе языка программирования для изучения
Тестирование концепции MVP
1/9/2023Разбираемся с тем, как не потратить бюджеты на разработку MVP впустую
Проектирование архитектуры приложений: Введение
3/6/2023В этой статье поговорим о процессе создания архитектуры ИТ-решения
Техническое задание: Структура
2/17/2023В этой публикации мы рассмотрим универсальную структуру ТЗ
Неверная оценка стоимости услуг ИТ подрядчика
9/10/2022Сегодня мы поговорим о неверной оценке стоимости разработки ИТ решений. Эта боль - одна из основных для предприятий и стартапов, включая самих ИТ подрядчиков.
Введение в паттерны проектирования в разработке программного обеспечения
10/3/2022В этой статье мы начнем погружаться в мир оптимизации архитектуры приложений с помощью шаблонов проектирования
Выбираем направление разработки для обучения программированию
2/5/2023В этой статье вы узнаете какие бывают направления разработки, чем они отличаются и в каком больше платят.
Уровни модели OSI
9/6/2022В этой статье мы более подробно рассмотрим каждый из уровней модели OSI
Основные типы архитектуры приложений
3/7/2023В этой публикации разберемся с тем, какие бывают архитектуры приложений
10 способов использования Rust Cargo
2/11/2023В этой небольшой статье я собрал 10 способов использования системы сборки и менеджера пакетов языка программирования Rust
Документирование кода в языке программирования Rust
8/24/2022В этой статье рассмотрим то, как происходит документирование в Rust и рассмотрим очень полезную возможность - написание тестов через документирование.
Знакомство с моделью OSI
8/19/2022В этой статье начинаем рассматривать фундаментальную модель сетевого взаимодействия - OSI
CSS анимация пульсации
8/31/2022Простой пример того, как реализовать анимацию пульсации, используя HTML и CSS
Для чего нужна ER-диаграмма в процессе разработки?
4/28/2023Обсудим в общих чертах, что такое ER-диаграмма и для чего она нужна.
От концепции к MVP
11/18/2022В этой статье вы узнаете, на примере, о том, как перейти от концепции к MVP без лишних усложнений в функционале продукта
Введение в написание технического задания
1/31/2023Техническое задание - это важная часть процесса разработки. В этой статье начнем погружение в данный вопрос.
Введение в разработку
10/10/2022Сегодня большинство компаний сталкивается с ИТ-разработкой и часто не получают то, чего хотят. В этой статье мы начинаем погружение в процесс создания ИТ-решений.
От идеи к концепции
10/27/2022В этой публикации мы поговорим о том, чем идея отличается от концепции. Сделаем это на примере конкретной цели
Взвешенные графы
12/26/2022В этой статье мы познакомимся со взвешенными графами, алгоритмом Дейкстры и его реализацией на языке программирования Rust.
Зачем VPN бизнесу?
9/27/2022В этой статье мы рассмотрим то, как можно обезопасить доступ к облачным ресурсам предприятия с помощью VPN