RAD (программирование): различия между версиями

[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
м викификация
Строка 2:
{{Разработка программного обеспечения}}
 
'''RAD''' (от {{lang-en|rapid application development}} — быстрая разработка приложений) — концепция создания средств разработки [[программный продукт|программных продуктов]], уделяющая особое внимание быстроте и удобству [[программирование|программирования]], созданию технологического процесса, позволяющего программисту максимально быстро создавать [[компьютерная программа|компьютерные программы]]. Практическое определение: RAD  — это [[жизненный цикл изделия|жизненный цикл]] процесса проектирования, созданный для достижения более высокой скорости разработки и качества ПО, чем это возможно при традиционном подходе к проектированию. С конца [[XX век]]а RAD получила широкое распространение и одобрение. Концепцию RAD также часто связывают с концепцией [[визуальное программирование|визуального программирования]].
 
== История ==
Строка 8:
 
== Назначение ==
RAD предполагает, что разработка ПО осуществляется небольшой командой разработчиков за срок порядка трех-четырех месяцев путем использования [[инкремент]]ного [[прототипирование|прототипирования]] с применением инструментальных средств [[визуальное программирование|визуального моделирования]] и разработки. Технология RAD предусматривает активное привлечение заказчика уже на ранних стадиях — обследование организации, выработка требований к системе. Последнее из указанных свойств подразумевает полное выполнение требований заказчика как функциональных, так и нефункциональных, с учетом их возможных изменений в период разработки системы, а также получение качественной документации, обеспечивающей удобство эксплуатации и сопровождения системы. Это означает, что дополнительные затраты на сопровождение сразу после поставки будут значительно меньше. Таким образом, полное время от начала разработки до получения приемлемого продукта при использовании этого метода значительно сокращается.
 
== Применение ==
Технологию RAD целесообразно применять, когда четко определены некоторые приоритетные направления разработки проекта.[[Файл:RAD-KASKAD.jpg|400px|right|thumb|Сравнение RAD и Каскадного метода]]
# ''Необходимо выполнение проекта в сжатые сроки.'' Быстрое выполнение проекта позволяет создать систему, отвечающую требованиям сегодняшнего дня. Если система проектируется долго, то весьма высока вероятность, что за это время существенно изменятся фундаментальные положения, регламентирующие деятельность организации, то есть, система морально устареет ещеещё до завершения еееё проектирования.
# ''Нечетко определены требования к ПО.'' В большинстве случаев заказчик весьма приблизительно представляет себе работу будущего программного продукта и не может четко сформулировать все требования к ПО. Требования могут быть вообще не определены к началу проекта либо могут изменяться по ходу его выполнения.
# ''Проект выполняется в условиях ограниченности бюджета.'' Разработка ведется небольшими RAD-группами в короткие сроки, что обеспечивает минимум трудозатрат и позволяет вписаться в бюджетные ограничения.
# ''[[Графический интерфейс пользователя|Интерфейс пользователя (GUI)]] есть главный фактор.'' Нет смысла заставлять пользователя рисовать картинки. RAD-технология дает возможность продемонстрировать интерфейс в прототипе, причем достаточно скоро после начала проекта.
# ''Возможно разбиение проекта на функциональные компоненты.'' Если предполагаемая система велика, необходимо, чтобы еееё можно было разбить на мелкие части, каждая из которых обладает четкой функциональностью. Они могут выпускаться последовательно или параллельно (в последнем случае привлекается несколько RAD-групп).
# ''Низкая вычислительная сложность ПО.''
 
 
RAD-технология не является универсальной, то есть еееё применение целесообразно не всегда. Например, в проектах, где требования к программному продукту четко определены и не должны меняться, вовлечение заказчика в процесс разработки не требуется и более эффективной может быть иерархическая разработка ([[Каскадная модель|каскадный метод]]). То же касается проектов, ПО, сложность которых определяется необходимостью реализации сложных алгоритмов, а роль и объемобъём пользовательского интерфейса невелик.
 
== Основные принципы ==
[[Файл:RADcomparison.jpg|320px|right|Add caption here]]
Принципы RAD технологии направлены на обеспечение трех основных еееё преимуществ — высокой скорости разработки, низкой стоимости и высокого качества. Достигнуть высокого качества программного продукта весьма непросто и одна из главных причин возникающих трудностей заключается в том, что разработчик и заказчик видят предмет разработки (ПО) по-разному.
 
* Инструментарий должен быть нацелен на минимизацию времени разработки.
Строка 37:
== Фазы разработки ==
 
# '''Планирование''' - — совокупность требований, полученных при системном планировании и анализе ''[[Жизненный цикл программного обеспечения|процедуры разработки жизненного цикла]]'' (SDLC). На этом этапе пользователи, менеджеры и IT-специалисты обсуждают задачи проекта, его объём, системные требования, а также сложности, которые могут возникнуть при разработке. Фаза завершается согласованием ключевых моментов с RAD-группой и получением от руководителей проекта разрешения на продолжение.[[Файл:RADModel ru.jpg|320px|thumb|right|Модель быстрой разработки приложений (RAD)]]
# '''Пользовательское проектирование''' - — на протяжении данного этапа пользователи, взаимодействуя с системными аналитиками, разрабатывают модели и прототипы, которые включают в себя все необходимые системные функции. Для перевода пользовательских прототипов в рабочие модели RAD-группа обычно использует технику ''объединенной разработки приложений'' (JAD) и [[CASE]]-инструменты. ''Пользовательское проектирование'' оказывается длительным интерактивным процессом, который позволяет пользователям понять, изменить и в конечном счете выбрать рабочую модель, отвечающую их требованиям.
# '''Конструирование''' - — этап, в котором основная задача заключается в разработке программ и приложений. Аналогична стадии "«реализация"» в SDLC. В RAD, однако, пользователи продолжают принимать участие и по-прежнему могут предлагать изменения или улучшения в виде разработанных ими докладов. В их задачи входит программирование и разработка приложений, написание кода, интеграция модулей и системное тестирование.
# '''Переключение''' - — включает в себя операции по конверсии данных, тестирование, переход на новую систему и тренировку пользователей. По своим задачам напоминает финальную стадию SDLC. Сравнивая с традиционными методами разработки ПО, весь процесс оказывается сжатым по времени. Как результат, новая система оказывается быстрее построенной, доставленной до заказчика и установленной на рабочих местах.
 
== Преимущества ==