OOAD - Структурированные диаграммы UML

Структурные схемы UML подразделяются на следующие категории: диаграмма классов, диаграмма объектов, диаграмма компонентов и диаграмма развертывания.

Диаграмма классов

Диаграмма классов моделирует статическое представление системы. Он состоит из классов, интерфейсов и взаимодействий системы; и отношения между ними.

Диаграмма классов системы

Давайте рассмотрим упрощенную банковскую систему.

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

На следующем рисунке показана соответствующая диаграмма классов.

Классы в системе

Банк, Филиал, Счет, Сберегательный счет, Текущий счет, Ссуда ​​и Клиент.

Отношения

  • A Bank “has–a” number of Branches - композиция, один ко многим

  • A Branch with role Zonal Head Office supervises other Branches - унарная ассоциация, один-ко-многим

  • A Branch “has–a” number of accounts - агрегирование, один-ко-многим

От класса Account унаследованы два класса, а именно: Сберегательный счет и Текущий счет.

  • A Customer can have one Current Account - общение один на один

  • A Customer can have one Savings Account - общение один на один

  • A Branch “has–a” number of Loans - агрегирование, один-ко-многим

  • A Customer can take many loans - ассоциация, один ко многим

Диаграмма объекта

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

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

Схема компонентов

Диаграммы компонентов показывают организацию и зависимости между группой компонентов.

Диаграммы компонентов состоят из:

  • Components
  • Interfaces
  • Relationships
  • Пакеты и подсистемы (необязательно)

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

  • построение систем путем прямого и обратного проектирования.

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

  • представление схем в модельных базах данных.

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

Example

На следующем рисунке показана диаграмма компонентов для моделирования исходного кода системы, разработанного с использованием C ++. Он показывает четыре файла исходного кода, а именно myheader.h, otherheader.h, priority.cpp и other.cpp. Показаны две версии myheader.h, от последней версии до ее предка. Файл priority.cpp зависит от компиляции other.cpp. Файл other.cpp имеет зависимость компиляции от otherheader.h.

Схема развертывания

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

Диаграммы развертывания используются для -

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

  • представляют топологии клиент-серверных систем.

  • модель полностью распределенных систем.

Example

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