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

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

Содержание:

ВВЕДЕНИЕ

Проектирование информационных систем является сложным многоэтапным процессом их создания и/или модернизации. В процессе проектирования работа ведется с временно несуществующими объектами и направлена на создание информационных систем в области:

  • обработки объектов будущей базы данных;
  • написания программ (в том числе – отчётных и экранных форм), обеспечивающих выполнение запросов к данным;
  • выполнения учёта функционирования конкретной среды (технологии).

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

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

Цель работы – освоить приемы проектирования информационных систем с помощью унифицированного языка моделирования (UML).

Для реализации цели поставлены и решены следующие задачи:

  • изучить основные понятия и структуру информационных систем;
  • рассмотреть особенности применения объектно-ориентированного подхода в проектировании информационных систем;
  • изучить компоненты диаграмм UML;
  • изучить основы создания диаграмм поведения и структурных диаграмм.

ГЛАВА 1 ОСНОВЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА ПРИ ПРОЕКТИРОВАНИИ ИНФОРМАЦИОННОЙ СИСТЕМЫ

1.1 Понятие и состав информационной системы

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

Информационная система представляет собой интегрированный набор компонентов, предназначенных для сбора, хранения и обработки данных, а также для предоставления информации, знаний и цифровых продуктов. Организации или предприятия в первую очередь полагаются на эти системы для управления операциями, взаимодействиями с клиентами и поставщиками и конкурируют на рынке. Существует несколько типов информационных систем, в том числе следующие [1,2]:

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

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

Основными компонентами информационных систем являются:

  1. Компьютерное оборудование.

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

Крупные организации обычно используют распределенные компьютерные системы, от мощных серверов параллельной обработки, расположенных в центрах обработки данных, до широко рассредоточенных персональных компьютеров и мобильных устройств, интегрированных в информационные системы организации [1,2].

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

Стоимость аппаратного обеспечения постоянно и быстро снижается, а скорость обработки и объем хранения значительно возросли. Это развитие происходило по закону Мура: мощность микропроцессоров в основе вычислительных устройств удваивалась примерно каждые 18-24 месяца. Тем не менее, аппаратные средства используют электроэнергию и ее воздействие на окружающую среду – это проблемы, которые решают проектировщики. Все чаще компьютерные услуги и службы хранения данных предоставляются из облака – из общих средств доступа к телекоммуникационным сетям.

  1. Компьютерное программное обеспечение

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

Прикладное программное обеспечение представляет собой программы, предназначенные для решения конкретных задач для пользователей. Приложения для смартфонов стали обычным способом доступа физических лиц к информационным системам. Другие примеры включают в себя наборы приложений общего назначения с их электронными таблицами и программами для обработки текстов, а также «вертикальные» приложения, которые обслуживают определенный отраслевой сегмент – например, приложение, которое планирует, маршрутизирует и отслеживает доставку пакетов для фирмы доставки. Более крупные фирмы используют лицензионные приложения, разработанные и поддерживаемые специализированными компаниями-разработчиками программного обеспечения, настраивая их в соответствии с их конкретными потребностями.

Компании также могут использовать приложения, предоставляемые в виде программного обеспечения как услуги (SaaS) из облака через Интернет. Проприетарное программное обеспечение, доступное и поддерживаемое его поставщиками, выбирают не всегда, поскольку существует программное обеспечение с открытым исходным кодом, доступное в Интернете для бесплатного использования и модификации по лицензии, которая защищает его доступность в будущем [1-3].

  1. Телекоммуникации

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

Проводные технологии включают в себя коаксиальный кабель и оптоволокно. Беспроводные технологии основаны преимущественно на передаче микроволн и радиоволн. Распространенные информационные системы возникли с вычислительными устройствами, встроенными во многие различные физические объекты. Например [2], датчики, такие как устройства радиочастотной идентификации (RFID), могут быть присоединены к продуктам, движущимся по цепочке поставок, чтобы обеспечить возможность отслеживания их местоположения и мониторинга их состояния. Беспроводные сенсорные сети, интегрированные в Интернет, могут генерировать огромные объемы данных, которые можно использовать для поиска более высокой производительности или для мониторинга среды. Возможны различные конфигурации компьютерных сетей, в зависимости от потребностей организации. Локальные сети объединяют компьютеры в определенном месте, например в офисном здании. Городские сети охватывают ограниченную густонаселенную территорию и являются электронной инфраструктурой «умных городов». Глобальные сети соединяют широко распределенные центры обработки данных, часто управляемые различными организациями. Одноранговые сети без централизованного управления обеспечивают широкий обмен контентом. Интернет объединяет миллиарды компьютеров, расположенных по всему миру [2,3].

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

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

