На этом шаге рассмотрим понятие узла в UML.
Узлы, равно как и артефакты, существуют в материальном мире и являются важными строительными блоками при моделировании физических аспектов системы. Узел – это физический элемент, который существует во время выполнения и представляет вычислительный ресурс, обычно обладающий как минимум некоторым объемом памяти, а зачастую также и процессором.
Узлы используются для моделирования топологии аппаратных средств, на которых работает система. Как правило, узел – это процессор или устройство, на котором могут быть размещены артефакты.
Хорошо спроектированные узлы точно соответствуют словарю аппаратного обеспечения области решения.
Артефакты, которые вы разрабатываете или повторно используете в программной системе, должны быть размещены на какой-то аппаратуре, иначе они не смогут выполняться. Собственно, программная система и состоит из этих двух частей: программного и аппаратного обеспечения.
При проектировании архитектуры программной системы приходится рассматривать как логические, так и физические аспекты. К логическим элементам относятся такие сущности, как классы, интерфейсы, кооперации, взаимодействия и автоматы, а к физическим – артефакты (представляющие физическую упаковку логических сущностей) и узлы (представляющие аппаратуру, на которой размещаются и выполняются артефакты).
Графическое изображение узла в UML показано на рис. 1.
Рис.1. Узлы
Это каноническое обозначение позволяет визуализировать узел, не конкретизируя стоящей за ним аппаратуры. С помощью стереотипов – одного из механизмов расширения UML – можно адаптировать эту нотацию для представления конкретных процессоров и устройств.
Язык UML предназначен главным образом для моделирования программных систем, хотя в сочетании с языками моделирования аппаратных средств типа VHDL он может оказаться весьма полезным и при моделировании аппаратных систем. Кроме того, UML обладает достаточной выразительной мощностью для моделирования топологии автономных (stand-alone), встроенных (embedded), клиент-серверных (client-server) и распределенных (distributed) систем.
Узел (Node) – это физический элемент, который существует во время выполнения и представляет вычислительный ресурс, обычно обладающий как минимум некоторым объемом памяти, а зачастую и процессором. Изображается в виде куба.
На следующем шаге рассмотрим имена узлов в UML.