Инкрементная модель


Стратегии конструирования ПО

 

Существуют 3 стратегии конструирования ПО:

О однократный проход (водопадная стратегия) — линейная последовательность этапов конструирования;

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

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

Характеристики стратегий конструирования ПО в соответствии с требованиями стандарта 1ЕЕЕ/Е1А 12207.2 приведены в табл. 1.1.

 

Таблица 1.1. Характеристики стратегий конструирования

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

 

Инкрементная модель является классическим примером инкрементной стратегии конструирования (рис. 1.4). Она объединяет элементы последовательной водопадной модели с итерационной философией макетирования.

Каждая линейная последовательность здесь вырабатывает поставляемый инкре­мент ПО. Например, ПО для обработки слов в 1-м инкременте реализует функции базовой обработки файлов, функци и редактирования и документирования; во 2-м ин­кременте — более сложные возможности редактирования и документирования;

в 3-м инкременте — проверку орфографии и грамматики; в 4-м инкременте — воз­можности компоновки страницы.

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

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

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

Рис. 1.4. Инкрементная модель

 

Забегая вперед, отметим, что современная реализация инкрементного подхода — экстремальное программирование ХР (Кент Бек, 1999) [10]. Оно ориентировано на очень малые приращения функциональности.