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

Eelmise osa kokkuvõte
V мы использовали «сказочную» предметную область, вдохновленные примерами изучения диаграмм UML с опорой на сюжеты сказок (см., например, [1]). До начала моделирования мы договорились относительно использования некоторых элементов диаграммы Activity и начали формировать соглашение по моделированию. С учетом этих договоренностей мы на 1-ом этапе описали процесс в виде диаграмм Activity, а на 2-ом этапе выделили шаги процесса, для которых требуется (и возможна) автоматизация.
Напомню, что автоматизировать мы собираемся деятельность по учёту материальных ценностей, которая возникает вот в этих процессах.
…
Saare peal asub, (E1, E2)
Linn saare peal seisab (E3, E1)
Kuldpruunide kirikutega, (E4)
Tornide ja aedadega; (E5, E6)
Kuusk kasvab palee ees, (E7, E8)
Ja selle all on kristallmaja; (E9)
Orav elab seal, (A1)
Ja mis mõnus olend! (A1)
Orav laulab laule, (P1, A1)
Ja pähkleid pidevalt näksib, (P2)
Kuid pähklid ei ole tavalised, (C1)
Kõik kestad on kuldsed, (C2)
Koidul on selge smaragd; (C3)
Teenrid valvavad oravat, (P3, A2)
Teenivad teda erinevate teenustega (P4)
Ja määratud on kohus (A3)
Range arvestus pähklite kohta; (P5, C1)
Austavad teda väejuhiga; (P6, A4)
Kestadest valatakse münt, (P7, C2, C4)
Ja lastakse neid ringkäiku; (P8)
Tüdrukud puistavad smaragdi (P9, A5, C3)
Ladu sisse, ja keldrisse; (E10, E11)
…
(А.С.Пушкина «Сказка о царе Салтане, о сыне его славном и могучем богатыре князе Гвидоне Салтановиче и о прекрасной царевне Лебеди», )
В данном примере я использую среду Enterprise Architect от австралийской компании [2], а в рамках учебных занятий применяю [3].
Напомню, что процессы бывают разные, ознакомится можно, например, [4] ja [5].
Подробнее о применяемых подходах к моделированию и проектированию см. [6, 7].
Полную спецификацию UML см. [8].
Теперь мы готовы перейти к следующим этапам и начать проектирование функций системы и ее внутренней организации. Нумерация рисунков будет продолжена.
Etapp 3. Automatiseeritavale sammele tuleb määrata süsteemi funktsioon või funktsioonid
Разрабатываемая автоматизированная система (АС) предназначена для ведения строгого учета орехов, помните? Для каждого выделенного шага (см. Рисунок 3, Рисунок 4 ), который будем автоматизировать, запишем функциональное требование, применяя примерно такую конструкцию «В системе должна быть реализована возможность …» и разработаем диаграмму Use-case. Сейчас мы фактически дополняем наше соглашение по моделированию новыми правилами. Поясню какие элементы будем использовать.

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

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

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

Рисунок 7. Использование связи типа «Зависимость (включение)»
В итоге наша диаграмма будет выглядеть примерно так (Рисунок 8).

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

Рисунок 9. Диаграмма Use-case (роли пользователей АС)
Etapp 4. Kirjeldame süsteemi sisemist korraldust klasside diagrammi abil
Используя информацию о входных и выходных артефактах нашего процесса (см. диаграммы Activity — Рисунок 2, Рисунок 3, Рисунок 4), разработаем диаграмму классов. Будем использовать моделирующий элементы «Класс» и различные виды связей между ними.

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

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

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

Рисунок 12. Диаграмма классов (окружение)
Связь наследование показывает обобщение различных построек, «дочерние» классы, под обобщающим «родительским» классом «Строение».

Рисунок 13. Диаграмма классов (дополнительная информация об артефактах)
«Реакция на ситуацию» зависит от «Данных визуального контроля». Для нескольких связей зависимости используется стереотип «trace», чтобы показать трассировку классов, явно не обозначенных в описании процесса, но которые необходимы для его автоматизации, к классам, на экземпляры которых есть точное указание в нашем описании.
Etapp 5. Analüüsime märkmeid ärireeglite rajal
В качестве правил были указаны (см. Рисунок 2 ):
- необходимость разбиения одного из шагов на 2 части, вторая часть начинает выполняться только при определенных условиях;
- назначение для выполнения учета орехов определенного должностного лица;
- технический прием (белый цвет элементов), который указывает, что элемент явно не был указан в описании процесса.
Следует отметить, что все эти правила мы уже использовали при разработке диаграмм.
Заключительные замечания
Итак, мы прошли 5 этапов и построили 3 вида диаграмм. Добавлю еще небольшой комментарий об организации наших моделей в среде моделирования. Существует большое количество фреймворков, которые помогают структурировать разрабатываемые модели, но это не предмет данной статьи, поэтому мы ограничимся следующим простым набором пакетов для упорядоченного ведения нашего проекта: Бизнес-процесс, Функциональная модель, Артефакты, Участники и Окружение (Рисунок 14).

Рисунок 14. Структура пакетов проекта
Таким образом, мы разработали согласованные модели, описывающие систему учета материальных ценностей с различных сторон: модель автоматизируемого бизнес-процесса, функциональную модель и модель внутренней организации системы на концептуальном уровне.
Allikate nimekiri
- Lehekülg «UML2.ru». Analüütikute Ühenduse foorum. Üldine jaotis. Näidised. Näited muinasjuttudest, mis on kujundatud UML diagrammidena. [Elektrooniline ressurss] Juurdepääsu režiim: Internet:
- Lehekülg Sparx Systems. [Elektrooniline ressurss] Juurdepääsu režiim: Internet:
- Lehekülg Modelio. [Elektrooniline ressurss] Juurdepääsu režiim: Internet:
- Suur entsüklopeedia. Protsess (tõlgendus). [Elektrooniline ressurss] Juurdepääsu režiim: Internet:
- Lehekülg «Tõhusate juhtimiste vältimise organisatsioon». Blogi. Rubriik «Äriprotsesside juhtimine». Ärianalüüsimise määratlemine. [Elektrooniline ressurss] Juurdepääsu režiim: Internet:
- Tunnistus nr 18249 intellektuaalse tegevuse tulemuse registreerimise ja deponimise kohta. Alfimov R.V., Zolotukhina E.B., Krasnikova S.A. Õpikute ja metoodiliste materjalide käsikiri pealkirjaga «Objekti ala modelleerimine Enterprise Architecti kasutamisega» // 2011.
- Zolotokhina E.B., Vishnya A.S., Krasnikova S.A. Äritegevuse protsesside modelleerimine. — M.: KURS, NII INFRA-M, EBS Znanium.com. — 2017.
- OMG Unified Modeling Language (OMG UML) Specification. Version 2.5.1. [Электронный ресурс] Режим доступа: Интернет:
Allikas: habr.com
