Определение модели жизненного цикла программного средства.
Модель жизненного цикла программного обеспечения — структура, содержащая процессы действия и задачи, которые осуществляются в ходе разработки, использования и сопровождения программного продукта.
Эти модели можно разделить на 3 основных группы:
• Инженерный подход
• С учетом специфики задачи
• Современные технологии быстрой разработки
Модель кодирования и устранения ошибок.
Совершенно простая модель, характерная для студентов ВУЗов. Именно по этой модели большинство студентов разрабатывают, ну скажем лабораторные работы.
Данная модель имеет следующий алгоритм:
• Постановка задачи
• Выполнение
• Проверка результата
• При необходимости переход к первому пункту
Каскадная модель жизненного цикла программного обеспечения (водопад).
Алгоритм данного метода, который я привожу на схеме, имеет ряд преимуществ перед алгоритмом предыдущей модели, но также имеет и ряд весомых недостатков.
Рисунок 9. Алгоритм разработки программного обеспечения.
Преимущества:
• Последовательное выполнение этапов проекта в строгом фиксированном порядке
• Позволяет оценивать качество продукта на каждом этапе
• Недостатки:
• Отсутствие обратных связей между этапами
• Не соответствует реальным условиям разработки программного продукта
• Относится к первой группе моделей.
Каскадная модель с промежуточным контролем (водоворот).
Данная модель является почти эквивалентной по алгоритму предыдущей модели, однако при этом имеет обратные связи с каждым этапом жизненного цикла, при этом порождает очень весомый недостаток: 10-ти кратное увеличение затрат на разработку. Относится к первой группе моделей.
V модель (разработка через тестирование)
Данная модель имеет более приближенный к современным методам алгоритм, однако все еще имеет ряд недостатков. Является одной из основных практик экстремального программирования.
Рисунок 10
Модель на основе разработки прототипа
Данная модель основывается на разработки прототипов и прототипирования продукта. Прототипирование используется на ранних стадиях жизненного цикла программного обеспечения:
· Прояснить не ясные требования (прототип UI);
· Выбрать одно из ряда концептуальных решений (реализация сценариев);
· Проанализировать осуществимость проекта;
· Классификация протопипов;
· Горизонтальные и вертикальные;
· Одноразовые и эволюционные;
· бумажные и раскадровки;
Горизонтальные прототипы-моделирет исключительно UI не затрагивая логику обработки и базу данных.
· Вертикальные прототипы - проверка архитектурных решений.
· Одноразовые прототипы - для быстрой разработки.
· Эволюционные прототипы - первое приближение эволюционной системы.
Спиральная модель жизненного цикла программного обеспечения
Спиральная модель представляет собой процесс разработки программного обеспечения, сочетающий в себе как проектирование, так и постадийное прототипирование с целью сочетания преимуществ восходящей и нисходящей концепции.
Рисунок 11
Преимущества:
• Быстрое получение результата
• Повышение конкурентоспособности
• Изменяющиеся требования — не проблема
• Недостатки:
• Отсутствие регламентации стадий
Третьей группе принадлежат такие модели как экстремальное программирование (XP), SCRUM, инкриментальная модель (RUP).