Большинство современных архитектур, использующих коммерческие компоненты, наследуемые компоненты, распределенные ресурсы и объектно-ориентированные методы, не может тривиально выводиться из требований, которым они удовлетворяют. На сегодняшний день между требованиями и элементами проекта устанавливаются сложные связи типа один к одному, многие к одному, один ко многим, а также условные связи, зависящие от времени и состояния.
Системные требования верхнего уровня по-прежнему представляются в форме общей концепции, однако требования более низкого уровня выражаются критериями оценки, применимыми к каждой промежуточной версии. Эти рабочие продукты (см. рис. 15.3) имеют тенденцию изменяться по ходу процесса, становясь все более и более точными по мере того, как развивается жизненный цикл и понимание требований становится все более зрелым. В этом и заключается фундаментальное отличие от подхода к работе с требованиями, при котором погоня за точностью начинается на слишком ранних стадиях жизненного цикла.
Рис. 15.3. Организация программных компонентов, являющаяся результатом применения современного процесса