Каскадная модель (водопадная, последовательная).

Предусматривает последовательное выполнение всех этапов разработки в четко фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем.

Каждый этап завершается выпуском полного комплекта документации по данному этапу необходимой и достаточной для того, что бы следующий этап могла выполнять в том числе и совершенно сторонняя организация.

Плюсы каскадной модели:

1. На каждом этапе формируется полный и согласованный комплект документации.

2. Так как этапы выполняются последовательно данная особенность позволяет четко спланировать выполнение каждого этапа с точки зрения временных рамок.

Каскадный подход целесообразно применять при построении наиболее простых ИС, когда в самом начале разработки достаточно полно и точно можно описать все требования к системе.

Основной недостаток заключается в том, что реальный процесс создания ИС как правило не укладываются в такую жесткую последовательную схему и возникает потребность к уточнениям возникающим на этапе проектирования и возврате к предыдущим этапам.

Таким образом при неточном формулировании требований и длительных сроках создания ИС заказчик получает систему не соответствующую его текущим потребностям.

Каскадная модель предполагает полную корректность выполненных работ на предыдущих этапах и неверно разработанный проект на этапе приводит к повышению финансовых затрат на последующих этапах.

Итерационная модель (поэтапная с промежуточным контролем).

Разработка систем по данной модели ведется итерациями, с обратной связью между этапами, такие межэтапные корректировки позволяют учитывать реально существующие взаимосвязи результатов разработки на различных этапах.

Плюсы:

1. Трудоемкость откладки по сравнения с каскадной моделью снижается.

2. Если на каком либо этапе в ходе промежуточной проверки идентифицирована ошибка, допущенная на ранних стадиях разработки, то её можно устранить, повторив цикл работ по ошибочному этапу.

Однако эта модель так же не позволяет оперативно учитывать возникающие изменения и уточнения требований к системе, так как согласование с заказчиком осуществляется в точках осуществления каждого этапа. А общие, принципиальные требования остаются неизменными и утверждаются в ТЗ в самом начале проектирования.

V» образная шарнирная модель.

Была предложена для устранения недостатков каскадной модели, дает возможность повысить качество разработки, благодаря направленности на тестирование.

Преимущества:

1. Большая роль отдается верификации модели, начиная с ранних стадий её разработки.

2. Предполагается проверка не только самой ИС в целом, но так же внешних и внутренних подсистем.

3. Ход выполнения разработки проекта может легко отслеживаться, т.к. завершения каждой фазы является контрольной точкой.

Недостатки:

1. Не учитывает итерации между фазами,

2. нельзя вносить изменения на разных этапах жизненного цикла

3. Зачастую тестирование продукта происходит слишком поздно, поэтому внесение изменений требует больших временных затрат

Инкрементная модель

Представляет собой повторяющиеся циклы линейных последовательностей каскадной модели. Каждая отдельная линейная последовательность разрабатывает промежуточный программный продукт, который может быть поставлен заказчику, данный промежуточный программный продукт называется инкремент.

Первый инкремент приводит к формирования базового продукта, реализующий только основные требования, а вспомогательные функции как правило в нем не представлены.

Следующие инкременты предусматривают модификацию базового, плюс аккумуляция (наращивание) дополнительными функциональными возможностями.

Спиральная модель

Каждый виток спирали в модели соответствует созданию нового продукта, на нем уточняются цели и характеристики проекта, определяется его качество, а так же формируется план работы по следующему витку спирали.

Один виток спирали при этом, так же как и в инкрементной модели представляет собой законченный цикл по типу каскадной модели, такая разработка позволяет переходить на следующий этап не дожидаясь полного завершения работы на текущем, тем саамы решить важнейшую задачу, как можно быстрее показать заказчику работоспособный продукт, активировав или запустив, тем самым процесс уточнения и тестирования.

Преимущества:

1. Уделяет особое внимание раннему анализу и тестированию

2. Предполагает безударную возможность развития и изменения продукта

3. Уделяет повышенное внимание методам предотвращения ошибок и фильтрации необоснованных альтернатив на ранних стадиях проекта

4. Позволяет контролировать источники проектных работ и объемов затрат

5. Не проводит разграничений между модернизацией и созданием нового продукта

Основная проблема спиральной модели: это определение момента перехода на следующий этап или виток. Для её решения вводится временные ограничения на каждый этап основанных на статистических данных полученных в предыдущем проекте и личном опыте разработчиков системы.

Модель фаза функций

