Диаграмма развертывания, особенности ее построения
Лекция 11 по UML - 2009
1. Назначение и основные определения диаграмм развёртывания в целом
Физическое представление программной системы не может быть полным, если отсутствует информация о том, на какой платформе и на каких вычислительных средствах она реализована.
Если создается простая программа, которая может выполняться локально на компьютере пользователя, не используя никаких распределенных устройств и сетевых ресурсов, то необходимости в разработке дополнительных диаграмм нет. Однако при создании корпоративных или распределенных приложений требуется визуализировать сетевую инфраструктуру программной системы.
Сложные программные системы могут реализовываться:
· в сетевом варианте,
· на различных вычислительных платформах и
· технологиях доступа к распределенным базам данных.
Наличие локальной корпоративной сети требует решения целого комплекса дополнительных задач рационального размещения компонентов по узлам этой сети, что определяет общую производительность программной системы.
Интеграция программной системы с Интернетом определяет необходимость решения дополнительных вопросов при проектировании системы, таких как:
· обеспечение безопасности и
· устойчивости доступа к информации для корпоративных клиентов.
Эти аспекты в немалой степени зависят от реализации проекта в форме физически существующих узлов системы, таких как:
· серверы,
· рабочие станции,
· брандмауэры,
· каналы связи и
· хранилища данных.
Технологии доступа и манипулирования данными в рамках общей схемы "клиент-сервер" также требуют:
· размещения больших баз данных в различных сегментах корпоративной сети,
· их резервного копирования,
· архивирования,
· кэширования для обеспечения необходимой производительности системы в целом.
С целью спецификации программных и технологических особенностей реализации распределенных архитектур необходимо визуальное представление этих аспектов.
Первойиз диаграмм физического представления является диаграмма компонентов.
Втораяформа физического представления программной системы - это диаграмма развертывания (размещения).
Диаграмма развертывания (deployment diagram) - диаграмма, на которой представлены узлы выполнения программных компонентов реального времени, а также процессов и объектов.
Диаграмма развертывания применяется для представления общей конфигурации и топологии распределенной программной системы и содержит изображение размещения компонентов по отдельным узлам системы. Кроме того, диаграмма развертывания показывает наличие физических соединений - маршрутов передачи информации между аппаратными устройствами, задействованными в реализации системы.
Диаграмма развертывания предназначена для визуализации элементов и компонентов программы, существующих только на этапе ее исполнения (run-time). При этом представляются только те компоненты программы, которые являются исполнимыми файлами или динамическими библиотеками. Компоненты, не используемые на этапе исполнения, на диаграмме развертывания не показываются.
Так, компоненты с исходными текстами программ могут присутствовать только на диаграмме компонентов. На диаграмме развертывания они не указываются.
Диаграмма развертывания содержит графические изображения процессоров, устройств, процессов и связей между ними.
В отличие от диаграмм логического представления, диаграмма развертывания является единственной для системы в целом, поскольку должна отражать все особенности ее реализации.
Эта диаграмма, по сути, завершает процесс ООАП для конкретной программной системы и ее разработка, как правило, последний этап спецификации модели.
Диаграмма развертывания разрабатывается совместно системными аналитиками, сетевыми инженерами и системотехниками.
2. Определение понятия узла системы и отображение его на диаграммах развёртывания
Узел (node) представляет собой физически существующий элемент системы, который может обладать вычислительным ресурсом или являться техническим устройством.
В качестве вычислительного ресурса узла в системотехнике вычислительных устройств обычно рассматриваются:
· один или несколько процессоров, а также
· объем электронной или магнитооптической памяти.
Однако в языке UML понятие узла включает в себя не только вычислительные устройства (процессоры), но и другие механические или электронные устройства, такие как:
· датчики,
· принтеры,
· модемы,
· цифровые камеры,
· сканеры и
· манипуляторы.
Графически узел на диаграмме развертывания изображается в форме трехмерного куба. Узел имеет имя, которое указывается внутри этого графического символа. Сами узлы могут представляться как на уровне типа (рис. 13.1, а), так и на уровне экземпляра (рис. 13.1, б).
Рис. 13.1. Графическое изображение узла на диаграмме развертывания
В первом случае имя узла записывается в форме: <Имя типа узла> без подчеркивания и начинается с заглавной буквы. Во втором - имя узла-экземпляра записывается в виде: <имя узла ':' Имя типа узла>, а вся запись подчеркивается. Имя типа узла указывает на разновидность узлов, присутствующих в модели системы. Так, на представленном рисунке (рис. 13.1, а) узел с именем Видеокамера относится к общему типу и никак не конкретизируется. Второй узел (рис. 13.1, б) является узлом-экземпляром конкретной модели сканера.
Изображения узлов могут расширяться, чтобы включить дополнительную информацию о спецификации узла. Если дополнительная информация относится к имени узла, то она записывается под этим именем в форме помеченного значения (рис. 13.2).
Рис. 13.2. Графическое изображение узла-экземпляра с дополнительной информацией в форме помеченного значения
При необходимости явно указать компоненты, которые размещаются или выполняются на отдельном узле, это можно сделать двумя способами. Первый из них позволяет разделить графический символ узла на две секции горизонтальной линией. В верхней секции записывают имя узла, а в нижней - размещенные на этом узле компоненты (рис. 13.3, а).
Второй способ разрешает показывать на диаграмме развертывания узлы с вложенными изображениями компонентов (рис. 13.3, б). Важно помнить, что в качестве таких вложенных компонентов могут выступать только исполняемые компоненты и динамические библиотеки.
Рис. 13.3. Варианты графического изображения узлов-экземпляров с размещаемыми на них компонентами
В качестве дополнения к имени узла могут использоваться различные текстовые стереотипы, которые явно специфицируют назначение этого узла. Для этой цели были предложены следующие текстовые стереотипы: "processor" (процессор), "sensor" (датчик), "modem" (модем), "net" (сеть), "printer" (принтер) и другие, смысл которых понятен из контекста.
На диаграммах развертывания допускаются специальные условные обозначения для различных физических устройств, графическое изображение которых проясняет назначение или выполняемые устройством функции. Однако пользоваться этой возможностью следует осторожно, памятуя о том, что основное достоинство языка UML следует из его названия - унификация графических элементов визуализации моделей.