Одним из возможных подходов к разработке ПО в рам-ках спиральной модели ЖЦ является получившая в последнее время широкое распространение методология быстрой разработки приложений RAD (Rapid Application Development). Под этим термином обычно понимается процесс разработки ПО, содержащий три элемента:
¦ небольшую команду программистов (от 2 до 10 человек)
¦ короткий, но тщательно проработанный производственный график (от 2 до б мес.);
¦ повторяющийся цикл, при котором разработчики, по мере того, как приложение начинает обретать форму, запрашивают и реализуют в продукте требования, полученные через взаимодействия с заказчиком.
Команда разработчиков должна представлять собой группу профессионалов, имеющих опыт в анализе, проектировании, генерации кода и тестировании ПО с использованием CASEсредств. Члены коллектива должны также иметь трансформировать в рабочие прототипы предложения конечных пользователей.
Жизненный цикл ПО по методологии RAD состоит из четырех фаз:
¦ фазы анализа и планирования требований',
¦ фазы проектирования;
¦ фазы построения;
¦ фазы внедрения.
Данная технология обеспечивает создание на ранней стадии реализации действующей интерактивной модели системы, так называемой системы-прототипа, позволяющей наглядно продемонстрировать пользователю будущую систему, уточнить его требования, оперативно модифицировать интерфейсные элементы: формы ввода сообщений, меню, выходные документы, структуру диалога, состав реализуемых функций.
Все приемы для быстрой разработки приложений RAD служат одновременно для обеспечения высокого качества продукта и низкой стоимости разработки. К числу этих приемов относятся:
1) разработка приложения итерациями;
2) необязательность полного завершения работ на каждом из этапов жизненного цикла для начала работ на следующем;
3) обязательное вовлечение пользователей в процесс проектирования и построения системы;
4) высокая параллельность работ;
5) повторное использование частей проекта;
6) необходимое применение CASE - средств, обеспечивающих техническую целостность на этапах анализа и проектирования;
7) применение средств управления конфигурациями, облегчающее внесение изменений в проект и сопровождение готовой системы;
8) использование автоматических генераторов (мастеров);
9) использование прототипирования, позволяющего полнее выяснить и удовлетворить потребности конечного пользователя;
10) тестирование и развитие проекта, осуществляемые одновременно с разработкой нескольких версий прототипа.