- 14. Концепция Rapid Application Development: основные принципы, фазы разработки, преимущества.
- RAD Модель
- Жизненный цикл разработки программного обеспечения
- Как выбрать лучшую модель SDLC для нашего проекта?
- Что такое RAD модель?
- Преимущества модели RAD
- Недостатки модели RAD
- Когда использовать модель RAD?
- Почему мы используем спиральную модель?
- Примеры
- Вывод
- Рекомендуемые статьи
14. Концепция Rapid Application Development: основные принципы, фазы разработки, преимущества.
На начальном этапе существования компьютерных информационных систем их разработка велась на традиционных языках программирования. Однако по мере возрастания сложности разрабатываемых систем и увеличения запросов пользователей (чему в значительной степени способствовал прогресс в области вычислительной техники, а также появление удобного графического интерфейса пользователя в системном программном обеспечении) потребовались новые средства, обеспечивающие значительное сокращение сроков разработки. Это послужило предпосылкой к созданию целого направления в области программного обеспечения — инструментальных средств для быстрой разработки приложений. Развитие этого направления привело к появлению на рынке программного обеспечения средств автоматизации практически всех этапов жизненного цикла информационных систем.
Основные особенности методологии RAD
Методология разработки информационных систем, основанная на использовании средств быстрой разработки приложений, получила в последнее время широкое распространение и приобрела название методологии быстрой разработки приложений — RAD (Rapid Application Development). Данная методология охватывает все этапы жизненного цикла современных информационных систем.
RAD — это комплекс специальных инструментальных средств быстрой разработки прикладных информационных систем, позволяющих оперировать с определенным набором графических объектов, функционально отображающих отдельные информационные компоненты приложений.
Под методологией быстрой разработки приложений обычно понимается процесс разработки информационных систем, основанный на трех основных элементах:
небольшой команде программистов (обычно от 2 до 10 человек);
тщательно проработанный производственный график работ, рассчитанный на сравнительно короткий срок разработки (от 2 до 6 мес.);
итерационная модель разработки, основанная на тесном взаимодействии с заказчиком — по мере выполнения проекта разработчики уточняют и реализуют в продукте требования, выдвигаемые заказчиком.
При использовании методологии RAD большое значение имеют опыт и профессионализм разработчиков. Группа разработчиков должна состоять из профессионалов, имеющих опыт в анализе, проектировании, программировании и тестировании программного обеспечения.
Основные принципы методологии RAD можно свести к следующему:
используется итерационная (спиральная) модель разработки;
полное завершение работ на каждом из этапов жизненного цикла не обязательно;
в процессе разработки информационной системы необходимо тесное взаимодействие с заказчиком и будущими пользователями;
необходимо применение CASE-средств и средств быстрой разработки приложений;
необходимо применение средств управления конфигурацией, облегчающих внесение изменений в проект и сопровождение готовой системы;
необходимо использование прототипов, позволяющее полнее выяснить и реализовать потребности конечного пользователя;
тестирование и развитие проекта осуществляются одновременно с разработкой;
разработка ведется немногочисленной и хорошо управляемой командой профессионалов;
необходимы грамотное руководство разработкой системы, четкое планирование и контроль выполнения работ.
Средства RAD дали возможность реализовывать совершенно иную по сравнению с традиционной технологию создания приложений. Информационные объекты формируются как некие действующие модели (прототипы), чье функционирование согласовывается с пользователем, а затем разработчик может переходить непосредственно к формированию законченных приложений, не теряя из виду общей картины проектируемой системы.
Возможность использования подобного подхода в значительной степени является результатом применения принципов объектно-ориентированного проектирования, Применение объектно-ориентированных методов позволяет преодолеть одну из главных трудностей, возникающих при разработке сложных систем — колоссальный разрыв между реальным миром (предметной областью описываемой проблемы) и имитирующей средой.
Использование объектно-ориентированных методов позволяет создать описание (модель) предметной области в виде совокупности объектов — сущностей, объединяющих данные и методы обработки этих данных (процедуры). Каждый объект обладает своим собственным поведением и моделирует некоторый объект реального мира. С этой точки зрения объект является вполне осязаемой вещью, которая демонстрирует определенное поведение.
В объектном подходе акцент переносится на конкретные характеристики физической или абстрактной системы, являющейся предметом программного моделирования. Объекты обладают целостностью, которая не может быть нарушена. Таким образом, свойства, характеризующие объект и его поведение, остаются неизменными. Объект может только менять состояние, управляться или становиться в определенное отношение к другим объектам.
Широкую известность объектно-ориентированное программирование получило с появлением визуальных средств проектирования, когда было обеспечено слияние (инкапсуляция) данных с процедурами, описывающими поведение реальных объектов, в объекты программ, которые могут быть отображены определенным образом в графической пользовательской среде. Это позволило приступить к созданию программных систем, максимально похожих на реальные, и добиваться наивысшего уровня абстракции. В свою очередь, объектно-ориентированное программирование позволяет создавать более надежные коды, так как у объектов программ существует точно определенный и жестко контролируемый интерфейс.
При разработке приложений с помощью инструментов RAD используется множество готовых объектов, сохраняемых в общедоступном хранилище. Однако обеспечивается и возможность разработки новых объектов. При этом новые объекты могут разрабатываться как на основе существующих, так и «с нуля».
Инструментальные средства RAD обладают удобным графическим интерфейсом пользователя и позволяют на основе стандартных объектов формировать простые приложения без написания кода программы. Это является большим преимуществом RAD, так как в значительной степени сокращает рутинную работу по разработке интерфейсов пользователя (при использовании обычных средств разработка интерфейсов представляет собой достаточно трудоемкую задачу, отнимающую много времени). Высокая скорость разработки интерфейсной части приложений позволяет быстро создавать прототипы и упрощает взаимодействие с конечными пользователями.
Таким образом, инструменты RAD позволяют разработчикам сконцентрировать усилия на сущности реальных деловых процессов предприятия, для которого создается информационная система. В итоге это приводит к повышению качества разрабатываемой системы.
Применение принципов объектно-ориентированного программирования позволило создать принципиально новые средства проектирования приложений, называемые средствами визуального программирования. Визуальные инструменты RAD позволяют создавать сложные графические интерфейсы пользователя вообще без написания кода программы. При этом разработчик может на любом этапе наблюдать то, что закладывается в основу принимаемых решений.
Визуальные средства разработки оперируют в первую очередь со стандартными интерфейсными объектами — окнами, списками, текстами, которые легко можно связать с данными из базы данных и отобразить на экране монитора. Другая группа объектов представляет собой стандартные элементы управления — кнопки, переключатели, флажки, меню и т.п., с помощью которых осуществляется управление отображаемыми данными. Все эти объекты могут быть стандартным образом описаны средствами языка, а сами описания сохранены для дальнейшего повторного использования.
В настоящее время существует довольно много различных визуальных средств разработки приложений. Но все они могут быть разделены на две группы — универсальные и специализированные.
Среди универсальных систем визуального программирования сейчас наиболее распространены такие, как Borland Delphi и Visual Basic. Универсальными мы их называем потому, что они не ориентированы на разработку только приложений баз данных — с их помощью могут быть разработаны приложения почти любого типа, в том числе и информационные приложения. Причем программы, разрабатываемые с помощью универсальных систем, могут взаимодействовать практически с любыми системами управления базами данных. Это обеспечивается как использованием драйверов ODBC или OLE DB, так и применением специализированных средств (компонентов).
Специализированные средства разработки ориентированы только на создание приложений баз данных. Причем, как правило, они привязаны к вполне определенным системам управления базами данных. В качестве примера таких систем можно привести Power Builder фирмы Sybase (естественно, предназначенный для работы с СУБД Sybase Anywhere Server) и Visual FoxPro фирмы Microsoft.
Поскольку задачи создания прототипов и разработки пользовательского интерфейса, по существу, слились, программист получил непрерывную обратную связь с конечными пользователями, которые могут не только наблюдать за созданием приложения, но и активно участвовать в нем, корректировать результаты и свои требования. Это также способствует сокращению сроков разработки и является важным психологическим аспектом, который привлекает к RAD все большее число пользователей.
Визуальные инструменты RAD позволяют максимально сблизить этапы создания информационных систем; анализ исходных условий, проектирование системы, разработка прототипов и окончательное формирование приложений становятся сходными, так как на каждом этапе разработчики оперируют визуальными объектами.
Логика приложения, построенного с помощью RAD, является событийно-ориентированной. Это означает следующее: каждый объект, входящий в состав приложения, может генерировать события и реагировать на события, генерируемые другими объектами. Примерами событий могут быть: открытие и закрытие окон, нажатие кнопки, нажатие клавиши клавиатуры, движение мыши, изменение данных в базе данных и т. п.
Разработчик реализует логику приложения путем определения обработчика каждого события — процедуры, выполняемой объектом при наступлении соответствующего события. Например, обработчик события «нажатие кнопки» может открыть диалоговое окно. Таким образом, управление объектами осуществляется с помощью событий.
Обработчики событий, связанных с управлением базой данных (DELETE, INSERT, UPDATE), могут реализовываться в виде триггеров на клиентском или серверном узле. Такие обработчики позволяют обеспечить ссылочную целостность базы данных при операциях удаления, вставки и обновления, а также автоматическую генерацию первичных ключей.
При использовании методологии быстрой разработки приложений жизненный цикл информационной системы состоит из четырех фаз:
фаза анализа и планирования требований;
Источник
RAD Модель
Жизненный цикл разработки программного обеспечения
Сегодня мы поговорим о разработке программного обеспечения, а также о модели RAD. Разработка программного обеспечения — это не маленький процесс. Это не то, что можно обсудить и подготовить за короткий период. Разработка программного обеспечения — это искусство, которое требует много усилий и хороших практик.
В течение определенного периода времени многие разработчики и руководство группы, которые разрабатывают и управляют разработкой такого программного обеспечения, предложили несколько методологий, с помощью которых можно было бы легко разработать конкретное программное обеспечение. Есть много важных этапов, которые необходимо понять и правильно реализовать для беспрепятственного развития.
Чтобы помочь и облегчить все эти вещи, появился жизненный цикл разработки программного обеспечения. Жизненный цикл разработки программного обеспечения, иногда также известный как SDLC, правильно документирует весь процесс и шаги, которые необходимо выполнить. Немногие из основных моделей SDLC, которые предложены и широко используются, перечислены ниже:
- Модель водопада.
- Итерационная модель.
- Спиральная модель.
- V-образная модель.
- Модель быстрой разработки приложений.
В следующем разделе мы хотели бы обсудить и объяснить больше о модели быстрой разработки приложений или модели RAD.
Как и любая другая модель разработки программного обеспечения, RAD также имеет несколько этапов, на которых она подчеркивает. Эти фазы перечислены ниже:
- Требования.
- Дизайн.
- Реализация.
- Тестовое задание.
- Техническое обслуживание.
Но прежде чем перейти к нашей следующей теме, мы бы хотели сосредоточиться на одном наиболее важном моменте: «Как решить, какая модель жизненного цикла разработки программного обеспечения является лучшей?».
Как выбрать лучшую модель SDLC для нашего проекта?
Очень важно отметить, что выбор модели SDLC не только достаточен. Выбранная и отработанная модель SDLC должна полностью соответствовать всем нашим требованиям. Не существует единой модели SDLC, которая бы подходила всем. У каждой модели есть свои плюсы и минусы . Поэтому, прежде чем выбирать и следовать какой-либо модели SDLC, она должна быть проанализирована, протестирована должным образом, тогда только на практике она должна быть принята вперед.
Возвращаясь к нашей теме, давайте обсудим несколько других вещей шаг за шагом:
Что такое RAD модель?
К настоящему моменту вы уже догадались о модели RAD. Rapid Application Model или RAD модель является одной из моделей разработки программного обеспечения, которая на практике является высокоэффективной.
Модель RAD, как правило, представляет собой инкрементную модель, в которой множество разработок маленьких — маленьких кусков выбираются и развиваются одновременно для достижения большей картины. Кроме того, обрабатывается инкрементная модель, в которой основные характеристики, подлежащие разработке, делятся на более мелкие, выполнимые куски. Эти куски затем разрабатываются индивидуально.
Типичная модель RAD может быть разделена на пять этапов:
- Планирование и анализ требований.
- Проектирование архитектуры проекта.
- Разработка и программирование.
- Тестирование.
- Развертывание и обслуживание.
Давайте кратко объясним все эти этапы.
- Планирование и анализ требований — этот этап является одним из наиболее важных этапов. Здесь исходные требования собраны и проанализированы должным образом. Помните, что правильное понимание требований очень необходимо, чтобы готовый продукт соответствовал ожиданиям.
- Проектирование архитектуры проекта. После того, как требования собраны, следующим фокусом будет разработка архитектуры проекта. Архитектура проекта должна быть достаточно гибкой, чтобы можно было легко добавлять новые файлы и папки.
- Разработка и программирование — после того, как архитектура спроектирована, следующей важной задачей является разработка проекта. Этот шаг включает в себя написание куч кода, чтобы получить недопустимое состояние продукта.
- Тестирование — этап тестирования включает в себя тестирование разработанного продукта. Существует команда, которая занимается надлежащим тестированием разработанного продукта.
- Развертывание и обслуживание. После завершения тестирования продукт может быть развернут на сервере. Развернутый проект обычно требует обслуживания и, возможно, добавления нескольких дополнительных функций.
Теперь давайте посмотрим на некоторые из преимуществ и недостатков модели RAD.
Преимущества модели RAD
Немногие из важных преимуществ этой модели перечислены ниже:
- Быстрое развитие продукта.
- Разработка многоразовых мелких компонентов.
- Повторный обзор в процессе разработки.
- Интеграция повторно используемых компонентов на начальном уровне, следовательно, экономит усилия, несмотря на то, что не добавляются более крупные модули.
- Конструктивная реакция.
Недостатки модели RAD
Немного его недостатков:
- Требуется много усилий для сбора всех требований на начальном этапе.
- Навыки моделирования имеют много зависимостей.
- Не подходит для малобюджетного проекта.
Итак, теперь мы знакомы с преимуществами и недостатками модели RAD. Теперь давайте обсудим, когда следует использовать модель RAD.
Когда использовать модель RAD?
Как обсуждалось ранее, модель RAD находит подходящей, если у нас есть следующие требования:
- Когда есть потребность в разработке продукта в короткие сроки.
- Если есть большое количество разработчиков, чтобы можно было разрабатывать несколько компонентов одновременно. Эти маленькие, независимые, отдельные компоненты объединены, чтобы сделать большие модули.
- Если есть ресурсы, которые могут собрать все требования на начальном этапе.
Чтобы понять текущую тему более четко, мы хотели бы обсудить, когда следует использовать спиральную модель, чтобы было легче различать две . Кроме того, это поможет выбрать, когда выбрать что.
Почему мы используем спиральную модель?
Спиральная модель следует модели разработки программного обеспечения, ориентированной на риск. Основанная на уникальной структуре риска, эта модель помогает команде следовать или интегрировать различные модели или процессы.
Примеры
Немного из типичных случаев использования модели RAD:
Типичным вариантом использования может быть разработка любого продукта, который требует начального сбора требований, разработки, тестирования с последующим развертыванием и обслуживанием.
Вывод
Для SDLC очень важно следовать одной из моделей для правильной разработки программного обеспечения. У каждой модели есть свои преимущества и недостатки. Что более важно, это выбрать одну модель SDLC, чтобы следовать ее наилучшей практике, которая соответствует требованиям.
Следует ли следовать модели Водопада, Спиральной модели, V-образной модели, RAD-модели или любой другой типичной модели, прежде чем обрабатывать и применять ее дальше, она должна быть должным образом проанализирована. Хорошая модель SDLC поможет в процессе разработки во многих отношениях. Это сэкономит усилия и ресурсы, что приведет к лучшему и быстрому развитию компонентов
Рекомендуемые статьи
Это было руководство к RAD Model. Здесь мы обсудили этапы, преимущества и недостатки модели RAD. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше —
- Карьера как разработчики программного обеспечения
- Модель прототипа
- Что такое разработка программного обеспечения?
- Что такое CLI
Источник