В коммуникациях применяется «Интернет вещей», поскольку датчики и исполнительные механизмы широко распространены в физической среде и предоставляют данные, такие как кислотность почвы, скорость вождения транспортного средства или индивидуальное кровяное давление. Доступность такой информации позволяет быстро реагировать при необходимости, а также принимать устойчивые решения на основе обработки накопленных массивов данных [1,2].

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

  1. База данных

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

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

Сбор и обработка количественных или структурированных данных, а также текстовых данных, часто собираемых в Интернете, превратились в широкую инициативу, известную как «большие данные». Много преимуществ могут возникнуть в результате решений, основанных на фактах, отраженных в больших данных. Например, экономия ресурсов в результате избежания потерь и рекомендации новых продуктов (книги, фильмы и др.), основанные на интересах пользователя.

  1. Человеческие ресурсы и процедуры.

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

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

Взаимосвязи компонентов информационной системы показаны на рисунке 1 [3].

Рисунок 1. Компоненты информационной системы

1.2 Характеристики и особенности объектно-ориентированного проектирования

В объектно-ориентированном подходе основное внимание уделяется отражению структуры и поведения информационных систем в небольших модулях, объединяющих как данные, так и процессы. Основная цель объектно-ориентированного проектирования – повысить качество и производительность системного анализа и проектирования, сделав его более удобным для использования. К основным элементам объектно-ориентированных систем относятся [1,4]:

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

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

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

Поведение – определяет, что может делать объект и операцию, выполняемую над объектами.

Класс – инкапсулирует данные и их поведение. Объекты с похожим значением и целью сгруппированы как класс. Желание размещать предметы в классах не ново. Описание мира, состоящего из животных, овощей и минералов, является примером классификации. Научный подход включает в себя классы животных (например, млекопитающие), а затем разделяет классы на подклассы [4].

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

Объекты представлены и сгруппированы в классы, которые являются оптимальными для повторного использования и обслуживания. Класс определяет набор общих атрибутов и поведений в каждом объекте класса. Например, записи для студентов в разделе курса содержат аналогичную информацию, хранящуюся для каждого студента. Можно сказать, что студенты – это класс. Значения могут быть разными для каждого учащегося, но тип информации одинаков [3,4].

Методы – определяют поведение класса и являются действием, которое может выполнить объект.

Сообщение – это вызов функции или процедуры от одного объекта к другому. Это информация, отправляемая объектам для запуска методов. По сути, сообщение – это вызов функции или процедуры от одного объекта к другому.

Пример объекта и класса объектно-ориентированной системы приведен на рисунке 2 [2,4].

Описание: http://citforum.ru/pictures/it/oop_rsis/image250.gif

Рисунок 2. Элементы объектно-ориентированной системы

Объектно-ориентированная система имеет несколько отличительных функций, рассмотренных ниже [4].

Инкапсуляция – это сочетание процесса и данных в едином объекте. Данные объекта скрыты от остальной системы и доступны только через сервисы класса. Это позволяет улучшить или модифицировать методы, используемые объектами, не затрагивая другие части системы.

Абстракция – это процесс выбора необходимого метода и атрибутов для указания объекта. Основное внимание уделяется характеристикам объекта.

Отношения – все классы в системе связаны друг с другом. Объекты не существуют изолированно, они существуют во взаимосвязи с другими объектами. Есть три типа отношений:

  1. Агрегация – указывает на связь между целым и его частями.
  2. Ассоциация – связь двух классов, например, один класс работает с другим для выполнения задачи или один класс воздействует на другой класс.
  3. Обобщение – дочерний класс основан на родительском классе. Это указывает на то, что два класса похожи, но имеют некоторые различия.

Наследование – это отличная функция, которая позволяет создавать подклассы из существующего класса, наследуя атрибуты и/или операции существующих классов.

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

Таким образом, объектно-ориентированная модель имеет следующие преимущества [5]:

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

ГЛАВА 2 ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ СРЕДСТВАМИ UML

Unified Modeling Language (UML) – это язык моделирования общего назначения. Основная цель UML – определить стандартный способ визуализации способа, которым была разработана система. Это очень похоже на чертежи, используемые в других областях техники.

