Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (Теоретические основы).pdf
Добавлен: 29.04.2023
Просмотров: 313
Скачиваний: 1
СОДЕРЖАНИЕ
1.Теоретические основы объектно-ориентированного подхода
1.1.Объектно-ориентированный подход: сущность и основные понятия.
1.2.Преимущества и недостатки объектно-ориентированного подхода.
2.1.Объектно-ориентированный подход в Visual Basic при проектировании информационной системы.
2.2.Объектно-ориентированный подход в Delphi при проектировании информационной системы.
2.3.Объектно-ориентированный подход в C++ при проектировании информационной системы.
Введение
Многие современные языки намеренно сформированы с целью облегчения объектно-ориентированного программирования.
Одни языки соответствуют основам объектно-ориентированного подхода (ООП) в абсолютной мере – в них все без исключения ключевые элементы являются объектами, которые имеют состояние и связанные методы. Образцы подобных языков – Smalltalk, Eiffel. Имеются гибридные языки, сочетающие объектную подсистему в целостном виде с подсистемами других парадигм как «два и более языка в одном», дающие совмещать в одной программе объектные модели с иными, и размывающие грань между объектно-ориентированной и другими парадигмами за счёт нестандартных возможностей, балансирующих между ООП и другими парадигмами (таких как множественная диспетчеризация, параметрические классы, возможность манипулировать методами классов как самостоятельными объектами, и др.). Примеры таких языков: CLOS, Dylan, OCaml, Python, Ruby, Objective-C. Но, наиболее распространены языки, включающие средства эмуляции объектной модели поверх более традиционной императивной семантики. Алан Кэй назвал такие языки «склеиванием возможностей» (англ. agglutination of features) в противовес «чистоте стиля» (англ. crystalization of style) языков, воплощающих определенную парадигму непосредственно. Образцы таких языков – Симула, C++, Visual Basic, Delphi, Модула, Модула-2, Java, C#, PHP.
К значимым различиям объектно-ориентированного подхода от классического проектирования причисляют вероятность применения итеративно-поступательного цикла формирования программного обеспечения и перемещение упора проектирования с разработки алгоритмов функционирования системы на построения системы абстракций и их взаимодействия.
Изучением применения объектно-ориентированного подхода при проектировании информационной системы занимались такие ученые как: В.В. Бахтизин [1], Л.Г. Гагарина [5], Е.Ю. Головина [7], Г.Н. Исаев [10] и др.
Все выше изложенное и определяет актуальность данной темы курсовой работы.
Цель курсовой работы: рассмотреть применение объектно-ориентированного подхода при проектировании информационной системы.
Объект исследования: объектно-ориентированный подход.
Предмет исследования: использование объектно-ориентированного подхода при проектировании информационной системы.
Для достижения цели были поставлены следующие задачи:
- Раскрыть объектно-ориентированный подход: сущность и основные понятия.
- Рассмотреть преимущества и недостатки объектно-ориентированного подхода.
- Изучить объектно-ориентированный подход в Visual Basic при проектировании информационной системы.
- Изучить объектно-ориентированный подход в Delphi при проектировании информационной системы.
- Изучить объектно-ориентированный подход в C++ при проектировании информационной системы.
Структура и объем курсовой работы: работа состоит из введения, двух глав, заключения, списка литературы. Полный объем курсовой работы составляет 34 страниц.
1.Теоретические основы объектно-ориентированного подхода
1.1.Объектно-ориентированный подход: сущность и основные понятия.
Сущность объектно-ориентированного подхода (ООП) заключается в том, что проектируются не данные и программы в раздельности, а объекты, сочетающие в себе и данные, и программы, информационно и функционально характеризующие соответствующие сути предметной области.
Объектно-ориентированный подход применяет объектную декомпозицию, при этом статическая структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Любой объект системы обладает своим собственным действием, имитирующим действия объекта реального мира.
Понятие «объект» в первый раз было использовано около тридцати лет назад в технических средствах при попытках отойти от традиционной архитектуры фон Неймана и преодолеть барьер между высоким уровнем программных абстракций и низким уровнем абстрагирования на уровне компьютеров. С объектно-ориентированной архитектурой также непосредственно сопряжены объектно-ориентированные операционные системы. Но более существенный вложение вклад в объектный подход был внесен объектными и объектно-ориентированными языками программирования [17, с. 217].
На объектный подход проявили воздействие кроме того развивавшиеся проявили воздействие кроме того методы моделирования баз данных, особо подход «сущность – связь».
Концептуальной базой объектно-ориентированного подхода является объектная модель. Основными ее компонентами считаются:
- абстрагирование (abstraction);
- инкапсуляция (encapsulation);
- модульность (modularity);
- иерархия (hierarchy).
Помимо ключевых существуют ещё 3 добавочных элемента, никак не представляющих в различие с ключевых определённо неотъемлемыми:
- типизация (typing);
- параллелизм (concurrency);
- устойчивость (persistence) [16, с. 89].
Абстрагирование – это выделение значительных характеристик некоторого объекта, которые различают т его от всех других видов объектов и, таким образом, отчетливо устанавливают его концептуальные границы относительно дальнейшего рассмотрения и анализа. Абстрагирование сосредоточивает интерес на внешних особенностях объекта и дает возможность отделить самые существенные особенности его поведения от деталей их реализации. Подбор верного набора абстракций для установленной предметной области представляет собой основную задачу объектно-ориентированного проектирования.
Инкапсуляция – это процесс отделения друг от друга отдельных элементов объекта, определяющих его устройство и поведение. Инкапсуляция предназначается с целью, чтобы изолировать интерфейс объекта, отражающий его внешнее поведение, от внутренней реализации объекта. Объектный подход подразумевает, что собственные ресурсы, которыми могут манипулировать только методы самого класса, спрятаны от внешней среды. Абстрагирование и инкапсуляция считаются взаимодополняющими операциями: абстрагирование фокусирует внимание на внешних особенностях объекта, а инкапсуляция (либо, по другому, лимитирование доступа) не позволяет объектам-пользователям различать внутреннее устройство объекта [14, с. 262].
Модульность – это свойство системы, связанное с возможностью ее декомпозиции на ряд внутренне связных, но слабо связанных между собой модулей. Инкапсуляция и модульность создают барьеры между абстракциями.
Иерархия – это ранжирование или упорядочение системы абстракций, расположение их по уровням. Главными видами иерархических структур применительно к сложным системам считаются структура классов (иерархия по номенклатуре) и структура объектов (иерархия по составу). Образцами иерархии классов являются простое и множественное наследование (один класс использует структурную или функциональную часть соответственно одного класса или нескольких иных классов), а образцом иерархии объектов являются агрегация.
Типизация – это лимитирование, накладываемое на класс объектов и мешающее взаимозаменяемости различных классов (или сильно сужающее ее возможность). Типизация дает возможность уберечься от использования объектов одного класса вместо объектов другого или, по крайней мере, управлять таким использованием.
Параллелизм – свойство объектов пребывать в активном или пассивном состоянии и различать активные и пассивные объекты между собой.
Устойчивость – свойство объекта существовать во времени (вне зависимости от процесса, породившего данный объект) и (или) в пространстве (при перемещении объекта из адресного пространства, в котором он был основан) [10, с. 183].
Основные понятия объектно-ориентированного подхода: объект и класс.
Подчеркнем, то, что объекты активны, у них есть не только внутренняя структура, но и поведение, которое описывается так называемыми методами объекта. К примеру, может быть определен класс «пользователь», характеризующий «пользователя вообще», то есть ассоциированные с пользователями данные и их поведение (методы ). После этого может быть создан объект «пользователь Иванов» с соответствующей конкретизацией данных и, возможно, методов.
Объект обусловливается равно как осязаемая реальность (tangible entity) – предмет или явление, имеющие четко определяемое поведение. Объект обладает состоянием, поведением и индивидуальностью. Состав и поведение похожих объектов определяют общий для них класс. Термины «экземпляр класса» и «объект» являются эквивалентными. Состояние объекта характеризуется перечнем всех возможных (статических) свойств данного объекта и текущими значениями (динамическими) каждого из этих свойств. Поведение определяет влияние объекта на другие объекты и, наоборот, относительно изменения состояния этих объектов и передачи сообщений. По другому изъясняясь, поведение объекта полностью определяется его действиями. Индивидуальность – это свойства объекта, отличающие его с абсолютно всеми иными объектами.
Конкретное влияние 1-го объекта на другой с целью вызвать соответствующую реакцию именуется операцией. Как правило, в объектных и объектно-ориентированных языках операции, выполняемые над данным объектом, называются методами и являются составной частью установления класса.
Класс – это большое число объектов, сопряженных одинаковостью структуры и действия. Каждый объект считается экземпляром класса. Установление классов и объектов – одна из самых трудных задач объектно-ориентированного проектирования [8, с. 56].
Следующую группу значимых определений объектного подхода составляют наследование и полиморфизм. Понятие полиморфизма может быть интерпретировано, как способность класса принадлежать более чем одному типу Наследование означает создание новейших классов на базе имеющихся с перспективой прибавления либо переопределения данных и методов.
Объектно-ориентированная система первоначально создается с учетом ее эволюции. Наследование и полиморфизм гарантируют возможность установления новой функциональности классов с помощью создания производных классов – потомков базовых классов. Потомки наследуют свойства родительских классов без изменения их первоначального описания и добавляют при необходимости собственные структуры данных и методы. свойства производных классов, при котором задаются только различия или уточнения, в огромной степени экономит время и усилия при производстве и использовании спецификаций и программного кода.
Важным качеством объектного подхода является слаженность ь моделей деятельности организации и моделей проектируемой системы от стадии формирования требований до периода осуществлении. Условие е согласованности моделей производится благодаря возможности применения абстрагирования, модульности, полиморфизма на всех стадиях разработки. Модификации ранних стадий могут быть непосредственно подвергнуты сравнению с моделями осуществления. По объектным моделям может быть прослежено отображение реальных сущностей моделируемой предметной области (организации) в объекты и классы информационной системы.
В заключение можно сделать вывод, что суть ООП состоит в том, что проектируются не данные и программы в отдельности, а объекты, сочетающие в себе и данные, и программы, информационно и функционально характеризующие соответствующие сущности предметной области.
Использование объектно-ориентированного подхода позволяет свести проектирование системы к оптимальному синтезу функционально независимых компонент (объектов), совместно выполняющих заданные функции системы. Таким образом, значительно снижаются затраты на разработку, внедрение и модификацию систем.
1.2.Преимущества и недостатки объектно-ориентированного подхода.
Главное превосходство ООП – возможность формировать классы и объекты визуальным способом, т.е. прорисовывать на экране ключевые элементы, определять цвет, местоположение элементов и т.д. При определённом навыке объекты можно моментально формировать, записывая в методы фрагменты программного кода, определяющие их поведение при наступлении определённых событий. В дальнейшем из визуальных элементов и этих программных фрагментов генерируется общая программа. Этим занимается сама система [4, с. 223].
Подход может быть полезен равно как с методической точки зрения (две разнородные характеристики предметной области – данные и программы – объединяются в объекты), таким образом и с точки зрения техники проектирования и разработки программных систем (вместо 2-ух технически никак не сопряженных, но логически переплетенных веток образуется один надёжный ствол).
На разных стадиях рассмотрения и синтеза систем появляются трудности разбиения (декомпозиции) системы на подсистемы, задачи на подзадачи, программного обеспечения на единичные программы и подпрограммы. При этом объекты каждого последующего уровня разбиения представляют собой абстрактные компоненты (объекты) системы предыдущего уровня, реализация которого зависит от конкретной рассматриваемой проблемы.