Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Краткие теоретические сведения. Физическое представление программной системы не может быть полным, если отсутствует информация о том






Физическое представление программной системы не может быть полным, если отсутствует информация о том, на какой платформе и на каких вычисли­тельных средствах она реализована. Если создается простая программа, которая может вы­полняться локально на компьютере пользователя, не используя ника­ких распреде­ленных устройств и сетевых ресурсов, то необходимости в разра­ботке дополнитель­ных диаграмм нет. При создании корпоративных или распределенных приложений требуется визуализировать сетевую инфраструк­туру программной системы.

Сложные программные системы могут реализовываться в сетевом вари­анте, на различных вычислительных платформах и технологиях доступа к рас­пределенным базам данных. Наличие локальной корпоративной сети требует решения целого комплекса дополнительных задач рационального размещения компонентов по узлам этой сети, что определяет общую производительность программной системы.

Интеграция программной системы с Интернетом определяет необходи­мость ре­шения дополнительных вопросов при проектировании системы (обеспечение без­опасности и устойчивости доступа к информации). Эти аспекты зависят от реализа­ции проекта в форме физически существующих узлов системы, таких как серверы, рабочие станции, брандмауэры, каналы связи и хранилища данных.

Технологии доступа и манипулирования данными в рамках общей схемы " кли­ент-сервер" также требуют размещения больших баз данных в различных сегментах корпоративной сети, их резервного копирования, архивирования, кэ­ширования для обеспечения необходимой производительности системы в це­лом. С целью специфи­кации программных и технологических особенностей реализации распределенных архитектур необходимо визуальное представление этих аспектов.

Диаграмма развертывания (deployment diagram) - диаграмма, на которой представлены узлы выполнения программных компонентов реального времени, а также процессов и объектов.

Диаграмма развертывания применяется для представления общей конфи­гурации и топологии распределенной программной системы и содержит изо­бражение раз­мещения компонентов по отдельным узлам системы. Кроме того, диаграмма развер­тывания показывает наличие физических соединений - мар­шрутов передачи инфор­мации между аппаратными устройствами, задейство­ванными в реализации системы.

Диаграмма развертывания предназначена для визуализации элементов и компо­нентов программы, существующих только на этапе ее исполнения (run-time). При этом представляются только те компоненты программы, которые яв­ляются испол­нимыми файлами или динамическими библиотеками. Компо­ненты, не используе­мые на этапе исполнения, на диаграмме развертывания не показываются. Так, ком­поненты с исходными текстами программ могут присут­ствовать только на диа­грамме компонентов. На диаграмме развертывания они не указываются.

Диаграмма развертывания содержит графические изображения процессо­ров, устройств, процессов и связей между ними. В отличие от диаграмм логиче­ского представления, диаграмма развертывания является единственной для сис­темы в целом, поскольку должна отражать все особенности ее реализации.

Узел (node) представляет собой физически существующий элемент сис­темы, ко­торый может обладать вычислительным ресурсом или являться техни­ческим устройством.

В качестве вычислительного ресурса узла может рассматриваться один или не­сколько процессоров, а также объем электронной или магнитооптической памяти. Однако в языке UML понятие узла включает в себя не только вычисли­тельные устройства (процессоры), но и другие механические или электронные устройства, такие как датчики, принтеры, модемы, цифровые камеры, сканеры и манипуляторы.

Графически узел на диаграмме развертывания изображается в форме трехмер­ного куба. Узел имеет имя, которое указывается внутри этого графиче­ского сим­вола. Сами узлы могут представляться как на уровне типа (рис. 77, а), так и на уровне экземпляра (рис. 77, б).

 

 

Рис. 77. Графическое изображение узла на диаграмме развертывания

 

В первом случае имя узла записывается в форме: < Имя типа узла> без подчер­кивания и начинается с заглавной буквы. Во втором - имя узла-экземп­ляра записы­вается в виде: < имя узла ': ' Имя типа узла>, а вся запись подчерки­вается. Имя типа узла указывает на разновидность узлов, присутствующих в модели системы. Так, на представленном рисунке (рис. 77, а) узел с именем Видеокамера относится к об­щему типу и никак не конкретизируется. Второй узел (рис. 77, б) является узлом-экземпляром конкретной модели сканера.

Изображения узлов могут расширяться, чтобы включить дополнительную ин­формацию о спецификации узла. Если дополнительная информация отно­сится к имени узла, то она записывается под именем в форме помеченного значения (рис. 78).

Рис. 78. Графическое изображение узла-экземпляра с дополнительной инфор­мацией в форме помеченного значения

 

