Требования к программному обеспечению
Требования к программному обеспечению — совокупность запросов/утверждений относительно атрибутов, свойств или качеств программной системы, подлежащей реализации. Создаются в процессе проработки (анализа и синтеза) задания на разработку/модернизацию программного обеспечения (ПО).
Требования могут выражаться в виде текстовых утверждений и графических моделей.
В классическом техническом подходе совокупность требований используется на стадии проектирования ПО. Требования также используются в процессе проверки ПО, так как тесты основываются на требованиях.
Этапу разработки требований может предшествовать технико-экономическое обоснование или концептуальная фаза анализа проекта. Фаза разработки требований может быть разбита на выявление требований (сбор, понимание, рассмотрение и выяснение потребностей заинтересованных лиц), анализ (проверка целостности и законченности), спецификация (документирование требований – синтез текстовых и графических моделей) и проверка правильности.
Виды требований по уровням
- Бизнес-требования — определяют назначение ПО, описываются в документе о видении (vision) и границах проекта (scope).
- Пользовательские требования — определяют набор пользовательских задач, которые должна решать программа, а также способы (сценарии) их решения в системе. Пользовательские требования могут выражаться в виде фраз утверждений, в виде сценариев использования (англ. use case), пользовательских историй (англ. user stories), сценариев взаимодействия (scenario).
- Функциональный уровень (функции).
Виды требований по характеру
- Функциональный характер — требования к поведению системы
- Бизнес-требования
- Пользовательские требования
- Функциональные требования
- Нефункциональный характер (ограничения архитектуры/реализации/эксплуатации) — требования к характеру поведения системы
- Бизнес-правила — определяют ограничения, проистекающие из предметной области и свойств автоматизируемого объекта (предприятия)
- Системные требования и ограничения — определения элементарных операций, которые должна иметь система, а также различных условий, которым она может удовлетворять. К системным требованиям и ограничениям относятся:
- Ограничения на программные интерфейсы, в том числе к внешним системам
- Требования к атрибутам качества
- Требования к применяемому оборудованию и ПО
- Требования к документированию
- Требования к дизайну и юзабилити
- Требования к безопасности и надёжности
- Требования к показателям назначения (производительность, устойчивость к сбоям и т. п.)
- Требования к эксплуатации и персоналу
- Прочие требования и ограничения (внешние воздействия, мобильность, автономность и т. п.).