logo
Разработка и стандартизация ПС и ИТ

4. Стратегии конструирования программных средств с точки зрения моделей жц. Характеристика стратегий, достоинства и недостатки.

С точки зрения использования модели ЖЦ рассматривают следующие стратегии конструирования ПС:

- однократный подход – линейная последовательность этапов конструирования;

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

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

5. Инкрементная и эволюционная стратегии конструирования программных средств, их характеристики и модели ЖЦ. (+ каскадная модель)

Каскадная модель. Обеспечивает стратегию однократного подхода и представляет собой классическую модель ЖЦ, разработанную Уинстоном Ройсом в 1970 г.

Разработка ПС рассматривается как линейная последовательность этапов, причем переход на следующий (нижний) этап происходит только после завершения работ на текущем этапе (рис. 1.1).

Достоинства: определение четкого плана и временного графика работ по всем этапам ЖЦ и упорядочивание хода разработки.

Недостатки:

Быстрая разработка приложений (Rapid Application Development – RAD). Отражает применение инкрементной стратегии и обеспечивает экстремально короткий цикл разработки ПС за счет использования компонентно-ориентированного конструирования.

Основателем RAD считается сотрудник IBM Джеймс Мартин, который в 1980-х годах сформулировал основные принципы RAD, а в 1991 году опубликовал книгу, в которой детально изложил концепцию RAD и возможности её применения.

RAD-подход ориентирован на разработку информационных систем. Линейная последовательность цикла включает следующие этапы (рис. 1.2):

бизнес-моделирование (определение информационных потоков между бизнес-функциями);

моделирование данных (построение объектной модели информационных потоков – выделение объектов, их свойств и связей);

моделирование обработки (описание процессов преобразования данных, обеспечивающих бизнес-функции – добавление, модификацию, поиск, удаление);

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

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

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

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

Современная реализация инкрементного подхода – экстремальное программирование (XP), предложенное Кентом Беком (1996 г.). XP-процесс ориентирован на очень малые приращения функциональности при условии неопределенных или быстро меняющихся требований. Четырьмя базовыми действиями в линейной последовательности XP-цикла являются: программирование, тестирование, выслушивание заказчика, проектирование (рис.1.3). Одной из основных характеристик цикла является непрерывная связь с заказчиком.

Extreme Programming не стремится к выпуску всеобъемлющего продукта за 2-3 месяца, а, напротив, стремится к выпуску множества небольших продуктов за больший промежуток времени.

Экстремальное программирование эффективно применяется:

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

Спиральная модель. Классический пример применения эволюционной стратегии разработки. Автор модели – Барри Боэм (1988 г.). Модель добавляет в процесс разработки новую стадию – анализ риска (рис.1.4).

Внимание модели концентрируется на итерационном процессе начальных этапов проектирования. Всего модель определяет четыре этапа:

планирование (определение целей, вариантов и ограничений);

анализ риска (анализ вариантов и распознавание риска);

конструирование (разработка проектов каждого нового уровня);

оценивание (оценка заказчиком текущих результатов конструирования).

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

Следует отметить, что этап конструирования на каждом новом витке охватывает все больше этапов классического ЖЦ.

Достоинства: наиболее реальное (эволюционное) отображение процесса разработки ПС; возможность явного учета риска на каждом витке спирали, а также использование моделирования и макетирования для уменьшения риска и совершенствования ПС.

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