Отличия ООП от процедурных программ

До появления ООП в языках программирования реализовывалось процедурное программирование. В этом случае основой программы служат функции и процедуры, или иными словами действия. Разработчик программы решал, какие функции и процедуры ему нужны, определял последовательность их выполнения и объединял их в программу. Программа в этом случае имела чёткий и понятный алгоритм работы, т.е. начиналась в какой-либо одной точке и заканчивалась в одной или нескольких точках в зависимости от логических операторов внутри программы.

Структура процедурных программ в общем такова: имеется функция main(), а из нее вызываются другие функции программы. Тело функции main(), как правило, невелико. Ее роль обычно сводится к распределению задач между остальными функциями, которые описывают действия, выполняемые над данными.

Основным недостатком такого подхода являются проблемы, возникающие при сопровождении программ. Например, если в программу нужно добавить какой-нибудь программный блок, то чаще всего ее приходится полностью перекомпилировать. Это отнимает много времени и является источником ошибок.

В объектно-ориентированном программировании нет какой-либо начальной или конечной точки. Основным понятием является не процедура или функция, а объект и сообщения. По аналогии с окружающим миром всё можно представить в виде объектов и сообщений (например, люди и их общение между собой, человек и компьютер – обмен информацией, в программе любой расчет может быть представлен как объект, а обмен сообщениями будет заключаться во вводе начальных значений переменных, сигналом к началу расчета и выводу рассчитанных значений и т.д.).

Например, задача, сформулированная как расчет суммы двух чисел может быть представлена объектом

 

Таким образом, программа, построенная в соответствии с принципами ООП, представляет собой не последовательность действий, заданных алгоритмом, а набор объектов и описаний способов их взаимодействия. Обмен между объектами происходит с помощью сообщений. Одним из объектов является пользователь, который может принимать сообщения от объектов (визуальное отображение чисел, строк, диаграмм) и передавать сообщения нажатием клавиш на клавиатуре или щелчком мыши на соответствующих интерфейсных элементах программы.

 

 

В результате развития технологий ООП возникли среды для быстрой разработки программного обеспечения.

Кроме этого ООП поддерживает три основных принципа: инкапсуляцию, наследование и полиморфизм.

Под инкапсуляцией понимают то, что и информация об объекте (его свойства), уровни доступа к ним и функции объекта (методы) содержатся в описании этого объекта.

Наследование означает то, что один объект может быть построен на базе описания другого объекта.

Полиморфизмом называют способность многих объектов использовать один и тот же метод, при этом выполняемые действия зависят от того объекта, который его вызвал.

 

RAD (отангл. rapid application development -- быстрая разработка приложений) - концепция создания средств разработки программных продуктов, уделяющая особое внимание быстроте и удобству программирования, созданию технологического процесса, позволяющего программисту максимально быстро создавать компьютерные программы. Концепцию RAD также часто связывают с концепцией визуального программирования.

Основные принципы RAD

· Инструментарий должен быть нацелен на минимизацию времени разработки.

· Создание прототипа для уточнения требований заказчика.

· Цикличность разработки: каждая новая версия продукта основывается на оценке результата работы предыдущей версии заказчиком.

· Минимизация времени разработки версии, за счёт переноса уже готовых модулей и добавления функциональности в новую версию.

· Команда разработчиков должна тесно сотрудничать, каждый участник должен быть готов выполнять несколько обязанностей.

· Управление проектом должно минимизировать длительность цикла разработки.

 

Основателем RAD считается сотрудник IBM Джеймс Мартин, который в 1980-х годах сформулировал основные принципы RAD. А в 1991 году Мартин опубликовал книгу, в которой детально изложил концепцию RAD и возможности её применения. В настоящее время RAD становится общепринятой схемой для создания средств разработки программных продуктов. Именно средства разработки, основанные на RAD, имеют наибольшую популярность среди программистов.