- •Автоматизация конструирования визуальной модели программной системы
- •Введение
- •Словарь uml
- •1.1. Предметы в uml
- •1.2. Отношения в uml
- •1.3. Диаграммы uml
- •1.4. Механизмы расширения в uml
- •2. Реализация визуальной модели программной системы
- •2.1. Диаграмма вариантов использования
- •Этапы выполнения упражнения Создание диаграммы вариантов использования, вариантов использования и действующих лиц
- •Основной поток событий для варианта использования Снять деньги со счета
- •2.2. Диаграммы взаимодействия
- •Этапы выполнения упражнения
- •Создание кооперативной диаграммы
- •2.3.Диаграмма классов
- •Диаграмма состояний
- •2.5. Диаграмма деятельности
- •2.6. Диаграмма компонентов
- •2.7. Диаграмма размещения
- •2.8. Генерация программного кода
- •3. Контрольное задание
- •Литература
- •Оглавление
- •Автоматизация конструирования визуальной модели программной системы
- •630092, Г. Новосибирск, пр. К. Маркса, 20
2.7. Диаграмма размещения
Диаграмма размещения (развертывания) (deployment diagram) вторая из двух разновидностей диаграмм реализации UML, моделирующих физические аспекты объектно-ориентированных систем. Диаграмма размещения показывает конфигурацию обрабатывающих узлов в период работы системы, а также компоненты, размещенные на них [6], [10], [11].
Элементами диаграмм размещения являются узлы, а также отношения зависимости и ассоциации. Как и другие диаграммы, диаграммы размещения могут включать примечания и ограничения. Кроме того, диаграммы размещения могут включать компоненты, каждый из которых размещается на некотором узле, а также содержать пакеты или подсистемы, используемые для группировки элементов модели в крупные фрагменты. При необходимости визуализации конкретного варианта аппаратной топологии в диаграммы размещения могут помещаться объекты.
Основными составляющими диаграммы размещения являются узлы.
Узел (node) физический элемент, который существует в период работы системы и представляет компьютерный ресурс, имеющий память, а возможно, и способность обработки. Графически узел изображается как куб с именем и может содержать дополнительную секцию, отображающую размещаемые на нем элементы (см. рис. 2.43).
Рис. 2.43. Обозначение узла с размещенными на нем компонентами
Сами узлы могут представляться как в качестве типов (см. рис. 2.43), так и в качестве экземпляров (см. рис. 2.44). Имя типа узла указывает на некоторую разновидность узлов, присутствующих в модели системы. Например, аппаратная часть системы может состоять из нескольких персональных компьютеров, каждый из которых соответствует отдельному узлу-экземпляру модели.
Также как, и на диаграмме компонентов, изображения узлов могут расширяться, чтобы включить некоторую дополнительную информацию о спецификации узла. Если дополнительная информация относится к имени узла, то она записывается под именем в форме помеченного значения.
Рис. 2.44. Экземпляр узла
В качестве дополнения к имени узла могут использоваться различные стереотипы, которые явно специфицируют назначение этого узла. Более того, на диаграммах развертывания допускаются специальные обозначения для различных физических устройств, графическое изображение которых проясняет назначение или выполняемые устройством функции.
Кроме изображений узлов на диаграмме размещения указываются отношения между ними. В качестве отношений выступают физические соединения между узлами и зависимости между узлами и компонентами, изображения которых тоже могут присутствовать на диаграммах развертывания.
Соединение (connection) является разновидностью ассоциации и изображается отрезком линии без стрелок. Наличие такой линии указывает на необходимость организации физического канала для обмена информацией между соответствующими узлами. Характер соединения может быть дополнительно специфицирован примечанием, помеченным значением или ограничением.
Кроме соединений на диаграмме размещения могут присутствовать отношения зависимости между узлом и развернутыми на нем компонентами. Подобный способ является альтернативой вложенному изображению компонентов внутри символа узла, что не всегда удобно, поскольку делает этот символ излишне объемным. Поэтому при большом количестве развернутых на узле компонентов соответствующую информацию можно представить в форме отношения зависимости (см. рис. 2.45).
Группировку набора компонентов или объектов, размещаемых на узле, обычно называют распространяемым модулем.
Рис. 2.45. Диаграмма размещения с отношением зависимости между узлом и развернутыми на нем компонентами
Диаграммы размещения могут иметь более сложную структуру, включающую вложенные компоненты, интерфейсы и другие аппаратные устройства.
При разработке простых программ, которые исполняются локально на одном компьютере, необходимость в диаграмме развертывания может вообще отсутствовать.
Для моделирования программных систем, реализующих технологию доступа к данным «клиент-сервер», характерно четкое разделение полномочий и, соответственно, компонентов между клиентскими рабочими станциями и сервером. Возможность реализации «тонких» клиентов на простых терминалах или организация доступа к хранилищам данных приводит к необходимости уточнения не только топологии системы, но и ее компонентного состава.
При моделировании неоднородных распределенных структур (например, корпоративных интрасетей) диаграмма размещения становится важным инструментом визуализации общей топологии системы и контроля миграции отдельных компонентов между узлами.
В нашем примере система АТМ состоит из большого количества подсистем, выполняемых на отдельных физических устройствах, или узлах. Диаграмма размещения для системы АТМ представлена на рис. 2.46.
Из данной диаграммы можно узнать о физическом размещении системы. Клиентские программы АТМ будут работать в нескольких местах на различных сайтах. Через закрытые сети будет осуществляться сообщение клиентов с региональным сервером АТМ. На нем будет работать программное обеспечение сервера АТМ. В свою очередь, посредством локальной сети региональный сервер будет взаимодействовать с сервером банковской базы данных, работающим под управлением Oracle. Наконец с региональным сервером АТМ соединен принтер.
Итак, данная диаграмма показывает физическое расположение системы. Например, наша система АТМ соответствует трехуровневой архитектуре, когда на первом уровне размещается сервер банковской базы данных, на втором — региональный сервер АТМ, а на третьем — клиент.
Диаграмма размещения используется менеджером проекта, пользователями, архитектором системы и эксплуатационным персоналом для выяснения физического размещения системы и расположения ее отдельных подсистем. Менеджер проекта объяснит пользователям, как будет выглядеть готовый продукт. Эксплуатационный персонал сможет планировать работу по установке системы.
Упражнение
Разработайте диаграмму размещения для системы АТМ (см. рис. 2.46).
Этапы выполнения упражнения
Добавление узлов к диаграмме размещения
1. Дважды щелкнув мышью на представлении размещения (Deployment View) в браузере, откройте диаграмму размещения.
2. Нажмите кнопку Processor (Процессор) панели инструментов. Щелкнув мышью на диаграмме, поместите туда процессор. Введите имя процессора Сервер банковской базы данных (сервер Oracle).
3. Повторив п.2, добавьте следующие процессоры: Региональный сервер АТМ, Клиентская рабочая станция №1 и Клиентская рабочая станция №2.
4. На панели инструментов нажмите кнопку Device (Устройство). Щелкнув мышью на диаграмме, поместите туда устройство. Назовите его Принтер.
Рис. 2.46. Диаграмма размещения для системы АТМ
Добавление связей
1. Нажмите кнопку Connection (Связь) панели инструментов. Щелкните мышью на процессоре Сервер банковской базы данных (сервер Oracle). Проведите линию связи к процессору Региональный сервер АТМ.
2. Повторив п.1, добавьте остальные связи (см. рис. 2.46).
Добавление процессов
1. Щелкните правой кнопкой мыши на процессоре Региональный сервер АТМ в браузере. В открывшемся меню выберите пункт New > Process (Создать > Процесс). Введите имя процесса — ATMServerExe.
2. Повторив п.1, добавьте процессы ATMClientExe для клиентских рабочих станций.
Показ процессов на диаграмме
1. Щелкните правой кнопкой мыши на процессоре Региональный сервер АТМ. В открывшемся меню выберите пункт Show Processes (Показать процессы).
2. Повторив п.1, покажите процессы на следующих процессорах: Клиентская рабочая станция №1 и Клиентская рабочая станция №2.