Документирование архитектуры - модель С4

preview

Кроме сбора и анализа требований есть еще несколько важных вопросов, которые необходимо рассмотреть, в этом стриме речь пойдет про оформление проектной документации. Наиболее простой способ, который применим к программным продуктом - это модель C4. О ней и поговорим.

Введение

Duration: 5

Модель С4 позволяет построить совместную работу в команде, путем выделения единого "языка" общения. Это не единственный способ описания архитектуры проекта, существуют другие варианты, например UML.

Преимущества: - гибкость, за счет того, что это не готовая архитектура, а набор правил и подходов; - возможность работать на разных уровнях построения архитектуры; - единый язык для работы в команде; - может совмещаться с конечными архитектурами, например с "чистой архитектурой"

Уровни модели C4

Duration: 10

В основе любой системы лежит потребитель, потребителем может быть как человек (пользователь), так и другая система. Особенностью С4 является разделение архитектуры на четыре уровня, на самом верху размещается потребитель.

Уровни, которые часто используются:

- уровень системы;
- уровень приложения;
- уровень кода;

Деление на уровни С4:

- Контекст;
- Система;
- Контейнер;
- Компонент;

Функциональные требования лежат на уровне системы, а нефункциональные требования могут быть на уровнях контейнера и компонент.

Диаграммы

Duration: 10

В рамках каждого уровня строятся "диаграммы". Диаграмму можно назвать "архитектурным представлением", диаграмма - это рассмотрение одного конкретного вопроса с разных стороны в рамках каждого уровня. Вопросы, которые должны быть рассмотрены определяются на уровне функциональных требований.

Стандартные диаграммы (обязательные):

- Системная диаграмма;
- Контейнерная диаграмма;
- Компонентная диаграмма;
- Диаграмма кода

Необязательные диаграммы:

- Landscape диаграмма (архитектурный ландшафт)
- Динамичная диаграмма (порядок выполняемых действий)
- Диаграмма развертывания

Диаграмма строится в контексте определенных требований, их может быть несколько для каждого уровня диаграмм.

Элементы

Duration: 10

Обязательные атрибуты диаграммы:

- Название
- Уровень
- Легенда
- Акронимы и аббревиатуры

Элементы - это геометрические формы и их окраска. В рамках С4 внутри элементов указывается уровнь, описание и имя.

Отношения указываются стрелочками, пунктирная линия для "слабых" связей, а сплошная для "сильных" связей. Стрелки должны быть дополнены текстовым названием используемого отношения.

Пример

Duration: 20

В качестве примера спроектируем систему донатов, которая включает в себя следующую функциональность:

  • прием платежа;
  • добавление комментария донатера;
  • отображение комментария в стриме.