Модели жизненного цикла АС
Модели жизненного цикла АС.
Модель ЖЦ АС – это структура, определяющая последовательность выполнения и взаимосвязей целей и задач на протяжении ЖЦ.
Любая модель ЖЦ АС включает в себя:
1. Стадии (по результатам)
2. Результаты выполнения работ на каждой стадии
3. Ключевые события – точки завершения работ и принятия решений.
1.1. Каскадная модель жизненного цикла АС.
Рекомендуемые материалы
Принципиальными свойствами такой модели являются:
1. Фиксация требований у системе до ее сдачи заказчику
2. Переход на очередную стадию проекта только после того, как будет полностью завершена работа на текущей стадии без возвратов на пройденные стадии.
Преимущества:
1. На каждой стадии формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности
2. Выполняемые в логической последовательности стадии работ позволяют планировать сроки завершения всех работ и соответствующие затраты и недостатки.
Реальный процесс никогда полностью не укладывается в такую жесткую модель и результаты очередной стадии часто вызывают изменения в проектных требованиях.
1.2. Итерационная модель жизненного цикла АС.
Итерация - последовательность работ в рамках утвержденного плана, приводящая к созданию работоспособного варианта АС или ПО (релиза).
Впервые предложенная Филиппом Крачтеном в 1995 г., данная модель объединяет главные преимущества спиральной, инкрементной, каскадной моделей, а также методов разработки на основе создания прототипов и объектно-ориентированного подхода (рис. 4). Она завоевала большую популярность и в том или ином виде используется во многих современных проектах.
Основные особенности итерационного подхода:
¨ Идентификация и анализ риска на каждой итерации
¨ Назначение приоритетов пользовательским требованиям
¨ Разработка последовательности прототипов, начиная с требований наивысшего приоритета
¨ Использование каскадной модели для реализации окончательного прототипа
¨ Оценка результатов по завершении каждой итерации и планирование следующей итерации
¨ Завершение проекта при нецелесообразности его продолжения
Итерационный подход превосходит «водопад» по следующим причинам:
ü Он позволяет принимать во внимание изменяющиеся требования. Действительно состоит в том, что требования изменяются. Изменение требований и их «ползучесть» всегда были первоисточником неудач проектов; они ведут к опозданиям поставок, нарушением планов, неудовлетворенности заказчиков и бесполезности разработки. Как писал Fred Brooks еще 25 лет назад: «Планируйте бросать так далеко, куда Вы добежите наверняка».
ü Элементы интегрируются постепенно: интеграция – не один «большой восклицательный знак» в конце. Итерационные подход почти непрерывная интеграция. То, что всегда было продолжительным, сомнительным и неприятным, занимая 40% всех усилий в конце проекта, теперь разбито на в 6-9 раз меньшие интеграции, которые начинаются с меньшего количества элементов.
ü Он позволяет вам смягчать риски, потому что интеграция, как правило, есть единственное время обнаружения или адресации рисков. Когда Вы выполняете начальные итерации, Вы проходите все основные потоки работ процесса, выявляя многие аспекты проекта: пригодность инструментальных средств и имеющиеся в наличии программного обеспечения, навыки людей и т.д. Некоторые предполагаемые риски могут не проявляться, и могут проявляться новые, не предполагавшиеся ранее.
Сравните
Рис. 2 Сравнение водопада с итерационным подходом
Достоинства:
· ускорение разработки (раннее получение результата за счет прототипирования)
· постоянное участие заказчика в процессе разработки
· разбиение большого объема работы на небольшие части
Ещё посмотрите лекцию "Файловая система S5FS" по этой теме.
· снижение риска (повышение вероятности предсказуемого поведения системы)
Проблемы:
· сложность планирования (определения количества и длительности итераций, оценки затрат и рисков)
· сложность применения модели с точки зрения менеджеров и заказчиков
· напряженный режим работы для разработчиков
1.3. Эволюционная модель жизненного цикла АС.