Файл: Модели разработки программного обеспечения.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 27.06.2023

Просмотров: 76

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

В общепринятой модели проходят развитие два этапа жизненного цикла ПО :

  • Разработка ПО
  • Сопровождение ПО

Эти два этапа имеют ряд фаз:

Определение требований

Анализ

Пректирование

Реализация

Этап разработки ПО

Тестирование

Сопровождение

Этап сопровождения

Развитие

Разработка ПО начинается определения потребностей и заказчивается ввода ПО в эксплуатацию

Модели ПО бывают:

  • Каскадная
  • V- образная
  • Спиральная
  • Интеративная
  • Инкрементальная

Для понимания области применения той или иной модели разработки ПО рассмотрим каждую модель отдельно, а так же выявим их плюсы и минусы.

1 Модель – Каскадная

Сбор и анализ информации

Проектирование

Реализация

Внедрение

Сопровождение ПО

Каскадная модель имеет вид последовательного потока который проходит фазы :

  • Сбора и анализа информации
  • Проектирования
  • Реальзации
  • Тестирования
  • Внедрения
  • Сопровождения ПО

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

Рассмотрим плюсы и минусы данной модели.

Плюсы:

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

2.Простота самой модели. При полном завершении одной фазы происходит переход к другой без возврата к предыдущей.

3.Логическая последовательность фаз

Минусы:

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

2. Отсутствует возможность возвращения на предыдущую фазу.

3.Отсутствие гибкости модели

4. Пользователю приходится сразу привыкать к ПО из-за отсутствия бета версии.

5.Заказчик участвует только в первой фазе модели и в последней

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


У каскадной модели существует разновидность – Водопадная модель. Она имеет возможность обратной связи с предыдущей фазой, но это несет за собой очень большие затраты.

2.V- образная модель.

Планирование ПО и требований

Реализаци и сопровождение ПО

Анализ необходимых требований

Системное тестирование

Разработка проекта

Внедрение и тестировнаие

Детальная разработка проекта

Модульное тестирование

Кодирование

При работе с каскадной моделью выявлялся ряд недостатков. V-образная модель является усовершенствованным прототипом каскадной модели. Свое название она получила из-за своего графического вида. Больше всего данная модель ориентирована на тестирование, что значительно повышает качество ПО.

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

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

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

Спиральная модель была создана Барри Боэмом в 1980-х г.

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

Плюсы модели:

1.Оня является наиболее усовершенствованной моделью разработки ПО с высоким уровнем конкурентноспособности

2. По сравнению с каскадной и V-образной моделью удачно подстраивается под постоянные изменения требований заказчика.

3. Успешна в решениях критических задач, когда ошибка априори невозможна

4.Хорошо подходит для сложных проектов

5.Дает возможность намного раньше увидеть работоспособность ПО

6.Надежность системы

7.Минимизация рисков

Минусы:

1.Не подходит для маленьких проектов

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

3.Отсутствует четкое понимание перехода на следующую фазу.

4.Может оказаться дорогостоящей от продолжительности жизненного цикла ПО.

Спиральная модель хорошо применяется при:


  • создании совершенно нового продукта не имеющего прототипов.
  • При необходимости минимизации рисков
  • При необходимости подстраивоемости к изменениям требований к ПО

4 Модель- Интеративная

В интеративной модели сочетаются преимущества спиральной и каскадной моделей.

Интеративная модель имеет 4 основных фазы «жизни» ПО:

  • Начало
  • Исследование
  • Построение
  • Внедрение

Данная модель не нуждается в конкретных требованиях. Первая фаза заключается в создании функционала, что в свою очередь является базой к более точному определению требований, так же он может повторяться. На этой стадии не добиваются идеальности версии, главная цель-работоспособность создаваемой версии. Ориентиром служит понимание конечной цели. Каждое действие в такой системе результативно, а версия усовершенствована и работоспособна. Иными словами в начале мы имеем «набросок» необходимого ПО, далее появляются детали, усовершенствования и завершение процесса.

Плюсы:

1.Возможность применения в больших проектах

2.Детали постоянно могут усовершенствоваться

3.Гибкость к требованиям заказчика

4.Успешно справляется с рисками

5.Ориентирована на выпуск последовательных версий

Минусы:

1.Не подходит для маленьких проектов

2.Задача должна быть поставлена сразу

3.Больше всего подходит для свободного рынка, т.к предполагает дальнейший выпуск версий

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

Разработка требований

Проектирование

Реализация

Ввод в действие

Тестирование

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

Данная модель имеет большую схожесть с каскадной моделью ,но не смотря на это инкрементальная модель будет иметь и свои достоинства и недостатки

Плюсы

1.С появлением каждой новой версией затраты снижаются, т.к базовые требования сформированы и реализованы.

2.У клиента появляется возможность постепенно обучится ПО, т.к сначала клиент осваивает базовые навыки работы с ПО, а далее только дополнения


3.Клиент намного раньше получает первую версию

Минусы:

1.Для создания каждой последовательной версии придется подсобрать требования к усовершенствованию ПО, т.к создавать новую версии про появлении каждого нового требования неразумно

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

Данный вид модели разработки ПО хорошо применяется если:

  1. Если требования четкие
  2. Необходим ранний выход ПО на рынок
  3. Изначально предполагается создание последующих версий

3.2 Сравнение моделей программного обеспечения

Чтобы иметь более четкое понимание какую модель необходимо выбрать при создании ПО произведем сравнение по общим критериям

Сравнительная таблица моделей разработки ПО:

Наименование модели разработки ПО

Простота исполнения

Гибкость к требованиям

(возможность внедрения на различных этапах)

Продолжительность жизненного цикла

Удобство при использование потребителем

Стоимость проекта

Уменьшение рисков

Каскадная

да

нет

ограниченная

ограниченно

низкая

нет

V-образная

да

нет

ограниченная

ограниченная

Варьируется от продолжительности тестирования

Присутствует в связи с возможностью тестирования и возможности взаимосвязи с другими фазами

Спиральная

нет

да

большая

Да,в связи с созданием на каждом этапе рабочей версии

Высокая

да

Интеративная

Нет

да

большая

Да, так как предполагается выпуск новых версий

Может быть высокой с учетом новых версий

да

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

нет

да

большая

Да,т.к предусматривает не только выпуск новых версий ,но и изначально базовую версию ПО

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

да


Для примера сравнения взяли 6 основных критерий моделей.

1.Простота исполнения

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

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

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

2. Гибкость к требованиям (возможность внедрения новых требований)

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

Из таблицы следует, что из 5 моделей только 3 имеют возможность внедрения новых требований на любой фазе. Это обуславливается возможностью тестирования каждой фазы и возможностью взаимодействия между собой тех или иных фаз, а так же предусмотрение создания новых версий программы. Несмотря, что V-образная модель имеет возможность тестирования все же она не приспособлена к изменениям требований к ПО на разных фазах. Так же V-образная и каскадная модели подходят для простых ПО, остальные же подходят больше для больших проектов, что так же влияет на гибкость к ведению требований к ПО.

3.Продолжтельность жизненного цикла ПО

Продолжительность жизненного цикла обуславливается его актуальностью с течением времени и возможностью усовершенствоваться (создавая новые версии).

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