
- •2.1. Понятие жизненного цикла и модели жизненного цикла
- •2.2. Каскадная модель жц
- •2.3. Поэтапная модель с промежуточным контролем
- •2.4. Спиральная модель жц
- •2.5. Процессы жц по
- •2.6. Rapid Application Development (rad)
- •2.7. Extreme Programming (xp)
- •2.8. Rational Unified Process (rup)
- •Структура жизненного цикла проекта
- •2.9. Microsoft Solution Framework (msf)
- •Модель процесса
- •Создание общей картины приложения
- •Планирование
- •Разработка
- •Стабилизация
- •Развертывание
- •2.10. Custom Development Method (методика Oracle)
- •Классический подход
2.3. Поэтапная модель с промежуточным контролем
Поэтапная модель с промежуточным контролем предусматривает разработку ИС итерациями с циклами обратной связи между этапами (слайд 5). Межэтапные корректировки позволяют учитывать реально существующее взаимовлияние результатов разработки на различных этапах; время жизни каждого из этапов растягивается на весь период разработки.
Принципиальное свойство поэтапной модели с промежуточным контролем является наличие обратных связей между этапами, вследствие чего появляется возможность проведения проверок и корректировок проектируемой ИС на каждой стадии разработки. В результате трудоемкость отладки по сравнению с каскадной моделью существенно снижается.
Итерационность модели проявляется в обработке ошибок, выявленных промежуточным контролем. Если на каком-либо этапе в ходе промежуточной проверки обнаружена ошибка, допущенная на более ранней стадии разработки, необходимо проверить весь цикл работ на этой стадии. При этом анализируются причины ошибки и корректируются в случае необходимости исходные данные этапа или его содержание (последовательность действий). Модель стала применяться с 1987 г.
2.4. Спиральная модель жц
Истоки концепции итерационной разработки прослеживаются в относящихся к 1930-м годам работах эксперта по проблемам качества продукции Уолтера Шеварда, который предложил ориентированную на повышение качества методику, состоящую из серии коротких циклов шагов по планированию, реализации, изучению и действию. В более поздних работах эта методика была исследована применительно к разработке ПО.
В середине 1980-х годов Барри Боэм предложил свой вариант итерационной модели под названием спиральная модель (слайд 6).
Спиральная модель ЖЦ была предложена для преодоления проблем каскадной и поэтапной моделей. При использовании спиральной модели прикладное ПО создается в несколько итераций (витков спирали) методом прототипирования. Под прототипом понимается действующий программный компонент, реализующий отдельные функции и внешние интерфейсы разрабатываемого ПО. Это позволяет уточнить требования, цели и характеристики проекта, определить качество разработки, спланировать работы следующего витка спирали. Спиральная модель избавляет пользователей и разработчиков ПО от необходимости полного и точного формулирования требований к системе на начальной стадии, поскольку они уточняются на каждой итерации. На каждой итерации производится тщательная оценка риска превышения сроков и стоимости проекта, чтобы определить необходимость выполнения еще одной итерации, степень полноты и точности понимания требований к системе, а также целесообразность прекращения проекта.
Итеративная разработка отражает объективно существующий спиральный цикл создания сложных систем. Она позволяет переходить на следующий этап, не дожидаясь полного завершения работы на текущем и решить главную задачу — как можно быстрее показать пользователям системы работоспособный продукт, тем самым активизируя процесс уточнения и дополнения требований. При итеративном способе разработки недостающую работу можно будет выполнить на следующей итерации.
Принципиальные свойства спиральной модели:
отказ от фиксации требований и назначение приоритетов пользовательским требованиям;
разработка последовательности прототипов, начиная с требований наивысшего приоритета;
идентификация и анализ риска на каждой итерации;
использование каскадной модели для реализации окончательного прототипа;
оценка результатов по завершении каждой итерации и планирование следующей итерации.
Достоинствами спиральной модели являются:
ускорение разработки (раннее получение результата за счет прототипирования);
постоянное участие заказчика в процессе разработки;
разбиение большого объема работы на небольшие части;
снижение риска (повышение вероятности предсказуемого поведения системы).
Спиральная модель не исключает использования каскадного подхода на завершающих стадиях проекта в тех случаях, когда требования к системе оказываются полностью определенными.
Основная проблема спирального цикла — определение момента перехода на следующий этап. Для ее решения вводятся временные ограничения на каждый из этапов жизненного цикла, и переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. Планирование производится на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.
К недостаткам спиральной модели можно отнести:
сложность планирования (определения количества и длительности итераций, оценки затрат и рисков);
сложность применения модели с точки зрения менеджеров и заказчиков (из-за привычки к строгому и детальному планированию);
напряженный режим работы для разработчиков (при краткосрочных итерациях).