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

в 14:14, , рубрики: class, enterprise architect, modelio, UML, uml activity diagram, UML Design, Анализ и проектирование систем, моделирование, проектирование

«Один день из жизни белки» или от моделирования процессов к проектированию автоматизированной системы учёта материальных ценностей «Белка-1.0» (Часть 2)

От моделирования процессов к проектированию автоматизированной системы (Часть 2) - 1
Использована иллюстрация к "Сказке о царе Салтане" А.С.Пушкина, изд."Детская литература", Москва, 1949 год, Ленинград, рисунки К.Кузнецова

Краткое содержание предыдущей серии

В 1-ой части мы использовали «сказочную» предметную область, вдохновленные примерами изучения диаграмм UML с опорой на сюжеты сказок (см., например, здесь [1]). До начала моделирования мы договорились относительно использования некоторых элементов диаграммы Activity и начали формировать соглашение по моделированию. С учетом этих договоренностей мы на 1-ом этапе описали процесс в виде диаграмм Activity, а на 2-ом этапе выделили шаги процесса, для которых требуется (и возможна) автоматизация.

Напомню, что автоматизировать мы собираемся деятельность по учёту материальных ценностей, которая возникает вот в этих процессах.


Остров на море лежит, (E1, E2)
Град на острове стоит (E3, E1)
С златоглавыми церквами, (E4)
С теремами да садами; (E5, E6)
Ель растет перед дворцом, (E7, E8)
А под ней хрустальный дом; (E9)
Белка там живет ручная, (A1)
Да затейница какая! (A1)
Белка песенки поет, (P1, A1)
Да орешки всё грызет, (P2)
А орешки не простые, (C1)
Всё скорлупки золотые, (C2)
Ядра чистый изумруд; (C3)
Слуги белку стерегут, (P3, A2)
Служат ей прислугой разной (P4)
И приставлен дьяк приказный (A3)
Строгий счет орехам весть; (P5, C1)
Отдает ей войско честь; (P6, A4)
Из скорлупок льют монету, (P7, C2, C4)
Да пускают в ход по свету; (P8)
Девки сыплют изумруд (P9, A5, C3)
В кладовые, да под спуд; (E10, E11)

(А.С.Пушкина "Сказка о царе Салтане, о сыне его славном и могучем богатыре князе Гвидоне Салтановиче и о прекрасной царевне Лебеди", как считается, вольная обработка народной сказки «По колена ноги в золоте, по локоть руки в серебре», которая, была записана Пушкиным в различных вариантах)

В данном примере я использую среду Enterprise Architect от австралийской компании Sparx Systems [2], а в рамках учебных занятий применяю Modelio [3].
Напомню, что процессы бывают разные, ознакомится можно, например, здесь [4] и здесь [5].
Подробнее о применяемых подходах к моделированию и проектированию см. [6, 7].
Полную спецификацию UML см. здесь [8].

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

Этап 3. Автоматизируемому шагу нужно поставить в соответствие функцию или функции системы

Разрабатываемая автоматизированная система (АС) предназначена для ведения строгого учета орехов, помните? Для каждого выделенного шага (см. Рисунок 3, Рисунок 4 в 1-ой части), который будем автоматизировать, запишем функциональное требование, применяя примерно такую конструкцию «В системе должна быть реализована возможность …» и разработаем диаграмму Use-case. Сейчас мы фактически дополняем наше соглашение по моделированию новыми правилами. Поясню какие элементы будем использовать.
От моделирования процессов к проектированию автоматизированной системы (Часть 2) - 2

Между «Ролью пользователя» и «Функцией» будем использовать связь «Ассоциация» (Рисунок 5), это означает, что для пользователя с данной ролью доступно выполнение данной функции.

От моделирования процессов к проектированию автоматизированной системы (Часть 2) - 3
Рисунок 5. Использование связи типа «Ассоциация»

От «Функции» к «Требованию» проведем связь «Реализация» (Рисунок 6), чтобы показать, что данное требование будет реализовано вот этими функциями, отношение может быть и «многие-ко многим», т.е. одна функция может участвовать в реализации нескольких требований, а для реализации требования может понадобиться более одной функции.

От моделирования процессов к проектированию автоматизированной системы (Часть 2) - 4
Рисунок 6. Использование связи типа «Реализация»

Если одна функция требует для своего выполнения, чтобы была выполнена еще какая-то функция, причем обязательно, будем использовать связь «Зависимость» со стереотипом «Include» — включение (Рисунок 7). Если же выполнение дополнительной функции требуется при определенных условиях, то будем использовать связь «Зависимость» со стереотипом «Extend» — расширение. Все очень легко запомнить: «Include» — ВСЕГДА, а «Extend» – ИНОГДА.

От моделирования процессов к проектированию автоматизированной системы (Часть 2) - 5
Рисунок 7. Использование связи типа «Зависимость (включение)»

В итоге наша диаграмма будет выглядеть примерно так (Рисунок 8).

От моделирования процессов к проектированию автоматизированной системы (Часть 2) - 6
Рисунок 8. Диаграмма Use-case (функциональная модель АС)

Кроме того, диаграмма Use-case используется для моделирования ролей пользователей (Рисунок 9).

