Для чего необходим выбор модели жизненного цикла по

Модели разработки ПО

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

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

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

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

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

Ещё одна важная вещь, которую следует понимать, состоит в том, что никакая модель не является догмой или универсальным решением. Нет идеальной модели. Есть та, которая хуже или лучше подходит для конкретного проекта, конкретной команды, конкретных условий.

Каскадная (водопадная) модель сейчас представляет, скорее, исторический интерес, т.к. в современных проектах практически не применима. Она предполагает однократное выполнение каждой из фаз проекта, которые, в свою очередь, строго следуют друг за другом (Рис. 1.2). Очень упрощённо можно сказать, что, в рамках этой модели, в любой момент времени команде «видна» лишь предыдущая и следующая фаза. В реальной же разработке ПО приходится «видеть весь проект целиком» и возвращаться к предыдущим фазам, чтобы исправить недоработки или что-то уточнить.

Каскадная модель (waterfall)

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

Рис. 1.2. Каскадная (водопадная) модель

Особенности каскадной модели:

— высокий уровень формализации процессов;
— большое количество документации;
— жесткая последовательность этапов жизненного цикла без возможности возврата на предыдущий этап.
Минусы:
• Waterfall-проект должен постоянно иметь актуальную документацию. Обязательная актуализация проектной документации. Избыточная документация.
• Очень не гибкая методология.
• Может создать ошибочное впечатление о работе над проектом (например, фраза «45% выполнено» не несёт за собой никакой полезной информации, а является всего лишь инструментов для менеджера проекта).
• У заказчика нет возможности ознакомиться с системой заранее и даже с «Пилотом» системы.
• У пользователя нет возможности привыкать к продукту постепенно.
• Все требования должны быть известны в начале жизненного цикла проекта.
• Возникает необходимость в жёстком управлении и регулярном контроле, иначе проект быстро выбьется из графиков.
• Отсутствует возможность учесть переделку, весь проект делается за один раз.
Плюсы:
• Высокая прозрачность разработки и фаз проекта.
• Чёткая последовательность.
• Стабильность требований.
• Строгий контроль менеджмента проекта.
• Облегчает работу по составлению плана проекта и сбора команды проекта.
• Хорошо определяет процедуру по контролю качества.

«Водоворот» или каскадная модель с промежуточным контролем

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

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

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

Итеративная модель

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

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

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

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

Данная модель прекрасно сочетает в себе прототипирование и проектирование по стадиям. И из восходящей и нисходящей концепций в эту модель было взято все лучшее.

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

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

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

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

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

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

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

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

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

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

Вкратце можно выразить суть моделей разработки ПО таблицей 1.3.

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

Таблица 1.3.— Сравнение моделей разработки ПО

Источник

QA evolution

Жизненный цикл программного обеспечения

Следует начать с определения, Жизненный цикл программного обеспечения (Software Life Cycle Model) — это период времени, который начинается с момента принятия решения о создании программного продукта и заканчивается в момент его полного изъятия из эксплуатации. Этот цикл — процесс построения и развития ПО.

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

Каскадная модель

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

Жизненный цикл традиционно разделяют на следующие основные этапы :

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

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

Область применения Каскадной модели

Ограничение области применения каскадной модели определяется её недостатками. Её использование наиболее эффективно в следующих случаях:

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

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

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

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

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

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

Достоинства и недостатки этой модели (стратегии) такие же, как и у каскадной (классической модели жизненного цикла). Но в отличие от классической стратегии заказчик может раньше увидеть результаты. Уже по результатам разработки и внедрения первой версии он может незначительно изменить требования к разработке, отказаться от нее или предложить разработку более совершенного продукта с заключением нового договора.

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

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

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

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по Спиральная модель жизненного цикла

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

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

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

Область применения спиральной модели

Применение спиральной модели целесообразно в следующих случаях:

Источник

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

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

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

Дата публикации: 09.07.2020 2020-07-09

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

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

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

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

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

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

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

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

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

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

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

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

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

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

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

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

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

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

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

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

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

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

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

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

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

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

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

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

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

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

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

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

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

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

Модель

Каскадная

Прототипная

Спиральная

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

Источник

Жизненный цикл разработки ПО: основные этапы и модели

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

Чтобы разработать программное обеспечение, нужно использовать специальный алгоритм. Его называют SDLC (Software Life Cycle Model), или жизненный цикл ПО. Это своеобразная основа, которая делает процесс разработки последовательным и упрощает техническую поддержку масштабных IT-проектов. В статье расскажем, что такое SDLC, перечислим его основные этапы и модели.

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

Что такое SDLC

SDLC – это алгоритм создания IT-продукта, который состоит из 6 этапов и охватывает период с момента принятия решения о его разработке и заканчивается, когда ПО перестают использовать. Каждый этап опирается на результат предыдущего и дает пул необходимых указаний для выполнения последующего.

Его функции – регламентирование и формализация процесса разработки. Это важно при командной работе, когда задействуют десятки специалистов.

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

Есть 5 моделей жизненного цикла программного обеспечения. Чаще используют каскадную, инкрементную и спиральную. V-образная и итеративная пользуются меньшим спросом в силу своей «неуниверсальности».

Каскадная

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

Например, такая модель подойдет, если нужно создать усовершенствованную версию проекта или перенести готовый продукт на новую платформу.

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

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

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

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

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

Спиральная

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

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

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

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

V-образная

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

Основной минус – такой же, как и у классической каскадной модели – нет права на ошибку. Если на каком-то из этапов разработчики допустили недочет, его исправление окажется очень трудоемким и дорогим.

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

Итеративная

Преимущество этой модели в том, что она позволяет «ориентироваться на местности» – заранее определять закрытый список требований и составлять объемное техническое задание не нужно. Выявить актуальность и полезность продукта, а также возможные ошибки можно на этапе черновика.

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

Когда пробная версия готова, вы тестируете ее самостоятельно и предлагаете попробовать ее использовать друзьям, коллегам, партнерам – тем, чье мнение для вас авторитетно.

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

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

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

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

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

Этапы разработки жизненного цикла ПО на примере каскадной модели

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

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

Согласованность и целесообразность всех действий в рамках разработки ПО обусловлена жесткой последовательностью этапов и их влиянием друг на друга.

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

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

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

Если вы убеждены, что все участники команды правильно понимают задачи, и ясно представляете, как именно они будут реализовывать требования к ПО на практике (и что их точно можно реализовать), можно переходить к следующему этапу.

Проектирование. Этот этап нужен для того, чтобы ответить следующие вопросы:

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

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

Виджеты Calltouch

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

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

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

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

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

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

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

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

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

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

Виджет обратного звонка для сайта

Для чего необходим выбор модели жизненного цикла по. Смотреть фото Для чего необходим выбор модели жизненного цикла по. Смотреть картинку Для чего необходим выбор модели жизненного цикла по. Картинка про Для чего необходим выбор модели жизненного цикла по. Фото Для чего необходим выбор модели жизненного цикла по

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

Закрытие. Это завершающий этап жизненного цикла ПО. Он наступает, когда вы понимаете, что достигли при помощи вашего продукта всех поставленных целей и готовы его закрыть и перейти на новый уровень.

Коротко о главном

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *