Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие VBA.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
693.25 Кб
Скачать

Глава 4. Объектно-ориентированное программирование (ооп)

4.1. Структурное программирование и ооп

Одной из первых и наиболее широко применяемых технологий программирования стало структурное программирование. Структурный подход к программированию был впервые предложен в начале 70-х годов XX века фирмой IBM. Его появление было связано с распространением ЭВМ III-го поколения и развитием алгоритмических языков высокого уровня (III-го поколения).

До этого (при программировании на ЭВМ I-го и II-го поколений, размер оперативной памяти которых был значительно ограничен, а машинное время очень дорого) использовался операциональный подход, которому был присущ целый ряд недостатков: запутанность логики программы, ее непонятность другим пользователям (кроме авторов программы) и недостаточная надежность. Эти недостатки, а также машинная зависимость ЯП I-го и II-го поколений, не позволяли перейти к массовому промышленному созданию программного обеспечения. Это и подтолкнуло ведущие фирмы к разработке новых методологий программирования, наиболее удачной из которых на тот момент стала идея структурного программирования.

Метод структурного программирования до сих пор не потерял своего значения для определенного класса задач. Он базируется на двух основополагающих принципах: 1) использование процедурного стиля программирования, 2) последовательная декомпозиция алгоритма задачи сверху вниз (нисходящее проектирование).

Согласно структурному подходу задача изначально формулируется в терминах ввода данных – вывода результата: на вход программы подаются исходные данные, программа работает (обрабатывает данные) и выдает результат (рис. 14). После этого начинается последовательное разложение (декомпозиция) всей задачи на отдельные более простые действия. При этом на любом этапе декомпозиции программу можно проверить с помощью специальных «заглушек» – процедур, имитирующих вход и/или выход процедур нижнего уровня. «Заглушки» позволяют проверить логику верхнего уровня алгоритма до реализации следующего уровня. Таким образом, на каждом шаге разработки можно иметь работающий «каркас» программы, который постепенно обрастает деталями.

Рис.14. Схема верхнего уровня структурного подхода

Для структурного программирования также характерны следующие черты:

1) алгоритм любой программы выражается комбинацией трех базовых структур – линейной, разветвляющейся и циклической (см. пункт 2.6 в Главе 2),

2) любой блок кроме условного имеет только один вход и один выход, а блок проверки условия – один вход и два выхода;

3) избегается использование безусловного перехода из одной точки программы в другую (т.е. оператора GOTO);

4) программа имеет модульную структуру, т.е. состоит из модулей (модуль – последовательность логически связанных операций, оформленная как отдельная часть программы и решающая некоторую функциональную задачу).

Модульная структура имеет ряд явных преимуществ по сравнению с монолитной структурой программы при разработке больших проектов:

1) позволяет создавать программу одновременно нескольким программистам (каждый будет разрабатывать свой (свои) модуль (модули));

2) облегчает проектирование и последующие модификации программы;

3) упрощает отладку программы, т.е. поиск и устранение программных ошибок;

4) позволяет использовать готовые библиотеки модулей.

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

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

1. Развитие языков и методов программирования не успевало за все более растущими потребностями в прикладных программах. Единственным способом снижения времени разработки при структурном подходе был метод многократного использования уже разработанного ПО, т.е. проектирование новой программы на базе ранее разработанных программных модулей (что не всегда было удобно).

2. Ускорение разработки нового ПО требовало упрощения их сопровождения и модификации.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]