Модель быстрой разработки приложений RAD (Rapid Application Development)
Является противоположностью жесткого водопадного метода, она не берет в расчет требования и документацию проекта. Для названия такого подхода иногда используют термин «совместная разработка прикладных систем» (свидетельствующий об участии потребителя в процессе разработки), или быстрая разработка прикладных систем (RAD –Rapid Application Development).
Основателем концепции RAD считается сотрудник компании IBM Джеймс Мартин (1991 год). В настоящее время средства разработки, основанные на RAD, имеют высокую популярность среди программистов.
Характерной чертой RAD является короткое время перехода от определения требований до создания полной системы. Метод основывается на создании последовательности прототипов, критический анализ которых производится заказчиком. В процессе такого анализа формируются требования к продукту.
Возможность такого подхода обусловлена тем, что при использовании модели RAD пользователь задействован на всех фазах жизненного цикла разработки проекта – не только при определении требований, но и при проектировании, разработке, тестировании, а также – при конечной поставке программного продукта.
Разработка каждого интегрированного продукта ограничивается четко определенным периодом времени, который, как правило, составляет не более 60 дней и называется временным блоком.
Возможность создания системы за 60 дней, причем без ущерба качеству, обеспечивается за счет использования мощных инструментальных средств разработки, высокого уровня повторного использования кода, а также осмысленных и выделенных ресурсов. В частности, подразумевается использование средств разработки графического пользовательского интерфейса и кодогенераторов. Такие инструментальные средства, как Borland Delphi, Borland C++ Builder, IBM Lotus Domino Designer, Microsoft Visual Studio и другие можно использовать в качестве средств для быстрой разработки приложений.
Модель RAD проходит через следующие фазы (рис. 5.7):
1. этап планирования требований — сбор требований выполняется при использовании рабочего метода, называемого совместным планированием требований (Joint requirements planning, JRP), который представляет собой структурный анализ и обсуждение имеющихся коммерческих задач;
2. пользовательское описание — совместное проектирование приложения (Joint application design, JAD) используется с целью привлечения пользователей. На этой фазе проектирования системы, не являющейся промышленной, работающая над проектом команда зачастую использует автоматические инструментальные средства, обеспечивающие сбор пользовательской информации;
3. фаза конструирования («до полного завершения») — эта фаза объединяет в себе детальное проектирование, кодирование и тестирование, а также поставку программного продукта заказчику за определенное время. Сроки выполнения этой фазы в значительной мере зависят от использования генераторов кода, экранных генераторов и других типов производственных инструментальных средств;
4. перевод на новую систему эксплуатации — эта фаза включает проведение пользователями приемочных испытаний, установку системы и обучение пользователей.
Рис. 5.7. Модель быстрой разработки приложений.
Условия применения:
- в системах, которые поддаются моделированию (тех которые основаны на использовании компонентных объектов), а также в масштабируемых системах;
- в системах, требования для которых в достаточной мере известны;
- в случаях, когда конечный пользователь может принимать участие в процессе разработки на протяжении всего жизненного цикла;
- при невысокой степени технических рисков;
- при выполнении проектов, разработка которых должна быть выполнена в сокращенные сроки (как правило, не более чем за 60 дней);
- когда пригодные к повторному использованию части можно получить из автоматических хранилищ программных продуктов;
- в системах, которые предназначены для концептуальной проверки, являются некритическими или имеют небольшой размер;
- когда затраты и соблюдение графика не являются самым важным вопросом (например при разработке внутренних инструментальных средств);
Модель RAD часто используется при создании информационных систем.