Введение……………………………………………………….……..3
Введение
Рано или поздно современные руководители
организаций приходят к выводу о необходимости
автоматизации различных функций управления
своего бизнеса: как правило, это бывает
вызвано желанием снизить издержки за
счет оптимизации процесса производства
и оптимизации управления различными
бизнес-процессами. В подобном случае,
организации либо приобретают готовые
типовые ИС, представленные на рынке IT-услуг,
либо привлекают специалистов и ведут
разработку ИС непосредственно для данного
предприятия с учетом его специфики и
сферы деятельности. Первый вариант более
экономичный, второй – более перспективный,
поскольку специально разрабатываемые
ИС учитывают структуру организации и
должны лучше подходить для автоматизации
функции конкретной организации.
Базовым понятием методологии разработки
информационных систем является понятие жизненного
цикла ИС. Под жизненным циклом системы обычно
понимается непрерывный процесс, который
начинается с момента принятия решения
о необходимости создания системы и заканчивается
в момент ее полного изъятия из эксплуатации.
Иначе говоря, ЖЦ ИС – это период создания и использования ИС.
Одним из возможных подходов
к разработке ПО в рамках спиральной модели
ЖЦ является получившая в последнее время
широкое распространение методология
быстрой разработки приложений RAD (Rapid
Application Development).
В этой контрольной работе мы
рассмотрим методологию быстрой
разработки ИС RAD.
Методология
быстрой разработки ИС RAD.
RAD (от англ. rapid application development - быстрая разработка приложений) - концепция
создания средств разработки программных продуктов, уделяющая особое
внимание быстроте и удобству программирования, созданию технологического
процесса, позволяющего программисту
максимально быстро создавать компьютерные программы. С конца XX
века RAD получила широкое распространение
и одобрение. Концепцию RAD также часто
связывают с концепцией визуального программирования.
Основные
принципы RAD:
Инструментарий должен быть нацелен
на минимизацию времени разработки.
Создание
прототипа для уточнения требований заказчика.
Цикличность
разработки: каждая новая версия продукта
основывается на оценке результата работы
предыдущей версии заказчиком.
Минимизация
времени разработки версии, за счёт переноса
уже готовых модулей и добавления функциональности
в новую версию.
Команда
разработчиков должна тесно сотрудничать,
каждый участник должен быть готов выполнять
несколько обязанностей.
Управление
проектом должно минимизировать длительность
цикла разработки.
История
Концепция RAD стала
ответом на неуклюжие методы разработки
программ 1970-х и начала 1980-х годов, такие
как «модель водопада» (англ. Waterfall model).
Эти методы предусматривали настолько
медленный процесс создания программы,
что зачастую даже требования к программе
успевали измениться до окончания разработки.
Основателем RAD считается сотрудник IBM
Джеймс Мартин, который в 1980-х годах сформулировал
основные принципы RAD, основываясь на идеях
Барри Бойма и Скотта Шульца. А в 1991 году
Мартин опубликовал известную книгу, в
которой детально изложил концепцию RAD
и возможности её применения. В настоящее
время RAD становится общепринятой схемой
для создания средств разработки программных
продуктов. Именно средства разработки,
основанные на RAD, имеют наибольшую популярность
среди программистов.
Среды разработки,
использующие принципы RAD:
- Borland Delphi
- Borland C++ Builder
- Microsoft Visual Studio
- Macromedia Flash
- Macromedia Authorware
- Macromedia Director
- Omnis Studio
- Visual DataFlex
- IntraWeb
Быстрая
разработка ИС
Rapid Application Development (RAD)
– это жизненный цикл процесса проектирования,
созданный для достижения более высокой
скорости разработки и качества ПО, чем
это возможно при традиционном подходе
к проектированию.
RAD предполагает, что
разработка ПО осуществляется небольшой
командой разработчиков за срок порядка
трех-четырех месяцев путем использования
инкрементного прототипирования с применением
инструментальных средств визуального
моделирования и разработки. Технология
RAD предусматривает активное привлечение
заказчика уже на ранних стадиях – обследование
организации, выработка требований к системе.
Причины популярности RAD вытекают из тех
преимуществ, которые обеспечивает эта
технология.
Наиболее существенными
из них являются:
- высокая скорость разработки;
- низкая стоимость;
- высокое качество.
Последнее из указанных
свойств подразумевает полное выполнение
требований заказчика как функциональных,
так и нефункциональных, с учетом их возможных
изменений в период разработки системы,
а также получение качественной документации,
обеспечивающей удобство эксплуатации
и сопровождения системы. Это означает,
что дополнительные затраты на сопровождение
сразу после поставки будут значительно
меньше. Таким образом, полное время от
начала разработки до получения приемлемого
продукта при использовании этого метода
значительно сокращается.
Применение технологии RAD целесообразно,
когда:
- требуется выполнение проекта в сжатые
сроки (90 дней). Быстрое выполнение проекта
позволяет создать систему, отвечающую
требованиям сегодняшнего дня. Если система
проектируется долго, то весьма высока
вероятность, что за это время существенно
изменятся фундаментальные положения,
регламентирующие деятельность организации,
то есть, система морально устареет еще
до завершения ее проектирования.
- нечетко определены требования к ПО. В большинстве случаев заказчик весьма приблизительно представляет себе работу будущего программного продукта и не может четко сформулировать все требования к ПО. Требования могут быть вообще не определены к началу проекта либо могут изменяться по ходу его выполнения.
- проект выполняется в условиях ограниченности
бюджета. Разработка ведется небольшими
RAD группами в короткие сроки, что обеспечивает
минимум трудозатрат и позволяет вписаться
в бюджетные ограничения.
- интерфейс пользователя (GUI) есть главный
фактор. Нет смысла заставлять пользователя
рисовать картинки. RAD технология дает возможность
продемонстрировать интерфейс в прототипе,
причем достаточно скоро после начала
проекта.
- проект большой, но поддается разделению
на более мелкие функциональные компоненты.
Если предполагаемая система велика, необходимо,
чтобы ее можно было разбить на мелкие
части, каждая из которых обладает четкой
функциональностью. Они могут выпускаться
последовательно или параллельно (в последнем
случае привлекается несколько RAD групп).
- ПО не обладает большой вычислительной сложностью.
Современные средства быстрой разработки
windows-приложений, так называемые rad-средства
(rad расшифровывается как rapid application development),
обладают в той или иной степени почти
всеми возможностями реализации в приложениях
подобных интерфейсных элементов. Многие
из них позволяют осуществлять доступ
к базам данных, в том числе и к серверным
БД. borland delphi (как версия 1.0, так и версия
2.0), на взгляд автора, является в этом отношении
наиболее простым и удобным в использовании
средством.
RAD-технология не является универсальной,
то есть ее применение целесообразно
не всегда. Например, в проектах,
где требования к программному
продукту четко определены и
не должны меняться, вовлечение
заказчика в процесс разработки
не требуется и более эффективной
может быть иерархическая разработка
(каскадный метод). То же касается
проектов, ПО, сложность которых
определяется необходимостью реализации
сложных алгоритмов, а роль и
объем пользовательского интерфейса
невелик.[1]
Принципы организации
RAD
Принципы RAD технологии направлены на
обеспечение трех основных ее преимуществ
- высокой скорости разработки, низкой
стоимости и высокого качества. Достигнуть
высокого качества программного продукта
весьма непросто и одна из главных причин
возникающих трудностей заключается в
том, что разработчик и заказчик видят
предмет разработки (ПО) по-разному.
Главная идея RAD технологии состоит в
том, чтобы как можно быстрее донести до
заказчика результаты разработки, пусть
и не в полном виде. Например, реализация
только пользовательского интерфейса
и предъявление его заказчику позволяет
уже на ранней стадии разработки получить
замечания по экранным и отчетным формам
и внести необходимые коррективы. В этом
случае значительно возрастает вероятность
успеха проекта, то есть возникает уверенность
в том, что конечный продукт будет делать
именно то, что ожидает заказчик. Кроме
того, не следует забывать и тот факт, что
разница стоимости ошибки определения
требований в начале проекта и в конце
равна 1:200.
Основные принципы RAD можно сформулировать
следующим образом:
- работа ведется группами. Типичный состав
группы - руководитель, аналитик, два программиста,
технический писатель. Если проект сложный,
то для него может быть выделено несколько
RAD-групп. Разработка проекта выполняется
в условиях тесного взаимодействия между
разработчиками и Заказчиком.
- разработка базируется на моделях. Моделирование
позволяет оценить проект и выполнить
его декомпозицию на составные части,
каждая из которых может разрабатываться
отдельной RAD-группой.
- итерационное прототипирование. Разработка системы и предъявление ее заказчику осуществляется в виде последовательности развиваемых прототипов. Любой из прототипов реализует определенную часть функциональности, требуемой от конечного продукта. При этом каждый последующий прототип включает всю функциональность, реализованную в предыдущем прототипе, с добавлением новой. Число прототипов определяется на основе учета разных параметров - размера проекта, анализа рисков, пожеланий заказчика и т. д. Традиционно для проектов ПО средней сложности разрабатываются
три прототипа. Первый содержит весь пользовательский
интерфейс с нулевой функциональностью.
Он дает возможность собрать замечания
заказчика и после их устранения утвердить
у него экранные и отчетные формы. Второй
прототип содержит реализованную на 70-80%
функциональность системы, третий - полностью
реализованную функциональность. Основаниями
для очередной итерации являются:
1. Замечания заказчика. Привлечение
заказчика и конечного пользователя
к оценке выходных результатов
прототипа с эффективной обратной
связью с командой разработчиков
является гарантией того, что
созданная система будет делать
то, что требуется заказчику. Если
замечания носят характер исправлений,
они учитываются в следующем
прототипе, если же изменяются
требования, то выполняется переоценка
проекта и корректируются сроки и стоимость
проекта.
2. Детализация. Выполняется программирование
нереализованной части системы
в соответствии с составленным
планом.
3. Анализ результатов программирования.
Исправляются ошибки, повышается
эффективность программного кода
и т. д.
- RAD группа всегда работает только над одним прототипом. Это обеспечивает единство целей, лучшую наблюдаемость и управляемость процессом разработки, что в итоге повышает качество конечного продукта. Соответственно используемые инструментальные средства должны обеспечивать групповую разработку и конфигурационное управление проектом.
- если проект сложный, то для него может
быть выделено несколько RAD групп. Большие
системы разбиваются на подсистемы. Каждая
подсистема разрабатывается независимой
группой. Ключ успеха - правильное разбиение
системы на подсистемы. Команды должны
использовать общие стандарты. Обязательно
финальное тестирование полной системы.
- обязательное использование инструментальных
средств, автоматизирующих процесс разработки,
и методик их использования, следствием
чего является сокращение сроков разработки
и повышение качества конечного продукта.
Принципы RAD применяются не только при
реализации, но и распространяются на
все этапы жизненного цикла, в частности
на этап обследования организации, построения
требований, анализ и дизайн.
Технология RAD обеспечивает:
- быстроту продвижения программного продукта
на рынок;
- интерфейс, устраивающий пользователя;
- легкую адаптируемость проекта к изменяющимся требованиям;
- простоту развития функциональности
системы.[3]
Методология RAD
Одним из возможных подходов к разработке
ПО в рамках спиральной модели ЖЦ является
получившая в последнее время широкое
распространение методология быстрой
разработки приложений RAD (Rapid Application Development).
Под этим термином обычно понимается процесс
разработки ПО, содержащий 3 элемента: