Приложение в Almware — это под-система, работающая в общем контексте с другими под-системами разрабатываемого программного обеспечения (под общим контекстом, например, понимается единая модель данных, с которой работают под-системы).
Для приложения может быть сформирован собственный набор требований к ПО и других артефактов (за исключением артефактов модели данных, т.к. они общие для всего проекта).
Типичными примерами под-систем для современного ПО являются:
- Web-приложение (фронтенд), функционирующее по принципу SPA и взаимодействующее с бекендом через API;
- Мобильное приложение, взаимодействующее с бекендом через API;
- Бекенд приложение (монолитное);
- Отдельные сервисы (микро-сервисы), реализующие отдельный набор функций системы;
Версионирование
В Almware предусмотрена возможность версионирования приложений. При простом подходе к сбору и ведению требований версионирование может не использоваться, тем не менее использование версионирования предоставляет дополнительный набор возможностей для управления требованиями и проектом в целом:
- Версионирование позволяет связывать требования (ревизии требований) и статус их реализации с определенной версией приложения (под-системы) с помощью вех проекта. Это позволяет получить ретроспективную информацию о том, в какой версии внедрялась да или иная функция.
- Информация о версии приложений могут использоваться для тестирования, связывая выявленные проблемы с определенным версиям под-систем.
- Версии могут использоваться для отслеживания изменений в исходном коде, которые могут повлиять на результат ранее выполненных проверок этой версии ПО.
API приложения
Для приложения могут быть описаны типы API, которые реализует данная под-система. Для одного приложения может быть определено несколько типов API.
С помощью типов API классифицируются артефакты программных интерфейсов. Определение типа API позволяет в дальнейшем описывать методы (артефакты программных интерфейсов), которые будут привязаны к этому приложению и связаны с соответствующими функциональными требованиями приложений, использующих эти методы.
Типы программных интерфейсов (API) могут использоваться как для описания классических API на базе REST/SOAP/WebSockets, так и собственных проприетарных реализаций.
Для удобства ведения каталога артефактов программного интерфейса можно настроить интеграцию с сервисом Postman или импортировать описание API с помощью OpenAPI.
Репозиторий с исходным кодом
Для приложения может быть настроена интеграция с системой контроля версий. Интеграция с системой контроля версий добавляет следующие возможности:
- Отслеживание изменений исходного кода с определением влияния изменений на артефакты требований.
- Отображение изменений с возможностью просмотра разницы в исходном коде (diff).
- Формирование дерева файлов исходного кода в системе, что позволяет упростить привязку исходного кода к юнитам и первичный маппинг файлов на юниты для последующей трассировки от исходного кода к требованиям и обратно.