Файл: Применение объектно-ориентированного подхода при проектировании информационной системы(Основные понятия, используемые в объектно-ориентированном подходе).pdf
Добавлен: 02.04.2023
Просмотров: 243
Скачиваний: 1
СОДЕРЖАНИЕ
1 Сущность объектно-ориентированного подхода
1.1 Основные понятия, используемые в объектно-ориентированном подходе
1.2 Базовые составляющие объектно-ориентированного подхода
2 Объектно-ориентированный подход при проектировании информационной системы
2.1 Особенности объектно-ориентированной системы
2.2 Использование объектно-ориентированной технологии в проектировании информационной системы
ВВЕДЕНИЕ
Компьютерные и информационные технологии без преувеличения можно назвать наиболее динамичной областью современных знаний, которые концентрируют в себе самые последние достижения в сфере науки и техники. Появление новых моделей процессоров и комплектующих, версий операционных систем и программного обеспечения происходит на фоне постоянного усложнения не только отдельных физических и программных компонентов, но и лежащих в их основе концепций. Разработка и совершенствование информационных систем приводит к необходимости поддержания единого стиля для различных версий программ при их постоянной доработке и модификации.
Трудоемкость создания современных информационных систем на начальных этапах проекта, как правило, оценивается значительно ниже реально затрачиваемых усилий, что служит причиной незапланированных расходов и затягивания окончательных сроков готовности программ. В процессе разработки таких систем изменяются функциональные требования заказчика, что еще более отдаляет момент окончания работы программистов. Увеличение размеров программ вынуждает привлекать сверхштатных программистов, что, в свою очередь, требует дополнительных ресурсов для организации их согласованной работы. В разработке и внедрении современных корпоративных информационных систем принимает участие множество специалистов различной квалификации, для которых единообразное понимание архитектуры и функциональности является серьезной проблемой.
Таким образом, все эти особенности приводят к настоятельной необходимости моделирования структуры и процесса функционирования программных систем до начала написания соответствующего кода. При этом непременным условием успешного завершения проекта становится построение предварительной модели программной системы. Все вышесказанное определяет актуальность данной темы.
Проблемы этой темы изучались такими выдающимися авторами как Черников Б.В., Рыбальченко М. В., Попов А.В., Григорьева А. Л., Лошманов А. Ю., Назаров С.В., Перлова О.Н., Григорьев М. В., Григорьева И. И., Кравченко А. В., Анисимов В.В., Астапчук В. А., Терещенко П. В., а также другие исследователи, специалисты в области информационных технологий. Они углубились в проблему, высказали свое мнение и тщательно изучили все аспекты данной темы.
Объект работы: информационные системы
Предмет работы: применение объектно-ориентированного подхода при проектировании информационной системы
Цель работы: изучить применение объектно-ориентированного подхода при проектировании информационной системы
Задачи работы:
- Описать основные понятия, используемые в объектно-ориентированном подходе
- Охарактеризовать базовые составляющие объектно-ориентированного подхода
- Выявить особенности объектно-ориентированной системы
- Проанализировать использование объектно-ориентированной технологии в проектировании информационной системы
1 Сущность объектно-ориентированного подхода
1.1 Основные понятия, используемые в объектно-ориентированном подходе
Термин «объект» или эквивалентные ему понятия появились практически независимо в различных областях, связанных с компьютерами, в процессе разработки [5, с.205] :
- архитектуры компьютеров (Burroughs 5000, Plessey 250, IBM System/38, Intel 432);
- объектно-ориентированных операционных систем (Plessey/System 250, Secure UNIX, StarOS, iMax);
- объектно-ориентированных языков программирования (Simula, Smalltalk, Modula);
- теории баз данных (модели «сущность-связь»);
- систем искусственного интеллекта (фреймы).
При разработке программного обеспечения термин «объект» впервые был введен Оле-Джоаном Далем, Бьорном Мюрхогом и Кристеном Ныгардом из Норвежского вычислительного центра (г. Осло). Они разработали язык Simula 67, созданный на основе языка Algol-60 и предназначенный для моделирования и описания сложных систем. Однако по-настоящему широкое внедрение этой идеи произошло при разработке языка SmallTalk в 1990 г. Аланом Кейем из Исследовательского центра фирмы Xerox (г. Пало-Альто). В SmallTalk использовались только объектно-ориентированные конструкции [3, с.29].
Объектная модель, которая является концептуальной базой объектно-ориентированной методологии, имеет четыре главных элемента [10, с.63] :
- абстрагирование
- ограничение доступа или инкапсуляция
- модульность
- иерархия.
Без любого из этих элементов модель не будет объектно-ориентированной. Кроме главных имеется три дополнительных элемента:
- типизация
- параллелизм
Объект – это абстракция реальной или воображаемой сущности с четко выраженными концептуальными границами, индивидуальностью (идентичностью), состоянием и поведением.
Абстракция (лат. abstractio – отвлечение) – форма познания, основанная на мысленном выделении существенных свойств и связей предмета и отвлечении от других, частных его свойств и связей [3, с.41]. При этом «существенное» и «частное» должны рассматриваться с точки зрения решаемой задачи (предметной области). В объектно-ориентированном подходе абстракция – это модель сущности, описывающая ее свойства и поведение.
Примерами реальных (физических, осязаемых) сущностей могут служить поезд, стрелочный перевод или инженер службы пути, а воображаемых – технология проведения капитального ремонта пути или оптимальная траектория движения поезда (режимы и скорость в зависимости от текущего положения поезда на участке).
Индивидуальность – это свойство сущности, с помощью которого ее можно отличить от других [18, с.16].
Для концептуальной группировки однотипных объектов в объектно-ориентированном подходе используется понятие «класс». Класс – это множество объектов, имеющих общую структуру и поведение [5, с.216]. Таким образом, класс – это шаблон, на основе которого генерируются (создаются) однотипные объекты. В качестве синонима понятия «объект» часто употребляют понятие «экземпляр класса».
Каждый класс и соответственно объект характеризуются строго определенным набором атрибутов и методов. Текущие значения атрибутов четко определяют текущее состояние объекта. Набор методов и их алгоритмическая реализация определяют поведение объекта (класса объектов).
Принципы проектирования, в полной мере применимы и для объектно-ориентированных систем. Но говоря об объектно-ориентированном подходе, в первую очередь отмечают наследование, инкапсуляцию и полиморфизм [3, с.78]. Эти механизмы и принципы проектирования более естественно и полно реализованы в объектно-ориентированном подходе по сравнению со структурным.
Наследование – принцип, в соответствии с которым знание об общей категории разрешается применять для более узкой. Применительно к классам это означает, что дочерний класс (узкая категория) полностью включает в себя (наследует) все атрибуты и методы, определенные в родительском классе (общей категории) [1, с.65]. При этом в дочернем классе могут быть определены дополнительные атрибуты и методы. Например, дочерний класс «круг» будет наследовать от родительского класса «геометрическая фигура» все атрибуты (x, у – координаты центра фигуры, color – цвет фона и т. д.) и все методы (draw() – нарисовать фигуру, move(dx, dy) – переместить фигуру и т. д.), а также иметь дополнительный атрибут (r – радиус).
Инкапсуляция (информационная закрытость) – принцип, в соответствии с которым содержание внутреннего устройства элементов системы должно быть скрыто друг от друга [9, с.32]. Этот принцип предписывает обмен информацией между объектами системы только в минимально необходимом объеме, ограничение доступа к атрибутам и методам объектов (классов) со стороны других объектов (классов) и полное скрытие алгоритмической реализации методов от других объектов (классов).
Модульность - это свойство системы, связанное с возможностью декомпозиции на ряд внутренне связанных, но слабо связанных между собой модулей. В языке С++ под модулями понимается раздельно компилируемые файлы. Модульность - это разделение программы на раздельно компилируемые фрагменты, имеющие между собой средства сообщения. Традиционным в С++ является помещение интерфейсной части модулей в отдельные файлы с расширением .h. [5, с.219].
Иерархия - ранжированная (упорядоченная) система абстракций. Основными видами иерархических структур, применительно к сложным системам, является структура классов (иерархия "is -a") и структура объектов (иерархия "part of"). Принцип наследования позволяет упростить выражения абстракции, делая проект менее громоздким и более выразительным [3, с.79].
Принципы абстрагирования, ограничение доступа, иерархии конкурируют между собой. Принцип наследования требует открыть доступ к состоянию и к функциям объекта для производных объектов.
Дополнительные элементы: типизация - ограничение предъявляемых классу объектов, препятствующих взаимозамене различных классов и в большинстве случаев сильно сужающих возможность такой замены. Концепция типизации строится на понятии абстрактных типов данных. Тип - точное определение свойств строения или поведения, которое присуще некоторой совокупности объекта [9, с.41] . Часто термины «тип» и «класс» считают эквивалентными. Более точно сказать, что класс реализует тип. Типизация позволяет выполнять описание абстракций т. о., что реализуется поддержка проектных решений на уровне языка программирования.
В тоже время объектно-ориентированные языки программирования могут быть: строго типизированными, нестрого типизированными и совсем не типизированными, что позволяет говорить о типизации, как о второстепенном элементе. Сильно типизированные языки - это такие языки, в которых все выражения проводят проверку на соответствие типов. С++ поддерживает сильную типизацию. Различают статическую типизацию (раннее связывание) и динамическую типизацию (позднее связывание). Разделение имеет отношение ко времени, когда имена связывают с типами: статическая - во время компиляции; динамическая - во время исполнения программы [15, с.92].
Полиморфизм возникает на стыке принципов наследования и динамических связей [9, с.42] . Это свойство является самым существенным в объектно-ориентированном программировании. Полиморфизм отличает объектно-ориентированное проектирование от более традиционных методов с использованием абстрактных типов данных [12, с.123] .
Параллелизм. Для определенной категории задач автоматические системы реализуют обработку множества событий, происходящих одновременно. В то время как объектно-ориентированное программирование-это абстракция, инкапсуляция и наследование, параллелизм-это абстракция и синхронизация. Объект - это фундамент, объединяющий оба понятия. Каждый объект (как абстракция реальности) может представлять собой отдельный поток управления (абстракция процесса). Такой объект называется активным. Параллелизм-это свойство, которое отличает активные объекты от пассивных. Для систем, построенных на основе объектно-ориентированного проектирования, реальность может быть представлена как совокупность взаимодействующих объектов, некоторые из которых являются активными.
С учетом приведенных определений сущность объектно-ориентированного подхода к анализу и проектированию информационных систем заключается в разложении системы на классы, соответствующие однотипным объектам в предметной области, и построении из них иерархии в виде направленного графа с использованием композиционных и наследственных отношений.
1.2 Базовые составляющие объектно-ориентированного подхода
Объектно-ориентированная технология проектирования ИС предоставляет мощную, гибкую, универсальную концептуальную основу для конструирования информационно-управляющих систем в различных областях хозяйственной деятельности и управления, сочетающую использование моделей современной логистики, объектного подхода к компонентам предметной области, современных инструментальных средств визуального программирования и СУБД с SQL-интерфейсом [15, с.96] .
Объектно-ориентированная технология проектирования ИС включает в себя следующие компоненты [19, с.154] :
- технологию конструирования концептуальной объектно-ориентированной модели предметной области;
- инструментальные средства спецификации проектных решений;
- библиотеки типовых компонент модели предметной области;
- типовые проектные решения для ряда функциональных областей.