Файл: Анализ и оценка средств реализации объектно-ориентированного подхода к проектированию экономической информационной системы (Сущность объектно–ориентированного подхода).pdf
Добавлен: 28.04.2023
Просмотров: 312
Скачиваний: 1
ВВЕДЕНИЕ
Сегодня категория «информация» нередко определяется как нечто, дающее нам представление об окружающем мире и его составляющих. К таким составляющим относятся различные явления и предметы, другие люди, представители флоры и фауны и вообще все, что мы можем ощутить при помощи органов чувств.
Не так давно информация перешла в новый для человечества формат – в электронный вид. И это стало одновременно и спасением, и проклятием. Так, с одной стороны, человечество сделало несравненно значительный шаг вперед, получив возможность обрабатывать информацию в миллионы раз быстрее, чем раньше – мы можем узнать практически все за считанные секунды, можем общаться с людьми, находящимися на другом конце Света. Новые информационные технологии перевернули также представление о медицине, науке и технике, и вообще во многих сферах жизни общества сегодня мы можем делать то, о чем раньше и не мечтали. С другой же стороны, мы получили еще одну уязвимую сторону жизни. Информация, хранящаяся в электронном виде, подвержена значительному числу угроз. Частная жизнь может стать достоянием общественности, корпоративная и даже государственная тайна могут быть раскрыты в считанные минуты, что приведет к непредсказуемым последствиям.
Так, можно сказать, что неотъемлемой частью современного общества являются электронно–вычислительные машины самых различных форм и конфигураций, которые, в свою очередь, обязательно включают некоторые системы логического, аппаратного и программного обеспечения. Программное обеспечение разрабатывается и совершенствуется при помощи языков программирования, которых на сегодняшний день известно целое множество. Появление персонального компьютера и операционных систем с пользовательским интерфейсом привело и к развитию языков программирования. Так, сегодня наиболее часто для создания новых программных продуктов используются языки объектно–ориентированного программирования, которые позволяют создавать продукты не только функциональными, но и удобными для использования.
Особенно актуально сегодня применение объектно–ориентированного подхода к программированию при разработке информационных продуктов экономического характера. В экономических субъектах с каждым днем увеличиваются требования к скорости, достоверности и качеству обработки информации и выполнения рутинных операций. В связи с этим вопрос о снабжении надежной и функциональной экономической информационной системой стоит особенно остро.
Таким образом, цель данного исследования – анализ и оценка средств объектно–ориентированного подхода к проектированию экономической информационной системы. Для достижения данной цели необходимо выполнить следующие задачи:
- рассмотреть суть объектно–ориентированного подхода;
- охарактеризовать основные категории объектно–ориентированного подхода;
- осуществить анализ и оценку языков C ++, Delphi, Java.
Объект исследования – объектно–ориентированный подход к проектированию экономической информационной системы. Предмет исследования – средства реализации объектно–ориентированного подхода к проектированию экономической информационной системы.
1. Объектно–ориентированный подход к проектированию экономической информационной системы
1.1. Сущность объектно–ориентированного подхода
В основе того или иного языка программирования лежит некоторая руководящая идея, оказывающая существенное влияние на стиль соответствующих программ.
Исторически первой была идея процедурного структурирования программ, в соответствии с которой программист должен был решить, какие именно процедуры он будет использовать в своей программе, а затем выбрать наилучшие алгоритмы для реализации этих процедур. Появление этой идеи было следствием недостаточной изученности алгоритмической стороны вычислительных процессов, столь характерной для ранних программных разработок (сороковые – пятидесятые годы). Типичным примером процедурно–ориентированного языка является Фортран – первый и все еще один из наиболее популярных языков программирования. Последовательное использование идеи процедурного структурирования программ привело к созданию обширных библиотек программирования, содержащих множество сравнительно небольших процедур, из которых, как из кирпичиков, можно строить «здание» программы [14].
По мере прогресса в области вычислительной математики акцент в программировании стал смещаться с процедур в сторону организации данных. Оказалось, что эффективная разработка сложных программ нуждается в действенных способах контроля правильности использования данных. Контроль должен осуществляться как на стадии компиляции, так и при прогоне программ, в противном случае, как показала практика, резко возрастают трудности создания крупных программных проектов. Отчетливое осознание этой проблемы привело к созданию Алгола–60, а позже – Паскаля, Модулы–2, Си и множества других языков программирования, имеющих более или менее развитые структуры типов данных. Логическим следствием развития этого направления стал модульный подход к разработке программ, характеризующийся стремлением «спрятать» данные и процедуры внутри модуля.
Начиная с языка Симула–67, в программировании наметился новый подход, который получил название объектно–ориентированного программирования (ООП). Его руководящая идея заключается в стремлении связать данные с обрабатывающими эти данные процедурами в единое целое – объект. Характерной чертой объектов является инкапсуляция (объединение) данных и алгоритмов их обработки, в результате чего и данные, и процедуры во многом теряют самостоятельное значение. Фактически объектно–ориентированное программирование можно рассматривать как модульное программирование нового уровня, когда вместо во многом случайного, механического объединения процедур и данных акцент делается на их смысловую связь.
Объектно–ориентированный подход использует объектную декомпозицию, при этом статическая структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Каждый объект системы обладает своим собственным поведением, моделирующим поведение объекта реального мира [14].
Понятие «объект» впервые было использовано около 30 лет назад в технических средствах при попытках отойти от традиционной архитектуры фон Неймана и преодолеть барьер между высоким уровнем программных абстракций и низким уровнем абстрагирования на уровне компьютеров. С объектно–ориентированной архитектурой также тесно связаны объектно–ориентированные операционные системы. Однако наиболее значительный вклад в объектный подход был внесен объектными и объектно–ориентированными языками программирования [14].
1.2. Понятия объектно–ориентированного подхода
Концептуальной основой объектно–ориентированного подхода является объектная модель. Основными ее элементами являются:
- абстрагирование (abstraction);
- инкапсуляция (encapsulation);
- модульность (modularity);
- иерархия (hierarchy).
Кроме основных имеются еще три дополнительных элемента, не являющихся в отличие от основных строго обязательными:
- типизация (typing),
- параллелизм (concurrency),
- устойчивость (persistence) [6].
Абстрагирование – это выделение существенных характеристик некоторого объекта, которые отличают его от всех других видов объектов и, таким образом, четко определяют его концептуальные границы относительно дальнейшего рассмотрения и анализа. Абстрагирование концентрирует внимание на внешних особенностях объекта и позволяет отделить самые существенные особенности его поведения от деталей их реализации. Выбор правильного набора абстракций для заданной предметной области представляет собой главную задачу объектно–ориентированного проектирования.
Инкапсуляция – это процесс отделения друг от друга отдельных элементов объекта, определяющих его устройство и поведение. Инкапсуляция служит для того, чтобы изолировать интерфейс объекта, отражающий его внешнее поведение, от внутренней реализации объекта. Объектный подход предполагает, что собственные ресурсы, которыми могут манипулировать только методы самого класса, скрыты от внешней среды. Абстрагирование и инкапсуляция являются взаимодополняющими операциями: абстрагирование фокусирует внимание на внешних особенностях объекта, а инкапсуляция (или, иначе, ограничение доступа) не позволяет объектам–пользователям различать внутреннее устройство объекта [21].
Модульность – это свойство системы, связанное с возможностью ее декомпозиции на ряд внутренне связных, но слабо связанных между собой модулей. Инкапсуляция и модульность создают барьеры между абстракциями.
Иерархия – это ранжирование или упорядочение системы абстракций, расположение их по уровням. Основными видами иерархических структур применительно к сложным системам являются структура классов (иерархия по номенклатуре) и структура объектов (иерархия по составу). Примерами иерархии классов являются простое и множественное наследование (один класс использует структурную или функциональную часть соответственно одного класса или нескольких других классов), а примером иерархии объектов являются агрегация.
Типизация – это ограничение, накладываемое на класс объектов и препятствующее взаимозаменяемости различных классов (или сильно сужающее ее возможность). Типизация позволяет защититься от использования объектов одного класса вместо объектов другого или, по крайней мере, управлять таким использованием.
Параллелизм – свойство объектов находиться в активном или пассивном состоянии и различать активные и пассивные объекты между собой.
Устойчивость – свойство объекта существовать во времени (вне зависимости от процесса, породившего данный объект) и (или) в пространстве (при перемещении объекта из адресного пространства, в котором он был создан) [9].
Основные понятия объектно–ориентированного подхода: объект и класс.
Объект определяется как осязаемая реальность (tangible entity) – предмет или явление, имеющие четко определяемое поведение. Объект обладает состоянием, поведением и индивидуальностью. Структура и поведение схожих объектов определяют общий для них класс. Термины «экземпляр класса» и «объект» являются эквивалентными. Состояние объекта характеризуется перечнем всех возможных (статических) свойств данного объекта и текущими значениями (динамическими) каждого из этих свойств. Поведение характеризует воздействие объекта на другие объекты и, наоборот, относительно изменения состояния этих объектов и передачи сообщений. Иначе говоря, поведение объекта полностью определяется его действиями. Индивидуальность – это свойства объекта, отличающие его от всех других объектов.
Определенное воздействие одного объекта на другой с целью вызвать соответствующую реакцию называется операцией. Как правило, в объектных и объектно–ориентированных языках операции, выполняемые над данным объектом, называются методами и являются составной частью определения класса.
Класс – это множество объектов, связанных общностью структуры и поведения. Любой объект является экземпляром класса. Определение классов и объектов – одна из самых сложных задач объектно–ориентированного проектирования [9].
Следующую группу важных понятий объектного подхода составляют наследование и полиморфизм. Понятие полиморфизма может быть интерпретировано, как способность класса принадлежать более чем одному типу Наследование означает построение новых классов на основе существующих с возможностью добавления или переопределения данных и методов.
Объектно–ориентированная система изначально строится с учетом ее эволюции. Наследование и полиморфизм обеспечивают возможность определения новой функциональности классов с помощью создания производных классов – потомков базовых классов. Потомки наследуют характеристики родительских классов без изменения их первоначального описания и добавляют при необходимости собственные структуры данных и методы. Определение производных классов, при котором задаются только различия или уточнения, в огромной степени экономит время и усилия при производстве и использовании спецификаций и программного кода.
Важным качеством объектного подхода является согласованность моделей деятельности организации и моделей проектируемой системы от стадии формирования требований до стадии реализации. Требование согласованности моделей выполняется благодаря возможности применения абстрагирования, модульности, полиморфизма на всех стадиях разработки. Модели ранних стадий могут быть непосредственно подвергнуты сравнению с моделями реализации. По объектным моделям может быть прослежено отображение реальных сущностей моделируемой предметной области (организации) в объекты и классы информационной системы [22].
В первой главе работы рассмотрены основные понятия и категории объектно–ориентированного программирования. Рассмотрение данных вопросов позволит наиболее эффективно осуществить анализ и оценку средств реализации объектно–ориентированного подхода к созданию экономических информационных систем.