Сравнение двух подходов структурирования диаграммы Activity (по мотивам "Белки")


В 1-ой части статьи "От моделирования процессов к проектированию автоматизированной системы" мы моделировали процессы «сказочной» предметной области — строчки про белку из "Сказки о царе Салтане, о сыне его славном и могучем богатыре князе Гвидоне Салтановиче и о прекрасной царевне Лебеди" А.С.Пушкина. И начали мы с диаграммы Activity, договорившись о структурировании поля диаграммы с помощью «плавательных» дорожек – Swim lanes. Имя дорожки соответствует типу элементов диаграммы, которые присутствуют на этой дорожке: «Входные и выходные артефакты», «Шаги процесса», «Участники» и «Бизнес-правила». Этот подход отличается от стандартного, когда дорожки обозначаются именами участников процесса, таким образом закрепляя за ними определенные зоны ответственности в процессе.


В данном примере я использую среду Enterprise Architect от австралийской компании Sparx Systems [1].


Подробнее о применяемых подходах к моделированию см. [2].


Полную спецификацию UML см. здесь [3].


Повторю вариант диаграммы из прошлой статьи (Рисунок 1) и покажу перерисованную диаграмму со "стандартными" дорожками (Рисунок 2), постараюсь плюсы и минусы обозначить, может быть, и немного субъективно.



Рисунок 1. Диаграмма Activity – общий вид процесса



Рисунок 2. Диаграмма Activity – стандартное структурирование диаграммы


  1. Нужно признать, что количество стрелок чуть меньше на 2-ой диаграмме.
  2. Но на 2-ой диаграмме объекты "размазаны" по всему полю диаграммы, что, на мой вкус, не очень удобно.
  3. Та же история с примечаниями — правилами. А еще чтобы правило про назначение дьякона вставить, пришлось все элементы диаграммы в какой-то момент двигать вниз.
  4. Пришлось клонировать шаг "приема/передачи...", чтобы показать, что несколько участников на этом шаге присутствуют.
  5. Во втором варианте пришлось отказаться от одного ветвления и одного слияния процесса, ну совершенно не получалось их "красиво" уложить! По хорошему, нужно было бы тогда повесить комментарий — правило.

На вкус и цвет, конечно, товарищей нет, но мне первый вариант кажется еще и более удобным для сбора данных о процессе.


Но не буду лукавить — иногда оба варианта лучше отрисовать, чтобы в процессе разобраться.


Дополнение. Благодарю за комментарии и привожу немного видоизмененную диаграмму 2-го варианта: можно переставить дорожки (на Рисунке 2 их очередность повторяет очередность появления участников в повествовании), количество пересекающихся стрелок еще немного уменьшится (Рисунок 3).



Рисунок 3. Диаграмма Activity – стандартное структурирование диаграммы — переставлены дорожки


Статьи, по мотивам которых, появилась эта статья:
От моделирования процессов к проектированию автоматизированной системы (Часть 1)
От моделирования процессов к проектированию автоматизированной системы (Часть 2)


Список источников
  1. Сайт Sparx Systems. [Электронный ресурс] Режим доступа: Интернет: https://sparxsystems.com
  2. Золотухина Е.Б., Вишня А.С., Красникова С.А. Моделирование бизнес-процессов. — М.: КУРС, НИЦ ИНФРА-М, ЭБС Znanium.com. — 2017.
  3. OMG Unified Modeling Language (OMG UML) Specification. Version 2.5.1. [Электронный ресурс] Режим доступа: Интернет: https://www.omg.org/spec/UML/2.5.1/PDF

Комментарии (6)


  1. CDCrom
    17.04.2019 08:46
    +1

    По мне так второй вариант гораздо лучше, так как лучше видно кто за что отвечает… т.е. видно, что Слуга (А2) и Воин (А4) вообще сами по себе и ни с кем не контактируют и для лучшей читаемости их можно оттеснить в право, тогда никаких наложений по линиям не будет и будет виден процесс.


    1. MooNDeaR
      17.04.2019 09:26

      А мне лично наоборот тяжело разобраться во второй диаграмме. Непонятно кто что и в каком порядке делает, тяжело понимать непосредственно само движение бизнес процесса, отследить трансформацию состояний артефактов тоже сложно.


      1. krasni Автор
        17.04.2019 09:51

        Да, мне тоже проще сначала первый вариант построить, а потом можно уже и развернуть, не показываю уже входы и выходы, например, тогда компактнее получится.


    1. krasni Автор
      17.04.2019 09:49

      Спасибо! Добавила диаграмму с переставленными дорожками.


  1. Gokudera
    17.04.2019 20:33

    Спасибо, лепота)).
    Трудновато наверное белке петь с орехом в зубах. Можно развить мысль орех разгрызен -> песенки поет(сообщение обработано -> сигнализировать о готовности обработки нового сообщения).


    1. krasni Автор
      17.04.2019 21:39

      Супер! Отличная идея! Совершенству нет предела:)