Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (Сравнительный анализ программных продуктов, реализующих объектно-ориентированный подход).pdf

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

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

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

Добавлен: 31.03.2023

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

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

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

ВВЕДЕНИЕ

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

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

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

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

В соответствии с поставленной целью задачами работы являются:

- определение сути объектно-ориентированного подхода и рассмотрение принципиальных отличий его от структурного подхода;

- рассмотрение его преимуществ и недостатков;

- характеристика средств реализации объектно-ориентированного подхода;

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

ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА ПРИ ПРОЕКТИРОВАНИИ ИНФОРМАЦИОННОЙ СИСТЕМЫ

Суть объектно-ориентированного подхода, его отличие от структурного подхода

Информация в современном мире превратилась в один из наиболее важных ресурсов, а информационные системы стали необходимым инструментом практически во всех сферах деятельности. Разнообразие задач, решаемых с помощью информационных систем, привело к появлению множества разнотипных систем, отличающихся принципами построения и заложенными в них правилами обработки информации[1].


Проектирование информационной системы представляет собой процесс преобразования входной информации об объекте, методах и опыте проектирования объектов аналогичного назначения в соответствии с ГОСТом и сводится к последовательной формализации проектных решений на различных стадиях жизненного цикла информационной системы[2].

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

При проектировании информационных систем могут быть использован структурный либо объектно-ориентированный подход. Принципиальное их отличие заключается в выборе способа декомпозиции системы (задачи). Если за основу принимается функциональная (алгоритмическая) декомпозиция, то речь идет о структурном подходе, если объектная – об объектно-ориентированном[3].

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

Между указанными подходами к проектированию информационной системы имеются отличие и по следующим аспектам:

- структурная организация внутри модулей системы.

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

В объектно-ориентированном подходе модуль представляется в виде ориентированного графа, т.е. иерархия выстраивается с использованием двух отношений: композиции и наследования, при этом «объект-часть» может включаться сразу в несколько «объектов-целое»[5];

- место хранения атрибутивных данных и поведения.

В функционально-ориентированных системах функции и данные хранятся отдельно.

В объектно-ориентированных - в объекте объединяются как атрибутивные данные (характеристики, свойства), так и поведение (функции, методы);


- методологии проектирования.

Так объектно-ориентированный подход предполагает использование UML-методологии, а структурный – IDEF0, DFD, IDEF3[6].

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

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

Объекты создаются на основе шаблонов, которые называются классами и являются экземплярами этих классов. Все объекты класса описываются одинаковыми наборами атрибутов, имеют один и тот же набор свойств и одинаково реагируют на одинаковые события. Класс может порождать произвольное число объектов, однако любой объект относится к строго фиксированному классу[8].

Помимо объектов и классов базовыми понятиями объектно-ориентированного подхода являются следующие:

- свойство объекта – характерные параметры, выделяющие данный объект из множества других и обусловливающие независимость создания и обработки данного объекта от других. Как правило, выделяется свойство (набор свойств), однозначно идентифицирующее объект во множестве объектов того же типа – идентичность[9];

- состояние объекта - характеризуется перечнем всех его свойств и их текущими значениями;

- метод обработки - программа действий над объектом или его свойствами, осуществляющая преобразование свойств или изменяющая поведение объекта. Так объект может обладать набором заранее определенных встроенных методов обработки, либо методы обработки могут создаваться пользователем и выполняться при наступлении определенных событий[10];

- событие – действие программы, инициируемое пользователем (внешние события) или генерируемое системой (внутренние события), приводящее к изменению состояния объекта.

Соотношение основных понятий объектно-ориентированного подхода представлено на рисунке 1.


Рисунок 1. Соотношение основных понятий объектно-ориентированного подхода[11]

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

- концептуальный;

- логический;

- физический (рисунок 2).

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

Рисунок 2. Уровни представления модели[12]

Метод объектно-ориентированного проектирования основывается на:

- модели построения системы как совокупности объектов абстрактного типа данных;

- модульной структуре программ;

- нисходящем проектировании, используемом при выделении объектов[13].

Объектно-ориентированные технологии и методики проектирования программных продуктов должны обеспечивать выполнение важнейших принципов объектного подхода:

- инкапсуляция (информационная закрытость) – предписывает обмен информацией между объектами системы только в минимально необходимом объеме, ограничение доступа к атрибутам и методам объектов (классов) со стороны других объектов (классов) и полное скрытие алгоритмической реализации методов от других объектов (классов)[14];

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

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

Концептуальная основа объектно-ориентированного подхода состоит из четырех главных и трех дополнительных элементов (рисунок 3).

Рисунок 3. Элементы объектно-ориентированного подхода[16]


Абстрагирование позволяет сосредоточить внимание на существенных характеристиках объекта с точки зрения наблюдателя.

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

Иерархия представляет собой ранжированную или упорядоченную последовательность модулей.

Типизация – способ защиты от использования объектов одного класса вместо другого и позволяет управлять таким использованием.

Параллелизм – свойство, отличающее активные объекты от пассивных.

Устойчивость – способность объекта существовать во времени, переживая породивший его процесс, или в пространстве, перемещаясь из своего первоначального адресного пространства[17].

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

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

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

Объектно-ориентированное проектирование состоит из следующих этапов: