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

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

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

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

Добавлен: 17.06.2023

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

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

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

ВВЕДЕНИЕ

Тема курсовой работы: Применение объектно-ориентированного подхода при проектировании информационной системы.

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

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

Основная задача информационной системы – это обеспечение процесса принятия решений или, другими словами, предоставление необходимой информации в нужное время в нужном месте.

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

К причинам неудачных разработок относятся:

  • недостаточно четкая и недостаточно полная формулировка требований к ПО;
  • неудовлетворительное планирование;
  • недостаточное вовлечение пользователей в работу над проек­том;
  • и т.д.

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

Среди специалистов, занимающихся ООП, можно выделить К. Дейта, А. Степанова, Э. Дейкстра и др.

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

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

Предмет исследования – объектно-ориентированный подход в проектировании ИС.

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

Задачи, направленные на достижение цели курсовой работы:


  • ознакомление с понятием «объектно-ориентированное проектирование»;
  • рассмотрение основ ООП, преимуществ и недостатков подхода;
  • ознакомление с понятием «язык UML»;
  • рассмотрение основных понятий, используемых в UML, структуры языка, видов диаграмм;
  • обзор некоторых средств проектирования, использующих ООП.

Основная часть курсовой работы состоит из трех глав.

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

Глава 1. Объектно-ориентированный подход: суть метода, преимущества и недостатки

Объектно-ориентированный анализ и проектирование (ООАиП) – это технология разработки ИС, в основу которых положена объектно-ориентированная методология представления предметной области в виде объектов, которые являются экземплярами соответствующих классов. [2]

Основными понятиями объек­тно-ориентированного проек­тирования (ООП) являются «объект», «класс».

Объект – это предмет или явление, которое имеет четко определенное поведение и обладает состоянием, индивидуальностью и поведением. [6]

Состояние объекта характеризуется переч­нем всех возможных свойств данного объек­та и текущими значе­ниями каждого из этих свойств. Поведение объек­та полностью определяется его действиями. Индивидуальность – это те свойства объекта, которые отличают данный объект от всех других объектов. [9]

Структура и поведение схожих между собой объектов определяют общий для них класс.

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

Опре­деление классов и объектов является одной из самых сложных задач ООП.

Целью применения ООП является выделение объектов, которые составляют организацию, а также распределение между ними ответственностей за выполняемые ими действия. В качестве объектов предметной области могут рассматриваться конкретные предметы, а также абстрактные или реальные сущности. При этом каждый объект характеризуется своим состоянием, набором операций для проверки и изменения данного состояния. Каждый рассматриваемый объект является представителем некоторого класса однотипных объектов, который определяет их общие свойства. Все экземпляры (представители) одного и того же класса имеют одинаковый набор операций и могут реагировать на одинаковые сообщения. [10]


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

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

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

В ООП используется объектная декомпозиция, при этом статиче­ская структура проектируемой ИС описывается в терминах объектов и связей между ними, само поведение системы описывается в терминах обме­на сообщениями ме­жду объектами. Отметим, что каждый объект системы обладает собственным поведе­нием, которое моделирует поведение объекта реального мира. [15]

Концептуальной основой ООП яв­ляется объектная модель, к основным элементам которой относятся:

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

Кроме основных элементов есть еще три дополнительных элемента, которые не являются строго обязательными:

  • типизация (ограничение, которое накладывается на класс объектов и пре­пятствует взаимозаменяемости различных классов);
  • устойчивость (свойство объекта существовать во времени и/или в пространстве);
  • параллелизм (свойство объектов находиться в активном/пассивном состоянии и различать активные и пассивные объекты между собой). [2]

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


К преимуществам ООП можно отнести следующее:

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

К недостаткам ООП можно отнести следующее:

  • порождение огромных иерархий классов;
  • дополнительные расходы памяти и процессорного времени при выполнении программ на некоторых ЯП, в которых все данные являются объектами, в том числе и элементарные типы;
  • реализация полиморфизма может снизить скорость выполнения программ. [6]

Выводы:

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

К основным понятиям ООП относятся «класс» и «объект».

Основными принципами ООП являются: инкапсуляция, наследие и полиморфизм.

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


 


 

Глава 2. Язык моделирования UML

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

Язык UML – это графический язык моделирования общего назначения, который предназначен для спецификации, проектирования, визуализации и документирования всех артефактов, которые создаются при разработке программных систем. [3]

Язык UML – это язык графического описания для объектного моделирования в области разработки ПО.

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


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

Выделяются следующие главные цели в разработке языка UML:

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

Язык UML имеет сложную иерархическую структуру, которая показана на рис.1. [1]

Рис. 1 – Структура языка UML

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

В языке UML имеется четыре вида сущностей:

  • структурная сущность;
  • поведенческая сущность;
  • группирующая сущность;
  • аннотационная сущность. [3]

Данные виды сущности составляют второй уровень структурного дерева языка UML.

Понятие «структурная сущность» объединяет семь видов пиктограмм: классы, активные классы, интерфейсы, прецеденты, кооперации, компоненты и узлы. Пиктограммы – это логические кирпичики, которые являются составляющими UML-диаграмм. [7]

Поведенческие сущности делятся на два вида диаграмм: взаимодействия, автоматы.

Группирующие и аннотационные сущности имеют по одному виду пиктограмм, которые называются пакетами и примечаниями соответственно. [3]

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

Третью ветвь структурного дерева языка UML составляют диаграммы.

UML-диаграмма – это графическое представление набора элементов, которое изображается чаще всего в виде связанного графа с вершинами (сущности) и ребрами (отношения). [4]

Диаграммы рисуются для визуализации системы с разных точек зрения.

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

  • Структурные диаграммы: диаграммы классов, диаграммы компонентов; диаграммы композитной (составной) структуры, диаграммы развёртывания, диаграммы объектов, диаграммы пакетов.
  • Диаграммы поведения: диаграммы деятельности, диаграммы состояний, диаграммы вариантов использования, диаграммы взаимодействия. [4]