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

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

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

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

Добавлен: 14.03.2024

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

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

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

Содержание:

ВВЕДЕНИЕ

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

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

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

Задача курсовой работы:

  • Рассмотреть концепции объектно-ориентированного подхода;
  • Проанализировать преимущества и недостатки данного подхода;
  • Исследовать три основных средства реализации объектно-ориентированного подхода.

Вопросам исследования объектно-ориентированного подхода проектирования информационной системы посвящены работы таких авторов как: Бородакий Ю. В., Лободинский Ю. Г., Кузин А. В., Левонисова С. В. и других.

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

Список использованных источников включает 0 трудов различных авторов. Данные источники представляются надёжными, так как они изданы известными издательствами, размещены на сайтах электронных библиотек ВУЗов России, рекомендованы методическими указаниями по изучению дисциплины «Методы и средства проектирования информационных систем и технологий».

1. Концепция подхода

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


Свойства информационных систем [6]:

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

Процессы в информационной системе [7]:

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

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

Объект — предмет или явление, имеющее четко определенное поведение и обладающие состоянием, поведением и индивидуальностью. Структура и поведение схожих объектов определяют общий для них класс [3].

Класс – это множество объектов, связанных общностью структуры и поведения [6].

Рис. 1. Структура класса в ООП

В объектно-ориентированном подходе выделяют несколько свойств объектов [1]:

  • Инкапсуляция. Скрытие информации. Т.е. состав и структура атрибутов объекта защищена от внешнего вмешательства или неправильного использования;
  • Абстрагирование. Возможность объединять классы в отдельные группы, выделяя общие, значимые для них всех характеристики (общие поля и общее поведение). Собственно, абстрагирование и есть следствие наследования: базовые классы не всегда имеют свою проекцию на объекты реального мира, а создаются исключительно с целью выделить общие черты целой группы объектов;
  • Наследование. Свойство, характеризующее наличие иерархической связи классов объектов. Т.е. существуют родительские и дочерние классы. Все методы родительского класса автоматически присваиваются дочерним. Некоторые языки программирования поддерживают множественное наследование, то есть у класса могут быть несколько родительских классов;
  • Полиморфизм – возможность выбора объектом в ответ на получаемые им сообщения какого-либо метода из множества методов в зависимости от того, какое пришло сообщение;
  • Интерфейс. В некоторых языках программирования (C#, Java) понятие интерфейса выделено явно - это не только открытые методы и свойства самого класса. Такие языки, как правило, не поддерживают множественного наследования и компенсируют это тем, что любой объект может иметь один базовый объект и реализовывать любое количество интерфейсов. Интерфейс в их интерпретации – это подобие абстрактного класса, содержащего только описание (сигнатуру) открытых методов и свойств. Реализация интерфейса ложится на плечи каждого класса, который собирается его поддерживать. Один и тот же интерфейс могут реализовывать классы абсолютно разных иерархий, что расширяет возможности полиморфизма.

Рис. 2. Пример наследования

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

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

2. Преимущества и недостатки подхода

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

Несомненным достоинством функционального подхода является проектирование информационной системы «сверху-вниз», при которой каждый функциональный блок может быть декомпозирован в множество подфункций. Благодаря этому реализуется модульное проектирования ИС.

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

Объектно-ориентированный подход обладает следующими преимуществами [7]:

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

Но данный подход не идеален и имеет также ряд недостатков [1]:

  • Некоторое снижения быстродействия за счёт более сложной организации программной системы;
  • Более трудное документирование классов нежели процедур и модулей;
  • Высокие начальные затраты. Подход не обеспечивает мгновенной отдачи. Только после двух-трёх проектов и накопления повторно используемых компонентов заметен эффект;
  • ООП порождает огромные иерархии классов, что приводит к тому, что функциональность расползается или, как говорят, размывается по базовым и производным членам класса, и отследить логику работы того или иного метода становится сложно.

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

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

3.1. Объектно-ориентированные языки

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

Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ [6]. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением.

Язык программирования предназначен для написания компьютерных программ, которые представляют собой набор правил, позволяющих компьютеру выполнить тот или иной вычислительный процесс, организовать управление различными объектами. Язык программирования отличается от естественных языков тем, что предназначен для управления ЭВМ, в то время как естественные языки используются, прежде всего, для общения людей между собой. Большинство языков программирования использует специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений [4].

Как правило, язык программирования существует в нескольких, но существенно отличающихся видах [7]:

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

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


Первым таким языком стал Simula 67, разработанный в конце 60-х годов в Норвегии. Однако современники были не готовы воспринять ценности языка, и он не выдержал конкуренции с другими языками, прежде всего с языком Fortran.

Сейчас же существует много объектно-ориентированных языков и их количество постоянно растёт. Но самыми популярными являются C++, C#, Java, PHP, Python.

Java выделяется среди остальных тем, что он интерпретируемый язык. Он не компилируется непосредственно на компьютере. Весь код выполняется в виртуальной Java-машине, что позволяет использовать программы, написанные на нём на любом устройстве, на котором установлена данная Java-машина. Java – самый распространённый кроссплатформенный язык программирования.

PHP и Python используются для разработки веб-ресурсов, позволяя создавать динамичные сайты.

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

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

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

3.2. Объектно-ориентированная база данных

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

База данных — организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей [5].

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

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