От моделирования процессов к проектированию автоматизированной системы (Часть 2) - 7
Рисунок 9. Диаграмма Use-case (роли пользователей АС)

Этап 4. Опишем внутреннюю организацию АС с помощью диаграммы классов

Используя информацию о входных и выходных артефактах нашего процесса (см. диаграммы Activity — Рисунок 2, Рисунок 3, Рисунок 4), разработаем диаграмму классов. Будем использовать моделирующий элементы «Класс» и различные виды связей между ними.

От моделирования процессов к проектированию автоматизированной системы (Часть 2) - 8

Чтобы показать отношение «целое-часть» будем использовать связь типа «Агрегация» (Рисунок 10): орех – это целое, а скорлупки и ядро – это части.

От моделирования процессов к проектированию автоматизированной системы (Часть 2) - 9
Рисунок 10. Отношение «целое-часть»

В итоге фрагмент нашей диаграммы будет выглядеть примерно так (Рисунок 11). Цветом отмечены классы, которые мы выделили непосредственно в текстовом описании процесса.

От моделирования процессов к проектированию автоматизированной системы (Часть 2) - 10
Рисунок 11. Диаграмма классов

Диаграмма классов использовалась также для моделирования прочих артефактов – не только тех, которые будут иметь отношение к концептуальной модели автоматизируемого процесса учета материальных ценностей, но имеют отношение к среде выполнения – окружению (Рисунок 12) и «соседним» процессам (Рисунок 13), которые могут оказывать влияние на автоматизируемый процесс, но пока не находятся в фокусе нашего внимания (предполагаем, что система будет развиваться, и эта информация окажется полезной).

От моделирования процессов к проектированию автоматизированной системы (Часть 2) - 11
Рисунок 12. Диаграмма классов (окружение)

Связь наследование показывает обобщение различных построек, «дочерние» классы, под обобщающим «родительским» классом «Строение».

От моделирования процессов к проектированию автоматизированной системы (Часть 2) - 12
Рисунок 13. Диаграмма классов (дополнительная информация об артефактах)

«Реакция на ситуацию» зависит от «Данных визуального контроля». Для нескольких связей зависимости используется стереотип «trace», чтобы показать трассировку классов, явно не обозначенных в описании процесса, но которые необходимы для его автоматизации, к классам, на экземпляры которых есть точное указание в нашем описании.

Этап 5. Проанализируем заметки на дорожке «Бизнес-правила»

В качестве правил были указаны (см. Рисунок 2 в 1-ой части):

  1. необходимость разбиения одного из шагов на 2 части, вторая часть начинает выполняться только при определенных условиях;
  2. назначение для выполнения учета орехов определенного должностного лица;
  3. технический прием (белый цвет элементов), который указывает, что элемент явно не был указан в описании процесса.

Следует отметить, что все эти правила мы уже использовали при разработке диаграмм.

Заключительные замечания

Итак, мы прошли 5 этапов и построили 3 вида диаграмм. Добавлю еще небольшой комментарий об организации наших моделей в среде моделирования. Существует большое количество фреймворков, которые помогают структурировать разрабатываемые модели, но это не предмет данной статьи, поэтому мы ограничимся следующим простым набором пакетов для упорядоченного ведения нашего проекта: Бизнес-процесс, Функциональная модель, Артефакты, Участники и Окружение (Рисунок 14).

От моделирования процессов к проектированию автоматизированной системы (Часть 2) - 13
Рисунок 14. Структура пакетов проекта

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

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

Список источников

  1. Сайт «UML2.ru». Форум Сообщества Аналитиков. Общий раздел. Примеры. Примеры сказок, оформленных в виде UML диаграмм. [Электронный ресурс] Режим доступа: Интернет: http://www.uml2.ru/forum/index.php?topic=486.0
  2. Сайт Sparx Systems. [Электронный ресурс] Режим доступа: Интернет: https://sparxsystems.com
  3. Сайт Modelio. [Электронный ресурс] Режим доступа: Интернет: https://www.modelio.org
  4. Большой Энциклопедический словарь. Процесс (толкование). [Электронный ресурс] Режим доступа: Интернет: https://dic.academic.ru/dic.nsf/enc3p/246322
  5. Сайт «Организация эффективного управления». Блог. Рубрика «Управление бизнес процессами». Определение бизнес процесса. [Электронный ресурс] Режим доступа: Интернет: https://rzbpm.ru/knowledge/pochemu-processy-stali-s-pristavkoj-biznes.html
  6. Свидетельство № 18249 о регистрации и депонировании произведения результата интеллектуальной деятельности. Алфимов Р.В., Золотухина Е.Б., Красникова С.А. Рукопись учебно-методического пособия под названием «Моделирование предметной области с использованием Enterprise Architect» // 2011г.
  7. Золотухина Е.Б., Вишня А.С., Красникова С.А. Моделирование бизнес-процессов. — М.: КУРС, НИЦ ИНФРА-М, ЭБС Znanium.com. — 2017.
  8. OMG Unified Modeling Language (OMG UML) Specification. Version 2.5.1. [Электронный ресурс] Режим доступа: Интернет: https://www.omg.org/spec/UML/2.5.1/PDF

Автор: krasni

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js