Файл: Применение объектно–ориентированного подхода при проектировании информационной системы.pdf

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

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

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

Добавлен: 25.04.2023

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

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

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

ВВЕДЕНИЕ

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

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

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

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

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

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

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


1. Объектно–ориентированный подход

1.1. Характеристика объектно–ориентированного подхода

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

  • объектно–ориентированные методологии (технологии) разработки программных систем;
  • инструментальные средства, поддерживающие эти технологии [12].

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

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

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

  • унифицированный процесс;
  • унифицированный язык моделирования;
  • шаблоны проектирования.

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


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

Нa­ c­тa­диях a­нa­лизa­ и проектирования часто используются так называемые шаблоны (пa­ттe­рны) прo­e­ктирo­вa­ния. Шa­блo­н – это именованная пара «проблема/решение», содержащая готовое o­бo­бщe­ннo­e­ рe­шe­ниe­ типичнo­й проблемы [7]. Как правило, шаблон помимо текстового oпиc­a­ния c­o­дe­ржит тa­кжe­ одну или несколько диаграмм UML (например, диаграммы клa­c­c­o­в, пo­c­лe­дo­вa­тe­льнo­c­ти и/или коммуникации), графически иллюстрирующих состав и структуру классов, a­ тa­кжe­ o­c­o­бe­ннo­c­ти их взаимодействия при решении поставленной проблемы. Шаблоны рa­зрa­бa­тывa­ютc­я o­пытными прo­фe­c­c­иo­нa­лa­ми и являются проверенными, эффективными (порой оптимальными) решениями [7].

1.2. Понятия объектно–ориентированного подхода

Термин «объект» или эквивалентные ему понятия появились практически независимо в различных областях, связанных с компьютерами, в процессе разработки [11]:

  • архитектуры компьютеров (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 использовались только объектно–ориентированные конструкции.

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

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


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

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

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

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

Наследование – принцип, в соответствии с которым знание об общей категории разрешается применять для более узкой. Применительно к классам это означает, что дочерний класс (узкая категория) полностью включает в себя (наследует) все (разрешенные) атрибуты и методы, определенные в родительском классе (общей категории). При этом в дочернем классе могут быть определены дополнительные атрибуты и методы [6].

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

Полиморфизм – принцип построения элементов модели так, чтобы они могли принимать различные внешние формы или функциональность (поведение) в зависимости от обстоятельств. Например, методы draw() (нарисовать) или calculateS() (рассчитать площадь) для классов «круг» и «ромб», определенных путем наследования атрибутов и методов родительского класса «фигура», алгоритмически должны быть реализованы по–разному [6].


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

2. Применение объектно–ориентированного подхода при проектировании

2.1. Анализ достоинств и недостатков объектно–ориентированного подхода

Оценим объектно–ориентированный подход в соотношении с не менее известным структурным подходом.

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

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

Данные по сравнению с процессами являются более стабильной и относительно редко изменяющейся частью системы. Отсюда следует главное достоинство объектно–ориентированного подхода, которое Гради Буч сформулировал следующим образом: объектно–ориентированные системы более открыты и легче поддаются внесению изменений, поскольку их конструкция базируется на устойчивых формах. Это дает возможность системе развиваться постепенно и не приводит к полной ее переработке даже в случае существенных изменений исходных требований [1].