Сравнительный анализ каскадной и V-образной методологий разработки программного обеспечения | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №22 (312) май 2020 г.

Дата публикации: 01.06.2020

Статья просмотрена: 2456 раз

Библиографическое описание:

Филатов, В. А. Сравнительный анализ каскадной и V-образной методологий разработки программного обеспечения / В. А. Филатов. — Текст : непосредственный // Молодой ученый. — 2020. — № 22 (312). — С. 48-51. — URL: https://moluch.ru/archive/312/70923/ (дата обращения: 16.12.2024).



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

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

Самой простой и самой распространенной классической методологией разработки программного обеспечения является каскадная (или «водопадная») модель. Ее суть заключается в том, что все стадии жизненного цикла разработки программного обеспечения следуют последовательно: начинается процесс с разработки требований к программному обеспечению, далее следует проектирование программного продукта, затем идет непосредственно разработка, далее — тестирование, а последней ступенью является эксплуатация и поддержка (рис. 1). Некоторые из вышеназванных ступеней могут разбиваться на более мелкие ступени.

Рис. 1. Каскадная методология разработки программного обеспечения

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

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

V-образная модель разработки является модернизацией каскадной модели. Ее смысл заключаются в установке соответствия определенного уровня тестирования каждому этапу проектировки. Тестирование (в первую очередь создание тестовой документации) в такой модели начинается еще на этапе написания требований.

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

На визуальном представлении V-образной модели (рис. 2) стадии проектирования расположены в нисходящей последовательности в левой части импровизированной буквы V, внизу находится стадия кодирования, а правой части буквы находится восходящая последовательность тестирования.

V-образная методология реализует нисходящий подход к проектированию приложения: сначала определяются общие требования к продукту, далее производится проектирование архитектуры на высшем уровне, после чего уже производится детальное проектирование. После окончания проектирование производится кодирование спроектированных функций. По окончании стадии кодирования начинается восходящий процесс тестирования. В качестве первого этапа тестирования производится модульное тестирование, то есть тестирование каждого из разработанных на стадии детального проектирования модулей в отдельности. Когда все модули протестированы, следующим этапом следует интеграционное тестирование — тестирования правильности взаимодействия и интеграции модулей друг с другом. Требования к интеграции и, соответственно, тестовая документация для этого уровня были разработаны на стадии проектирования архитектуры на высшем уровне. Далее следует системное и приемочное тестирование, которое позволяет убедиться в правильности работы всего приложения и соответствие его исходным требованиям к программному продукту, определенных еще на этапе разработки требований.

Рис. 2. V-образная модель разработки программного обеспечения

Среди общих достоинств каскадной и V-образной моделей разработки выделяют простоту планирования сроков и расходов на разработку. Среди недостатков — невозможность внесения изменений в середине процесса разработки и общая высокая стоимость, а также большая продолжительность процесса.

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

В свою очередь, V-образная модель требует более высокого уровня подготовки сотрудников. Еще одним недостатком относительно каскадной модели является стоимость внесения изменений в ходе разработки. Несмотря на то, что стоимость внесения изменений является общим недостатком классических методологий разработки, в V-образной модели она приобретает дополнительный вес за счет того, что на ранних стадиях разработки осуществляется гораздо больший объем работы, и внесенные изменения будут требовать не только внесения изменений в программу, но и внесения изменений в тестовую документацию.

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

Основные термины (генерируются автоматически): программный продукт, программное обеспечение, v-образная методология, V-образной модель, каскадная модель, методология разработки, тестовая документация, требование, v-образная модель разработки, высший уровень.


Похожие статьи

Статический анализ исходного кода в обучении и разработке программного обеспечения

Алгоритмы помехоустойчивого кодирования и их аппаратная реализация на основе ПЛИС

Методики оценивания рисков и их программные реализации в компьютерных сетях

Структурный подход к применению и компьютерной реализации различных видов динамических моделей

Сравнительный анализ программного обеспечения систем мониторинга кластерных вычислительных систем

Анализ эффективности применения аппаратных устройств с репрограммируемой структурой

Кластерный анализ разработки современных алгоритмов обработки данных

Особенности предобработки данных для применения машинного обучения

Применение метода анализа иерархий для оценки типа серверного оборудования

Сравнительный анализ алгоритмов нейронной сети и деревьев принятия решений модели интеллектуального анализа данных

Похожие статьи

Статический анализ исходного кода в обучении и разработке программного обеспечения

Алгоритмы помехоустойчивого кодирования и их аппаратная реализация на основе ПЛИС

Методики оценивания рисков и их программные реализации в компьютерных сетях

Структурный подход к применению и компьютерной реализации различных видов динамических моделей

Сравнительный анализ программного обеспечения систем мониторинга кластерных вычислительных систем

Анализ эффективности применения аппаратных устройств с репрограммируемой структурой

Кластерный анализ разработки современных алгоритмов обработки данных

Особенности предобработки данных для применения машинного обучения

Применение метода анализа иерархий для оценки типа серверного оборудования

Сравнительный анализ алгоритмов нейронной сети и деревьев принятия решений модели интеллектуального анализа данных

Задать вопрос