Полный процесс разработки по Эргономичному подходу.
Артефакты
Частота | Этап | Артефакт | Описание |
Эпик | Бизнес аналитика | Сценарии использования | Набор сценариев использования приложения в формате ХХХ* |
Эпик | Бизнес аналитика | Нефункциональные требования | Описание нефункциональных требований к системе в формате ХХХ - требования к безопасности, производительности, надёжности и т.п. |
Эпик | Бизнес аналитика | Мокапы 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 контейнерах (приложения, СУБД, очереди сообщений и т.п.), обеспечивающий выполнение функций приложения |
* не до конца осознанные/формализованные/описанные элементы