Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

Содержание:

ВЕДЕНИЕ

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

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

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

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

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

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

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

Список использованных источников включает 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.

В качестве отдельного продукта поставляется интерфейс Westmount-Uniface Bridge, обеспечивающий совместное использование двух систем в рамках единой технологической среды проектирования (при этом схемы БД, структурные схемы программ и последовательности экранных форм непосредственно в режиме on-line, без создания каких-либо файлов экспорта- импорта, переносятся в репозиторий Uniface, и, наоборот, прикладные модели, сформированные средствами Uniface, могут быть перенесены в репозиторий Westmount I-CASE. Возможные рассогласования между репозиториями двух систем устраняются с помощью специальной утилиты).

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

3.2. Обзор программного продукта Uniface

Uniface представляет собой среду разработки крупномасштабных приложений "клиент-сервер" и имеет следующую компонентную архитектуру [6]:

  • Application Objects Repository (репозиторий объектов приложений) содержит метаданные, автоматически используемые всеми остальными компонентами на протяжении жизненного цикла ИС.
  • Application Model Manager поддерживает прикладные модели, каждая из которых представляет собой подмножество общей схемы БД с точки зрения данного приложения.
  • Rapid Application Builder - средство быстрого создания экранных форм и отчетов на базе объектов прикладной модели. Оно включает графический редактор форм, средства прототипирования, отладки, тестирования и документирования. Реализован интерфейс с разнообразными типами оконных элементов управления (Open Widget Interface) для существующих графических систем - MS Windows (включая VBX), Motif, OS/2.
  • Developer Services (службы разработчика) - используются для поддержки крупных проектов и реализуют контроль версий, права доступа, глобальные модификации и т.д. Это обеспечивает разработчиков средствами параллельного проектирования, входного и выходного контроля, поиска, просмотра, поддержки и выдачи отчетов по данным системы контроля версий.
  • Deployment Manager (управление распространением приложений) - средства, позволяющие подготовить созданное приложение для распространения, установить и сопровождать его (при этом платформа пользователя может отличаться от платформы разработчика). В их состав входят сетевые драйверы и драйверы СУБД, сервер приложений (полисервер), средства распространения приложений и управления базами данных. Uniface поддерживает интерфейс практически со всеми известными программно- аппаратными платформами, СУБД, CASE-средствами, сетевыми протоколами и менеджерами транзакций.
  • Personal Series (персональные средства) - используются для создания сложных запросов и отчетов в графической форме, а также для переноса данных в такие системы, как WinWord и Excel.

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

3.3. Обзор программного продукта MS Visio

MS Visio [4] – часть пакета Microsoft Office, предназначенная для построения разного рода диаграмм. Рассматриваемая версия продукта – MS Visio 2007.

1. Поддерживается UML 2.0.

2. Не поддерживается функция генерации исходных кодов.

3. Не поддерживается функция обратного инжиниринга.

4. Поддерживаются базы данных MS Access, MS SQL Server, Oracle, IBM DB2, ODBC, OLE DB.

5. Visio Professional интегрируется с Microsoft Office Project.

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

7. Реализована функция создания отчетов.

8. Среда функционирования – Windows.

9. Цена лицензии составляет от $200 до $600.

10. Реализованы отмена/повтор действий пользователя.

11. Другие функциональные особенности [3]:

i. использование предопределенных фигур Visio Professional, drag-and-drop и мастера, позволяет создавать понятные и информативные диаграммы;

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

iii. прототипирование интерфейса приложений с помощью встроенных шаблонов пользовательского интерфейса Microsoft Windows XP, что позволяет создавать модель пользовательского интерфейса в стандартном Windows XP-стиле;

iv. создание диаграмм баз данных, инженерных диаграмм, диаграмм сетевых ресурсов, диаграмм разработки ПО и web-приложений;

v. экспорт диаграмм в SVG-формат или сохранение их как web-страниц;

vi. наличие инструмента для создания пользовательских диаграмм.

Рис. 4. Интерфейс программы MS Visio

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

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

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

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

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

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

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