Главная страница
Навигация по странице:

  • Что такое UML-диаграммы

  • Для чего используется UML

  • Нотация UML для описания логики проекта

  • Часто используемые программы для создания диаграмм

  • Виды UML-диаграмм В языке UML есть 12 типов диаграмм: 4 типа диаграмм представляют статическую структуру

  • Диаграмма прецедентов — Use-case diagram

  • Диаграмма классов — Class diagram

  • Диаграмма активностей — Activity diagram

  • Диаграмма последовательности — Sequence Diagram

  • Диаграмма развертывания — Deployment Diagram

  • UML для бизнес. Uml для бизнесмоделирования зачем нужны диаграммы процессов


    Скачать 260.61 Kb.
    НазваниеUml для бизнесмоделирования зачем нужны диаграммы процессов
    Дата01.09.2022
    Размер260.61 Kb.
    Формат файлаdocx
    Имя файлаUML для бизнес.docx
    ТипДокументы
    #658557


    UML для бизнес-моделирования: зачем нужны диаграммы процессов

    Автор: Александр Марголин, CTO

    Материалы статьи подготовлены в рамках внутренней программы менторства и обучения специалистов команды Evergreen.

    Что такое UML-диаграммы?

    Unified Modeling Language (UML) — унифицированный язык моделирования. Расшифруем: modeling подразумевает создание модели, описывающей объект. Unified (универсальный, единый) — подходит для широкого класса проектируемых программных систем, различных областей приложений, типов организаций, уровней компетентности, размеров проектов. UML описывает объект в едином заданном синтаксисе, поэтому где бы вы не нарисовали диаграмму, ее правила будут понятны для всех, кто знаком с этим графическим языком — даже в другой стране.

    Для чего используется UML?

    Одна из задач UML — служить средством коммуникации внутри команды и при общении с заказчиком. Давайте рассмотрим возможные варианты использования диаграмм. 

    • Проектирование. UML-диаграммы помогут при моделировании архитектуры больших проектов, в которой можно собрать как крупные, так и более мелкие детали и нарисовать каркас (схему) приложения. По нему впоследствии будет строиться код.  

    • Реверс-инжиниринг — создание UML-модели из существующего кода приложения, обратное построение. Может применяться, например, на проектах поддержки, где есть написанный код, но документация неполная или отсутствует. 

    • Из моделей можно извлекать текстовую информацию и генерировать относительно удобочитаемые тексты — документировать. Текст и графика будут дополнять друг друга.

    Нотация UML для описания логики проекта

    Как и любой другой язык, UML имеет собственные правила оформления моделей и синтаксис. С помощью графической нотации UML можно визуализировать систему, объединить все компоненты в единую структуру, уточнять и улучшать модель в процессе работы. На общем уровне графическая нотация UML содержит 4 основных типа элементов:

    • фигуры;

    • линии;

    • значки;

    • надписи.

    UML-нотация является де-факто отраслевым стандартом в области разработки программного обеспечения, ИТ-инфраструктуры и бизнес-систем.

    Часто используемые программы для создания диаграмм

    • Diagrams.net — удобный сервис для создания блок-схем, UML-диаграмм, моделей бизнес-процессов онлайн. Совместим с большинством популярных инструментов, включая Google Docs, Git, Dropbox, OneDrive и другие.



    Источник: diagrams.net

    • Dbdiagram.io — приложение для построения диаграмм связей для баз данных. Хороший инструмент для разработчиков и аналитиков.



    • Google Drawings — бесплатный инструмент для создания блок-схем и диаграмм в составе Google Drive (менее удобный по сравнению с diagrams.net);

    • xmind.net — программа для построения интеллектуальных карт (mind map), логических схем, сложных структур, проведения брейнсторма и не только.

    Виды UML-диаграмм

    В языке UML есть 12 типов диаграмм:

    • 4 типа диаграмм представляют статическую структуру приложения;

    • 5 типов представляют поведенческие аспекты системы;

    • 3 представляют физические аспекты функционирования системы (диаграммы реализации).

    Некоторые из видов диаграмм специфичны для определенной системы и приложения. Самыми доступными из них являются:

    • Диаграмма прецедентов (Use-case diagram); 

    • Диаграмма классов (Class diagram);

    • Диаграмма активностей (Activity diagram); 

    • Диаграмма последовательности (Sequence diagram);

    • Диаграмма развёртывания (Deployment diagram);

    • Диаграмма сотрудничества (Collaboration diagram); 

    • Диаграмма объектов (Object diagram); 

    • Диаграмма состояний (Statechart diagram).

    Диаграмма прецедентов — Use-case diagram

    Диаграмма прецедентов использует 2 основных элемента: 

    1) Actor (участник) — множество логически связанных ролей, исполняемых при взаимодействии с прецедентами или сущностями (система, подсистема или класс). Участником может быть человек, роль человека в системе или другая система, подсистема или класс, которые представляют нечто вне сущности. 

    2) Use case (прецедент) — описание отдельного аспекта поведения системы с точки зрения пользователя. Прецедент не показывает, "как" достигается некоторый результат, а только "что" именно выполняется.

    Рассмотрим классический студенческий пример, в котором есть 2 участника: студент и библиотекарь. Прецеденты для студента: ищет в каталоге, заказывает, работает в читальном зале. Роль библиотекаря: выдача заказа, консультации (рекомендации книг по теме, обучение использованию поисковой системы и заполнению бланков заказа).



    Источник: slide-share.ru

    Второй пример немного сложнее. Видим, что одно и то же лицо может выступать в нескольких ролях. Например, product manager у нас работает над стратегией и больше ничем не занимается, архитектор работает над стратегией и занимается внедрением, build master занимается тремя вещами одновременно, и так далее. По такой схеме мы можем проследить, какая из ролей связана с какими прецедентами.

     

    Источник: slide-share.ru

    Диаграмма классов — Class diagram

    Класс (class) — категория вещей, которые имеют общие атрибуты и операции. Сама диаграмма классов являет собой набор статических, декларативных элементов модели. Она дает нам наиболее полное и развернутое представление о связях в программном коде, функциональности и информации об отдельных классах. Приложения генерируются зачастую именно с диаграммы классов. Рассмотрим на простом примере ниже: 

    Источник: slide-share.ru

    Для класса "студент" есть таблица, содержащая атрибуты: имя, адрес, телефон, e-mail, номер зачетки, средняя успеваемость. И также показаны связи данной сущности с другими: прохождением курса, какой курс слушает, кто профессор. В этом примере также добавляются функции, которые могут быть применены к сущности "студент". 

    Диаграмма активностей — Activity diagram

    Тоже крутая штука, которая очень часто используется на практике. Диаграмма активностей описывает динамические аспекты поведения системы в виде блок-схемы, которая отражает бизнес-процессы, логику процедур и потоки работ — переходы от одной деятельности к другой. По сути, мы рисуем алгоритм действий (логику поведения) системы или взаимодействия нескольких систем. Ниже — пример подобной диаграммы для интернет-магазина.

    Диаграмма активностей для сайта магазина максимально доступно объясняет, какие есть интеграции в системе. Актер (в нашем случае — покупатель), зашедший на сайт, делает заказ. Далее у нас происходит разветвление: проверяем, является ли пользователь оптовиком (Да/Нет). Если он не зарегистрирован в системе и не оптовик, заказ отправляется в retailCRM. Если пользователь зарегистрирован, его заказ попадает в Navision. При этом между retailCRM и Navision происходит синхронизация остатка и статусов.

    Эту базовую диаграмму мы можем дополнить, расширить, она может выступить частью документации и дает общее представление о работе системы.

    Диаграмма последовательности — Sequence Diagram

    Используется для уточнения диаграмм прецедентов — описывает поведенческие аспекты системы. Диаграмма последовательности отражает взаимодействие объектов в динамике, во времени. При этом информация принимает вид сообщений, а взаимодействие объектов подразумевает обмен этими сообщениями в рамках сценария. 



     Источник: slide-share.ru

    Диаграмма развертывания — Deployment Diagram

    Диаграмма развертывания отображает графическое представление инфраструктуры, на которую будет развернуто приложение: топологию системы и распределение компонентов по ее узлам, а также соединения — маршруты передачи данных между узлами. Диаграмма помогает более рационально организовать компоненты, от чего зависит в числе прочего и производительность системы, а также решить вспомогательные задачи, например, связанные с безопасностью.



    Источник: slide-share.ru

    Заключение

    Как видим, на первый взгляд банальный набор фигур и стрелок может значительно упростить решение сложных задач в программировании, помочь при выборе оптимального решения и разработке технической документации. Какие еще выводы можем сделать:

    • строить диаграммы несложно;

    • диаграммы очень легко читаемы и просты для понимания;

    • они — отличный инструмент для проектирования архитектуры и поведения;

    • необходимы для документирования любой нетривиальной системы. Позволяют легко понять связи между модулями и интеграциями в системе. 


    написать администратору сайта