UML не является языком программирования, это скорее визуальный язык. Диаграммы UML применяются, чтобы изобразить поведение и структуру системы. UML помогает разработчикам программного обеспечения, бизнесменам и системным архитекторам моделировать, проектировать и анализировать. Стандарт UML принят в 1997 году [6].

UML применяется на этапах объектно-ориентированного проектирования и анализа. Применение элементов и создание связей между ними формирует диаграммы. Диаграммы в UML можно широко классифицировать на:

  1. Диаграммы поведения.

Отражают динамические аспекты или поведения системы. Диаграммы поведения включают в себя: диаграммы вариантов, диаграммы состояний, диаграммы действий и диаграммы взаимодействия.

  1. Структурные диаграммы.

Отражают статические аспекты или структуру системы. Структурные диаграммы включают в себя: диаграммы компонентов, диаграммы объектов, диаграммы классов и диаграммы развертывания [7].

2.1 Диаграммы поведения

Диаграммы вариантов используются для сбора требований системы, включая внутренние и внешние воздействия. Это в основном проектные требования. Следовательно, когда система анализируется для сбора ее функциональных возможностей, готовятся варианты использования и определяются действующие лица. Можно сказать, что варианты использования – это не что иное, как системные функции, написанные организованным образом. Второе, что относится к вариантам использования, – это актеры. Актерами могут быть пользователи, некоторые внутренние приложения или некоторые внешние приложения.

Перед составлением диаграммы вариантов необходимо определить следующие ее элементы [6,7]:

  • актеры;
  • отношения между вариантами использования и актерами;
  • функциональные возможности должны быть представлены как вариант использования.

После определения элементов, необходимо выполнить следующие рекомендации для эффективного использования [8]:

  1. Имена вариантов и актеров должны быть выбраны таким образом, чтобы они могло идентифицировать выполняемые функции.
  2. отношения и зависимости на диаграмме необходимо четко показать.
  3. Не нужно включать все типы отношений, так как основная цель диаграммы – определить требования.
  4. Использовать примечания нужно, когда необходимо уточнить некоторые важные моменты.

Пример диаграммы вариантов для ресторана приведен на рисунке 3. Актерами являются кулинарный критик (food critic) и шеф-повар (chef). Вариантами служат возможные действия актеров. Критик может поесть, выпить вино, заплатить. Шеф-повар может приготовить еду. Таким образом, диаграмма показывает возможные варианты действий актеров в системе (ресторане) [6,8].

Описание: C:\Users\Администратор\Desktop\1200px-UML_Use_Case_diagram.svg.png

Рисунок 3. Диаграмма вариантов

Основное назначение диаграммы состояний – изобразить различные изменения в состоянии класса, а не процессы или команды, вызывающие эти изменения (рисунок 4) [6,8].

Описание: C:\Users\Администратор\Desktop\UML-State-Diagram-1.png

Рисунок 4. Диаграмма состояний для проверки пользователя

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

Основные компоненты диаграммы состояний:

1. Начальное состояние – черный кружок, обозначающий начальное состояние системы или класса (рисунок 5).

Описание: C:\Users\Администратор\Desktop\UML-State-Diagram-11.png

Рисунок 5. Обозначение начального состояния

2. Переход – сплошная стрелка для обозначения перехода из одного состояния в другое или изменения управляющего направления. Над стрелкой указано событие, которое вызывает изменение состояния (рисунок 6).

Описание: C:\Users\Администратор\Desktop\UML-State-Diagram-12.png

Рисунок 6. Переход между состояниями

3. Состояние – скругленный прямоугольник. Состояние представляет условия или обстоятельства объекта класса в момент времени (рисунок 7).

Описание: C:\Users\Администратор\Desktop\UML-State-Diagram-13.png

Рисунок 7. Обозначение состояния

4. Развилка – скругленная сплошная жирная линия с входящей стрелкой из родительского состояния и исходящими стрелками в направлении вновь созданных состояний. Представление развилка используется для представления состояния, разбивающегося на два или более состояния (рисунок 8) [7,8].

Описание: C:\Users\Администратор\Desktop\UML-State-Diagram-14.png

Рисунок 8. Диаграмма с использованием обозначения развилки

5. Соединение – округлая сплошная жирная линия с входящими стрелками из состояний соединения и исходящей стрелкой в направлении общего состояния цели. Используется, когда два или более состояний одновременно сходятся в одно при возникновении события или событий (рисунок 9) [6,8].

