Нотация и семантика языка UML 2.0

advertisement
Учебный курс
Язык UML в анализе и проектировании
программных систем и бизнес-процессов
Лекция 8
Диаграмма развертывания
языка UML 2
Автор:
Леоненков Александр Васильевич
кандидат технических наук,
старший научный сотрудник
Архитектура распределенных систем –
исходное представление
Клиент
Клиент
Клиент
Dynamic HTML, JavaScript, Java, ActiveX
Сервер
Сервер
приложений
Java, C, C++, JavaScript, CGI
Java, C, C++, JavaBeans,
CORBA, DCOM, NET
Естественные
языки
ERP
система
Финансовая
система
Хранилища
данных
Сервер баз
данных
Диаграмма развертывания
- предназначена для представления общей конфигурации или
топологии распределенной программной системы и содержит
изображение размещения различных артефактов по
отдельным узлам системы.
При разработке диаграмм развертывания преследуются
следующие цели:
Специфицировать физические узлы, необходимые для
размещения на них исполнимых компонентов
программной системы.
Показать физические связи между узлами реализации
системы на этапе ее исполнения.
Выявить узкие места системы и реконфигурировать ее
топологию для достижения требуемой
производительности.
Основные обозначения на диаграмме
развертывания
Узел (node)
- является элементом модели, который представляет
некоторый вычислительный ресурс для развертывания на
нем различных артефактов
На практике для уточнения спецификации узла могут
использоваться различные текстовые стереотипы, которые
акцентируют внимание на назначении этого узла.
Хотя в языке UML 2.х конкретные стереотипы для узлов не
определены, разработчики предложили для этой цели
следующие текстовые стереотипы:
«application server» (сервер приложений), «client
workstation» (клиентская рабочая станция), «mobile
device» (мобильное устройство), «embedded device»
(встроенное устройство), «processor» (процессор),
«sensor» (датчик), «modem» (модем), «net» (сеть),
«printer» (принтер) и другие.
Узел в качестве типа и экземпляра
Имя типа узла записывается в форме обычного имени
классификатора: <имя-типа-узла>. При этом имя начинается с
заглавной буквы, а строка имени не подчеркивается. Имя типа узла
указывает на некоторую разновидность узлов, присутствующих в
модели системы.
Имя экземпляра узла записывается в следующей формате (БНФ):
<имя-экземпляра-узла>::=[<собственное-имя-узла >][‘:’ <имя-типаузла>,
при этом собственное имя узла записывается со строчной буквы, а
вся запись подчеркивается.
Сервер
Прилож ений
:Сервер Базы
Данных №1
Среда выполнения (execution environment)
- представляет собой узел, который обладает
функциональностью, необходимой для практического
выполнения развернутых на нем исполнимых артефактов
«executionEnvironment»
:M S Window s 2003 Se rve r
:Се рве рПрилож е ний
«executionEnvironment»
:J2EEСе рве р
Устройство (device)
- представляет собой узел, который обладает некоторым
общим вычислительным ресурсом со способностью
обрабатывать развернутые на нем артефакты
Цель развертывания (deployment target) является
абстрактным метаклассом для указания местоположения
размещаемого артефакта.
«device»
:Се рве рБазДанных
«device»
:РабочаяСтанция
«executionEnvironment»
:M S .NET Fram e w ork
Артефакт (artifact)
- представляет собой элемент модели, который
специфицирует некоторую физически существующую часть
информации, используемую или производимую в ходе
разработки программного обеспечения или в процессе
развертывания и функционирования системы.
«artifact»
Заказ.jar
«artifact»
Transaction.exe
Спецификация развертывания (deployment
specification)
- специфицирует множество свойств, которые определяют
параметры выполнения артефакта компонента,
развертываемого на некотором узле
«deployment spec»
Описание Заказа
в ыполнение: ТипВыполнения
т ранзакция: Boolean
«deployment spec»
Описание Заказа.xm l
в ыполнение: процесс
т ранзакция: true
Примеры графического изображения
экземпляров спецификаций развертывания
«artifact»
М агазин.jar
:Се рве р
Прилож е ний
«deployment spec»
Описание М агазина.xm l
«deployment spec»
Описание Заказа.xm l
«deployment spec»
Описание Заказа.xm l
«artifact»
Заказ.jar
«deploy»
«artifact»
Заказ.jar
Развертывание (deployment)
- представляет собой размещение артефакта или экземпляра
артефакта на некоторой цели развертывания.
<<executionEnvironment>>
s e rve r1 : J2EEСе рве р
«artifact»
Склад.jar
«artifact»
Заказ.jar
{concurrencyMode = нит ь}
«artifact»
Физиче ское
Лицо.jar
«artifact»
Компания.jar
«artifact»
Поставщик.jar
«artifact»
Се рвис.jar
«artifact»
Товар.jar
Второй и третий способы представления
множества экземпляров артефактов,
развернутых на узле
<<executionEnvironment>>
s e rve r1 : J2EEСе рве р
«deploy»
«artifact»
Склад.jar
«deploy»
«artifact»
Поставщик.jar
«deploy»
«deploy» «deploy»
«artifact»
Заказ.jar
«artifact»
Се рвис.jar
«artifact»
Товар.jar
«executionEnvironment»
s e rve r1 J2EEСе
:
рвер
Заказ.jar
Склад.jar
Пост ав щик.jar
Тов ар.jar
Серв ис.jar
ФизическоеЛицо.jar
Компания.jar
От мененныйЗаказ.jar
Манифестация (manifestation)
- представляет собой отношение для спецификации
конкретного физического воплощения одного или нескольких
элементов модели посредством артефакта
«artifact»
М агазин.h
«component»
Заказ
«manif est»
«manif est»
«manif est» «manif est»
«manif est»
Склад
«manif est»
«artifact»
Заказ.jar
Заказ
«manif est»
«artifact»
Склад.cpp
«artifact»
Заказ.cpp
Товар
Се рвис
«manif est»
«artifact»
Товар.cpp
«manif est»
«artifact»
Се рвис.cpp
Путь коммуникации (communication path)
- является ассоциацией между двумя целями развертывания,
посредством которой они обладают способностью
обмениваться сигналами и сообщениями
Се рве рПрилож е ний
*
1
Се рве рБазДанных
*
1
КорпоративнаяСе ть
1
*
РабочаяСтанция
Самостоятельное задание №9
Выполнить текущее тестирование: вопросы 37-40
Разработать диаграмму развертывания для ATM
Изобразить следующие узлы: Банкомат, Сервер Банка.
Изобразить необходимые артефакты и среды
выполнения
Изобразить отношения между ними
Download