Жизненный цикл программного обеспечения 95
зованным способом
управлять
требованиями. Как можно в лю-
бой момент времени сказать, какие требования необходимо вы-
полнить, а какие можно отложить на более позднее время?
Структурные
и
объектно-ориентированные методы
не
дают отве-
та на этот вопрос, поскольку они предназначены в первую оче-
редь
для
понимания
и
объяснения
требований, а не для управления
ими
в
динамике.
Именно
динамическая
составляющая управления требования-
ми обычно вызывает наибольшие трудности, поскольку сами
требования и их приоритеты изменяются в течение проекта.
Большинство крупных проектов включает сотни требований, а
многие
—
даже тысячи (например, проект самолета Боинг-777,
который называли мешком программ с крыльями, включал, по
некоторым данным, около 300 000 требований). Кроме того, не-
которые требования зависят
от других
требований, а некоторые в
свою очередь порождают другие требования.
Все это подразумевает необходимость в методах и средствах
для описания зависимостей между требованиями и управления
большим количеством таких зависимостей. В решении данной
проблемы
могут
частично помочь структурный анализ
и
объектно-
ориентированный анализ, но эти методы традиционно игнориру-
ют
атрибуты
требований, такие, как приоритет, стоимость, риск,
план и разработчик, который занимается его реализацией. В ре-
зультате проектным командам, испытывающим потребность в уп-
равлении требованиями, приходилось использовать доморощен-
ные средства, базирующиеся на электронных таблицах, текстовых
процессорах или наспех созданных приложениях, чтобы обеспе-
чить хотя бы некоторую степень автоматизированной поддержки.
Управление требованиями (requirements management) представ-
ляет собой:
• систематический подход к выявлению, организации
и
доку-
ментированию требований к системе;
• процесс, устанавливающий соглашение между заказчиками
и разработчиками относительно изменения требований к
системе, и обеспечивающий его выполнение.
Модель СММ характеризует деятельность по управлению
требованиями следующим образом. Управление требованиями
осуществляется для того, чтобы:
• достичь соглашения с заказчиком и пользователями о том,
что система должна делать;