2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (1185732), страница 82
Текст из файла (страница 82)
А на стыке программной и аппаратурной сфер находятся диаграммы размещения, позволяющиеговорить о топологии процессоров и устройств, на которых выполняется система.В UML диаграммы размещения используются для визуализации статических аспектов физических узлов и их взаимосвязей, а также для описания их деталей, которые имеют отношенияк конструированию систем (см.
рис. 31.1).«««»«»»»«»«»Рис. 31.1. Диаграмма размещения«»Базовые понятия429Базовые понятияНа диаграмме размещения (deployment diagram) показана конфигурация обрабатывающих узлов и артефактов, размещенныхв этих узлах. Диаграмма размещения представлена в виде графас ребрами и вершинами.Общие свойстваОбщиесвойствадиаграммобсуждаются в главе 7.Диаграмма размещения обладает общими свойствами, присущими всем диаграммам, – именем и графическим содержанием,которое отражает одну из проекций модели. От других диаграммотличается своим специфическим наполнением.СодержаниеУзлы обсуждаютсяв главе 27,связи – в главах 5 и 10,артефакты –в главе 26,пакеты –в главе12,подсистемы – в главе32, экземпляры – в главе13, диаграммы – в главе 8.Диаграммы размещения обычно включают в себя узлы, а такжесвязи зависимости и ассоциации; подобно всем прочим диаграммам,могут содержать примечания и ограничения. На диаграммах размещения бывают представлены артефакты, каждый из которых долженрасполагаться на какомFнибудь узле, а кроме того, пакеты или подсистемы, – и те и другие используются для группирования элементовмодели в крупные блоки.
Иногда бывает полезно поместить в диаграмму объектов еще и экземпляры, особенно если вы хотите визуализировать один экземпляр из семейства топологии аппаратных средств.На заметку. Во многих отношениях диаграмма размещенияявляется разновидностью диаграмм классов, фокусирующей внимание прежде всего на системных узлах.Типичное применениеДиаграммы размещения используются для моделирования статического вида системы с точки зрения размещения. Это представление в первую очередь обращено на распределение, поставку и установку частей, из которых состоит физическая система.Есть несколько типов систем, для которых диаграммы размещения не нужны.
Если вы разрабатываете программу, исполняемуюна одной машине и обращающуюся только к стандартным устройствам на этой же машине, управление которыми полностью возложено на операционную систему (возьмем для примера клавиатуру,дисплей и модем персонального компьютера), то диаграммы размещения можно игнорировать. Но если разрабатываемая программа430Диаграммы размещенияобращается к устройствам, которыми операционная система обычно не управляет, или эта программа физически размещена на разных процессорах, то диаграмма размещения поможет выявить отношения между программными и аппаратными средствами.При моделировании статического представления системы с точки зрения размещения диаграммы размещения используются, какправило, в трех случаях:1.
Для моделирования встроенных систем. Встроенной (embedded)системой называется аппаратный комплекс, взаимодействующий с физическим миром, в котором велика роль программного обеспечения. Встроенные системы управляютдвигателями, приводами и дисплеями, а сами управляютсявнешними воздействиями, например датчиками температуры и перемещения. Диаграмму размещения можно использовать для моделирования устройств и процессоров, из которых состоит встроенная система.2. Моделирование клиент9серверных систем. КлиентFсерверная(client/server) система – это типичный пример архитектуры,где основное внимание уделяется четкому распределениюобязанностей между интерфейсом пользователя, существующим на клиенте, и хранимыми данными системы, существующими на сервере.
КлиентFсерверные системы находятсяна одном конце спектра распределенных систем и требуютот вас принятия решений о том, как связать клиенты и серверы сетью, а также о том, как физически распределены программные артефакты между узлами. Диаграммы размещения позволяют моделировать топологию такой системы.3. Моделирование полностью распределенных систем. На другомконце спектра распределенных систем находятся те из них,которые распределены широко или даже глобально (fullydistributed) и охватывают серверы различных уровней. Частона таких системах устанавливаются разные версии программных компонентов, часть которых даже мигрирует с одногоузла на другой.
Проектирование подобной системы требуетрешений, которые допускают непрерывное изменение системной топологии. Диаграммы размещения можно использовать для визуализации текущей топологии и распределенияартефактов системы, чтобы можно было осмысленно говорить о влиянии на нее различных изменений.Типичные приемы моделирования431Типичные приемы моделированияМоделирование встроенной системыУстройстваи узлыобсуждаютсяв главе 27.МеханизмырасширенияUML обсуждаютсяв главе 6.Разработка встроенной системы не сводится к созданию программного обеспечения: ведь приходится управлять физическиммиром, где движущиеся части имеют склонность ломаться, сигналызашумлены, а поведение нелинейно.
При моделировании такой системы нужно принимать во внимание взаимодействие ее интерфейса с внешним миром, а это, как правило, нестандартные устройстваи узлы.Диаграммы размещения способны облегчить общение инженеровFэлектронщиков и разработчиков программного обеспечения.Используя узлы со стереотипами, пиктограммы которых напоминают знакомые устройства, можно создавать диаграммы, которыеодинаково понятны и тем, и другим. Диаграммы размещения такжепомогают анализировать баланс между программными и аппаратными средствами. Таким образом, они применяются для визуализации, специфицирования, конструирования и документированияпроектных решений в части системной инженерии.Для моделирования встроенной системы следует: Идентифицировать уникальные устройства и узлы.
Позаботиться о визуальных обозначениях нестандартныхустройств, воспользовавшись механизмами расширенияUML для присвоения специфическим стереотипам подходящих пиктограмм. Как минимум необходимо различать процессоры, на которых размещены программные компоненты,и устройства, которые на данном уровне абстракции не содержат таковых. Смоделировать отношения между процессорами и устройствами на диаграмме размещения. Кроме того, специфицировать связи между артефактами представления системыс точки зрения реализации и узлами представления системыс точки зрения размещения. При необходимости раскрыть описание наиболее «интеллектуальных» устройств, смоделировав их структуру на более подробной диаграмме размещения.В качестве примера на рис. 31.2 показана аппаратная реализация автономного робота.
Вы видите один узел – Pentium motherboardДиаграммы размещения432««Типичные приемы моделирования»»Рис. 31.2. Моделирование встроенной системы(материнская плата на базе процессора Pentium) со стереотипомprocessor (процессор). Вокруг этого узла расположено восемь устройств,каждое из которых имеет стереотип device и представлено пиктограммой, похожей на реальный прототип.Моделирование клиентGсерверной системыПриступая к разработке системы, программное обеспечение которой уже не помещается на одном процессоре, вы сразу же сталкиваетесь с целым рядом вопросов. Как оптимально распределитьпрограммные артефакты по узлам? Как они будут обмениватьсяинформацией? Как быть с отказами и помехами? На одном концеспектра распределенных систем находятся клиентFсерверные системы, в которых ясно прослеживается граница между пользовательским интерфейсом, обычно расположенном на клиенте, и данными,обычно хранящимися на сервере.Здесь существует множество вариаций.
Например, можно выбрать «тонкого» клиента, вычислительные мощности которого ограничены и который, следовательно, занят в основном взаимодействием с пользователем и отображением информации. У «тонких»клиентов может даже не быть собственных артефактов – вместоэтого они загружают артефакты с сервера по мере необходимости, как, скажем, в случае с Enterprise JavaBeans. С другой стороны,Пакетыобсуждаютсяв главе 12,множественностьрассматриваетсяв главе 10.433можно выбрать и «толстого» клиента, у которого вычислительныхресурсов больше и который вследствие этого может заниматься нетолько визуализацией. Выбор между «толстым» и «тонким» клиентом – это архитектурное решение, на которое влияют различныетехнические, экономические и политические факторы.В любом случае при разделении системы на клиентскую и серверную части предстоит принять непростые решения о том, гдефизически разместить артефакты и как обеспечить баланс обязанностей между ними.
Например, архитектура большинства системуправления информацией трехуровневая, то есть пользовательскийинтерфейс, бизнесFлогика и база данных физически отделены другот друга. Решение о том, куда поместить интерфейс и базу данных,как правило, очевидно, а вот понять, где должны находиться артефакты, реализующие бизнесFлогику, куда сложнее.Диаграммы размещения UML можно использовать для визуализации, специфицирования и документирования решений относительно топологии клиентFсерверной системы и распределенияпрограммных артефактов между клиентом и сервером. Обычнотребуется создать одну диаграмму размещения для системы в целом и ряд дополнительных диаграмм, детализирующих отдельныеее сегменты.Для моделирования клиентFсерверной системы вам понадобится: Идентифицировать узлы, представляющие процессоры клиента и сервера.
Выделить те устройства, которые так или иначе влияютна поведение системы. Например, вы, скорее всего, захотите смоделировать устройство считывания кредитных карти устройство отображения, отличные от стандартных мониторов, поскольку их расположение в топологии аппаратныхсредств системы имеет важное значение с точки зрения системной архитектуры. С помощью стереотипов разработать визуальные обозначения для процессоров и устройств. Смоделировать топологию узлов на диаграмме размещения.Также специфицировать связи между артефактами представления системы с точки зрения реализации и узламипредставления системы с точки зрения размещения.На рис.