Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК - Проектирование ИС 2011 / Лекции Проектирование ИС / Л.13 Жизненный цикл распределенной ИС.doc
Скачиваний:
75
Добавлен:
12.04.2015
Размер:
360.45 Кб
Скачать

Тема 13. Жизненный цикл распределенной ис

ЖЦ РИС – это непрерывный процесс, который начинается с момента принятия решения о необходимости создания РИС и заканчивается в момент ее полного изъятия из эксплуатации.

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

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

ПО представляет собой немаловажную самостоятельную часть современных продуктов и систем. Как и в любой другой области, отсутствие единой дисциплины производства ПО приводит к снижению качества продукта, необоснованному увеличению цены и сроков. Для решения этих проблем в 1987 году Интернациональная Организация по Стандартизации (ISO) приступила к разработке единого стандарта на разработку ПО, охватывающего весь жизненный цикл программных продуктов. Труды экспертов, представляющих транснациональные корпорации, национальные академии и правительственные организации, опирающиеся на опыт работы предприятий ведущих стран мира, воплотились в этом стандарте. Трудоемкость проекта составляет более 17,000 человеко-часов, его стоимость превышает 1,5 миллиона долларов.

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

Структура ЖЦ по стандарту ISO/IEC 12207 базируется на трех группах процессов:

  • основные процессы ЖЦ (приобретение, поставка, разработка, эксплуатация, сопровождение);

  • вспомогательные процессы (документирование, управление конфигурацией, обеспечение качества, аттестация, аудит, решение проблем);

  • организационные процессы (управление проектами, создание инфраструктуры проекта, улучшение самого ЖЦ, обучение).

Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ.

Обеспечение качества проекта – верификация, тестирование ПО.

Верификация – это процесс определения того, отвечает ли текущее состояние разработки требованиям данного этапа. Для этого проводится тестирование.

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

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

Существуют два основных типа моделей жизненного цикла - прогнозирующий и адаптивный типы.

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

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

  • прототипирование: разработка функциональных требований и топологическое проектирование осуществляются одновременно;

  • быстрая разработка приложения (Rapid Application Development, RAD): основана на использовании эволюционирующего прототипа, который не отбрасывается;

  • инкрементное построение: разбиение большого объема проектно-конструкторских работ на последовательность более малых составляющих частей;

  • спираль: повторение одного и того же набора фаз жизненного цикла, таких как планирование, проектирование, построение и оценивание, до тех пор, пока разработка продукта не будет завершена.

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

  • адаптивная разработка программного обеспечения (Adaptive Software Development, ASD): определяемая миссией, основанная на компонентах, подразумевает итеративные циклы и циклы с известной длительностью, определяемые степенью риска, допускающая изменения;

  • экстремальное программирование (Extreme Programming, XP): команды разработчиков, менеджеров и пользователей, программирование выполняется парами, итеративный характер процесса, коллективное владение кодами программ;

  • SCRUM: подобен приведенным выше адаптивным жизненным циклам, выполняется на итеративной основе, итерации носят название "спринтов", имеют длительность порядка 30 дней (типовое значение); каждый "спринт" должен дать на выходе определенную степень функциональности продукта; активная роль руководства в течение всего жизненного цикла;

  • модели скоростной разработки программного обеспечения или модели "скоростного" жизненного цикла.

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

Наибольшее распространение получили две основные модели ЖЦ [1.2, 1.3]:

  • каскадная модель (70-85 гг.);

  • спиральная модель (86-90 гг.).

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

Положительные стороны применения каскадного подхода:

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

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

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