3. Моделирование (статическая и динамическая модели) - gilgenbergg/green_office GitHub Wiki

Статическая модель предметной области представлена в виде диагрммы классов:
Диаграмма классов Сущности Client, Landscaper и Admin наследуются от базового класса User. В первую очередь, это обусловлено тем, что за каждым пользователем независимо от его роли закреплен единообразный численный идентификатор в базе пользователей с соответствующими для учетной записи входными данными. Тем не менее специфичные классы ролей расширяют данную сущность наличием определенной логики, характерной для каждой из них. Сущности Plant и ClientRequest агрегируются клиентом, что видно из соответствующего вида стрелок, т.к. каждый клиент может обладать несколькими объектами данного вида. Аналогично Admin агрегирует ClientRequests и PurchaseRequests, т.к. одновременно работает над несколькими из них.

В рамках каждого бизнес-процесса осуществляется движение сущностей, изменение их состояний. Наглядно это можно представить при помощи динамического моделирования. Далее приведены модели для двух наиболее “емких” и “интересных” с точки зрения логики процессов:

  1. Обработка заявки диспетчером
  2. Выполнение заявки сотрудником службы по озеленению: