Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УЧЕБНОЕ ПОСОБИЕ Глухова Лилия Александровна 2007.pdf
Скачиваний:
626
Добавлен:
15.06.2014
Размер:
921.37 Кб
Скачать

РАЗДЕЛ 2. МОДЕЛИ ЖИЗНЕННОГО

ЦИКЛА РАЗРАБОТКИ

ПРОГРАММНЫХ СРЕДСТВ

ИСИСТЕМ

2.1.Стратегии разработки программных средств и систем

2.1.1.Базовые стратегии разработки программных средств и систем

На начальном этапе развития вычислительной техники программное обеспечение разрабатывалось по принципу«кодирование – устранение ошибок». Модель такого процесса разработки ПС иллюстрирует рисунок2.1 [19].

Требования

 

 

 

ПС

Кодирование

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

 

 

 

 

 

 

 

 

Делать, пока не будет сделано

Рисунок 2.1 – Модель «Делать, пока не будет сделано»

Очевидно, что недостатками такой модели являются:

·неструктурированность процесса разработки программных средств;

·ориентация на индивидуальные знания и умения программиста;

·сложность управления и планирования проекта;

·большая длительность и стоимость разработки;

·низкое качество программных продуктов;

·высокий уровень рисков проекта.

В настоящее время наиболее широко используютсятри базовые стратегии разработки программного обеспечения, предназначенные для устранения или сокращения вышеназванных недостатков:

10

·каскадная;

·инкрементная;

·эволюционная.

Некоторые характеристики каскадной, инкрементной и эволюционной стратегий разработки ПС и предъявляемые к ним требования приведены в стандарте ГОСТ Р ИСО/МЭК ТО 15271-2002 – Информационная технология

– Руководство по применению ISO/IEC 12207 (Процессы жизненного цикла программных средств) [6].

Выбор той или иной стратегии определяется характеристиками:

·проекта;

·требований к продукту;

·команды разработчиков;

·команды пользователей.

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

Следует подчеркнуть, что одни и те же свойства стратегии могут проявлять себя как достоинства при выборе стратегии к соответствующему ей проекту и как ее недостатки, если стратегия выбрана неверно.

Три базовых стратегии могут быть реализованы различными моделями

ЖЦ.

2.1.2.Каскадная стратегия разработки программных средств и систем

Каскадная стратегия представляет собой однократный проход этапов разработки.

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

распространяются.

 

 

 

 

 

 

 

 

 

 

Основными

 

представителями

 

моделей, реализующих

каскадную

 

стратегию, являются каскадная и V-образная модели.

 

 

 

 

 

Основными достоинствами каскадной стратегии, проявляемыми при

 

разработке соответствующего ей проекта, являются:

 

 

 

 

 

1) стабильность

требований

в

течение

всего

 

жизненного

цик

разработки;

 

 

 

 

 

 

 

 

 

 

2) простота

применения

стратегии; необходимость

только

одного

 

прохода этапов разработки; 3) простота планирования, контроля и управления проектом;

11

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

5)доступность для понимания заказчиками.

Кнедостаткам каскадной стратегии, проявляемым при ее выборе к несоответствующему проекту, следует отнести:

1)сложность четкого формулирования требований в начале жизненного цикла ПС и невозможность их динамического изменения на протяжении ЖЦ ПС;

2)последовательность линейной структуры процесса разработки; на практике разрабатываемые ПС (или система) обычно слишком велики, чтобы все работы по их созданию выполнить однократно; в результате возврат к

предыдущим

шагам

для

решения

возникающих

проблем

приводит

увеличению затрат и нарушению графика работ;

 

 

3)проблемность финансирования проекта, связанная со сложностью единовременного распределения больших денежных средств;

4)непригодность промежуточного продукта для использования;

5)недостаточное участие пользователя в разработке системы или ПС– только в самом начале(при разработке требований) и в конце(во время приемочных испытаний), что приводит к невозможности предварительной оценки пользователем качества ПС или системы.

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

1)при разработке проектов с четкими, неизменяемыми в течение ЖЦ требованиями, понятными реализацией и техническими методиками;

2)при разработке проекта, ориентированного на построение системы или продукта такого же типа, как уже разрабатывались разработчиками ранее;

3)при разработке проекта, связанного с созданием и выпуском новой версии уже существующего продукта или системы;

4)при разработке проекта, связанного с переносом уже существующего продукта на новую платформу;

5) при выполнении больших проектов, которых задействовано несколько больших команд разработчиков (например, см. рисунок 2.5).

