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