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

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

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

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

Добавлен: 14.03.2024

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

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

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

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

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

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

Основные функции СУБД [4]:

  • управление данными во внешней памяти (на дисках);
  • управление данными в оперативной памяти;
  • журнализация изменений и восстановление базы данных после сбоев;
  • поддержание языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты (см. рис. 3) [5]:

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

Рис. 3. Компоненты СУБД

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

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

Обязательные характеристики [5]:

  • Поддержка сложных объектов. В системе должна быть предусмотрена возможность создания составных объектов за счет применения конструкторов составных объектов. Необходимо, чтобы конструкторы объектов были ортогональны, то есть любой конструктор можно было применять к любому объекту;
  • Поддержка индивидуальности объектов. Все объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов;
  • Поддержка инкапсуляции. Корректная инкапсуляция достигается за счет того, что программисты обладают правом доступа только к спецификации интерфейса методов, а данные и реализация методов скрыты внутри объектов;
  • Поддержка типов и классов. Требуется, чтобы в ООБД поддерживалась хотя бы одна концепция различия между типами и классами. (Термин «тип» более соответствует понятию абстрактного типа данных. В языках программирования переменная объявляется с указанием её типа. Компилятор может использовать эту информацию для проверки выполняемых с переменной операций на совместимость с её типом, что позволяет гарантировать корректность программного обеспечения. С другой стороны, класс является неким шаблоном для создания объектов и предоставляет методы, которые могут применяться к этим объектам. Таким образом, понятие «класс» в большей степени относится ко времени исполнения, чем ко времени компиляции.);
  • Поддержка наследования типов и классов от их предков. Подтип, или подкласс, должен наследовать атрибуты и методы от его супертипа, или суперкласса, соответственно;
  • Перегрузка в сочетании с полным связыванием. Методы должны применяться к объектам разных типов. Реализация метода должна зависеть от типа объектов, к которым данный метод применяется. Для обеспечения этой функциональности связывание имен методов в системе не должно выполняться до времени выполнения программы;
  • Вычислительная полнота. Язык манипулирования данными должен быть языком программирования общего назначения;
  • Набор типов данных должен быть расширяемым. Пользователь должен иметь средства создания новых типов данных на основе набора предопределенных системных типов. Более того, между способами использования системных и пользовательских типов данных не должно быть никаких различий.

Для управления такой базой используются объектно-ориентированные системы управления базами данных (ООСУБД). Данные системы позволяют работать с объектами базы данных также как с объектами в объектно-ориентированных языках программирования.

Для того, чтобы СУБД являлась объектно-ориентированно, она должна обеспечивать следующий функционал [4]:

  • Долговременное хранение;
  • Использование внешней памяти;
  • Параллелизм;
  • Восстановление;
  • Нерегламентированные запросы.

Рис. 4. Пример классов в ООБД

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

3.3. Объектно-ориентированная среда программирования

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

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

IDE обычно представляет собой единственную программу, в которой проводится вся разработка. Она, как правило, содержит много функций для создания, изменения, компилирования, развертывания и отладки программного обеспечения. Цель интегрированной среды заключается в том, чтобы объединить различные утилиты в одном модуле, который позволит абстрагироваться от выполнения вспомогательных задач, тем самым позволяя программисту сосредоточиться на решении собственно алгоритмической задачи и избежать потерь времени при выполнении типичных технических действий (например, вызове компилятора) [7]. Таким образом, повышается производительность труда разработчика. Также считается, что тесная интеграция задач разработки может далее повысить производительность за счёт возможности введения дополнительных функций на промежуточных этапах работы. Например, IDE позволяет проанализировать код и тем самым обеспечить мгновенную обратную связь и уведомить о синтаксических ошибках.


Большинство современных IDE являются графическими. Но первые IDE использовались ещё до того, как стали широко применяться операционные системы с графическим интерфейсом — они были основаны на текстовом интерфейсе с использованием функциональных и горячих клавиш для вызова различных функций (например, Turbo Pascal, созданный фирмой Borland).

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

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

Среда разработки включает в себя [4]:

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

Рис. 5. Скриншот среды программирования IntelliJ IDEA

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

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

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

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

ЗАКЛЮЧЕНИЕ

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


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

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

Модульность всей системы позволяет удобно разделить её и разрабатывать параллельно без оказания какого-либо ущерба другим модулям.

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

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

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

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Бородакий Ю. В., Лободинский Ю. Г. Эволюция информационных систем (современное состояние и перспективы). — М.: Горячая линия - Телеком, 2014. — 368 с.
  2. Бодров О.А., Медведев Р.Е. Предметно-ориентированные экономические информационные системы. — М.: Горячая линия - Телеком, 2013. — 244 с.
  3. Вендров А. М. Проектирование программного обеспечения экономических информационных систем: Учебник. – 2-е изд., перераб. И доп. – М.: Финансы и Статистика, 2006 – 544 с.
  4. Кузнецов С. Д. Основы баз данных. — 2-е изд. — М.: Интернет-университет информационных технологий; БИНОМ. Лаборатория знаний, 2012. — 484 с.
  5. Кузин А. В., Левонисова С. В. Базы данных. М: Издательство: Академия, 2012. – 398 с.
  6. Проектирование экономических информационных систем: Учебник / Г. Н. Смирнова, А. А. Сорокин, Ю. Ф. Тельнов; под ред. Ю. Ф. Тельнова. – М.: Финансы и Статистика, 2012. – 512 с.
  7. Уткин В. Б. Информационные системы в экономике: Учебник для студ. высш. учеб, заведений / В. Б. Уткин, К. В. Балдин. — М.: Издательский центр «Академия», 2011. — 288с.