Книга: Технологии программирования
3.7. РАННИЕ ПОДХОДЫ БЫСТРОЙ РАЗРАБОТКИ
3.7. РАННИЕ ПОДХОДЫ БЫСТРОЙ РАЗРАБОТКИ
Развитием и одновременно альтернативой каскадных подходов является группа подходов быстрой разработки. Все эти подходы объединяют следующие основные черты:
• итерационную разработку прототипа;
• тесное взаимодействие с заказчиком.
Эволюционное прототипирование. Первый прототип при эволюционном прототипировании (evolutionary prototyping) обычно включает создание развитого пользовательского интерфейса, который может быть сразу же продемонстрирован заказчику для получения от него отзывов и возможных корректив. Основное начальное внимание уделяется стороне системы, обращенной к пользователю. Далее до тех пор, пока пользователь не сочтет программный продукт законченным, в него вносится необходимая функциональность (рис. 3.10).
Эволюционное прототипирование разумно применять в тех случаях, когда заказчик не может четко сформулировать свои требования к программному продукту на начальных этапах разработки или заказчик знает, что требования могут кардинально измениться.
Существенным недостатком данного подхода является невозможность определить продолжительность и стоимость проекта. Неочевидным является количество итераций, по истечении которых пользователь сочтет программный продукт законченным.
Итеративная разработка. Первый прототип итеративной разработки (iterative delivery) уже должен включать завершенное ядро системы. Таким образом, в нем уже сосредоточена большая часть функциональности. Очередные итерации должны помочь пользователю определиться с доводкой пользовательского интерфейса и генерируемых систем отчетов и других выходных данных (рис. 3.11).
Допускается добавление незначительной функциональности, обычно не затрагивающей ядро системы. Различие между двумя исследованными методами быстрой разработки заключается в том, что итеративная разработка начинается с создания ядра системы и далее детализирует его, а эволюционное прототипирование ориентировано на начальную разработку пользовательского интерфейса и добавление функциональности на его основе.
Рис. 3.10. Эволюционное прототипирование
Рис. 3.11. Итеративная разработка
Постадийная разработка (staged delivery) предназначена устранить недостаток двух предыдущих подходов — невозможность определения сроков завершения проекта. Начиная разработку, разработчик достаточно хорошо знает, что будет собой представлять создаваемый программный продукт. Основная задача постадийной разработки — предоставить заказчику работающую систему как можно раньше. Далее заказчик сможет добавлять новую функциональность и получать очередную версию системы. Однако каждая из версий, получаемых по завершении стадий, является работающей.
Данный подход требует тщательного и серьезного тестирования очередной системы в конце каждой стадии перед передачей ее пользователю.
- 3.1. ОСНОВНЫЕ СВЕДЕНИЯ
- 3.2. РАННИЕ ТЕХНОЛОГИЧЕСКИЕ ПОДХОДЫ
- 3.3. КАСКАДНЫЕ ТЕХНОЛОГИЧЕСКИЕ ПОДХОДЫ
- 3.4. КАРКАСНЫЕ ТЕХНОЛОГИЧЕСКИЕ ПОДХОДЫ
- 3.5. ГЕНЕТИЧЕСКИЕ ТЕХНОЛОГИЧЕСКИЕ ПОДХОДЫ
- 3.6. ПОДХОДЫ НА ОСНОВЕ ФОРМАЛЬНЫХ ПРЕОБРАЗОВАНИЙ
- 3.7. РАННИЕ ПОДХОДЫ БЫСТРОЙ РАЗРАБОТКИ
- 3.8. АДАПТИВНЫЕ ТЕХНОЛОГИЧЕСКИЕ ПОДХОДЫ
- 3.9. ПОДХОДЫ ИССЛЕДОВАТЕЛЬСКОГО ПРОГРАММИРОВАНИЯ
- 3.4. КАРКАСНЫЕ ТЕХНОЛОГИЧЕСКИЕ ПОДХОДЫ
- 3.2. РАННИЕ ТЕХНОЛОГИЧЕСКИЕ ПОДХОДЫ
- Глава 3 ОСНОВНЫЕ ИНЖЕНЕРНЫЕ ПОДХОДЫ К СОЗДАНИЮ ПРОГРАММ
- 1.8. СТАДИИ И ЭТАПЫ РАЗРАБОТКИ ПРОГРАММ
- 3. Участники разработки экспертных систем
- Часть III. Шаблоны разработки через тестирование
- 1.1. Схема и основные этапы разработки новой продукции
- 2.3. Подходы к оценке эффективности рекламы
- 5.5. ПРИМЕР РАЗРАБОТКИ ОПИСАНИЯ ПРОЦЕССА "КИПЯЧЕНИЕ ВОДЫ В ЧАЙНИКЕ"
- IBPP для разработки C++
- 7.2. Этапы разработки
- Процесс разработки программного обеспечения