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

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

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

Авторы: ,

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

Опубликовано в Молодой учёный №28 (318) июль 2020 г.

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

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

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

Нарыжная, Н. Ю. Сравнительный анализ моделей жизненного цикла программного обеспечения / Н. Ю. Нарыжная, Л. Г. Шарифова. — Текст : непосредственный // Молодой ученый. — 2020. — № 28 (318). — С. 28-32. — URL: https://moluch.ru/archive/318/72498/ (дата обращения: 30.10.2024).



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

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

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

Жизненный цикл информационной системы включает в себя такие стадии, как планирование, анализ, проектирование, реализацию, внедрение и эксплуатацию [1].

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

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

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

Каскадная модель жизненного цикла ПО

Рис. 1. Каскадная модель жизненного цикла ПО

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

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

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

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

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

Процесс прототипирования

Рис. 2. Процесс прототипирования

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

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

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

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

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

К недостаткам данной модели следует отнести:

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

Подробная схема данной модели представлена на рис. 3.

Спиральная модель жизненного цикла ПО

Рис. 3. Спиральная модель жизненного цикла ПО

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

Методика выбора на основе анализа критериев.

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

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

Таблица 1

Иллюстрация методики выбора модели жизненного цикла на основе анализа критериев

Характеристика проекта

Модель

Каскадная

Прототипная

Спиральная

Новизна разработки и обеспеченность ресурсами

высокая

средняя

средняя

Длительность приложений

до года

до нескольких лет

до нескольких лет

Легкость использования

просто

просто

сложно

Определение основных требований в начале проекта

да

нет

нет

Масштаб проекта

малые и средние

малые и средние

любые проекты

Внесение изменений

нет

да

да

Разработка итерациями

нет

да

да

Распространение промежуточного ПО

нет

да

да

Управление рисками

нет

да

да

Стоимость будущих версий

высокая

низкая

низкая

Продуктивность приложений

высокая

низкая

высокая

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

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

Литература:

  1. Голосовский М. С. Информационно-логическая модель процесса разработки программного обеспечения // Программные системы и вычислительные методы. 2015. № 1. С. 59–68.
  2. Ларкин Е. В., Богомолов А. В., Привалов А. Н. Методика оценивания временных интервалов между транзакциями в алгоритмах сжатия речевых сообщений // Научно-техническая информация. Серия 2: Информационные процессы и системы. 2017. № 9. С. 23–28.
  3. Голосовский М. С. Модель расчета оценок трудоемкости и срока разработки информационных систем на начальном этапе жизненного цикла проекта // Программная инженерия. 2016. Т. 7. № 10. С. 446–455.
  4. Жизненный цикл малого предприятия. — М.: Либеральная Миссия, Новое литературное обозрение, 2016. — 336 c.
  5. Исаев Г. Н. Управление качеством информационных систем — М.:НИЦ ИНФРА-М, 2016. — 248 с.
Основные термины (генерируются автоматически): жизненный цикл, программное обеспечение, модель, каскадная модель, программный продукт, спиральная модель, IEC, большее число оценок, информационная система, приемлемая модель.


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

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

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

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

В статье представлено определение регулятора и процесса проектирования. Также проведен сопоставительный анализ методов проектирования регуляторов.

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

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

Анализ систем активной безопасности

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

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

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

Сравнительный анализ методологий разработки ПО Agile и Waterfall

Цель данной статьи — произвести сравнительный анализ методологий разработки программного обеспечения на примере Agile и WaterFall. Формирование критериев сравнения. Выявление преимуществ и недостатков.

Сервисы информационных систем

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

Анализ бизнес-среды организации

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

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

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

Методология и процесс ручного тестирования

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

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

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

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

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

В статье представлено определение регулятора и процесса проектирования. Также проведен сопоставительный анализ методов проектирования регуляторов.

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

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

Анализ систем активной безопасности

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

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

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

Сравнительный анализ методологий разработки ПО Agile и Waterfall

Цель данной статьи — произвести сравнительный анализ методологий разработки программного обеспечения на примере Agile и WaterFall. Формирование критериев сравнения. Выявление преимуществ и недостатков.

Сервисы информационных систем

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

Анализ бизнес-среды организации

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

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

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

Методология и процесс ручного тестирования

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

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