Использование диаграмм размещения
Диаграммы размещения используют для моделирования статического представления того, как размещается система. Это представление поддерживает распространение, поставку и инсталляцию частей, образующих физическую систему.
Графически диаграмма размещения — это граф из узлов (или экземпляров узлов), соединенных ассоциациями, которые показывают существующие коммуникации. Экземпляры узлов могут содержать экземпляры компонентов, живущих или запускаемых в узлах. Экземпляры компонентов могут содержать объекты. Как показано на рис. 13.29, компоненты соединяются друг с другом пунктирными стрелками зависимостей (прямо или через интерфейсы).
Рис. 13.29.Моделирование размещения компонентов
На этой диаграмме изображена типовая трехуровневая система:
q уровень базы данных реализован экземпляром С узла СерверДанных;
q уровень бизнес-логики представлен экземпляром Б узла БизнесСервер;
q уровень графического интерфейса пользователя образован экземпляром Вася узла Клиент.
В узле сервера данных показано размещение анонимного экземпляра компонента Провайдер и объекта База со стереотипом <<database>>. Узел бизнес-сервера содержит анонимный экземпляр компонента Обработчик, а узел клиента — анонимный экземпляр компонента ГрафИнтерфейс. Кроме того, здесь явно отображены интерфейсы компонентов Провайдер и Обработчик, имеющие, соответственно, имена Заказы и Работы.
Как представлено на рис. 13.30, перемещение компонентов от узла к узлу (или объектов от компонента к компоненту) отмечается стереотипом <<becomes>> на отношении зависимости. В этом случае считают, что компонент (объект) резидентен в узле (компоненте) только в пределах некоторого кванта времени. На рисунке видим, что возможность миграции предоставлена объектам X и Y.
Иногда полезно определить физическое распределение компонентов по процессорам и другим устройствам системы. Есть три способа моделирования распределения:
q графически распределение не показывать, а документировать его в текстовых спецификациях узлов;
q соединять каждый узел с размещаемыми компонентами отношениями зависимости;
q в дополнительной секции узла указывать список размещаемых компонентов.
Диаграмма размещения, иллюстрирующая третий способ моделирования, показана на рис. 13.31.
Рис. 13.30.Моделирование перемещения компонентов и объектов
Рис. 13.31.Распределение компонентов в системе
На рисунке показаны два анонимных экземпляра узлов (:ВнешДиски, :Терминал) и два экземпляра узлов с именем (с для Сервера и к для Консоли). Каждый процессор нарисован с дополнительной секцией, в которой показаны размещенные компоненты. В экземпляре Сервера, кроме того, отображены его свойства (ЧастЦП, Память) и их значения.
С помощью стереотипов заданы характеристики физических соединений между процессорами: одно из них определено как Ethernet-соединение, другое — как последовательное RS-232-соединение.
Контрольные вопросы
1. В чем основное назначение моделей реализации?
2. Какие вершины и дуги образуют компонентную диаграмму?
3. Что такое компонент? Чем он отличается от класса?
4. Что такое интерфейс?
5. Какие формы представления интерфейса вы знаете?
6. Чем полезен интерфейс?
7. Какие разновидности компонентов вы знаете?
8. Для чего используют компонентные диаграммы?
9. Каково назначение СОМ? Какие преимущества дает использование СОМ?
10. Чем СОМ-объект отличается от обычного объекта?
11. Что должен иметь клиент для использования операции СОМ-объекта?
12. Как идентифицируется СОМ-интерфейс?
13. Как описывается СОМ-интерфейс?
14. Как реализуется СОМ-интерфейс?
15. Чего нельзя делать с СОМ-интерфейсом? Обоснуйте ответ.
16. Объясните назначение и применение операции Querylnterface.
17. Объясните назначение и применение операций AddRef и Release.
18. Что такое сервер СОМ-объекта и какие типы серверов вы знаете?
19. В чем назначение библиотеки СОМ?
20. Как создается одиночный СОМ-объект?
21. Как создаются несколько СОМ-объектов одного и того же класса?
22. Как обеспечить использование нового СОМ-класса старыми клиентами?
23. В чем состоят особенности повторного использования СОМ-объектов?
24. Какие требования предъявляет агрегация к внутреннему СОМ-объекту?
25. Что такое маршалинг и демаршалинг?
26. Поясните назначение посредника и заглушки.
27. Зачем нужна библиотека типа и как она описывается?
28. Какие вершины и ребра образуют диаграмму размещения?
29. Чем отличается узел от компонента?
30. Где можно использовать и где нельзя использовать экземпляры компонентов?
31. Как применяют диаграммы размещения?