От бизнес-требований до функциональных: разбираемся с категориями
Требования к программному обеспечению или сервису разделяются на три уровня: бизнес-требования, требования пользователей и функциональные требования. Кроме того, каждая система обладает своими нефункциональными требованиями. Модель на рисунке ниже иллюстрирует структуру этих требований.
Бизнес-требования определяют высокоуровневые цели организации или заказчика системы. Обычно их формулируют коллеги финансирующие проект, клиенты системы, менеджеры пользователей или отдел маркетинга. Данный документ разъясняет, зачем организации требуется данная система, и описывает цели, которые организация планирует достигнуть с ее помощью. Я предпочитаю фиксировать бизнес-требования в виде документа об области и границах проекта, который также может называться уставом проекта или документом рыночных требований. Определение границ проекта является первым этапом управления общими проблемами, связанными с увеличением объема работ.
Требования пользователей определяют цели и задачи, которые система должна выполнить для пользователей. Отличными методами представления таких требований являются варианты использования, сценарии и таблицы "событие — отклик". Суть этого документа заключается в том, чтобы показать, что именно клиенты будут в состоянии делать при помощи системы.
Функциональные требования описывают конкретные возможности программного обеспечения или сервиса, которые необходимо реализовать разработчикам, чтобы обеспечить выполнение пользовательских задач в соответствии с бизнес-требованиями. Иногда их также называют требованиями к поведению или "behavioral requirements". Чаще всего они формулируются с использованием слов «должен» или «должна». Например: «Система должна отправлять пользователю подтверждение о заказе по электронной почте».
Для документирования функциональных требований используется спецификация требований к программному обеспечению или сервису (Software Requirements Specification, SRS). В этом документе детально описывается ожидаемое поведение системы.
Системные требования представляют собой высокоуровневые требования к продукту, объединяющие в себе различные подсистемы. Под "системой" мы понимаем не только программное обеспечение, но и отдельные подсистемы ПО, а также оборудование. Поскольку люди являются интегральной частью системы, некоторые функции системы могут применяться и к действиям людей.
Нефункциональные требования определяют качественные характеристики продукта. Эти атрибуты качества глубже характеризуют функционал продукта, выделяя особенности, важные для пользователей и разработчиков. Среди ключевых характеристик можно выделить:
- удобство и простота в использовании
- мобильность и легкость перемещения
- целостность данных и функций
- эффективность и устойчивость к сбоям
- внешние взаимодействия между системой и внешним миром
- ограничения дизайна и реализации. Ограничения касаются выбора возможности разработки внешнего вида и структуры продукта
Характеристика продукта представляет собой совокупность логически связанных функциональных требований, направленных на реализацию потребностей пользователя и достижение бизнес-целей. В сфере коммерческого программного обеспечения характеристика выступает в роли группы требований, узнаваемой для всех заинтересованных сторон. Она играет ключевую роль при принятии решения о покупке и часто выделяется в виде отмеченного пункта в описании продукта.
Хочешь узнать больше о требованиях или у тебя появились вопросы/идеи?
Присоединяйся к нашему телеграм-чату, и мы с удовольствием обсудим все с тобой и другими коллегами 😉