57
каждого этапа работ, требования к информационным системам "заморожены" в
виде технического задания на все время ее создания. Таким образом, пользователи
могут внести свои замечания только после того, как работа над системой будет
полностью завершена. В случае неточного изложения требований или их
изменения в течение длительного периода создания программного обеспечения,
пользователи получают систему, не удовлетворяющую их потребностям. Модели
(как функциональные, так и информационные) автоматизируемого объекта могут
устареть одновременно с их утверждением. Сущность системного подхода к
разработке ИС заключается в ее декомпозиции (разбиении) на автоматизируемые
функции: система разбивается на функциональные подсистемы, которые в свою
очередь делятся на подфункции, подразделяемые на задачи и так далее. Процесс
разбиения продолжается вплоть до конкретных процедур. При этом
автоматизируемая система сохраняет целостное представление, в котором все
составляющие компоненты взаимоувязаны. Таким образом, данная модель
основным достоинством имеет системность разработки, а основные недостатки -
медленно и дорого.
Спиральная модель: Для преодоления перечисленных проблем была
предложена спиральная модель жизненного цикла (рис. 3), делающая упор на
начальные этапы жизненного цикла: анализ и проектирование. На этих этапах
реализуемость технических решений проверяется путем создания прототипов.
Каждый виток спирали соответствует созданию фрагмента или версии
программного обеспечения, на нем уточняются цели и характеристики
проекта, определяется его качество и планируются работы следующего витка
спирали. Таким образом, углубляются и последовательно конкретизируются
детали проекта и в результате выбирается обоснованный вариант, который
доводится до реализации.
Разработка итерациями отражает объективно существующий спиральный
цикл создания системы. Неполное завершение работ на каждом этапе позволяет
переходить на следующий этап, не дожидаясь полного завершения
работы на текущем. При итеративном способе разработки недостающую работу
можно будет выполнить на следующей итерации. Главная же задача - как можно