3.2
Спиральная модель жизненного
цикла
Спиральная модель, в отличие от каскадной,
предполагает итерационный процесс разработки
информационной системы. При этом возрастает
значение начальных этапов жизненного
цикла, таких как анализ и проектирование.
На этих этапах проверяется и обосновывается
реализуемость технических решений путем
создания прототипов.
Каждая итерация представляет собой законченный
цикл разработки, приводящий к выпуску
внутренней или внешней версии изделия
(или подмножества конечного продукта),
которое совершенствуется от итерации
к итерации, чтобы стать законченной системой
(рис. 1.2).
Таким образом, каждый виток спирали соответствует
созданию фрагмента или версии программного
изделия, на нем уточняются цели и характеристики
проекта, определяется его качество, планируются
работы на следующем витке спирали. На
каждой итерации углубляются и последовательно
конкретизируются детали проекта, в результате
чего выбирается обоснованный вариант,
который доводится до окончательной реализации.
Использование спиральной модели позволяет
осуществлять переход на следующий этап
выполнения проекта, не дожидаясь полного
завершения текущего — недоделанную работу
можно будет выполнить на следующей итерации.
Главная задача каждой итерации — как
можно быстрее создать работоспособный
продукт, который можно показать пользователям
системы. Таким образом существенно упрощается
процесс внесения уточнений и дополнений
в проект.
Рис. 1.2.
Спиральная модель жизненного цикла информационной
системы
Спиральный подход к разработке программного
обеспечения позволяет преодолеть большинство
недостатков каскадной модели и, кроме
того, обеспечивает ряд дополнительных
возможностей, делая процесс разработки
более гибким.
Рассмотрим
преимущества итерационного подхода
более подробно.
- Итерационная
разработка существенно упрощает внесение
изменений в проект при изменении требований
заказчика.
- При использовании
спиральной модели отдельные элементы
информационной системы интегрируются
в единое целое постепенно. При итерационном
подходе интеграция производится фактически
непрерывно. Поскольку интеграция начинается
с меньшего количества элементов, то возникает
гораздо меньше проблем при ее проведении
(по некоторым оценкам, при использовании
каскадной модели разработки интеграция
занимает до 40 % всех затрат в конце проекта).
- Уменьшение
уровня рисков. Данное преимущество является
следствием предыдущего, так как риски
обнаруживаются именно во время интеграции.
Поэтому уровень рисков максимален в начале
разработки проекта. По мере продвижения
разработки ожидаемый уровень рисков
снижается. Данное утверждение справедливо
при любой модели разработки, однако при
использовании спиральной модели снижение
уровня рисков происходит с наибольшей
скоростью. Это связано с тем, что при итерационном
подходе интеграция выполняется уже на
первой итерации, и на начальных итерациях
выявляются многие аспекты проекта, такие
как пригодность используемых инструментальных
средств и программного обеспечения, квалификация
разработчиков и т. п. На рис. 1.3 приведены
в сравнении графики зависимости уровня
рисков от времени разработки для каскадного
и итерационного подходов.
- Итерационная
разработка обеспечивает большую гибкость
в управлении проектом, давая возможность
внесения тактических изменений
в разрабатываемое изделие. Например,
можно сократить сроки разработки
за счет снижения функциональности системы
или использовать в качестве составных
частей системы продукцию сторонних
фирм вместо собственных разработок.
Это может быть актуальным в условиях
конкурентной борьбы, когда необходимо
противостоять продвижению изделия,
предлагаемого конкурентами.
- Итерационный
подход упрощает повторное использование
компонентов (реализует компонентный
подход к программированию — более подробно
об этом мы будем говорить в следующей
главе). Это обусловлено тем, что гораздо
проще выявить (идентифицировать) общие
части проекта, когда они уже частично
разработаны, чем пытаться выделить их
в самом начале проекта. Анализ проекта
после проведения нескольких начальных
итераций позволяет выявить общие многократно
используемые компоненты, которые на последующих
итерациях будут совершенствоваться.
- Спиральная
модель позволяет получить более надежную
и устойчивую систему. Это связано с тем,
что по мере развития системы ошибки и
слабые места обнаруживаются и исправляются
на каждой итерации. Одновременно могут
корректироваться критические параметры
эффективности, что в случае каскадной
модели доступно только перед внедрением
системы.
- Итерационный
подход дает возможность совершенствовать
процесс разработки — анализ, проводимый
в конце каждой итерации, позволяет проводить
оценку того, что должно быть изменено
в организации разработки, и улучшить
ее на следующей итерации.
Основная проблема спирального цикла
— определение момента перехода на следующий
этап. Для ее решения необходимо ввести
временные ограничения на каждый из этапов
жизненного цикла. Иначе процесс разработки
может превратиться в бесконечное совершенствование
уже сделанного. При итерационном подходе
полезно следовать принципу «лучшее —
враг хорошего». Поэтому завершение итерации
должно производиться строго в соответствии
с планом, даже если не вся запланированная
работа закончена.
3.3
Итеративная и инкрементальная
модель – эволюционный
подход
Итеративная модель предполагает
разбиение жизненного цикла проекта
на последовательность итераций,
каждая из которых напоминает
“мини-проект”, включая все фазы
жизненного цикла в применении
к созданию меньших фрагментов
функциональности, по сравнению
с проектом, в целом. Цель каждой
итерации – получение работающей
версии программной системы, включающей
функциональность, определенную интегрированным
содержанием всех предыдущих
и текущей итерации. Результат
финальной итерации содержит
всю требуемую функциональность
продукта.
Эволюционная модель подразумевает
не только сборку работающей (с
точки зрения результатов тестирования)
версии системы, но и её развертывание
в реальных операционных условиях
с анализом откликов пользователей
для определения содержания и
планирования следующей итерации:
- можно очень
рано начать тестирование пользователями;
- можно принять
стратегию разработки в соответствии
с бюджетом, полностью защищающую от перерасхода
времени или средств (в частности, за счет
сокращения второстепенной функциональности).
Таким образом, значимость эволюционного
подхода на основе организации
итераций особо проявляется в
снижении неопределенности с
завершением каждой итерации. В
свою очередь, снижение неопределенности
позволяет уменьшить риски. Рис.1,4
иллюстрирует некоторые идеи эволюционного
подхода, предполагая, что итеративному
разбиению может быть подвержен не только
жизненный цикл в целом, включающий перекрывающиеся
фазы – формирование требований, проектирование,
конструирование и т.п., но и каждая фаза
может, в свою очередь, разбиваться на
уточняющие итерации, связанные, например,
с детализацией структуры декомпозиции
проекта – например, архитектуры модулей
системы.
Рис. 1.4.
Снижение неопределенности и инкрементальное
расширение функциональности при итеративной
организации жизненного цикла.
Заключение
Планирование работ обычно проводится
на основе статистических данных,
полученных в предыдущих проектах,
и личного опыта разработчиков.
Создание информационной системы
управления организацией - довольно
сложный и трудоемкий процесс.
Наиболее типичной и простой
формой изменения компании является
автоматизация. Более глубокая
форма изменения организации
– получившая свое развитие
из автоматизации – это рационализация
процедур. Более глубоким изменением
компании является реинжиниринг
бизнес - процессов. Его суть состоит
в анализе, упрощении и модернизации
бизнес процессов. Новые информационные
системы могут в корне изменить
структуру всей организации, изменяя
способы функционирования компании,
или даже направления ее деятельности.
Такая более радикальная форма
изменения деятельности компании
называется сменой парадигмы.
Смена парадигмы подразумевает
пересмотр характера деятельности
не отдельных процедур и процессов,
а самой компании.
Литература
- Информационные
системы: Учебник для вузов. 2-е
изд. Петров
Владимир Николаевич, Избачков
Юрий Сергеевич.
2-е издание, 2008 год, 656 стр.
- Cборник научных
статей «Россия:
потенциал инновационного
развития. Сборник научных
статей аспирантов и
студентов»,
СПб.: Институт бизнеса и права, 2011
- Экономика
и организация туризма: международный
туризм: Учеб. пособие/ Е.Л. Драчева, ЮВ.
Забаев, Д.К. Исмаев и др.; под ред. И.А. Рябовой,
Ю.В. Забаева, Е.Л. Драчевой. – 3-е изд., испр.
и доп. – М.:КНОРУС, 2009. – 586 с
- Саак А.Э.,
Пахомов Е.В., Тюшняков В.Н. Информационные
технологии управления: учебник для ВУЗов.
2е изд. – Спб,:Питер, 2008.
- Информационные
технологии управления: учебно-практическое
пособие/ под ред. Черкасова Ю.М. – М.:ИНФРА-М,
2001
- Избачков
Ю.С., Петров В.Н. Информационные системы.
2-е изд. - СПб.: Питер, 2006. — 656 с.
- Клейменов,
С. А. Администрирование в информационных
системах [Текст] : учеб. пособие / С. А. Клейменов,
В. П. Мельников, А. М. Петраков. - М. : Академия,
2008. - 272 с.
- Информационные
технологии управления: Учеб. пособие
для вузов /Под ред. проф. Г. А. Титоренко.
— 3-е изд., доп. — М.: ЮНИТИ-ДАНА,2008. - 463 с.