ЖЦПО_Петров.md 6.5 KB

Модель жизненного цикла программного обеспечения

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

Модель кодирования и устранения ошибок

Совершенно простая модель, характерная для студентов ВУЗов. Именно по этой модели большинство студентов разрабатывают, ну скажем лабораторные работы.

Данная модель имеет следующий алгоритм:

1)Постановка задачи

2)Выполнение

3)Проверка результата

4)При необходимости переход к первому пункту

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

Каскадная модель жизненного цикла программного обеспечения (водопад)

Алгоритм данного метода, который я привожу на схеме, имеет ряд преимуществ перед алгоритмом предыдущей модели, но также имеет и ряд весомых недостатков.

Каскадная.gif

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

1)Последовательное выполнение этапов проекта в строгом фиксированном порядке

2)Позволяет оценивать качество продукта на каждом этапе

Недостатки:

1)Отсутствие обратных связей между этапами

2)Не соответствует реальным условиям разработки программного продукта

Относится к первой группе моделей.

Каскадная модель с промежуточным контролем (водоворот)

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

V модель (разработка через тестирование)

Данная модель имеет более приближенный к современным методам алгоритм, однако все еще имеет ряд недостатков. Является одной из основных практик экстремального программирования.

V модель.png

Модель на основе разработки прототипа

Данная модель основывается на разработки прототипов и прототипирования продукта. Прототипирование используется на ранних стадиях жизненного цикла программного обеспечения:

1)Прояснить не ясные требования (прототип UI)

2)Выбрать одно из ряда концептуальных решений (реализация сцинариев)

3)Проанализировать осуществимость проекта

Классификация протопипов:

1)Горизонтальные и вертикальные

2)Одноразовые и эволюционные

3)бумажные и раскадровки

Горизонтальные прототипы — моделирует исключительно UI не затрагивая логику обработки и базу данных.

Вертикальные прототипы — проверка архитектурных решений.

Одноразовые прототипы — для быстрой разработки.

Эволюционные прототипы — первое приближение эволюционной системы.

Модель принадлежит второй группе.

Спиральная модель жизненного цикла программного обеспечения

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

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

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

1)Быстрое получение результата

2)Повышение конкурентоспособности

3)Изменяющиеся требования — не проблема

Недостатки:

1)Отсутствие регламентации стадий

Третьей группе принадлежат такие модели как экстремальное программирование (XP), SCRUM, инкриментальная модель (RUP), но о них я бы хотел рассказать в отдельном топике.

Большое спасибо за внимание!