Напишите нам

Напишите нам свои вопросы или предложения по Almware. Используйте эту форму или напишите нам на e-mail.

Ключевые концепции

Декомпозиция

Требования как артефакты

В Almware используется несколько типов артефактов, описывающих требования. Артефакт в этом контексте — это объект имеющий уникальный номер в рамках проекта, название, описание и другие атрибуты в зависимости от типа артефакта. Например, для бизнес-уровня артефактами могут быть бизнес-цели или варианты использования, а для требований к ПО — функции (feature), которые могут содержать внутри себя детализированные требования.

Низкруровневые требования к ПО в Almware организуются с помощью артефактов "модуль" и "функция" (feature), которая является частью модуля. Такой подход позволяет:

  • Эффективно организовать требования: классифицировать и организовать требования в рамках интуитивно понятной структуры.
  • Отслеживать изменения отдельных функций: контролировать ревизии и поддерживать управление версиями.
  • Устанавливать связи: связывать функциональность системы с задачами, тест-кейсами и исходным кодом.

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

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

Almware структурирует артефакты на нескольких уровнях:

Уровень бизнес-требований

Высокоуровневые цели и потребности бизнеса. Это опциональный артефакт и может быть отключен в конфигурации проекта.

Бизнес-требования описаны в виде отдельных документов, каждый из которых может содержать детальное описание бизнес-требований, вариант использования, user story или другой тип требований.

Цель бизнес-требований — обеспечить видение проекта со стороны бизнеса/заказчика и пользователей. 

Уровень требований к ПО

Подробное описание того, что должно делать программное обеспечение.

Цель требований к ПО — определить функциональные возможности и поведение программного обеспечения.

Иерархическая организация:

  • Модули
    Наборы связанных функций, например "Каталог товаров".
    Модули позволяют управлять сложными проектами, разбивая их на управляемые компоненты. Модули помогают организовать проект на высоком уровне, что упрощает отслеживание прогресса и понимание общей структуры программного обеспечения.
  • Функции
    Функции внутри модуля, например "Просмотр списка товаров".
    Функции определяют функциональность программного обеспечения на низком уровне и включают описание функциональных требований и нефункциональные характеристики, применимые для описываемой функции. 
  • Требования
    Отдельные утверждения, формирующие требования к функциональности системы.
    В зависимости от настроек проекта, для описание может использоваться  документ функции в котором требования описываются в свободном виде или могут использоваться отдельные артефакты под каджое утверждение, например "Список товаров выводится постранично по 20 позиций на страницу". 

Варианты декомпозиции требований:

  • Документ функции
    Каждая функция рассматривается как документ, содержащий функциональные и нефункциональные требования, относящиеся к данной функциональности. Этот подход обеспечивает работу с требованиями как с документами с декомпозицией до отдельных функций системы. Это упрощает управление требованиями, т.к. создавая множество атомарных артефактов.
  • Как отдельные артефакты требований в рамках функции
    Каждое требование управляется как отдельный элемент, вложенный в функцию внутри модуля. Этот подход обеспечивает более детальный контроль и отслеживание каждого требования, но усложняет работу с требованиями, т.к. количество отдельных артефактов будет существенно больше. 

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

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

Типы спецификаций:

  • Модель данных
    Определяет сущности данных с атрибутами и связями.
  • Пользовательские интерфейсы
    Описывает экраны, формы и другие точки взаимодействия с пользователем.
  • Программные интерфейсы
    Описывает конечные точки API и другие точки интеграции.
  • Дополнительные артефакты
    Настраиваемые артефакты, могут использоваться для организации каталога событий системы, уведомлений или конфигурационных переменных и других элементов системы, которые нужно трассировать.

Функции в центре внимания

Низкоуровневые требования к ПО, а именно "функции" (features) являются ключевым артефактом, который связывает все другие артефакты в Almware. С точки зрения функций, другие артефакты дополняют и уточняют требования в различных аспектах:

  • Бизнес-требования
    Определяют и отслеживают бизнес-цели и пользовательские цели, для реализации которых необходима описываемая функциональность.
  • Спецификации
    Дополняют описание требований к ПО и описывают реализацию.
  • Задачи
    Описывают ошибки, задачи и улучшения, связанные с требованиями. Выполненные задачи определяют какие связанные с требованием работы были проведены.
  • QA (тест-кейсы и тестовые запуски)
    Определяют способ проверки требования, критерии приемки и готовность требования.
  • Программные юниты
    Определяет исхдоный код, реализующий требование к ПО.

Трассируемость, трассируемость, трассируемость

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

Трассируемость обеспечивает следующие преимущества:

  • Отслеживание жизненненного цикла требования от начальной концепции до внедрения и тестирования.
  • Идентификация зависимостей. Понимание, как изменения в одной области влияют на другие.
  • Повышение качества продукта. Упрощает и систематизирует контроль реализации и контроля качества требований.
  • Соответствие нормативным требованиям. Обеспечивает возможности для проведения аудитов и и других формальных процедур для соблюдения стандартов и нормативов.