55
многие аспекты функционирования АИС в динамических сферах
деятельности меняются во время создания информационной системы. В связи
с этим потребовалось внесение изменений в процесс разработки АИС таким
образом, чтобы гарантировалось внесение необходимых исправлений после
завершения какого-либо этапа разработки. Это послужило созданию
итерационной модели жизненного цикла программного продукта.
Каскадная модель жизненного цикла разработки АИС являлась
идеальной, поскольку только очень простые проекты проходили все этапы
создания ПО без участия в каких-либо итерациях — возвратов на предыдущие
этапы разработки программных средств. Например, на этапе
программирования могло быть обнаружено, что реализация некоторой
функции является очень громоздкой, неэффективной и вступает в
противоречие с требуемой от системы производительностью. В таких случаях
может потребоваться перепроектирование или переделка спецификаций
требований к АИС. При разработке больших АИС необходимость в итерациях
может возникать регулярно на любой стадии жизненного цикла как из-за
допущенных на предыдущих шагах ошибок и неточностей, так и из-за
изменений внешних требований к условиям эксплуатации системы.
Итерационную модель также называют моделью с промежуточным
контролем или моделью с циклическим повторением фаз. Структура
итерационной модели представлена на рисунке 14.
При использовании итерационной модели жизненного цикла разработки
программного обеспечения существует возможность устранения недостатков
проектирования и программирования на более поздних стадиях при частичном
возврате на предыдущие стадии. При этом чем позже будет выявлена ошибка,
тем дороже ее исправление. Если стоимость усилий, необходимых для
обнаружения и устранения ошибок на стадии написания кода, принять за
единицу, то стоимость выявления и устранения ошибки на стадии выработки
требований будет в 5-10 раз меньше, а стоимость выявления и устранения
ошибки на стадии сопровождения – в 20 раз больше.