Процесс разработки (v0.0.0)

Процесс разработки (v0.0.0)

Полный процесс разработки по Эргономичному подходу.

Артефакты

Частота

Этап

Артефакт

Описание

Эпик

Бизнес аналитика

Сценарии использования

Набор сценариев использования приложения в формате ХХХ*

Эпик

Бизнес аналитика

Нефункциональные требования

Описание нефункциональных требований к системе в формате ХХХ - требования к безопасности, производительности, надёжности и т.п.

Эпик

Бизнес аналитика

Мокапы UI

Набор визуалиций экранов пользовательского интерфейса с максимально полным указанием отображаемых данных и элементов управления

Эпик

Бизнес аналитика

Диаграмма контекста С4

Описание контекста системы - внешние системы и пользователи, с которыми планируется взаимодействие с указанием протоколов взаимодействия

Эпик

Системная аналитика

ER диаграмма

Модель информации системы, с указанием ключевых сущностей системы, их атрибутов и связей между ними

Эпик

Системная аналитика

API системы

Абстарктный неформализованный список операций системы

Эпик

Системная аналитика

Список интеграций

Абстарктный неформализованный список интеграций системы

Эпик

Системная аналитика

Диаграмма эффектов

Диаграмма собирающая в одном месте ER диаграмму, API системы и список интеграций. Основное назначение - на какие события система реагирует, какие операции при этом выполняются и какие ресурсы (информация и интеграции) им для этого требуются

Эпик

Системная аналитика

Инварианты системы

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

Эпик

Системная аналитика

Список агрегатов

Модель информации системы с точки зрения Агрегатов из Domain Driven Design

Эпик

Проектирование

Схема БД

Логическая схема (как правило реляционной) БД системы

Эпик

Проектирование

Диаграмма компонентов C4/<br><br>диаграмма классов UML

Описание модулей системы - имена, API, связи

Один раз

Реализация

Скрипт сборки приложения

Исходный код (здеси и далее - на языке Kotlin), определяющий процесс сборки исходного кода программы в исполняемый файл

Сценарий

Реализация

Классы интерфеса модуля

Исходный код, определяющий интерфейс и конфигурацию модулей системы

Сценарий

Реализация

Классы контроллеров

Исходный код, осуществляющий привязку HTTP запросов к интерфейсам модулей системы

Сценарий

Реализация

Спецификация API

Файл в формате OpenApi Specification, с описанием REST API системы.<br><br>На основе этого файла возможна автоматическая генерация библиотек и прикладных приложений, для взаимодействия с системой

Сценарий

Реализация

Автоматический тест сценария использоавния

Исходны код, реализующий сценарий использования системы и проверяющий соответсвия системы ожидаемому в процессе

Сценарий

Реализация

Сниппеты Spring Rest Docs

Исходный код на языке AsciiDoc содержащий примеры HTTP запросов и ответов системы, выполняемых в ходе реального взаимодействия с системой

Сценарий

Реализация

Классы реализации сценария использования

Исходный код, реализации модулей системы (классы сущностей, репозиториев, клиентов внешних систем, бизнес-правил и т.п.)

Сценарий

Реализация

Журнал заметок по реализации

Неформализованный документ с описанием неочевидных, нестандартных и компромисных решений, принятых в процессе разработки, с указанием мотивации, рассмотренных альтернатив и ссылок на дополнитльные решения

Сценарий

Реализация

Журнал техдолга

Неформализованный документа с описанием компромиссных решений, принятых в процессе разработки, с указанием причин принятия решения и лучшей альтернативой

Сценарий

Реализация

Автоматический компонентный тест

Исходный код, реализующий вид автоматических тестов, которые работают и пишутся быстрее, чем сценарные, но при этом обладают большей сцепленностью с системой и менее показательны

Сценарий

Реализация

Автоматический юнит тест

Исходный код, реализующий вид автоматических тестов, которые работают и пишутся быстрее, чем компонентные, но при этом обладают большей сцепленностью с системой и менее показательны

Сценарий

Реализация

Справочная документация к REST API

Документ в формате AsciiDoc с описанием REST методов, предоставляемых системой, включание описание параметров и результатов, примеров HTTP запросов и ответов и примеров curl-комманд для выполнения запросов к системе

Сценарий

Реализация

Образ контейнера приложения

Слепок файловой системы ОС Linux, из которого можно собирать Docker-контейнеры

Сценарий

Реализация

Пайплайн сборки приложения

Исходный код на языке GitLab CI, определяющий процесс сборки образа контейнера приложения

Сценарий

Реализация

Пайплайн деплоя приложения

Исходный код на языке GitLab CI, определяющий процесс деплоя приложения

Сценарий

Реализация

Приложение

Набор запущенных процессов в Docker контейнерах (приложения, СУБД, очереди сообщений и т.п.), обеспечивающий выполнение функций приложения

* не до конца осознанные/формализованные/описанные элементы