Специфические модели жизненного цикла определяют более конкретные процессы разработки. Отличаются они от стандартов, прежде всего большей детальностью и четким описанием связей между отдельными видами деятельности, определением потоков данных (документов и артефактов) в ходе жизненного цикла.
Каскадная (водопадная) модель
Эта модель предполагает последовательное выполнение различных видов
деятельности, начиная с выработки требований и заканчивая сопровождением, с
четким определением границ между этапами, на которых набор документов,
созданный на предыдущей стадии, передается в качестве входных данных для
следующей.
Водопад, как Каскадная модель жизненного цикла ПО
Поэтапная
модель с промежуточным контролем еще известна как итерационная модель или
«водоворот»
Поэтапная модель с промежуточным контролем - это итерационная модель разработки ИС с циклами обратной связи между этапами. Преимущество такой модели заключается в том, что межэтапные корректировки обеспечивают меньшую трудоемкость по сравнению с каскадной моделью, однако время жизни каждого из этапов растягивается на весь период разработки.
Модель характеризуется следующими свойствами взаимодействия этапов:
- модель состоит из последовательно расположенных этапов (точно так же, как и «водопад»);
- каждый этап имеет обратную связь с предыдущими этапами;
- исправление ошибок происходит на каждом из этапов, сразу при выявлении проблемы -- это промежуточный контроль;
- этапы перекрываются во времени по причине наличия обратной связи: следующий этап не начинается, пока не завершится предыдущий; при первом проходе по модели вниз, как только обнаружена ошибка, осуществляется возврат снизу вверх к предыдущим этапам, которые повлекли ошибку. Таким образом, фактически этапы оказываются растянутыми во времени;
- результат появляется только в конце разработки, как и в модели «водопад».
Критерием
появления результата при модели «водоворот» является приемлемое качество
продукта, то есть такое состояние продукта, когда наиболее критические для
клиента ошибки устранены, а с наличием непринципиальных для жизнедеятельности
системы ошибок клиент согласился -- данные ошибки описаны в документации и
фактически переведены таким образом в разряд особенностей системы.
Спиральная модель
Развитием
идеи итераций является спиральная модель ЖЦПО, предложенная Боэмом. - модель состоит
из последовательно расположенных этапов (как и «водопад») в пределах одного
витка спирали;
- внутри витка спирали этапы не имеют обратной связи. Анализ результата осуществляется в конце витка и инициирует новый виток спирали;
- исправление ошибок происходит на этапе тестирования на каждом из витков спирали. Фактически часть ошибок исправляется в пределах одного витка посредством связи этапов кодирования и тестирования. Ошибки, которые не могут быть исправлены и требуют более глубоких структурных изменений, инициируют новый виток спирали;
- этапы могут перекрываться во времени в пределах одного витка спирали;
- результат появляется в конце каждого витка спирали и подвергается подробному анализу, анализируются новые требования заказчика и инициируется новый виток спирали;
- при переходе от витка к витку происходит накопление и повторное использование программных средств, моделей и прототипов;
- процесс ориентирован на развитие и модификацию системы в процессе ее проектирования, на анализ рисков и издержек в процессе проектирования.
• небольших групп разработчиков (от 3 до 7 человек), выполняющих работы по проектированию отдельных подсистем ПО. Это обусловлено требованием максимальной управляемости коллектива;
• короткого, но тщательно проработанного производственного графика (до 3 месяцев);
• повторяющегося цикла, при котором разработчики по мере того, как приложение начинает обретать форму, запрашивают и реализуют в продукте требования, полученные в результате взаимодействия с заказчиком.
Команда
разработчиков должна представлять собой группу профессионалов, имеющих опыт в
проектировании, программировании и тестировании ПО, способных хорошо
взаимодействовать с конечными пользователями и трансформировать их предложения
в рабочие прототипы.