## Вертикальное деление * бизнес-процесс * архитектура * софт (сервисы) * интеграция (шины, БД, шлюзы, прокси) * инфраструктура (серверы, кубер, контейнеры, сети) ## Горизонтальное деление * цель (улучшить/повысить/снизить с ... до ... за период ... за ... денег) * риски + среда, рынок, ИБ (исх, в процессе, целевые) + субъект (исх, в процессе, целевые) + объект (исх, в процессе, целевые) * оценка + дорожная карта + план - оптимистичный - ожидаемый - пессимистичный + ROI * задачи + организационные + технические + сводный план * критерии приёмки (SMART) ## Графическая нотация ViewRel ### Для композиции v * `(<)---(~)` -- зависит по ссылке (слабая зависимость) * `(<)===(~)` -- зависит по композиции (средняя зависимость) * `(<)###(~)` -- зависит по наследованию (сильная зависимость) ### Для потоков данных * `[>]---[api]` -- потребляет ресурсы (слабая нагрузка) * `[>]===[api]` -- потребляет ресурсы (средняя нагрузка) * `[>]###[api]` -- потребляет ресурсы (сильная нагрузка) ```ascii +------------------+ | | | TLI | | | +-------(~)--------+ | | | +-------(v)--------+ | | | BLI | | | +------------------+ +------------------+ +------------------+ | | req | | | TLI [>]---------[api] BLI | | | resp | | +------------------+ ``` ## Чистая архитектура AfRel * **LBI** (слой бизнес-интерфейсов) + **OBP** (оркестратор бизнес-процесса, на вершине) + **LBP** (логика бизнес-процесса, несколько в одном процессе) + **BDO** (объект бизнес-процесса) * **LTI** (слой транспортных интерфейсов) + **ETI** (движок транспортного интерфейса) + **CTI** (клиент транспортного интерфейса) + **TDO** (транспортный объект данных) * **LSI** (слой интерфейсов хранилища) + **ESI** (движок интерфейса хранилища) + **CSI** (клиент интерфейса хранилища) + **SDO** (объект данных хранилища) ```mermaid sequenceDiagram net->>+LTI: TDO(req) LTI->>+LBI: BDO(req) LBI->>+LSI: SDO(req) LSI->>-LBI: SDO(resp) LBI->>-LTI: BDO(resp) LTI->>-net: TDO(resp) ```