Учебный курс Язык 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 Изобразить следующие узлы: Банкомат, Сервер Банка. Изобразить необходимые артефакты и среды выполнения Изобразить отношения между ними