RAD-технологии — это концепция формирования средств разработки программных продуктов, которая уделяет главное внимание быстроте и удобству программирования, формированию технологического процесса, предоставляющего возможность программисту с максимальной оперативностью реализовывать компьютерные программы.
Введение
На этапе зарождения и внедрения компьютерных информационных систем они разрабатывались на стандартных языках программирования. Но с ростом уровня сложности проектируемых систем и возрастанием запросов пользователей, что в существенной степени было сопряжено с прогрессом в сфере вычислительной техники, а также с появлением удобных графических интерфейсов пользователя в системном программном обеспечении, возникла необходимость в новых средствах, способных обеспечит кардинальное сокращение сроков проектных работ.
Это обстоятельство стало предпосылкой к появлению отдельного направления в сфере программного обеспечения, а именно, инструментальных средств для оперативного проектирования приложений и автоматизации фактически каждого этапа жизненного цикла информационных систем. Технология проектирования информационных систем, которая основана на применении способов и средств оперативного проектирования приложений, приобрела в настоящее время широкую известность и получила наименование модели быстрой разработки приложений, то есть, RAD (Rapid Application Development).
RAD-технологии
RAD является комплексом специализированных инструментальных средств быстрого проектирования прикладных информационных систем или их элементов, которые позволяют оперировать с заданным набором графических объектов, способных функционально отображать отдельные информационные элементы приложений.
Базовые принципы RAD могут быть сведены к следующим моментам:
- Использование итерационной, то есть спиральной, модели проектирования.
- Необязательность полного завершения работ на каждом этапе жизненного цикла.
- В ходе проектирования информационной системы требуется постоянное взаимодействие с заказчиком и будущим пользователем.
- Обязательное использование CASE-средств и средств быстрого формирования приложений.
- Требуется использование средств управления конфигурацией, которые облегчают внесение коррективов в проект и сопровождение готовых систем.
- Требуется применение прототипов, которое позволяет более полно определять и реализовывать потребности конечных пользователей.
- Процессы тестирования и модификации проекта реализуются параллельно с разработкой.
- Проектирование осуществляется небольшой и отлично управляемой командой профессионалов.
- Требуется обеспечение грамотного руководства проектированием системы, ясное планирование и контроль выполнения работ.
RAD является высокоскоростной адаптацией линейной последовательной модели, в которой быстрая разработка может быть достигнута за счет применения компонентно-ориентированного конструирования, что способно обеспечить экстремально маленький цикл разработки. Когда требования являются полностью определенными, а проектная сфера ограниченной, RAD-процесс предоставляет возможность коллективу проектировщиков сформировать полностью функциональную систему за очень небольшой промежуток времени, а именно, от шестидесяти до девяносто дней.
RAD-технология не может считаться универсальным инструментом, то есть, ее использование не всегда является целесообразным. К примеру, в проектах, в которых требования к программному продукту ясно определены и не могут изменяться, вовлекать заказчика в процесс разработки не нужно и более эффективным может стать иерархическое проектирование, то есть, каскадный метод. Это же относится к проектам и программному обеспечению, уровень сложности которых должен определяться необходимостью выполнения сложных алгоритмов, а роль и объемы интерфейса пользователя недостаточно велики.
Использование технологии RAD целесообразно в следующих случаях:
- В случае ограниченных сроков, отведенных на реализацию проекта (в пределах девяносто дней). Оперативное исполнение проекта может позволить сформировать систему, отвечающую реалиям сегодняшнего дня. Когда система разрабатывается в течение длительного времени, то велика вероятность того, что за этот период значительно поменяются фундаментальные положения, которые регламентируют деятельность компании, то есть, система может просто морально устареть еще до завершения работ над ее созданием.
- В случае нечеткого определения требований к программному обеспечению. Практически всегда заказчики достаточно примерно могут представить себе функционирование будущего программного продукта и не способны ясно сформулировать все требования к программе. Требования могут быть вообще не представлены к началу работы над проектом, или могут меняться в процессе его реализации.
- В случае исполнения проекта при наличии ограничений в бюджете. Проектирование осуществляется маленькими RAD группами в сжатые сроки, что может обеспечить минимум трудозатрат и позволяет вписываться в бюджетные реалии.
- В случае, когда пользовательский интерфейс (GUI) является главным фактором. Не имеет смысла заставлять пользователей формировать картинки. RAD технология дает возможность демонстрации интерфейса в прототипе, причем достаточно быстро после начала реализации проекта.
- В случае, когда проект является большим, но его можно разделить на совокупность более мелких функциональных компонентов. А когда предполагаемая система достаточно большая, то нужно, чтобы была возможность разбиения ее на мелкие составляющие фрагменты, каждый из которых имеет свою четкую функциональность. Их можно выпускать последовательно или параллельно (в последнем случае могут привлекаться несколько коллективов RAD).
- В случае, когда программное обеспечение не имеет большой вычислительной сложности.