При необходимости явно указать компоненты, которые размещаются или вы­полняются на отдельном узле, это можно сделать двумя способами. Первый из них позволяет разделить графический символ узла на две секции горизон­тальной ли­нией. В верхней секции записывают имя узла, а в нижней - разме­щенные на этом узле компоненты (рис. 79, а).

Второй способ разрешает показывать на диаграмме развертывания узлы с вло­женными изображениями компонентов (рис. 79, б). Важно помнить, что в качестве таких вложенных компонентов могут выступать только исполняемые компоненты и динамические библиотеки.

 

Рис. 79. Варианты графического изображения узлов-экземпляров с размещае­мыми на них компонентами

 

В качестве дополнения к имени узла могут использоваться различные тек­стовые стереотипы, которые явно специфицируют назначение этого узла. Для этой цели были предложены следующие текстовые стереотипы: " processor" (процессор), " sensor" (датчик), " modem" (модем), " net" (сеть), " printer" (принтер) и другие, смысл которых понятен из контекста.

На диаграммах развертывания допускаются специальные условные обо­значения для различных физических устройств, графическое изображение кото­рых проясняет назначение или выполняемые устройством функции. Однако пользоваться этой воз­можностью следует осторожно, памятуя о том, что основ­ное достоинство языка UML следует из его названия - унификация графических элементов визуализации моделей.

Возможность включения персонала в понятие узла не рассматривается в нота­ции языка UML, тем не менее, подобное расширение понятие узла позво­ляет созда­вать средствами языка UML модели самых различных систем, вклю­чая бизнес-про­цессы и технические комплексы. Действительно, для реализации бизнес-процессов компаний удобно рассматривать в качестве узлов-ресурсов системы организацион­ные подразделения, состоящие из персонала. Автомати­зация управления техниче­скими комплексами может потребовать рассмотрения в качестве самостоятельного элемента человека-оператора, способного прини­мать решения в нештатных ситуа­циях и нести ответственность за возможные последствия этих решений.

Наиболее известны два специальных графических стереотипа для обозна­чения разновидностей узлов. Первый обозначает ресурсоемкий узел (processor), под кото­рым понимается узел с процессором и памятью, необходимыми для выполнения исполняемых компонентов. Он изображается в форме куба с боко­выми гранями, окрашенными в серый цвет (рис. 80, а). Второй стереотип в форме обычного куба обозначает устройство (device), под которым понимается узел без процессора и па­мяти (рис. 80, б). На этом типе узлов не могут разме­щаться исполняемые компо­ненты программной системы.

 

Рис. 80. Варианты изображения графических стереотипов узлов

 

Кроме графического изображения ресурсоемких уз­лов и устройств соответ­ствующие узлы можно изображать с помощью обыч­ного символа узла (рис.80) и дополнительного стереотипа " processor" или " device".

Кроме известных текстовых и графических стереотипов для узлов диа­граммы развертывания разработчики могут предложить дополнительные гра­фические сте­реотипы, которые улучшают наглядность представления диаграмм развертывания. Например, рабочую станцию можно изобразить в виде ресурсо­емкого узла, или в форме рисунка внешнего вида компьютера (рис. 80, в). Со­ответственно, сканер также может быть изображен в виде рисунка или фото­графии данного устройства.

На диаграмме развертывания кроме изображения узлов указываются от­ношения между ними. В качестве отношений выступают физические соедине­ния между уз­лами, а также зависимости между узлами и компонентами, кото­рые допускается изображать на диаграммах развертывания.

Соединения являются разновидностью ассоциации и изображаются отрез­ками линий без стрелок. Наличие такой линии указывает на необходимость ор­ганизации физического канала для обмена информацией между соответствую­щими узлами. Характер соединения может быть дополнительно специфициро­ван примечанием, стереотипом, помеченным значением или ограничением. Так, на представленном ниже фрагменте диаграммы развертывания (рис. 81) явно определены рекомендации по технологии физической реализации соединений в форме примечания.

 

Рис. 81. Фрагмент диаграммы развертывания с соединениями между узлами

 

Кроме соединений на диаграмме развертывания могут присутствовать от­ноше­ния зависимости между узлом и размещаемыми на нем компонентами. По­добный способ представляет собой альтернативу вложенному изображению компонентов внутри символа узла, что не всегда удобно, поскольку делает этот символ излишне объемным. При большом количестве развернутых на узле ком­понентов соответ­ствующую информацию можно представить в форме отноше­ния зависимости (рис. 82).

 

Рис. 82. Диаграмма развертывания с отношением зависимости между узлом и развернутыми на нем компонентами

 

