2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (1185732), страница 83
Текст из файла (страница 83)
31.3 показана топология системы, следующей классической клиентFсерверной архитектуре. Мы видим, что граница междуклиентом и сервером проведена явно путем использования пакетов client и server. Пакет client содержит два узла: console (консоль)и kiosk (киоск), имеющих свои стереотипы и потому визуально легко отличимых. Пакет server содержит два вида узлов: caching server(кэширующий сервер) и server (сервер), для каждого из которыхДиаграммы размещения434Типичные приемы моделирования435Для моделирования полностью распределенной системы вампотребуется:«»«»Рис. 31.3.
Моделирование клиентQсерверной системыдополнительно описаны артефакты, размещаемые в узле. Заметьте,что как для caching server, так и для server указаны множественности,специфицирующие, сколько экземпляров ожидается в конкретнойконфигурации. К примеру, из диаграммы видно, что кэширующихсерверов должно быть не меньше двух.Моделирование полностью распределеннойсистемыРаспределенные системы могут быть самыми разными – от простых двухпроцессорных до разветвленных, размещенных на многихгеографически удаленных узлах. Последние, как правило, не бывают статическими.
Узлы появляются и исчезают по мере изменениясетевого трафика и выходов процессоров из строя; создаются новые,более быстрые каналы связи, функционирующие параллельно медленным, постепенно устаревающим, которые в конце концов демонтируются. Изменяется не только топология системы, но и распределение программных артефактов. Например, таблицы баз данныхмогут реплицироваться между серверами с целью приблизить их кпотребителю информации по мере изменения трафика.
В некоторыхглобальных системах артефакты могут мигрировать вслед за солнцем, перемещаясь с одного сервера на другой по мере того, как рабочий день начинается в одной части света и заканчивается в другой.Визуализация, специфицирование и документирование топологии полностью распределенных систем представляют собой ценноеподспорье для администратора, который должен вести учет вычислительных средств системы.
Для этого можно применять диаграммы размещения UML. Документируя полностью распределеннуюсистему, вы можете раскрыть детали сетевых устройств, представляя их в виде узлов со стереотипами.Пакетыобсуждаютсяв главе 12.Вариантыиспользования обсуждаютсяв главе 17,диаграммывзаимодействия –в главе 19,экземпляры –в главе 13. Идентифицировать устройства и процессоры, как и в случаес более простой клиентFсерверной системой. Если необходимо сделать выводы о производительности сетевой инфраструктуры или о влиянии на сеть изменений, –не забыть промоделировать коммуникационные устройствасо степенью детализации, достаточной для такого рода оценок. Обратить особое внимание на логическое группирование узлов; для этого можно воспользоваться пакетами. Смоделировать устройства и процессоры с помощью диаграмм размещения.
Всюду, где есть возможность, пользоваться инструментальными средствами, которые извлекаютсведения о топологии системы путем обследования сети. Если необходимо сфокусировать внимание на динамике системы, – включить диаграммы вариантов использования дляспецифицирования поведения, представляющего интерес,и раскрыть варианты использования с помощью диаграммвзаимодействия.На заметку.
При моделировании полностью распределенной системы саму сеть часто также изображают в виде узла. Например,можно представить Internet, как показано на рис. 31.1, в видеузла со стереотипом. Таким же образом позволяется оформитьлокальную (LAN) или глобальную (WAN) сеть – см. рис. 31.1.В любом случае вы можете воспользоваться атрибутами и операциями узла для описания свойств сети.На рис. 31.4 показана топология полностью распределеннойсистемы. Эта конкретная диаграмма размещения является такжедиаграммой объектов, поскольку содержит только экземпляры. Вывидите три консоли (анонимные экземпляры узла console со стереотипом), которые связаны с Internet (очевидно, узломFодиночкой).С другой стороны, есть три экземпляра региональных серверов(Regional server), которые служат клиентской частью для национальных серверов (Country server), из которых показан только один.Как следует из примечания, национальные серверы соединены другс другом, но такие связи на диаграмме не отражены.На этой диаграмме вся сеть Internet представлена узлом со стереотипом.436Диаграммы размещенияРис.
31.4. Моделирование полностью распределенной системыПрямое и обратное проектированиеПрямому проектированию (созданию кода по модели) диаграммы размещения поддаются лишь в очень небольшой степени. Например, после специфицирования физического распределения артефактов по узлам на диаграмме размещения можно воспользоватьсяинструментальными средствами, чтобы показать, как эти артефакты будут выглядеть в реальном мире.
Для системных администраторов такое использование UML может оказать существенную помощь при решении весьма сложных задач.Обратное проектирование (создание модели по коду) из реального мира в диаграммы размещения может иметь огромную ценность, особенно для полностью распределенных систем, которыепостоянно изменяются. Чтобы приспособить UML к нужной предметной области, вы, вероятно, захотите подготовить набор узлов состереотипами, понятных сетевому администратору. Преимущество использования UML состоит в том, что это стандартный язык,на котором можно выразить интересы не только администратора,но и разработчиков программного обеспечения.Обратное проектирование диаграммы размещения следует осуществлять в таком порядке: Выбрать, что именно вы хотите подвергнуть обратному проектированию.
В некоторых случаях вам нужно будет пройтипо всей сети, но иногда достаточно ограничиться ее фрагментом.Советы иподсказки437 Выбрать степень детализации обратного проектирования.Зачастую работать можно на уровне всех процессоров системы, но бывает необходимо включить и сетевые периферийные устройства. Воспользоваться инструментальным средством, позволяющим совершить обход системы и показать ее топологию.Зафиксировать эту топологию в своей модели размещения.
По ходу дела с помощью других инструментов выяснить,какие артефакты размещены в каждом узле, и занести ихв модель размещения. Вам предстоит сложная поисковаяработа, поскольку даже простейший персональный компьютер может содержать гигабайты разных артефактов, многиеиз которых не имеют отношения к вашей системе. Используя инструменты моделирования, создать диаграмму размещения путем опроса модели. Например, можно начать с визуализации базовой клиентFсерверной топологии,а затем расширять диаграмму, добавляя в описания тех илииных узлов размещенные в них артефакты.
Раскрыть деталисодержания диаграммы размещения в той степени, в какойэто требуется, чтобы донести ваши идеи до читателя.Советы и подсказкиПри создании в UML диаграмм размещения помните, что ониявляются всего лишь графическим представлением статическогопредставления системы с точки зрения размещения. Это значит, чтони одна диаграмма, взятая сама по себе, не может описать все, чтоотносится к размещению системы. Собранные вместе, диаграммыразмещения дают полное представление о системе с соответствующей точки зрения; по отдельности же каждая диаграмма описываетлишь какойFто один аспект.Хорошо структурированная диаграмма размещения обладаетследующими свойствами: сосредоточена на какомFто одном аспекте статического представления системы с точки зрения размещения; содержит только те элементы, которые существенны для понимания данного аспекта; раскрывает только те детали, которые присутствуют на выбранном уровне абстракции, – показывает только те дополнения, которые существенны для понимания; не является настолько краткой, чтобы скрыть от читателяважную семантику.Изображая диаграмму размещения, пользуйтесь следующимиправилами:438Диаграммы размещения дайте диаграмме имя, соответствующее ее назначению; располагайте элементы так, чтобы число пересечений быломинимальным и семантически близкие сущности оказывались рядом; используйте примечания и цветовые выделения, чтобы привлечь внимание к важным особенностям диаграммы; с осторожностью подходите к использованию элементовсо стереотипами.
Выберите ряд общих для вашего проектаили организации пиктограмм и применяйте их всюду и единообразно.Глава 32. Системы и моделиВ этой главеСистемы, подсистемы, модели и представленияМоделирование архитектуры системыМоделирование системы системОрганизация артефактов разработкиUML – это графический язык для визуализации, специфицирования, конструирования и документирования артефактов программной системы. Его используют для того, чтобы моделироватьсистемы.