Какие браузеры вы используете чаще всего
 
Эволюционная модель разработки

Различают два подхода к реализации эволюционного метода разработки.

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

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

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

1. Многие этапы процесса создания ПО не документированы. Менеджерам проекта созда­ния ПО необходимо регулярно документально отслеживать выполнение работ. Но если система разрабатывается быстро, то экономически не выгодно документиро­вать каждую версию системы.

2. Система часто получается плохо структурированной. Постоянные изменения в требо­ваниях приводят к ошибкам и упущениям в структуре ПО. Со временем внесение изменений в систему становится все более сложным и затратным.

3. Часто требуются специальные средства и технологии разработки ПО. Это вызвано необ­ходимостью быстрой разработки версий программного продукта. Но, с другой сто­роны, это может привести к несовместимости некоторых применяемых средств и технологий, что, в свою очередь, требует наличия в команде разработчиков спе­циалистов высокого уровня.

Эволюционный подход наиболее приемлем для разработки небольших программных систем (до 100 000 строк кода) и систем среднего размера (до 500 000 строк кода) с относительно коротким сроком жизни. На больших долгоживущих системах слиш­ком заметно проявляются недостатки этого подхода. Для таких систем я рекомендую сме­шанный подход к созданию ПО, который вобрал бы в себя лучшие черты каскадной и эво­люционной моделей разработки.

При таком смешанном подходе для прояснения "темных мест" в системной специфика­ции можно использовать прототипирование. Часть системных компонентов, для которых полностью определены требования, может создаваться на основе каскадной модели. Другие системные компоненты, которые трудно поддаются специфицированию, например пользо­вательский интерфейс, могут разрабатываться с использованием прототипирования.