Обзор основных моделей жизненного цикла

Страницы работы

Содержание работы

Приложение 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 - характеристики и преимущества моделей с приращениями.

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

Похожие материалы

Информация о работе