ZuboLom.ru

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

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

На таких диаграммах обычно выделяют 2 типа компонентов:

  • исполняемые компоненты
  • библиотеки кода

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


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

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

В данном случае система разрабатывается на языке C++. У каждого класса имеет свой собственный заголовочный файл (расширение *.h) и файл тела класса (расширение *.cpp).

Например, класс "АТМ-Экран" преобразуется в компонент АТМ-Экрана (тело и заголовок класса).

Выделенный темный компонент называется спецификацией пакета и соответствует файлу тела класса "АТМ-Экран". Невыделенный компонент также называется спецификацией пакета, но соответствует заголовочному файлу класса.

Компонент "ATM.exe" называется спецификацией задачи и моделирует исполняемую программу. Например, класс "Устройство для чтения кредитной карты" зависит от класса "АТМ-Экран". Это означает, что для того, чтобы класс "Устройство чтения кредитной карты" могу быть скомпилирован, класс "АТМ-Экран" должен уже существовать.

После компиляции всех классов может быть создан исполняемый файл ATMClient.exe.

Банковская система содержит два потока управления и таким образом получается два исполняемых файла. Один из них - клиентская часть системы, которая содержит компоненты: "Устройство чтения кредитных карт", "АТМ-Экран", "Кассовый аппарат" и второй файл - это сервер, включающий в себя компонент "Account".


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

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

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