## Вертикальное деление

* бизнес-процесс
* архитектура
* софт (сервисы)
* интеграция (шины, БД, шлюзы, прокси)
* инфраструктура (серверы, кубер, контейнеры, сети)

## Горизонтальное деление

* цель (улучшить/повысить/снизить с ... до ... за период ... за ... денег)
* риски
  + среда, рынок, ИБ (исх, в процессе, целевые)
  + субъект (исх, в процессе, целевые)
  + объект (исх, в процессе, целевые)
* оценка
  + дорожная карта
  + план
    - оптимистичный
    - ожидаемый
    - пессимистичный
  + 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)
```
