Файл: История и развитие методологии объектно-ориентированного программирования. Сферы применения (Исторические предпосылки создания объектно-ориентированного программирования).pdf
Добавлен: 30.03.2023
Просмотров: 327
Скачиваний: 1
СОДЕРЖАНИЕ
1. ИСТОРИЧЕСКИЕ АСПЕКТЫ ВОЗНИКНОВЕНИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ
1.1 Исторические предпосылки создания объектно-ориентированного программирования
1.2 Классификация объектно-ориентированных языков программирования высокого уровня
2.1 Сущность методологии объектно-ориентированного программирования
2.2 Основные методы и концепции объектно-ориентированного программирования
2.3 Синтаксис и семантика объектно-ориентированных языков программирования
2.4 Анализ объектно-ориентированных языков программирования высокого уровня, сфера их применения
3. РАЗРАБОТКА ПРОГРАММНОЙ ПЛАТФОРМЫ С ИСПОЛЬЗОВАНИЕМ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА
3.1 Постановка задачи и обоснование выбора среды разработки
3.2 Разработка проекта программной платформы и ее основных классов
ВВЕДЕНИЕ
Объектно-ориентированное программирование - это подход к разработке программных платформ, основанный на объектах. Данный подход позволяет максимизировать принципы «сокрытия информации» и модульности. Объектно-ориентированное программирование базируется на инкапсуляции структур данных и процедуры, которая работает с данными в структуре, с модулем.
Актуальность выбранной темы обусловлена тем, что объектно-ориентированный подход дает много преимуществ и очень часто используется разработчиками. Например, каждый объект инкапсулирует его структуру данных с процедурой, используемой для работы с экземплярами структуры данных. Это позволяет устранить в коде программы внутренние зависимости, уменьшить трудоемкость обслуживания программы. Объекты могут также наследовать из порождающего объекта структуры данных и другие параметры, что позволяет сэкономить время на разработку и обеспечить прозрачное использование больших фрагментов кода для многих целей.
Целью курсовой работы является ознакомление с методологией развития объектно-ориентированного программирования и разработка программной платформы по сбору, нормализации, хранению и публикации данных с дизельных датчиков, с использованием объектно-ориентированного подхода.
Исходя, из цели, были поставлены следующие задачи:
- Ознакомится с историческими предпосылками создания объектно-ориентированного программирования;
- Провести классификацию объектно-ориентированных языков программирования высокого уровня;
- Понять сущность методологии объектно-ориентированного программирования;
- Ознакомится с основными методами и концепциями объектно-ориентированного программирования;
- Изучить синтаксис, и семантика объектно-ориентированных языков программирования;
- Проанализировать существующие объектно-ориентированные языки программирования высокого уровня, обозначить сферы их применения;
- Разработать и протестировать программное обеспечение с использованием объектно-ориентированного подхода.
Методы исследования: Методологической основой курсовой работы являются труды отечественных ученых, совокупность общенаучных и специальных методов исследования, среди которых необходимо выделить следующие: методы анализа и синтеза, сравнения, графический метод.
Информационной базой исследования являются научные публикации отечественных и зарубежных ученых, таких как Павловская, Хорев, Буч, Амааль, Страуструп, Прата, научная информация, имеющая форму непечатных продукции, размещенной во всемирной сети Интернет.
Общий объем работы составляет 36 страниц печатного текста, включает 13 рисунков (схем) и 4 таблицы.
1. ИСТОРИЧЕСКИЕ АСПЕКТЫ ВОЗНИКНОВЕНИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ
1.1 Исторические предпосылки создания объектно-ориентированного программирования
Объектно-ориентированное программирование - это подход к написанию программ, основанных на объектах, а не на функциях и процедурах. Эта модель ставит объекты в центр внимания, а не действия, данные, а не логику. Объектом является реализация класса. Все реализации одного класса похожи друг на друга, но могут иметь разные параметры и значения. Объекты могут использовать определенные для них методы [3].
Объектно-ориентированное программирование значительно упрощает процесс организации и создания структуры программы. Отдельные объекты, которые можно изменить, не влияя на остальную часть программы, облегчают внесение изменений в программу. Со временем программы становились все более масштабными, и их поддержка становилась все труднее. Эти два аспекта стал слишком актуальными и способствовали появлению объектно-ориентированного программирования.
Объектно-ориентированное программирование относительно новый подход в программирование. До появления объектно-ориентированного программирования использовали структурное программирование. Но метод структурированного программирования оказался эффективным только при написании программ «ограниченной сложности». Однако с увеличением сложности реализованных программных проектов и, соответственно, объема кода, создаваемых программ, возможности метода структурированного программирования оказались недостаточными [5].
Основная причина возникших проблем заключалась в том, что программа напрямую не отражала структуру явлений и концепций реального мира и связи между ними. При попытке проанализировать и изменить текст программы, программист был вынужден работать с искусственными категориями [8].
Чтобы писать все более сложные программы, необходим новый подход к программированию. Теоретические основы объектно-ориентированного программирования были заложены еще в 1970-х годах прошлого столетия, но их практическое внедрение стало возможным только в середине 1980-х годов с появлением соответствующих технических средств. После появления в 1967 году языков третьего поколения ведущие специалисты в области программирования выдвинули идею преобразования постулата фон Неймана: данные и программы неразличимы в памяти машины. Их цель заключалась в максимальном сближении данных и кода программы. Решая поставленную задачу, они столкнулись с задачей, решить которую без декомпозиции оказалось невозможно, а традиционные структурные декомпозиции не сильно упрощали задачу. Усилия многих программистов и системных аналитиков, направленные на формализацию подхода, увенчались успехом [8].
В результате были разработаны три фундаментальных принципа того, что позже стало известно, как объектно-ориентированное программирование (ООП): наследование, инкапсуляция, полиморфизм [6].
Итогом их первого применения стал язык Симула-1 (Simula-1), в котором был введен новый тип - объект. В описании этого типа одновременно указывались данные (поля) и процедуры, их обрабатывающие (методы). Родственные объекты были объединены в классы, описания которых были оформлены в виде программных блоков. В этом случае класс может использоваться как префикс для других классов, которые в этом случае становятся подклассами первого. Впоследствии Симула-1 был обобщен, и в 1967 году появился первый универсальный объектно-ориентированный язык программирования - Симула-67 и использовался для моделирования. На момент его появления в нём были предложены грандиозные идеи: объекты, классы, виртуальные методы. Именно ряд средств, входящих в данный язык стал прототипом современного объектно-ориентированного программирования [2].
Большинство концепций позже были развиты Аланом Кэем и Дэном Ингаллсом в языке Smalltalk. Именно он в 1972 году стал первым широко распространённым объектно-ориентированным языком программирования. И изначально предназначенного для реализации функций машинной графики [3].
Основная цель объектно-ориентированное подхода, как и большинства других подходов к программированию - повышение эффективности разработки программ. Идеи объектно-ориентированное программирования оказались плодотворными и нашли применение не только в языках программирования, но и в других областях компьютерной науки, например, в области разработки операционных систем [6].
Поэтому на смену процедурным языкам в начале 1990-х годов. пришло современное объектно-ориентированное программирование(ООП).
Объектно-ориентированный подход помогает справиться с такими сложными проблемами, как облегчение разработки и обслуживания программного обеспечения; повышение надежности программного обеспечения; возможность изменения отдельных программных компонентов без изменения других компонентов программного обеспечения; обеспечивает возможность повторного использования отдельных программных компонентов [7].
1.2 Классификация объектно-ориентированных языков программирования высокого уровня
Для поддержки концепции объектно-ориентированного программирования в будущем были разработаны специальные современные объектно-ориентированные языки программирования.
Язык программирования называется объектно-ориентированным, если:
- Есть поддержка объектов как абстракций данных, имеющих интерфейсную часть в виде поименованных операций, и защищенную область локальных данных;
- Все объекты можно отнести к соответствующим типам (классам);
- Классы могут наследовать от суперклассов;
- Любые данные хранятся как объекты, размещаемые с автоматическим выделением и освобождением памяти;
- Объект существует с системе, пока его можно именовать [2].
Последний принцип используется в чистых объектно-ориентированных языках (Smalltalk, Actor), от гибридных языков программирования, выросших из ранее существовавших процедурных языков (Object Pascal, C++). Эти подходы являются крайностями в семействе объектно-ориентированных языков.
Ближе к середине лежит совершенно новый, полностью построенный на принципах объектно-ориентированной идеологии, но все же нарушающий последний принцип, язык Java [3].
Все языки объектно-ориентированного программирования можно разделить на три группы:
- Чистые языки - это языки в самой классической форме, поддерживающие объектно-ориентированную методологию. Такие языки содержат небольшую часть языка и важную библиотеку, а также набор инструментов поддержки для времени выполнения.
- Гибридные языки - это языки, которые появились как результат внедрения объектно-ориентированных конструкций в популярные императивные языки программирования.
- Урезанные языки - появились как результат после удаления из гибридных языков наиболее опасных и ненужных с позиций ООП конструкций [8].
На современном этапе существует множество систем визуального программирования и инструментальной среды для создания объектно-ориентированных программ на языках высокого уровня.
Вывод по первой главе
Объктно-ориентированное программирование возникло когда структурное программирование уже не могло решать посталвенные пользователем задачи. Первым объктно-ориентированным языком стал Симула, который опередил свое время и поэтому не был воспринят современниками. Все следующие объктно-ориентированные языки языки программирования берут на основу язык Симула. После 1990 года объектно-ориентированное программирование стало стремительно развиватся, появились множество новых языков программирования, таких как Java, C++ и другие.
В настоящие время объктно-ориентированное программирование является очень популярным и востребованным. Объктно-ориентированный подход значительно упрощает разработку и обслуживание сложных программ.
2. СПЕЦИФИКА МЕТОДОЛОГИИ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ В СОВРЕМЕННЫХ ЯЗЫКАХ ПРОГРАММИРОВАНИЯ
2.1 Сущность методологии объектно-ориентированного программирования
Объектно-ориентированная методология состоит из такиех частей: объектно-ориентированный анализ, объектно-ориентированное проектирование, объектно-ориентированное программирование [1].
Объектно-ориентированный анализ - является методологией для анализа реалий настоящего мира, основанных на понятиях класса и объекта, составляющих словарь предметной области, для понимания и объяснения того, как они (сущности) взаимодействуют друг с другом. Модели объектно-ориентированного анализа впоследствии превращаются в объектно-ориентированный проект [2].
Методология проектирования программного продукта объединяет процесс декомпозиции объектов на основе выбора классов и объектов и методы представления моделей, которые отражают логику (структуру классов и объектов) и физическую (архитектура моделей и процессы) [3].