Приложение 1. МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА
В приложении приведен краткий обзор основных моделей ЖЦ ПС.
Жизненный цикл ПС определяется как "...весь период существования системы от начала разработки до завершения ее использования"1
ЖЦ делится на набор упорядоченных стадий, основные из которых, приведены ниже петитом.
Определение потребностей.
Анализ требований и формирование концепции.
Разработка (далее подробнее...).
Производство.
Внедрение/продажа.
Эксплуатация.
Сопровождение и поддержка.
Изъятие из эксплуатации.
Модели ЖЦ описывают взаимосвязи этих стадий. Внутри каждой стадии существует свой набор более детальных стадий. Рассмотренные в приложении модели касаются стадий ЖЦ, связанных с процессом разработки ПС. Основные стадии приведены ниже петитом.
Анализ требований.
Проектирование (предварительное и детальное).
Реализация.
Тестирование.
Наиболее известными типами моделей ЖЦ в настоящее время являются: последовательные и итерационные. На практике, эти модели могут комбинироваться, образуя смешанные модели ЖЦ.
Каждая из моделей имеет свои достоинства и недостатки, которые должны исследоваться при выборе конкретной модели для проекта.
1.1. Назначение моделей разработки
Модели ЖЦ могут использоваться для:
• организации, планирования, распределения ресурсов (трудозатрат и времени) и управления проектом разработки;
• организации взаимодействия с заказчиками и определения состава документов (рабочих продуктов), разрабатываемых на каждой стадии;
• анализа и/или оценивания распределения ресурсов и затрат на протяжении ЖЦ;
• наглядного описания или в качестве основы для проведения финансовых расчетов с заказчиками;
• проведения эмпирических исследований с целью определения влияния моделей на эффективность разработки и общее качество программного продукта.
В стандарте ISO/IEC 12207 определена структура процессов, но не указаны способы их взаимодействия в рамках разных моделей. Рекомендации по возможному отображению процессов ЖЦ на основные модели разработки приведены в Руководстве по применению стандарта2.
1 ДСТУ 2941-94. Разработка систем. Термины и определения.
2 Guide for ІSОЛЕС 12207 (Software Life Cycle Processes)/ISO/IEC JTC1/SC7 N1656 1997-02-01.
1.2. Модели последовательного выполнения стадий
1.2.1. Каскадная модель
Каскадная (Waterflall) или стандартная модель - наиболее известная модель разработки, закрепленная в стандартах (в частности, ГОСТ 34). Эта модель характеризуется набором стадий, выполняемых последовательно (рисунок 1.1). Каждая стадия должна быть завершена до перехода к следующей, а создаваемые на ней рабочие продукты после их верификации и валидации должны быть "заморожены" и переданы на следующую стадию в качестве эталона. Пользователь видит работающий программный продукт в самом конце разработки. Наиболее жесткое ограничение этой модели - необходимость "замораживания" требований, при этом, чтобы минимизировать риск увеличения стоимости, допускаются только небольшие изменения.
С точки зрения качества ПС, в этой модели стоимость исправления дефектов на стадии тестирования наибольшая из всех моделей, поскольку тестирование выполняется в самом конце разработки. Из-за недостатка времени на переделки и тестирование существует значительный риск выпуска ПС с серьезными дефектами.
1.2.2. Каскадная модель с обратной связью
Эта модель расширяет стандартную модель включением в нее циклов обратной связи для возврата на предыдущую стадию при изменении требований, проекта и по результатам инспекций или любых действий по V&V (рисунок 1.2).
Процессы V&V, выполняемые после завершения каждой стадии разработки, играют в этой модели важнейшую роль. В таблице 1.1. подытожены характеристики этих двух моделей и преимущества, обеспечиваемые моделью с обратной связью.
1.2.3. V-образная модель
V-образная (V-shape) модель расширяет каскадную модель включением в нее действий по раннему планированию тестирования. Структура и описание этой модели приведены в главе 6. Характеристики и преимущества модели перечислены в таблице 1.2.
1.2.4. Каскадная модель с прототипированием (пилообразная модель)
Модель является модификацией V-образной модели с включением в нее прототипирования для моделирования требований и проекта (рисунок 1.3).
Прототипы имеют демонстрационную цель и после разработки проекта выбрасываются ("прототипирование с выбрасыванием"), а реализация проекта может выполняться в другой среде. В целом разработка выполняется последовательно.
В таблице 1.4 перечислены основные риски, связанные с применением последовательных моделей и условия, при которых их лучше использовать.
Дополнительные преимущества этой модели, перечислены в таблице 1.3.
1.3. Итерационные модели
Итерационные модели в целом можно разделить на два класса: модели с приращениями (Incremental) и эволюционные (Evolutionary). По всем этим моделям программный продукт разрабатывается итерациями, и каждая итерация заканчивается выпуском работоспособной версии программного продукта. Основное отличие между ними - в подходах к определению требований. Следует отметить, что названия этих моделей в литературе иногда путают.
1.3.1. Итерационные модели с приращениями
По моделям с приращениями (Incremental) программный продукт разрабатывается итерациями, с добавлением на каждой итерации функциональных возможностей. При этом вначале определяются все требования к ПС, а возможно и разрабатывается предварительный проект. Дальнейшая разработка ПС разбивается на итерации. В каждой итерации разработка выполняется последовательно и завершается выпуском работоспособной версии программного продукта (инкремента). В первой итерации реализуется набор основных требований, обеспечивающих базовую функциональность. Остальные итерации реализуются в порядке критичности требований для конечного пользователя. При появлении в середине итерации нового набора требований они откладываются до реализации следующей версии. В реальной жизни это допущение модели может нарушаться и допускается пересмотр требований.
В разных моделях этой группы итерации могут выполняться последовательно или с перекрытием. При последовательном выполнении каждая новая итерация начинается после завершения предыдущей. В модели с перекрытиями новая итерация начинается до завершения предыдущей итерации или когда первая стадия предыдущей итерации (проект) завершена примерно на 80%.
На рисунке 1.4 приведена структура модели с перекрытием итераций, а в таблице 1.5 - характеристики и преимущества моделей с приращениями.
Итерационные модели с приращениями широко применяются для разработки коммерческих программных продуктов, которые развиваются в течение длительного периода времени, или для которых внешние требования изменяются слабо (компиляторы, ОС). Для согласования требований и проекта эти модели могут включать прототипирование.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.