Описание: C:\Users\Администратор\Desktop\UML-State-Diagram-1-1.png

Рисунок 9. Диаграмма с использованием обозначения соединения

6. Самопереход – сплошная стрелка, указывающая назад на само состояние, чтобы представить самопереход. Могут быть сценарии, когда состояние объекта не изменяется при наступлении события (рисунок 10) [8].

Описание: C:\Users\Администратор\Desktop\UML-State-Diagram-11-1.png

Рисунок 10. Обозначение самоперехода

7. Составное состояние – скругленный прямоугольник. Составное состояние представляет состояние с внутренними действиями (рисунок 11).

Описание: C:\Users\Администратор\Desktop\UML-State-Diagram-12-1.png

Рисунок 11. Составное состояние

8. Конечное состояние – закрашенный круг. Показывает конечное состояние подсистемы или системы (рисунок 12).

Описание: C:\Users\Администратор\Desktop\UML-State-Diagram-13-1.png

Рисунок 12. Обозначение конечного состояния

Для построения диаграммы состояния выполняют следующие шаги [8,9]:

1. Определить начальное состояние и конечные состояния объекта или системы.

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

3. Промаркировать события, которые запускают эти переходы.

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

Диаграммы последовательности могут иллюстрировать последовательность взаимодействий между классами или экземплярами объектов во времени. Диаграммы последовательности часто используются для иллюстрации обработки, описанной в сценариях использования. На практике диаграммы последовательности выводятся из анализа прецедентов и используются в проектировании систем для определения взаимодействий, отношений и методов объектов в системе. Символы, используемые в диаграммах последовательности, показаны в таблице 1 [9].

Таблица 1

Символы диаграммы последовательности

objectName:

Имя с двоеточием после него представляет объект.

:class

Двоеточие с именем после него представляет класс.

objectName:class

Имя, сопровождаемое двоеточием и другим именем, представляет объект в классе.

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

Рисунок 13. Диаграмма последовательности

Вертикальная линия представляет линию жизни для класса или объекта, которая соответствует времени от момента его создания до момента его уничтожения. «X» в нижней части линии жизни указывает, когда объект разрушен. Боковая полоса или вертикальный прямоугольник на линии жизни показывает фокус управления, когда объект занят чем-то [9,10].

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

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

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

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

Диаграмма взаимодействия подчеркивает организацию объектов, тогда как диаграмма последовательности подчеркивает порядок сообщений во времени. Диаграмма взаимодействия указывает, как один объект связан с другим [9].

Пример диаграммы для приема студентов показан на рисунке 14. На диаграмме показаны связи, образующиеся при зачислении нового студента: новый студент – личный данные, новый студент – номер спальни, новый студент – программа обучения [9,10].

Рисунок 14. Диаграмма взаимодействия

2.2 Структурные диаграммы

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

Диаграммы компонентов используются для визуализации организации и отношений между компонентами в системе. Эти диаграммы также используются для создания исполняемых систем [8,10].

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

Назначение диаграммы компонентов можно суммировать как [10]:

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

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

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

Перед составлением диаграммы компонентов необходимо четко определить следующее [11]:

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

На рисунке 15 приведена диаграмма компонентов системы управления заказами. На диаграмме определены четыре файла и созданы их отношения.

Описание: UML Component Diagram

Рисунок 15. Диаграмма компонентов

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

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

Диаграмма объектов похожа на диаграмму классов, за исключением того, что она показывает экземпляры классов в системе и отношений между ними в определенный момент времени [11,12].

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

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

Пример класса и соответствующего ему объекта приведен на рисунке 16. В данном случае классов будет являться Банковский счет (слева), а объектом – банковский счет №1 [10,12].

Описание: C:\Users\Администратор\Desktop\UML-Object-Diagram.png

Рисунок 16. Класс и объект класса

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

Спецификации объектов или экземпляров.

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

Представление объекта на диаграмме объектов показано на рисунке 17 [12].

Описание: C:\Users\Администратор\Desktop\UML-Object-Diagram-2.png

Рисунок 17. Представление объекта

На рисунке 18 два объекта класса Студент (Student) связаны с объектом класса Колледж (College).

Описание: C:\Users\Администратор\Desktop\UML-Object-Diagram-21.png

