Отличия ООП от процедурных программ
До появления ООП в языках программирования реализовывалось процедурное программирование. В этом случае основой программы служат функции и процедуры, или иными словами действия. Разработчик программы решал, какие функции и процедуры ему нужны, определял последовательность их выполнения и объединял их в программу. Программа в этом случае имела чёткий и понятный алгоритм работы, т.е. начиналась в какой-либо одной точке и заканчивалась в одной или нескольких точках в зависимости от логических операторов внутри программы.
Структура процедурных программ в общем такова: имеется функция main(), а из нее вызываются другие функции программы. Тело функции main(), как правило, невелико. Ее роль обычно сводится к распределению задач между остальными функциями, которые описывают действия, выполняемые над данными.
Основным недостатком такого подхода являются проблемы, возникающие при сопровождении программ. Например, если в программу нужно добавить какой-нибудь программный блок, то чаще всего ее приходится полностью перекомпилировать. Это отнимает много времени и является источником ошибок.
В объектно-ориентированном программировании нет какой-либо начальной или конечной точки. Основным понятием является не процедура или функция, а объект и сообщения. По аналогии с окружающим миром всё можно представить в виде объектов и сообщений (например, люди и их общение между собой, человек и компьютер – обмен информацией, в программе любой расчет может быть представлен как объект, а обмен сообщениями будет заключаться во вводе начальных значений переменных, сигналом к началу расчета и выводу рассчитанных значений и т.д.).
Например, задача, сформулированная как расчет суммы двух чисел может быть представлена объектом
Таким образом, программа, построенная в соответствии с принципами ООП, представляет собой не последовательность действий, заданных алгоритмом, а набор объектов и описаний способов их взаимодействия. Обмен между объектами происходит с помощью сообщений. Одним из объектов является пользователь, который может принимать сообщения от объектов (визуальное отображение чисел, строк, диаграмм) и передавать сообщения нажатием клавиш на клавиатуре или щелчком мыши на соответствующих интерфейсных элементах программы.
В результате развития технологий ООП возникли среды для быстрой разработки программного обеспечения.
Кроме этого ООП поддерживает три основных принципа: инкапсуляцию, наследование и полиморфизм.
Под инкапсуляцией понимают то, что и информация об объекте (его свойства), уровни доступа к ним и функции объекта (методы) содержатся в описании этого объекта.
Наследование означает то, что один объект может быть построен на базе описания другого объекта.
Полиморфизмом называют способность многих объектов использовать один и тот же метод, при этом выполняемые действия зависят от того объекта, который его вызвал.
RAD (отангл. rapid application development -- быстрая разработка приложений) - концепция создания средств разработки программных продуктов, уделяющая особое внимание быстроте и удобству программирования, созданию технологического процесса, позволяющего программисту максимально быстро создавать компьютерные программы. Концепцию RAD также часто связывают с концепцией визуального программирования.
Основные принципы RAD
· Инструментарий должен быть нацелен на минимизацию времени разработки.
· Создание прототипа для уточнения требований заказчика.
· Цикличность разработки: каждая новая версия продукта основывается на оценке результата работы предыдущей версии заказчиком.
· Минимизация времени разработки версии, за счёт переноса уже готовых модулей и добавления функциональности в новую версию.
· Команда разработчиков должна тесно сотрудничать, каждый участник должен быть готов выполнять несколько обязанностей.
· Управление проектом должно минимизировать длительность цикла разработки.
Основателем RAD считается сотрудник IBM Джеймс Мартин, который в 1980-х годах сформулировал основные принципы RAD. А в 1991 году Мартин опубликовал книгу, в которой детально изложил концепцию RAD и возможности её применения. В настоящее время RAD становится общепринятой схемой для создания средств разработки программных продуктов. Именно средства разработки, основанные на RAD, имеют наибольшую популярность среди программистов.