2.1.3.Инкрементная стратегия разработки программных средств и систем

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

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

12

требований

реализуется

постепенно

в

соответствии

с

план

последовательных циклах разработки.

 

 

 

 

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

 

 

 

Первый

инкремент реализует базовые

функции . ПСВ последующих

 

инкрементах функции ПС постепенно расширяются, пока не будет реализован

 

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

 

ходе разработки постепенно уменьшаются.

 

 

 

 

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

 

очередной поставляемой версии ПС.

 

 

 

 

Особенностью инкрементной стратегии разработки является большое

 

количество циклов разработки при незначительной продолжительности цикла и

 

небольших различиях между инкрементами соседних циклов.

 

 

Например, данная стратегия разработки программных средств и систем

 

используется

в

компанииMicrosoft. Здесь

на

каждую

версию

ПС

разрабатывается около тысячи инкрементов. Период разработки инкремента

 

составляет один день [10]. В ряде организаций используется недельный период

 

разработки инкремента.

 

 

 

 

 

 

 

 

Инкрементная стратегия обычно основана на объединении элементов

 

каскадной

модели

и

прототипирования. При

этом

 

использование

прототипирования

позволяет

существенно

сократить

продолжительность

разработки каждого инкремента и всего проекта в целом.

 

 

 

 

Под прототипом понимается легко поддающаяся модификации и

расширению рабочая модель предполагаемой системы(или программного

 

средства), позволяющая пользователю получить представление о ключевых

 

свойствах системы (или ПС) до ее полной реализации.

 

 

 

 

Представителями

моделей,

реализующих

инкрементную

стратегию,

 

являются, например, инкрементная и RAD-модель (см. п. ). Следует отметить,

 

что RAD-модель может использоваться как при инкрементной, так и при

 

эволюционной стратегиях разработки.

 

 

 

 

 

 

Современной

 

реализацией

инкрементной

стратегии

явл

экстремальное программирование.

Основными достоинствами инкрементной стратегии, проявляемыми при разработке соответствующего ей проекта, являются:

1)возможность получения функционального продукта после реализации каждого инкремента;

2)короткая продолжительность создания инкремента (за счет небольших

функциональных

различий

между

соседними

инкрементами

и

за

сч

использования разработанных ранее компонентов); это приводит к ускорению

 

начального графика поставки и графика всего проекта в цел, позволяетм

 

 

сократить

общее

количество

разработчиков

и

снизить

 

затраты

первоначальную и последующие поставки программного продукта;

 

 

 

 

3) предотвращение

 

реализации

громоздких

перечней

требований;

стабильность требований во время создания определенного инкремента (за счет

 

 

13

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

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

5)включение в процесс пользователей, что позволяет оценить самые

важные функциональные возможности продукта на

более ранних

этапах

разработки и в конечном итоге приводит к повышению качества программного

продукта, снижению затрат и времени на его разработку;

 

 

 

6) возможность

поддержки

постоянного

прогресса ,

прод

разработчиков и технологий в ходе выполнения проекта;

 

 

 

7) возможность управляемого распределения денежных средств с учетом

 

важности реализуемых в инкременте функций;

 

 

 

 

 

8) упрощение

тестирования

инкрементов

по

сравнению

промежуточными

продуктами, создаваемыми

при

каскадной

стратегии

разработки.

 

 

 

 

 

 

К недостаткам инкрементной стратегии, проявляемым при ее выборе к несоответствующему проекту, следует отнести:

1)необходимость полного функционального определения системы или

программного

средства

в

начале

жизненного

цикла

для

обеспече

определения инкрементов, планирования и управления проектом;

 

 

 

 

2)

возможность

текущего

изменения

требований

к

системе

ил

программному средству, которые уже реализованы в предыдущих инкрементах;

 

3)

необходимость

хорошего

планирования

и

 

проектирован,

грамотного распределения работы;

 

 

 

 

 

 

 

 

 

4)

непредусмотренность

итераций

в

рамках

каждого

 

инкремента

модели;

 

 

 

 

 

 

 

 

 

 

 

 

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

6)наличие тенденции к оттягиванию решения трудных проблем на поздние инкременты, что может нарушить график работ.

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

1)при разработке проектов, в которых большинство требований можно сформулировать заранее, но часть из них могут быть сформулированы через определенный период времени;

2)при необходимости быстро поставить на рынок продукт, имеющий функциональные базовые свойства;

3)для выполнения проектов с большим периодом разработки (один год и

более);

14