Разработка информационных систем, обеспечивающих доступ в режиме реаль­ного времени, предполагает не только создание программного кода, но и использо­вание дополнительных аппаратных средств. Вариант физического представления модели мобильного доступа к корпоративной базе данных пока­зан на следующей диаграмме развертывания.

 

Рис. 83. Диаграмма развертывания для системы мобильного доступа к корпо­ративной базе данных

 

Данная диаграмма содержит общую информацию о развертывании рас­сматрива­емой системы и может быть детализирована при разработке программ­ных компо­нентов управления. Как видно из рисунка, в этой диаграмме развер­тывания исполь­зованы дополнительные стереотипы " приемопередатчик" и " мо­бильный телефон", которые отсутствуют в описании языка UML, а также спе­циальные графические изображения (стереотипы) для отдельных аппаратных устройств.

Разработка диаграммы развертывания начинается с идентификации всех аппа­ратных, механических и других типов устройств, которые необходимы для выпол­нения системой всех функций. Вначале специфицируются вычислитель­ные узлы системы, обладающие процессором и памятью. При этом использу­ются имеющиеся в языке UML стереотипы, а, в случае отсутствия последних, разработчики могут определить новые стереотипы. Отдельные требования к со­ставу аппаратных средств могут быть заданы в форме ограничений и помечен­ных значений.

Дальнейшая детализация диаграммы развертывания связана с размеще­нием всех исполняемых компонентов диаграммы по узлам системы. В модели должна быть исключена ситуация, когда отдельные исполняемые компоненты оказались не раз­мещенными на узлах. С этой целью можно внести в модель до­полнительные узлы, содержащие процессор и память.

При разработке простых программ, которые ис­полняются локально на одном компьютере, необходимо­сти в диаграмме разверты­вания нет. В более сложных ситуациях диаграмма раз­вертывания строится для сле­дующих приложений.

Во-первых, для моделирования программных систем, реализующих тех­нологию доступа к данным " клиент-сервер". Для подобных систем характерно четкое разде­ление полномочий и, соответственно, компонентов между клиент­скими рабочими станциями и сервером базы данных. Возможность реализации " тонких" клиентов на простых терминалах или организация доступа к хранили­щам данных приводит к необходимости уточнения не только топологии сис­темы, но и ее компонентного состава.

Во-вторых, для моделирования неоднородных распределенных архитек­тур. Речь идет о корпоративных интрасетях, насчитывающих сотни компьюте­ров и других периферийных устройств, функционирующих на различных плат­формах и под раз­личными операционными системами. При этом отдельные узлы такой системы мо­гут быть удалены друг от друга на сотни километров, как, например, центральный офис в столице и филиалы компаний в регионах. В этом случае диаграмма развер­тывания становится важным инструментом визуа­лизации общей топологии системы и контроля миграции отдельных компонен­тов между узлами.

В-третьих, для моделирования систем реального времени со встроенными мик­ропроцессорами, которые могут функционировать автономно. Такие сис­темы могут содержать самые разнообразные дополнительные устройства, обес­печивающие ав­тономность их функционирования при решении сложных целе­вых задач. Для по­добных систем диаграмма развертывания позволяет визуали­зировать состав всех устройств и их взаимосвязи в системе.

Разработка диаграммы развертывания осуществляется на завершающем этапе ООАП, что характеризует окончание фазы проектирования физического представ­ления.

С другой стороны, диаграмма развертывания может строиться для анализа существующей системы с целью ее последующей детализации и модификации. При этом разработка диаграммы на начальных этапах анализа, характеризует его общее направление от физического представления к логиче­скому.

Пример: На рис. 84., а показано, что телефонная служба приема заявок будет со­стоять из офисной телефонной станции (PBX - Public Branch Exchange), сервера, телефонных аппаратов и клиентских компьютеров. На этом рисунке представлена диаграмма развертывания в одном из двух возможных в UML видов - в описатель­ном. На ней определены типы аппаратных узлов системы, а между ними - ассоциа­ции с пометками множественности.

На рис. 84., б приведена диаграмма развертывания в экземплярном варианте. Показан тестовый вариант системы, который, кроме сервера и PBX, содержит один пользовательский компьютер для тестирования взаимодействия сервера и клиента и один клиентский компьютер вместе с телефонным аппаратом для тестирования связи клиента с сервером и PBX. Два клиентских компьютера нужны, чтобы тести­ровать работу ПО в случае более чем одного клиента (при переходе от одного к двум начинают появляться многочисленные ситуации, которые не проявлялись ра­нее). Большее количество клиентов - три, десять и т. д. - не принципиально на пер­вых стадиях тестирования и отладки.

Рис. 84. Пример диаграммы развертывания






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.