Есть несколько причин, зачем нужны требования:
• Требования определяют цель программы, например, чтобы предложить хороший продукт на рынок и получить прибыль от реализации проекта.
• Требования определяют, что система должна делать, и управляют ее развитием.
• Требования определяют ограничения, связанные с реализацией проекта, а именно сроки, бюджет, персонал, применяемые технологии, соответствие требованиям законодательства, и т. д.
Требования не являются спецификациями. Они определяют функции, характеристики системы, и задачи в части окружающей среды. Распространенной ошибкой является чрезмерное ограничение проектирования путем указания ненужных барьеров для творчества архитекторов и инженеров при выполнении проекта.
Посредством требований уточняются формулировки или характеристики продукта или системы, которые разработчик хочет или должен получить. В системных требованиях учитывают запросы заинтересованных сторон, то есть производителей, поставщиков, операторов и других лиц. Сюда входят корпоративные клиенты, заинтересованные в рынке будущей системы, низких эксплуатационных и капитальных затратах; операторы системы, заинтересованные в ее производительности, долговечности, надежности, наличии запасных частей; пользователи, которые заботятся о комфорте, безопасности и удобстве использования. Эти стороны, в конечном счете, будут использовать систему, извлекать из нее выгоду, управлять, поддерживать в рабочем состоянии, влиять на нее или подвергаться ее воздействию.
Заявленные требования обычно формулируются на языке заказчика, зачастую в виде пожеланий. Требования заказчика недостаточны для проектирования системы. Обычно они неполные, нечетко сформулированы, а иногда и противоречивы по своему характеру. Далее начинается процесс формирования из системных требований верхнего уровня набора требований к системе в терминах, понятных разработчикам. Следует изложить, что должна делать новая система, и насколько хорошо она должна это делать, преобразуя внешние требования клиентов во внутренние требования разработчиков. Системные требования должны быть собраны, отфильтрованы, уточнены, декомпозированы и задокументированы. Вовлечение клиентов на как можно более раннем этапе определения требований способствует значительному сокращению циклов разработки и переделок, а также гарантирует, что требования, выданные клиентами, являются полными, последовательными и понятными для производителя. Документ формирует технический лидер, и он утверждается менеджером программы.
Далее выполняют преобразование требований заказчика в требования верхнего уровня проекта. Они сгруппированы по конкретным направлениям. Требования к системе и характеристикам формирует