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

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

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

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

Добавлен: 14.03.2024

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

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

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

Содержание:

ВЕДЕНИЕ

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

При разработке крупных информационных систем происходит концентрация сложности на начальных этапах (анализ требований и проектирование спецификаций системы), в то время как сложность и трудоемкость последующих этапов остается относительно невысокой. Для преодоления сложностей начальных этапов разработки предназначен структурный анализ - метод исследования, которое начинается с общего обзора системы и затем детализуется, приобретая иерехическую структуру со все большим числом уровней. На каждом уровне рассматривается ограниченное число элементов (обычно от 3 до 6-8), каждый из которых в свою очередь может быть декомпозирован на составляющие детали на следующем уровне. При этом соблюдаются строгие формальные правила записи информации (обычно используются диаграммы различных типов).

Такая технология получила название CASE (Computer Aided Software Engeneering - создание программного обеспечения с помощью компьютера). Основные черты CASE - технологии:

  • использование методологии структурного проектирования "сверху-вниз"
  • разработка прикладной системы представляется в виде последовательных четко определенных этапов:

Рис. 3. Этапы разработки прикладной системы

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

Как правило, CASE-системы поддерживают следующие этапы процесса разработки:

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


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

Реляционное моделирование - преобразование модели "сущность-связь" в соответствии с требованиями реляционной модели (реляционная модель допускает только бинарные связи, не разрешает существование атрибутов у связей, не поддерживает связи типа n : m).

Генерация схемы базы данных. Результатом выполнения данного этапа является набор SQL-операторов, описывающих создание схемы базы данных (CREATE TABLE, CREATE INDEX), с учетом особенностей целевой СУБД.

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

3.1. Обзор программного продукта Westmount I-CASE

Westmount I-CASE представляет собой интегрированный программный продукт, обеспечивающий выполнение следующих функций [5]:

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

Westmount I-CASE можно использовать в конфигурации "клиент-сервер", при этом база проектных данных может располагаться на сервере, а рабочие места разработчиков могут быть клиентами [5].

Westmount I-CASE функционирует на всех основных UNIX-платформах и VMS. В качестве целевой СУБД могут использоваться ORACLE, Informix, Sybase и Ingres.