Модель должна служить основой организации взаимоотношений между разработчиками и одной из её целей является поддержка функций менеджера. Это приводит к необходимости наложения на модель контрольных точек задающих временные рамки проекта и технические производственные функции которые выполняются в рамках реализации проекта.

Наиболее наглядно это реализовано в модели фаза функции Гантера. эта модель имеет 2 измерения:

1. Фазы, которые отражают этапы выполнения проекта

2. Функции, отражает какие одноименные функции выполняются в рамках развития проекта а так же их интенсивность.

В данной модели жизненный цикл состоит из следующих перекрывающих друг друга фаз:

1. Этап исследований. Этап начинается, когда необходимость в разработке данного проекта признана, на этапе обосновываются требуемые ресурсы для его выполнения, а так же разрабатываются требования к ИС.

2. Анализ осуществимости. Начинается на этапе исследования, когда определены исполнители и заканчивается обсуждением требований. Цель этапа: определить возможно ли проектирование формируемого изделия, будет ли это изделие эффективным и экономически выгодным.

3. Конструирование. Начинается на этапе анализа осуществимости, как только подтверждены основные цели проекта и оканчиваются утверждением проектных решений в виде спецификаций на разработку.

4. Программирование. Цель данного этапа заключается в реализации программ объекта с последующей физической сборкой. Его завершение заключается в передаче проекта службе независимой оценки, которая дает заключение о результатах проделанной работы.

5. Этап оценки. Этот этап является некой промежуточной зоной между началом испытаний и практическим использованием проекта. Этап начинается с проведения внутренних испытаний и заканчивается подтверждением о готовности проекта изделия к эксплуатации.

6. Этап использования. Начинается, пока изделие находится в эксплуатации и функционирует в полном объеме. Данный этап связан с внедрением, обучением персонала, настройкой, сопровождением и модернизацией ИС и заканчивается когда прекращается любая деятельность по сопровождению информационной системы.

На протяжении вышеперечисленных фаз жизненного цикла ИС разработчики выполняют следующие технические и организационные функции:

1. Планирование. Данная функция выполняется с самого начала и до конца развития проекта. Методы планирования определяются исходя из конкретики планирования ИС.

2. Разработка. Так же выполняется на протяжении всего проекта, содержание разработки меняется, однако в общем её можно охарактеризовать как получение рабочего продукта для конкретного этапа.

3. Обслуживание. Данная функция обеспечивает максимально комфортную обстановку выполнения конкретной деятельности. В обслуживании участвуют два субъекта, это обслуживаемый и обслуживающий.

4. Выпуск документации. Документация включает в свой состав не только техническое описание ИС, но и сопровождающие материалы для возможности реализации ИС в полном объеме, т.е. диаграммы, программы и прочие продукты.

5. Испытания. Для данной функции необходимо заметить, что нужно испытывать все рабочие станции участвующие в проекте.

6. Поддержка. Это функция выполнение которой необходимо в связи передачей продуктов в эксплуатацию. Её содержание заключается в обучении и создании необходимой для использования информационной среды.

7. Сопровождение. Перечисленные функции на разных этапах имеют табличное содержание, так же требуют различной интенсивности, но могут содержаться при реализации проекта.

Перечисленные функции наложенные на фазы этапов проектирования в комплексе дают изображение матрицы фаз функций Гантера.

Несмотря на настойчивые рекомендации мировых специалистов использовать какую либо из разновидностей итерационной модели многие компании продолжают применять каскадную модель, с этим связаны следующие причины:

1. Привычка. Многие IT специалисты получали образование в то время, когда изучалась только каскадная модель.

2. Иллюзия снижения рисков. Касается участников проекта (заказчика и исполнителя). Каскадная модель предполагает разработку законченных продуктов на каждом этапе, технического задания, технического проекта, программного продукта и пользовательской документации. Таким образом у заказчика создается иллюзия, что продолжение какого либо из этапов, может быть реализовано или через значительное время или другой компанией специалистов. Однако на практике всё оказывается несколько иначе, если требования к ИС меняются в процессе разработки, а качество документов или результатов работы по каждому этапу находится на невысоком уровне, то в действительности использование каскадной модели формирует дополнительные риски дающие возможность в том числе и прекращение каких либо разработок по данному продукту.

3. Проблема внедрения. В некоторых областях спиральная модель просто не может быть применена поскольку невозможно тестирование и внедрение продуктов обладающих неполной функциональностью, примером таких систем могут быть военные разработки и прочие разные продукты.