Файл: «Применение объектно-ориентированного подхода при проектировании информационной системы».pdf
Добавлен: 17.06.2023
Просмотров: 69
Скачиваний: 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]