В случае эволюционной модели система разрабатывается в виде
последовательности блоков структур (конструкций). В отличие от
инкрементной модели ЖЦ подразумевается, что требования
устанавливаются частично и уточняются в каждом последующем
промежуточном блоке структуры системы.
Использование эволюционной модели предполагает проведение
исследования предметной области для изучения потребностей заказчика
проекта и анализа возможности применения этой модели для
реализации. Модель применяется для разработки несложных и не
критических систем, для которых главным требованием является
реализация функций системы. При этом требования не могут быть
определены сразу и полностью. Тогда разработка системы проводится
итерационно путем ее эволюционного развития с получением некоторого
варианта системы - прототипа, на котором проверяется реализация
требований. Иными словами, такой процесс по своей сути является
итерационным, с повторяющимися этапами разработки, начиная от
измененных требований и до получения готового продукта. В некотором
смысле к этому типу модели можно отнести спиральную модель.
Развитием этой модели является модель эволюционного
прототипирования в рамках всего ЖЦ разработки (рис. 2.7). В
литературе она часто называется моделью быстрой разработки
приложений RAD (Rapid Application Development). В данной модели
приведены действия, которые связаны с анализом ее применимости для
конкретного вида системы, а также обследование заказчика для
определения потребностей пользователя для разработки плана создания
прототипа.
увеличить изображение Рис. 2.7.Модель эволюционного
прототипирования
В модели есть две главные итерации разработки функционального
прототипа, проектирования и реализации системы. Проверяется,
удовлетворяет ли она всем функциональным и нефункциональным
требованиям. Основной идеей этой модели является моделирование
отдельных функций системы в прототипе и постепенное эволюционная
его доработка до выполнения всех заданных функциональных
требований.
Итераций по получению промежуточных вариантов прототипа может быть
несколько, в каждой из которых добавляется функция и повторно
моделируется работа прототипа. И так до тех пор, пока не будут
промоделированы все функции, заданные в требованиях к системе.
Потом выполняется еще итерация - окончательное программирование для
получения готовой системы.
Эта модель применяется для систем, в которых наиболее важными
являются функциональные возможности, и которые необходимо быстро
продемонстрировать на CASE-средствах.
Так как промежуточные прототипы системы соответствуют реализации
некоторых функциональных требований, то их можно проверять и при
сопровождении и эксплуатации, т.е. параллельно с процессом
разработки очередных прототипов системы. При этом вспомогательные и
организационные процессы могут выполняться параллельно с процессом
разработки и накапливать сведения по данным количественных и
качественных оценок на процессах разработки.
При этом учитываются такие факторы риска:
· реализация всех функций системы одновременно может привести к
громоздкости;
· ограниченные человеческие ресурсы заняты разработкой в течение
длительного времени.
Преимущества применения данной модели ЖЦ следующие:
· быстрая реализация некоторых функциональных возможностей системы
и их апробирование;
· использование промежуточного продукта в следующем прототипе;
· выделение отдельных функциональных частей для реализации их в
виде прототипа;
· возможность увеличения финансирования системы;
· обратная связь устанавливается с заказчиком для уточнения
функциональных требований;
· упрощение внесения изменений в связи с заменой отдельной
функции.
Модель развивается в направлении добавления нефункциональных
требований к системе, связанных с защитой и безопасностью данных,
несанкционированным доступом к ним и др.