UML (Unified Modeling Language) — стандартный язык для описания, визуализации, проектирования и документации элементов информационных систем. Нотация принадлежит консорциуму OMG (Object Management Group), который разрабатывает ее с 1997 года. OMG также разрабатывает BPMN 2.0 — нотацию для проектирования бизнес-процессов.
Диаграммы UML отражают какой-то один аспектов информационной системы, а не систему в целом. Например, диаграмма вариантов использования (use-case model) показывают систему с точки зрения взаимодействия с конечным пользователем. За счет комбинации различных диаграмм можно достичь целостного взгляда на модель проектируемой системы, что крайне полезно при разработке.
Принципы нотации UML
Как и любая нотация, UML служит средством коммуникации между разработчиками системы.
Задачи UML
- позволяет безошибочно идентифицировать и отличать друг от друга элементы системы.
- отражает объективные и существенные связи между элементами системы;
- дает адекватное представления о тех элементах системы, которые невозможно понять вне целостной модели;
- служит гарантией того, что все участки проекта разработки разговаривают на одном и том же языке;
- упрощает коммуникацию, обмен опытом и знаниями между участниками проекта;
- содействует точной реализации инженерного замысла на программном уровне.
Цель UML — создать точные, исчерпывающие и предельно понятные модели информационных систем.
Особенности UML
Отличительная особенность UML — это возможность напрямую связать модели с языками программирования, благодаря чему нотацию можно рассматривать в качестве верхнеуровневого инструмента разработки.
UML можно рассматривать как наследницу идей объектно-ориентированного анализа и проектирования. Для лучшего понимания, чем же является UML, разберем ключевые понятия объектно-ориентированного подхода к проектированию:
- Объект— простейшая сущность, базовый строительный блок.
- Класс — чертеж объекта, его условное описание.
- Абстракция — отражение поведения сущности в реальном мире.
- Инкапсуляция — механизм связывание данных и их сокрытия от внешнего мира.
- Наследование — механизм получения новых классов на основе уже существующих
- Полиморфизм — механизм образования новых форм из существующих элементов.
В UML объекты содержат данные и методы их контроля. Данные описывают состояние объекта. Классы описывают объекты и образуют иерархию, которая отражает реально существующую систему. Объекты — это сущности реального мира, и UML использует для их отображения такие методы, как абстракция, инкапсуляция, наследование и полиморфизм. Таким образом диаграммы UML по сути являются объектно-ориентированным представлением.
Теперь легко понять базовые принцип работы с нотацией UML:
- Установить объект и все его функции. Совокупность функции объектов определяют цели проектируемой системы.
- Соотнести объекты друг с другом с учетом всех задуманных связей в рамках целого.
- Реализовать полученную модель с помощью языков программирования Java, С++ и др.
Таким образом UML описывает прежде всего свойства объектов в рамках системы. В этом ее сила и слабость. UML позволяет построить предельно точную модель, но для этого нужны разные типы диаграмм, так как разные свойства объектов проявляются в разных ситуациях. Вне задач разработки такие диаграммы теряют ценность, поскольку требуют экспертизы и времени, чтобы во всем разобраться и составить целостное представление о системе. UML нужен прежде всего ИТ-специалисту, а не бизнес-пользователю.
Типы UML диаграмм
Мы уже сказали, что для моделирования UML использует несколько типов диаграмм. Давайте посмотрим на них подробнее. Существуют 14 типов диаграмм, которые делятся на 2 большие группы диаграммы поведения (и взаимодействия), а также структурные диаграммы
Разные типы диаграмм помогают разобраться в системе людям с разными навыками и знаниями. Например, диаграммы прецедентов показывают работу системы с точки зрения обычного пользователя, а диаграмма развертывания — с точки зрения системного инженера. Таким образом UML отражает различные аспекты взаимодействия с системой. Разберем самые важные из них.
Модель использования в нотации UML (Use-case model)
Диаграммы прецедентов, деятельности и последовательности показывают основные функции системы и ее окружение. Именно эти типы диаграмм нужны заказчику, чтобы понять смысл системы, для чего она нужна и как с ней работать. Данные типы диаграмм выступает основным средством коммуникации между заказчиком и разработчиком на этапе проектирования.
Диаграммы прецедентов
Показывают набор действий, доступных отдельному пользователю при работе в системе. Прецедент в данном случае — это стандартный вариант использования функциональных возможностей. Его принято обозначать эллипсом с подписью в форме глагола. Например, ввести логин и пароль, заполнить заявку на закупку, внести данные клиента или согласовать проект договора.
Для чего используют диаграммы прецедентов? Чтобы исключить дублирование функциональных возможностей системы в рамках прецедента. Например, на схеме видно, что форму регистрации заполняет как студент, так и преподаватель. Глядя на схему, разработчик понимает, что определенные элементы интерфейса и кода можно использовать повторно. Это экономит время и ресурсы при разработке.
Диаграмма деятельности (активности)
Показывает причинно-следственные взаимосвязи между действиями в системе. Диаграмму можно использовать для проектирования бизнес-процессов, бизнес-правил, потока работ, алгоритмов, сценариев тестирования и других последовательных, скоординированных операций. Точка входа в процесс по правилам UML должна быть только одна, а вот выходов может быть несколько.
Для чего используют диаграмму действий? Чтобы понять, какие действия приводят к нужному результату. Ведь систему проектируют для достижения целей, а не просто так.
Диаграмма последовательности
Показывает порядок взаимодействия с объектами системы. Взаимодействие осуществляется в рамках прецедента, или стандартного сценария использования функциональных возможностей.
Например, пользователь должен для получения доступа в личный кабинет совершить определенный набор действий с электронной формой: зайти на страницу сайта, заполнить поля логина и пароля, нажать кнопку авторизации.
Для чего нужна диаграмма последовательности? Чтобы детализировать сценарии использования функциональных возможностей, а также уточнить время жизни объектов. Схема помогает экономить вычислительные мощности и точно проектировать сценарии использования на уровне интерфейсов.
Подведем некоторые итоги. Модели UML позволяют рационально организовать процесс разработки, и не только в плане коммуникации между заказчиком и техническим исполнителем. Однако уловить различие между разными типами диаграмм UML с первого раза не так просто. Нужна определенная практика.
BPMN 2.0 — интуитивно-понятная нотация для бизнеса и ИТ
Немного скажем о нотации BPMN 2.0. Противопоставлять UML и BPMN 2.0 не очень правильно, поскольку эти две нотации решают разные задачи, и к тому же принадлежат одному консорциуму.
- UML — инструмент проектирования систем, чаще всего информационных
- BPMN 2.0 — инструмент проектирования бизнес-процессов.
BPMN не позволяет моделировать системы с нуля, но отлично справляется с бизнес-процессами. BPMN диаграммы гораздо наглядней, чем диаграммы процессов в UML, и ориентированы не столько на задачи разработки, сколько именно на задачи управления. Для бизнеса BPMN служит не только средством коммуникации с разработчиком, но и инструментом оптимизации бизнес-процессов.
Comindware Business Application Platform использует для моделирования процессов именно нотацию BPMN 2.0, что упрощает создание бизнес-ориентированных решений. Платформа использует простые low-code методы разработки, которые можно освоить за 2 дня, не владея навыками программирования. Метод разработки, предложенный платформой, позволяет проектировать системы на основе диаграмм BPMN.