Учебники

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

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

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

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

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

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

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

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

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

Занятия в системе

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

Отношения

  • Банк имеет «a – a» количество филиалов — состав, один ко многим

  • Филиал с ролью Зональный головной офис контролирует другие филиалы — унарное объединение, один ко многим

  • Филиал «имеет – a» количество счетов — агрегация, один ко многим

Банк имеет «a – a» количество филиалов — состав, один ко многим

Филиал с ролью Зональный головной офис контролирует другие филиалы — унарное объединение, один ко многим

Филиал «имеет – a» количество счетов — агрегация, один ко многим

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

  • У Клиента может быть один Текущий счет — ассоциация, один к одному

  • У Клиента может быть один Сберегательный счет — ассоциация, один к одному

  • Филиал «имеет – a» количество ссуд — агрегация, один – ко-многим

  • Клиент может взять много кредитов — объединение, один ко многим

У Клиента может быть один Текущий счет — ассоциация, один к одному

У Клиента может быть один Сберегательный счет — ассоциация, один к одному

Филиал «имеет – a» количество ссуд — агрегация, один – ко-многим

Клиент может взять много кредитов — объединение, один ко многим

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

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

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

Диаграмма объектов банковской системы

Диаграмма компонентов

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

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

  • Компоненты
  • Интерфейсы
  • Отношения
  • Пакеты и подсистемы (необязательно)

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

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

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

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

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

построение систем с помощью прямого и обратного проектирования.

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

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

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

пример

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

Диаграмма компонентов

Диаграмма развертывания

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

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

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

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

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

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

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

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

пример

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