На этом шаге рассмотрим понятия диаграммы размещения в UML.
Диаграммы размещения – это один из двух видов диаграмм, используемых при моделировании физических аспектов объектно-ориентированной системы. Такая диаграмма представляет конфигурацию узлов, где производится обработка информации, и показывает, какие артефакты размещены на каждом узле.
Диаграммы размещения используются для моделирования статического представления системы с точки зрения размещения. В основном под этим понимается моделирование топологии аппаратных средств, на которых работает система. По существу, диаграммы размещения – это просто диаграммы классов, сосредоточенные на системных узлах.
Диаграммы размещения важны не только для визуализации, специфицирования и документирования встроенных, клиент-серверных и распределенных систем, но и для управления исполняемыми системами с использованием прямого и обратного проектирования.
При создании программной системы вы как разработчик программного обеспечения обращаете внимание в первую очередь на архитектуру и размещение своих программ в вычислительной среде. Но в качестве системного инженера вы заинтересованы главным образом в аппаратных и программных средствах системы и в том, как достичь оптимального их сочетания. Иными словами, разработчики программного обеспечения имеют дело с неосязаемыми артефактами вроде модели и кода, а разработчики систем – еще и с аппаратурой, вполне осязаемой.
Хотя основное назначение языка UML – визуализация, специфицирование, конструирование и документирование программных артефактов, он применим также и для работы с аппаратными артефактами. Из этого не следует, что UML – универсальный язык описания аппаратных средств наподобие VHDL. Однако он все же способен моделировать многие аппаратные аспекты системы, чего разработчику программного обеспечения достаточно для описания платформы, на которой система будет работать, а системному инженеру – для сопряжения программных и аппаратных средств.
В UML представление о структуре программной системы дают диаграммы классов и компонентов. Для специфицирования поведения программ применяются диаграммы последовательности, коммуникации, состояния и деятельности. А на стыке программной и аппаратурной сфер находятся диаграммы размещения, позволяющие говорить о топологии процессоров и устройств, на которых выполняется система.
В UML диаграммы размещения используются для визуализации статических аспектов физических узлов и их взаимосвязей, а также для описания их деталей, которые имеют отношения к конструированию систем (см. рис. 1).
Рис.1. Диаграмма размещения
На диаграмме размещения (deployment diagram) показана конфигурация обрабатывающих узлов и артефактов, размещенных в этих узлах. Диаграмма размещения представлена в виде графа с ребрами и вершинами.
Диаграмма размещения обладает общими свойствами, присущими всем диаграммам, – именем и графическим содержанием, которое отражает одну из проекций модели. От других диаграмм отличается своим специфическим наполнением.
Диаграммы размещения обычно включают в себя узлы, а также связи зависимости и ассоциации; подобно всем прочим диаграммам, могут содержать примечания и ограничения. На диаграммах размещения бывают представлены артефакты, каждый из которых должен располагаться на каком-нибудь узле, а кроме того, пакеты или подсистемы, – и те и другие используются для группирования элементов модели в крупные блоки. Иногда бывает полезно поместить в диаграмму объектов еще и экземпляры, особенно если вы хотите визуализировать один экземпляр из семейства топологии аппаратных средств.
Во многих отношениях диаграмма размещения является разновидностью диаграмм классов, фокусирующей внимание прежде всего на системных узлах.
Диаграммы размещения используются для моделирования статического вида системы с точки зрения размещения. Это представление в первую очередь обращено на распределение, поставку и установку частей, из которых состоит физическая система.
Есть несколько типов систем, для которых диаграммы размещения не нужны. Если вы разрабатываете программу, исполняемую на одной машине и обращающуюся только к стандартным устройствам на этой же машине, управление которыми полностью возложено на операционную систему (возьмем для примера клавиатуру, дисплей и модем персонального компьютера), то диаграммы размещения можно игнорировать. Но если разрабатываемая программа обращается к устройствам, которыми операционная система обычно не управляет, или эта программа физически размещена на разных процессорах, то диаграмма размещения поможет выявить отношения между программными и аппаратными средствами.
При моделировании статического представления системы с точки зрения размещения диаграммы размещения используются, как правило, в трех случаях:
На следующем шаге рассмотрим типичные приемы моделирования встроенной системы в UML.