Статья опубликована в рамках: Научного журнала «Студенческий» № 41(85)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6
ЭТАПЫ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММЫ
АННОТАЦИЯ
В данной статье рассматриваются и сравниваются два основных вида жизненного цикла (ЖЦ) разработки программного обеспечения (ПО): каскадный и гибкий. Делается вывод о применимости данных видов ЖЦ разработки ПО в зависимости от особенностей проекта.
Ключевые слова: жизненный цикл, каскадная модель, гибкая модель, разработка, программное обеспечение.
В процессе создания программного обеспечения используются семь основных видов жизненных циклов [1]. Типичный цикл разработки программного обеспечения называется «каскадным» и выглядит следующим образом:
Рис. 1. Каскадная модель
Таблица 1.
Каскадная модель
1 |
Подготовка |
Сбор и обработка требований. Предварительное планирование этапов работ, сроков, ресурсов и стоимости. |
2 |
Проектирование |
Получение технических заданий, разработка спецификаций. Партнер получает документальное изложение своих требований и планы проведения работ. |
3 |
Создание |
|
4 |
Поддержка |
|
Второй из наиболее распространенных — гибкий цикл разработки (Agile), позволяющий без негативных последствий изменять направление деятельности, вносить дополнительные задания, требовать детальной проработки узких мест. Создание ПО с помощью Agile состоит из небольших итераций — коротких циклов — спринтов, являющихся, по сути, мелкими проектами и занимающих от одной до четырех недель. При завершении отдельного продуктивного периода проводится анализ и переориентирование на новые задачи следующего цикла. Количество спринтов может быть любым. Этапы проиллюстрированы ниже.
Рис. 2. Гибкая модель
Таблица 2.
Гибкая модель
1 |
Планирование |
Постановка целей спринта и выбор действий для их реализации, распределение имеющихся ресурсов. |
2 |
Разработка |
Практическое решение задач для достижения целей спринта. |
3 |
Тестирование |
Аккумулирование итоговой информации в целях контроля выполнения задач спринта. Анализ ошибок и причин отклонений от плана. Поиск путей исправления оплошностей. |
4 |
Демонстрация |
Представление заказчику готовой части ПО. |
5 |
Внедрение |
По требованию возможно использование ПО в качестве самостоятельного продукта. |
Применение гибкого цикла оправдано в крупных проектах, растянутых по времени, при постоянных изменениях требований пользователей; а также в других случаях, где невозможно точное планирование. Каскадный цикл подойдет для небольших проектов с четко определенными требованиями и при наличии специалистов нужной квалификации.
Рис. 3. Сравнение двух моделей
Степень риска при разработке ПО варьируется в зависимости от выбранного цикла. При гибком цикле выше вероятность возникновения неудачных архитектур, но и устранять ошибки проще. При каскадном цикле архитектурные погрешности обнаруживаются в конце проекта, а исправление недостатков значительно сложнее и дороже [2].
Таблица 3.
Сравнение двух моделей
Гибкий цикл |
Каскадный цикл |
Не требуется детальное ТЗ |
Необходимо детально проработанное ТЗ по ГОСТу. |
На старте нет точного понимания бюджета, оценка примерная. |
Точная стоимость и срок указываются в договоре. |
Начать разработку можно сразу после подписания договора. |
Потребуется время на написание и согласование технического задания. |
Легко изменить то или иное требование к реализации, если они утратили актуальность или изменилось видение проекта. |
Для изменения требований к реализации нужно подписать дополнительное соглашение. |
Стоимость проекта ниже |
Стоимость проекта выше |
Оплачивается фактически потраченное время. |
В стоимость работ закладывается запас на случай непредвиденных трудозатрат. |
Работа на Agile осуществляется, как правило, за меньшую цену и с порционной выдачей готовых блоков. Каскадный цикл подразумевает фиксированный крупный платеж за конечный продукт, часто без демонстрации промежуточных результатов.
Заключение. Таким образом, мы пришли к выводу, что выбор цикла зависит от особенностей проекта, являясь предметом и итогом обсуждения, поэтому нельзя однозначно сказать, какой из них является оптимальным.
Список литературы:
- Ещё раз про семь основных методологий разработки // Хабр URL: https://habr.com/ru/company/edison/blog/269789/ (дата обращения: 09.12.2019).
- Цикл разработки и его этапы // Эдисон URL: https://www.edsd.ru/ru/princypy/cikl_razrabotki_po (дата обращения: 09.12.2019).
Оставить комментарий