24. Диаграммы развертывания (deployment diagram).
Диаграмма развертывания (Deployment diagram) – диаграмма, на которой представлены узлы выполнения программных компонентов реального времени, а также процессов и объектов.
Диаграмма развертывания применяется для представления общей конфигурации и топологии распределенной программной системы и содержит изображение размещения компонентов по отдельным узлам системы. Кроме того, диаграмма развертывания показывает наличие физических соединений – маршрутов передачи информации между аппаратными устройствами, задействованными в реализации системы.
Узел (Node) – это физический элемент, который существует во время выполнения и представляет вычислительный ресурс, обычно обладающий как минимум некоторым объемом памяти, а зачастую также и процессором. Графически узел изображается в виде куба.
На диаграмме развертывания кроме изображения узлов указываются отношения между ними. В качестве отношений выступают физические соединения между узлами, а также зависимости между узлами и компонентами, которые допускается изображать на диаграммах развертывания. Соединения являются разновидностью ассоциации и изображаются отрезками линий без стрелок. Наличие такой линии указывает на необходимость организации физического канала для обмена информацией между соответствующими узлами.
Во многих отношениях узлы подобны компонентам. Те и другие наделены именами, могут быть участниками отношений зависимости, обобщения и ассоциации, бывают вложенными, могут иметь экземпляры и принимать участие во взаимодействиях. Однако между ними есть и существенные различия:
- компоненты принимают участие в исполнении системы; узлы – это сущности, которые исполняют компоненты;
- компоненты представляют физическую упаковку логических элементов; узлы представляют средства физического размещения компонентов.
Первое из этих отличий самое важное. Здесь все просто – узлы исполняют компоненты, компоненты исполняются в узлах. Второе различие предполагает наличие некоего отношения между классами, компонентами и узлами. В самом деле, компонент – это материализация множества других логических элементов, таких как классы и кооперативные диаграммы, а узел – место, на котором развернут компонент.