Файл: Анализ и оценка средств реализации объектно-ориентированного подхода к проектированию экономической информационной системы (Современные технологии объектно-ориентированного анализа и проектирования информационных систем).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 170

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

Тема курсовой работы является актуальной в наше время, так как использование объектно-ориентированного подхода является основной современной парадигмой программирования и представляет собой наиболее прогрессивную технологию проектирования экономических информационных систем. Данный подход в программировании состоит в том, что разработчику информационной системы предлагается определенный набор объектов и инструментов с возможностью изменения их свойств, а также их объединения в систему. Большая часть современных профессиональных языков программирования основана на объектно-ориентированном подходе.

Объектно-ориентированный подход устойчиво занимает лидирующие позиции и является наиболее перспективным для создания программного обеспечения. Он характеризуется четырьмя базовыми компонентами: идентификацией, состоянием, поведением и инкапсуляцией.

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

Цель данной работы – проведение анализа средств реализации объектно-ориентированного подхода к проектированию экономической информационной системы и их оценка.

Для достижения поставленной цели необходимо решать следующие задачи:

1. Рассмотреть методологию объектно-ориентированного программирования;

2. Дать общую характеристику моделей объектно-ориентированного анализа и проектирования;

3. Проанализировать средства реализации объектно-ориентированного подхода к проектированию экономической информационной системы;

4. Дать оценку средств реализации объектно-ориентированного подхода.

Объект исследования – объектно-ориентированный подход в программировании.

Предмет исследования – методология объектно-ориентированного подхода программирования.

Для раскрытия поставленной цели и задач определена следующая структура исследования: работа состоит из введения, двух глав, заключения и списка использованной литературы. Названия глав отображают их содержание.


1. Современные технологии объектно-ориентированного анализа и проектирования информационных систем

1.1. Общая характеристика объектно-ориентированного программирования

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

В связи с этим в конце 80-х годов была разработана новая методология – объектно-ориентированное программирование (от англ. Object-Oriented Programming), благодаря которой возникшие на тот момент проблемы были решены.

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

Популярность использования методологии ООП можно связать с процессом разработки новых информационных систем, когда процедурно-ориентированная декомпозиция начала уступать место объектно-ориентированной. В результате отдельные структурные единицы программы стали рассматриваться не в виде функций и процедур, а в виде классов и объектов, имеющих свой набор соответствующих свойств и методов.

Это привело к тому, что программы перестали быть последовательностью действий, которые были предопределены на этапе кодирования, а стали событийно управляемыми. Данное обстоятельство стало главным и определяющим фактором перехода на ОПП при разработке различного уровня сложности современных информационных систем. В данном случае у каждой программы имеется бесконечный цикл ожидания заранее определенных событий. При этом в качестве инициаторов событий могут выступать как другие программы, так и пользователи информационной системы. В случае, если наступает отдельное событие информационная система выходит из состояния ожидания и начинает определенным образом реагировать на данное событие.

Можно выделить четыре основных принципа ООП – это абстракция, наследование, инкапсуляция и полиморфизм.


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

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

Под классом будем понимать абстракцию совокупности реальных объектов, имеющих общие наборы свойств, а также обладающих одинаковым поведением.

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

Классы могут быть организованы в виде иерархической структуры, внешне напоминающей схему с классификацией в понятийной логике, которая может быть построена следующим образом:

1. Самым высоким уровнем абстракции является наиболее общее понятие или категория, у которой имеется наибольший объем и, при этом, имеется наименьшее содержание.

2. На следующем уровне, который находится ниже исходного, появляется менее общее понятие. Это понятие конкретизируется, то есть у него уменьшается объем и, соответственно, увеличивается содержание.

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

Еще один принцип ООП, в соответствии с которым знание о наиболее общей категории применяется для более частной категории, называют наследованием, которое очень тесно связано с иерархией классов. Наследование определяет, какие классы можно считать наиболее абстрактными и общими по отношению к другим классам. В том случае, если общий либо родительский класс, являющийся предком, имеет фиксированный набор свойств и поведения, то потомок, который является производным от данного класса, должен иметь такой же набор свойств и похожее поведение. Кроме того, полученный класс может иметь дополнительные свойства, при помощи которых он будет характеризоваться как уникальный. В результате можно прийти к выводу, что у производного класса свойства и поведение наследуются от родительского класса.


Приведем пример принципа наследования. Имеется общий класс "Компьютер", который определяется в виде абстракции свойств и поведения всех, реально существующих ЭВМ. У данного класса в качестве общих свойств можно выделить комплектующие, такие как процессор, оперативная память, устройства ввода/вывода информации. Если для данного общего класса производным классом является "Персональный компьютер", то все свойства, которые были выделены выше будут содержаться и в этом классе, т.е. класс "Персональный компьютер" наследовал все свойства родительского класса "Компьютер". Но у производного класса могут появиться дополнительные, уникальные свойства, например, материнская плата с интегрированной видеокартой или разъемом USB.

А у класса "Персональный компьютер", в свою очередь, могут быть производные классы, такие как "Ноутбук", "Сервер" и "Рабочая станция" см рис. 1.

Рисунок 1. Иерархия вложенности классов для примера общего класса "Компьютер"[2]

Из рисунка видно, что классы нижнего уровня наследуют свойства родительских классов - "Персональный компьютер" и "Компьютер", но могут и переопределять некоторые из этих свойств.

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

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

Если рассматривать класс "Компьютер", то принцип инкапсуляции заключается в том, что в качестве основного субъекта, взаимодействующего с объектами данного класса, являются пользователи, среди которых не многие могут в совершенстве знать внутреннее устройство компьютера, так как детали компьютера находятся в системном блоке или мониторе, а в случае его поломки, чаще всего, ремонт выполняется профессиональным специалистом.

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


Еще один из основных принципов ООП – это полиморфизм, который происходит от греческих слов Poly (много) и morfos (форма). Под ним будем понимать свойство объекта принимать разные внешние формы, которые зависят от различных обстоятельств. Полиморфизм применительно к ООП будет означать тот факт, что действия, которые выполняются одноименными методами, могут различаться в зависимости от того, к какому из классов будет относиться тот или иной метод.

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

В ООП полиморфизм тесно связан с перегрузкой функций, но не является тождественным ей. Так же необходимо отметить, что имя метода и свойства связываются с классами, в которых они описываются. Данное обстоятельство дает возможность обеспечить определенную надежность в работе информационной системы, так как не позволяет случайно применить метод для того, чтобы решить несвойственную ему задачу.

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

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

1.2 Модели объектно-ориентированного анализа и проектирования информационных систем