Связаться с нами

Покажем и расскажем про систему, дадим аккаунт. Заполните форму или отправьте нам письмо.

Требования к ПО в Almware

Требования к ПО — это основной артефакт требований в Almware, используемый для описания низкоуровневых требований к программному обеспечению. В структуре артефактов Almware "требования к ПО" являются центральным артефактом, связывающий между собой верхнеуровневые требования и дополнительные артефакты требований, позволяя осуществлять трассировку.

Структура артефактов в Almware.

Требования как артефакты, а не документ

В Almware заложен принцип рассмотрения требований к ПО как отдельных артефактов, декомпозируемых до отдельных функций или значимых характеристик (для нефункциональных требований).

Таким образом, в типичном случае, артефакт требования будет описывать одну функцию системы, которую пользователь может использовать через одно приложение (реализация при этом может включать несколько под-систем). Уровень декомпозиции зависит от специфики проекта и определяется аналитиком в зависимости от необходимости более или менее глубокой декомпозиции.

Например, зачастую имеет смысл разделять CRUD-операции на отдельные 4+ артефакта требования, описывающих отображение (просмотр списка и  отдельной сущности также следует разделить на отдельные артефакты), добавление, изменение и удаление. Для сущностей со сложным жизненным циклом артефактов требований, соответственно, будет больше. Внутри этих артефактов следует описывать подробные требования к этим функциям по-отдельности. Общие требования для разных функций, например требования по валидации полей, единые для операций создания и изменения следует вынести в отдельный артефакт который будет связан с использующими ее артефактами или в описание фичи.

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

Описание требований

Для описания требований можно использовать следующие инструменты:

  • Текстовое описание требования;
  • Перечень критериев приемки / утверждений (если настроены для данного типа требований);
  • Файлы, загружаемые с компьютера пользователя;
  • Диаграммы, сделанные с помощью встроенного редактора (на базе draw.io);
  • Файлы из внешних сервисов (если настроена интеграция). Например, документы Google Docs или фреймы Figma.

Классификация требований

Артефакты требований к ПО классифицируются с помощью следующих атрибутов:

Название Описание
Тип требования к ПО Тип требования из ранее настроенных типов.
Приложение Приложение (под-система), через которое реализуется требование.
Акторы Акторы, которые взаимодействуют с системой в контексте данного требования.
Доменная область Доменная область, к которой относится требование
Набор требований Определяет требование как часть набора требований.
Коллекция Требования могут быть дополнительно структурированы по коллекциям внутри фичи.
Приоритет Приоритет требования.
Лейблы Лейблы требования.
Настраиваемые атрибуты скоро Настраиваемые атрибуты, которые могут быть использованы для дополнительной классификации требований заданного типа

Типы требований к ПО

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

Как минимум, можно использовать два типа:

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

Связи с другими артефактами

Для требования к ПО можно задать связи с другими артефактами требований.

Связь Описание
Верхнеуровневые требования Если в проекте поддерживаются верхнеуровневые требования, каждый артефакт требования следует привязывать к верхнеуровневому требованию, которое реализуется данным требованиям или которое влияет/ограничивает данный артефакт.
Требования к ПО Артефакты требований могут быть связаны между собой. Это может быть полезно, когда одно декомпозированное требование может использоваться в других требованиях.
Пользовательский интерфейс Определяет артефакты пользовательского интерфейса, реализующие требование. Связь может сопровождаться дополнительным комментарием, описывающим специфику связи.
Модель данных Определяет артефакты модели данных, относящиеся к требованию. Связь может сопровождаться указанием типа операции, которое осуществляет требование над данными (создание, чтение, изменение, удаление) и дополнительным комментарием.
Программные интерфейсы (API) Определяет API методы, реализующие требование. Связь может сопровождаться дополнительным комментарием, описывающим специфику связи.
Настраиваеыме артефакты Определяет связанные артефакты, которые могут быть настроены пользователем в рамках проекта.

Тест-кейсы

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

Исходный код beta

Требование к ПО можно связать с юнитами. Юнит — это артефакт, описывающий программный модуль, объединяющий файлы исходного кода программного обеспечения. Данная связь используется для трассировки требования на исходный код и отслеживание изменений, которые затрагивают требование.