Рисунок 18. Диаграмма объектов с использованием связей и 3 объектов

  1. Связи используются для представления отношений между двумя объектами. Количество участников в связи указывается на каждом из ее концов. Термин связь используется для указания взаимосвязи между двумя спецификациями экземпляров или объектами. Представления связи между двумя объектами выполняется сплошной линией. Примеры связей приведены в таблице 2 [12,13].

Таблица2

Примеры связей в диаграмме объектов

Представление

Значение

0..1

0 или 1

1

Только 1

0..*

0 или больше

*

0 или больше

1

1 или больше

7

Только 7

0..2

0 или 2

4..7

от 4 до 7

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

Для атрибутов и операций существует три типа модификаторов, которые используются для определения их видимости [11,12]:

+ используется для публичного просмотра (для всех);

# используется для защищенной видимости (для друга и получателя);

- используется для личной видимости (только для меня).

На рисунке 19 пример класса Животные (родительского), в котором два дочерних класса, как Собака, так и Кот, имеют объект d1, c1, наследующий свойства родительского класса.

Рисунок 19. Диаграмма классов

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

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

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

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

Назначение диаграмм развертывания можно описать как [12,14]:

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

Эффективная диаграмма развертывания очень важна, так как она контролирует следующие параметры:

  • производительность;
  • масштабируемость;
  • ремонтопригодность;
  • портативность.

Перед составлением диаграммы развертывания должны быть идентифицированы вершины и отношения между узлами.

На рисунке 20 приведен пример диаграммы развертывания для представления системы управления заказами. На рисунке обозначены следующие узлы: монитор, модем, распределительный сервер, сервер [13,14].

Диаграммы развертывания можно представить как аппаратные компоненты / узлы, на которых находятся программные компоненты. Диаграммы развертывания могут быть использованы для [12,14]:

  • моделирования аппаратной топологии системы;
  • моделирования встроенной системы;
  • моделирования аппаратных деталей для системы клиент / сервер;
  • моделирования аппаратных деталей распределенного приложения;
  • прямого и обратного проектирования.

Описание: C:\Users\Администратор\Desktop\uml_deployment_diagram.jpg

Рисунок 20. Диаграмма развертывания

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

    1. Анисимов В.В. Проектирование информационных систем / В.В. Анисимов, Электронный ресурс: https://sites.google.com/ site/anisimovkhv/learning/pris.
    2. Коцюба И.Ю. Основы проектирования информационных систем. Учебное пособие / И.Ю. Коцюба, А.В. Чунаев, А.Н. Шиков – СПб: Университет ИТМО, 2015. – 206 с.
    3. Воройский Ф. С. Основы проектирования автоматизированных библиотечно-информационных систем / Ф.С. Воройский. – М.: ФИЗМАТЛИТ, 2016. – 384 c.
    4. Ипатова Э. Р. Методологии и технологии системного проектирования информационных систем / Э.Р. Ипатова, Ю.В. Ипатов. – М.: Флинта, 2016. – 256 c.
    5. Гома Х. UML. Проектирование систем реального времени, распределенных и параллельных приложений / Х. Гома. – М.: ДМК, 2016.
      – 700 c.
    6. Йордан Э. Объектно-ориентированный анализ и проектирование систем / Э. Йордан. – М.: Лори, 2017. – 264 c.
    7. Коваленко В.В. Проектирование информационных систем: Учебное пособие / В.В. Коваленко. – М.: Форум, 2016. – 320 c.
    8. Баунфорд Цифровые диаграммы / Баунфорд, Тревор. - М.: АСТ, 2017. - 192 c.
    9. Боггс М. UML и Rational Rose / М. Боггс. – Москва: РГГУ, 2016.
      – 438 c.
    10. Буч Г. UML. Руководство пользователя / Г. Буч, Д. Рамбо, А. Джекобсон. – М.: ДМК Пресс; Издание 2-е, стер., 2014. – 432 c.
    11. Ларман Крэг Применение UML и шаблонов проектирования /
      Крэг Ларман. – М.: Вильямс, 2015. – 624 c.
    12. Ларман Крэг Применение UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку / Крэг Ларман. – Москва: Гостехиздат, 2017. - 736 c.
    13. Леоненков, А. В. Объектно-ориентированный анализ и проектирование с использованием UML и IBM Rational Rose / А.В. Леоненков. – Москва: Высшая школа, 2015. – 320 c.
    14. Мюллер Р. Дж. Базы данных и UML. Проектирование /
      Р. Дж. Мюллер. – М.: ЛОРИ, 2017. – 420 c.