Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭК_Б_727111.doc
Скачиваний:
10
Добавлен:
17.08.2019
Размер:
3.23 Mб
Скачать

3. Модели жизненного цикла по

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

Стандарт ISO/IEC 12207 не предлагает конкретную модель ЖЦ и методы разработки ПО. Его положения являются общими для любых моделей ЖЦ, методов и технологий разработки ПО.Модель ЖЦ представляет собой совокупность упорядоченных во времени, взаимосвязанных и объединенных в стадии работ.

В состав ЖЦ ПО обычно включаются следующие стадии:

        1. Формирование требований к ПО.

        2. Проектирование.

        3. Реализация.

        4. Тестирование.

        5. Ввод в действие.

        6. Эксплуатация и сопровождение.

        7. Снятие с эксплуатации.

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

К настоящему времени наибольшее распространение получили каскадная (1970 - 1985 гг.) и спиральная (1986 - 1990 гг.) модель ЖЦ ПО.

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

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

Рис. 2.2. Каскадная схема разработки ПО

Преимущества применения каскадного способа заключаются в сле­дующем:

  • на каждой стадии формируется законченный набор проектной документации;

  • удобно планировать сроки завершения всех работ и соответствующие затраты.

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

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

Обычно на начальной стадии проекта полностью и точно сформули­ровать все требования к будущей системе не удается. Это объясняется двумя причинами:

  • пользователи не в состоянии сразу изложить все свои требования и не могут предвидеть, как они изменятся в ходе разработки;

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

Рис. 2.3. Реальный процесс разработки ПО

Спиральная модель (СМ) предполагает итерационный процесс разработки ИС. При этом возрастает значение начальных этапов ЖЦ таких, как анализ и проектирование. На этих этапах проверяется и обосновывается реализуемость технических решений путем создания прототипов.

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

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

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

Преимущества спиральной модели

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

1. итерационная разработка существенно упрощает внесение изменений в проект при изменении требований заказчика;

2. при использовании СМ отдельные элементы интегрируются в единое целое постепенно, интеграция производится непрерывно, и поскольку она начинается с меньшего количества элементов, при ее проведении возникает гораздо меньше проблем (при использовании КМ разработки на интеграцию в конце проекта приходится до 40% всех затрат);

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

4. итерационная разработка обеспечивает большую гибкость в управлении проектом, давая возможность внесения тактических изменений в разрабатываемый проект. (Например, можно сократить сроки разработки за счет уменьшения функциональности системы или использовать в качестве составных частей ИС продукцию других фирм вместо собственных разработок.);

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

6. СМ позволяет получить более надежную и устойчивую систему, т.к. ошибки и слабые места обнаруживаются и исправляются на каждой итерации. Одновременно можно корректировать критические параметры эффективности, что при использовании КМ выполняется только перед внедрением ИС;

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

Проблемы использования спиральной модели

Основная проблема при использовании СМ – определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый этап ЖЦ ИС. Иначе процесс разработки может превратиться в бесконечное совершенствование уже сделанного. При итерационном подходе полезно следовать принципу «лучшее – враг хорошего». Поэтому завершение итерации должно производиться строго в соответствии с планом, даже если не вся запланированная работа закончена.