Основные принципы классификации требований в программной инженерии:
- Требования пользователей. 1 Основываются на целях и задачах, которые пользователям позволит решать будущая система. 1 К способам представления этого вида требований относятся варианты использования, сценарии, прецеденты, таблицы «событие-отклик» и т. п.. 1
- Системные требования. 1 Определяют внешние условия для выполнения системных функций и ограничений на создаваемый продукт, а также требования к описанию подсистем (функциональных, программно-аппаратных). 1 Системные требования накладывают ограничения на архитектуру системы, средства её представления и функционирования. 1
- Требования к атрибутам качества. 1 Представляют собой некоторые ограничения к свойствам функций или к системе, важных для пользователей или разработчиков. 1 Например, переносимость, целостность и устойчивость к сбоям системы. 1
- Функциональные требования. 1 Это перечень функций или сервисов, которые должна выполнять система, а также ограничений на данные и поведение системы. 1
- Нефункциональные требования. 1 Определяют условия и среду выполнения функций (например, защита и доступ к БД, секретность и др.). 1 Они непосредственно не связаны с функциями, а отражают пользовательские потребности к выполнению функций. 1
Также к распространённым классификациям требований к программному обеспечению можно отнести бизнес-требования, нормативные требования, требования к интерфейсу и требования к дизайну. 4