Документирование архитектуры - модель С4
Кроме сбора и анализа требований есть еще несколько важных вопросов, которые необходимо рассмотреть, в этом стриме речь пойдет про оформление проектной документации. Наиболее простой способ, который применим к программным продуктом - это модель C4. О ней и поговорим.
Введение
Duration: 5
Модель С4 позволяет построить совместную работу в команде, путем выделения единого "языка" общения. Это не единственный способ описания архитектуры проекта, существуют другие варианты, например UML.
Преимущества: - гибкость, за счет того, что это не готовая архитектура, а набор правил и подходов; - возможность работать на разных уровнях построения архитектуры; - единый язык для работы в команде; - может совмещаться с конечными архитектурами, например с "чистой архитектурой"
Уровни модели C4
Duration: 10
В основе любой системы лежит потребитель, потребителем может быть как человек (пользователь), так и другая система. Особенностью С4 является разделение архитектуры на четыре уровня, на самом верху размещается потребитель.
Уровни, которые часто используются:
- уровень системы;
- уровень приложения;
- уровень кода;
Деление на уровни С4:
- Контекст;
- Система;
- Контейнер;
- Компонент;
Функциональные требования лежат на уровне системы, а нефункциональные требования могут быть на уровнях контейнера и компонент.
Диаграммы
Duration: 10
В рамках каждого уровня строятся "диаграммы". Диаграмму можно назвать "архитектурным представлением", диаграмма - это рассмотрение одного конкретного вопроса с разных стороны в рамках каждого уровня. Вопросы, которые должны быть рассмотрены определяются на уровне функциональных требований.
Стандартные диаграммы (обязательные):
- Системная диаграмма;
- Контейнерная диаграмма;
- Компонентная диаграмма;
- Диаграмма кода
Необязательные диаграммы:
- Landscape диаграмма (архитектурный ландшафт)
- Динамичная диаграмма (порядок выполняемых действий)
- Диаграмма развертывания
Диаграмма строится в контексте определенных требований, их может быть несколько для каждого уровня диаграмм.
Элементы
Duration: 10
Обязательные атрибуты диаграммы:
- Название
- Уровень
- Легенда
- Акронимы и аббревиатуры
Элементы - это геометрические формы и их окраска. В рамках С4 внутри элементов указывается уровнь, описание и имя.
Отношения указываются стрелочками, пунктирная линия для "слабых" связей, а сплошная для "сильных" связей. Стрелки должны быть дополнены текстовым названием используемого отношения.
Пример
Duration: 20
В качестве примера спроектируем систему донатов, которая включает в себя следующую функциональность:
- прием платежа;
- добавление комментария донатера;
- отображение комментария в стриме.