• Требование должно использовать согласованную терминологию для обозначения продукта и его компонентов более низкого уровня.
• В требовании должна быть четко указана его применимость и необходимые детали: ситуация, среда, условия эксплуатации, продолжительность времени, приоритеты, характеристики пользователей, при которых продукт будет функционировать.
• Требование должно поддаваться верификации с помощью четко определенного испытания, испытательного оборудования, процедуры тестирования или независимого анализа.
• Требование должно быть выполнимым без чрезвычайного количества времени и затрат на разработку.
• Требование должно быть согласованным и прослеживаемым с другими требованиями выше и ниже в системной иерархии.
• Каждое требование должно быть независимым от других требований. Эта характеристика поможет контролировать и уменьшить изменчивость параметров продукта и, следовательно, его характеристик.
• Формулировка каждого требования должна быть краткой, с минимально полной информативностью.
После выявления требований проводят их анализ. Необходимо понять, что действительно нужно пользователям, и получить полную картину, как система будет использоваться, когда она будет построена. Избыточность системы или программного обеспечения является следствием того, что цели продукта и требования пользователей плохо определены. Часто не налажено взаимодействие между пользователями и разработчиками системы в ходе проектирования. При руководстве разработками новых продуктов необходимо при принятии каждого решения учитывать знания конечных пользователей, их желания, способности и уровни навыков, отраженные в документе «Концепция эксплуатации». Эти данные следует включать в требования верхнего уровня системы. Типовыми инструментами здесь являются сценарии использования, или описания применения системы пользователями. По ним можно представить действия пользователя и функции системы, изучить и обсудить потенциальные проблемы с предполагаемым использованием системы. Одним из важных аспектов этого этапа анализа является преобразование требований пользователей в количественные технические показатели эффективности. В процессе, который называют развертыванием функции качества (QFD1), выполняют преобразование голоса потребителя (требований и ожиданий) в технические характеристики продукции и рабочие инструкции. Потребности клиентов могут быть сформулированы расплывчатыми и качественными терминами, их нелегко измерить. QFD переводит эти требования с языка заказчиков на язык инженеров, перед которыми стоит задача разработки решений. Термин «развертывание» относится