На этом шаге рассмотрим отличия узлов и артефактов в UML.
Во многих отношениях узлы подобны артефактам. Те и другие наделены именами, могут участвовать в связях зависимости, обобщения и ассоциации, бывают вложенными, могут иметь экземпляры и вступать во взаимодействия. Однако между ними есть и существенные различия:
Первое из этих отличий самое важное. Суть его проста: узлы исполняют артефакты, артефакты работают на узлах.
Второе различие предполагает наличие некоторой связи между классами, артефактами и узлами. В самом деле, артефакт – это материализация множества логических элементов, таких как классы и кооперации, а узел – место, на котором размещены артефакты. Класс может быть реализован одним или несколькими артефактами, а артефакт, в свою очередь, размещен в одном или нескольких узлах. Как показано на рис. 1, связь между узлом и артефактами, которые на нем размещены, может быть явно изображена с помощью вложенности.
Рис.1. Узлы и артефакты
Как правило, вам не придется визуализировать такие связи. Лучше обозначать их как часть спецификации узла, используя, например, таблицу.
Множество объектов или артефактов, приписанных к узлу как группа, называется элементом распределения (distribution unit).
Узлы подобны классам в том отношении, что для них можно задать атрибуты и операции. Например, можно указать, что у узла есть атрибуты скоростьПроцессора и память, а также операции включить, выключить, приостановить.
На следующем шаге рассмотрим организацию узлов в UML.