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

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

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

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

Добавлен: 26.06.2023

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

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

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

ВВЕДЕНИЕ

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

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

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

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

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

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

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

- анализ продуктов, реализующих объектно-ориентированный подход;

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

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

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

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


Рисунок 1. Характеристика основных методов декомпозиции систем[1]

Объектно-ориентированный подход к проектированию основан на представлении предметной области задачи в виде множества моделей для независимой от языка разработки программной системы на основе ее прагматики.[2]

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

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

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

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

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

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

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

Именно объектно-ориентированная декомпозиция отличает объектно-ориентированное проектирование от структурного; в первом случае логическая структура системы отражается абстракциями в виде классов и объектов, во втором - алгоритмами[5].

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

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

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


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

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

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

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

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

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

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

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

Видимость атрибута может быть:

- public – общий, открытый (+);

- private – закрытый, секретный (-);

- protected – защищенный (#).

Определенное воздействие одного объекта на другой носит название операции и представляет собой реализацию услуги, которую можно запросить у любого объекта[10].

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

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

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


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

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

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

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

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

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

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

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

Основными принципами объектно-ориентированного подхода являются:

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

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

Посредством инкапсуляции реализуются следующие возможности:

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

- сокрытие внутренней информации от пользователя;

- изоляция пользователя от особенностей реализации (независимость от машины и потенциально дружественный интерфейс приложений)[14];

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


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

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

- разработка диаграмм объектов, показывающие взаимосвязи с другими объектами;

- разработка внутренней структуры программного продукта[16].

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

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

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

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

UML определяет двенадцать типов диаграмм, разделенных на три группы:

- четыре типа диаграмм представляют статическую структуру приложения;

- пять представляют поведенческие аспекты системы;

- три представляют физические аспекты функционирования системы (диаграммы реализации)[17].

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

Наиболее используемыми являются следующие виды диаграмм:

- диаграмма прецедентов - для определения границы и контекста моделируемой предметной области и формирования общих требований к поведению проектируемой системы (Приложение 1);

- диаграмма классов –одна из важнейших диаграмм UML - используется для документирования программных систем, и основным ее компонентом является класс (Приложение 2);