КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Диаграммы развертывания
Физическое представление программной системы не может быть полным, если отсутствует информация о том, на какой платформе и на каких вычислительных средствах она реализована. Если создается небольшое приложение, которое может выполняться локально на компьютере пользователя, не используя никаких распределенных устройств и сетевых ресурсов, то необходимости в разработке дополнительных диаграмм нет. Однако при создании корпоративных или распределенных приложений требуется визуализировать сетевую инфраструктуру программной системы. Сложные программные системы могут реализовываться в сетевом варианте, на различных вычислительных платформах и технологиях доступа к распределенным базам данных. Наличие корпоративной сети требует решения целого комплекса дополнительных задач рационального размещения компонентов по узлам этой сети, что определяет общую производительность программной системы. Интеграция программной системы с Интернетом определяет необходимость решения дополнительных вопросов при проектировании системы, таких как обеспечение безопасности и устойчивости доступа к информации для корпоративных клиентов. Эти аспекты в немалой степени зависят от реализации проекта в форме физически существующих узлов системы, таких как серверы, рабочие станции, брандмауэры, каналы связи и хранилища данных. Технологии доступа и манипулирования данными в рамках общей схемы «клиент-сервер» также требуют размещения больших баз данных в различных сегментах корпоративной сети, их резервного копирования, архивирования, кэширования для обеспечения необходимой производительности системы в целом. С целью спецификации программных и технологических особенностей реализации распределенных архитектур необходимо визуальное представление этих аспектов. Первой из диаграмм физического представления является диаграмма компонентов. Вторая форма физического представления программной системы – это диаграмма развертывания (размещения). Диаграмма развертывания (deployment diagram) – диаграмма, на которой представлены узлы выполнения программных компонентов реального времени, а также процессов и объектов. Диаграмма развертывания применяется для представления общей конфигурации и топологии распределенной программной системы и содержит изображение размещения компонентов по отдельным узлам системы. Кроме того, диаграмма развертывания показывает наличие физических соединений – маршрутов передачи информации между аппаратными устройствами, задействованными в реализации системы. Диаграмма развертывания предназначена для визуализации элементов и компонентов программы, существующих только на этапе ее исполнения (run-time). При этом представляются только те компоненты программы, которые являются исполнимыми файлами или динамическими библиотеками. Компоненты, не используемые на этапе исполнения, на диаграмме развертывания не показываются. Так, компоненты с исходными текстами программ могут присутствовать только на диаграмме компонентов. На диаграмме развертывания они не указываются. Диаграмма развертывания содержит графические изображения процессоров, устройств, процессов и связей между ними. В отличие от диаграмм логического представления, диаграмма развертывания является единственной для системы в целом, поскольку должна отражать все особенности ее реализации. Диаграмма развертывания разрабатывается совместно системными аналитиками, сетевыми инженерами и системотехниками. Узел (node) представляет собой физически существующий элемент системы, который может обладать вычислительным ресурсом или являться техническим устройством. В качестве вычислительного ресурса узла может рассматриваться один или несколько процессоров, а также объем электронной или магнитооптической памяти. Однако в языке UML понятие узла включает в себя не только вычислительные устройства (процессоры), но и другие механические или электронные устройства, такие как датчики, принтеры, модемы, цифровые камеры, сканеры и манипуляторы. Графически узел на диаграмме развертывания изображается в форме трехмерного куба. Узел имеет имя, которое указывается внутри этого графического символа. Сами узлы могут представляться как на уровне типа (см. следующий рисунок, часть а), так и на уровне экземпляра (часть б). Изображения узлов могут расширяться, чтобы включить дополнительную информацию о спецификации узла. Если дополнительная информация относится к имени узла, то она записывается под этим именем в форме меченого значения (см. следующий рисунок). При необходимости явно указать компоненты, которые размещаются или выполняются на отдельном узле, это можно сделать двумя способами. Первый из них позволяет разделить графический символ узла на две секции горизонтальной линией. В верхней секции записывают имя узла, а в нижней – размещенные на этом узле компоненты (см. следующий рисунок, часть а). Второй способ разрешает показывать на диаграмме развертывания узлы с вложенными изображениями компонентов (часть б). Важно помнить, что в качестве таких вложенных компонентов могут выступать только исполняемые компоненты и динамические библиотеки. В качестве дополнения к имени узла могут использоваться различные текстовые стереотипы, которые явно специфицируют назначение этого узла. Для этой цели были предложены следующие текстовые стереотипы: <<processor>> (процессор), <<sensor>> (датчик), <<modem>> (модем), <<net>> (сеть), <<printer>> (принтер) и другие, смысл которых обычно понятен из контекста. На диаграммах развертывания допускаются специальные условные обозначения для различных физических устройств, графическое изображение которых проясняет назначение или выполняемые устройством функции. Однако пользоваться этой возможностью следует осторожно, памятуя о том, что основное достоинство языка UML следует из его названия – унификация графических элементов визуализации моделей. Возможность включения персонала в понятие узла не рассматривается в нотации языка UML, тем не менее, подобное расширение понятие узла позволяет создавать средствами языка UML модели самых различных систем, включая бизнес-процессы и технические комплексы. Действительно, для реализации бизнес-процессов компаний удобно рассматривать в качестве узлов-ресурсов системы организационные подразделения, состоящие из персонала. Автоматизация управления техническими комплексами может потребовать рассмотрения в качестве самостоятельного элемента человека-оператора, способного принимать решения в нештатных ситуациях и нести ответственность за возможные последствия этих решений. Наиболее известны два специальных графических стереотипа для обозначения разновидностей узлов. Первый обозначает ресурсоемкий узел (processor), под которым понимается узел с процессором и памятью, необходимыми для выполнения исполняемых компонентов. Он изображается в форме куба с боковыми гранями, окрашенными в серый цвет (см. следующий рисунок, часть а). Второй стереотип в форме обычного куба обозначает устройство (device), под которым понимается узел без процессора и памяти (часть б). На этом типе узлов не могут размещаться исполняемые компоненты программной системы. Следует заметить, что кроме графического изображения ресурсоемких узлов и устройств соответствующие узлы можно изображать с помощью обычного символа узла и дополнительного стереотипа <<processor>> или <<device>>. Кроме известных текстовых и графических стереотипов для узлов диаграммы развертывания разработчики могут предложить дополнительные графические стереотипы, которые улучшают наглядность представления диаграмм развертывания. Например, рабочую станцию можно изобразить в виде ресурсоемкого узла, или в форме рисунка внешнего вида компьютера (предыдущий рисунок, часть в). Соответственно, сканер также может быть изображен в виде рисунка или фотографии данного устройства. На диаграмме развертывания кроме изображения узлов указываются отношения между ними. В качестве отношений выступают физические соединения между узлами, а также зависимости между узлами и компонентами, которые допускается изображать на диаграммах развертывания. Соединения являются разновидностью ассоциации и изображаются отрезками линий без стрелок. Наличие такой линии указывает на необходимость организации физического канала для обмена информацией между соответствующими узлами. Характер соединения может быть дополнительно специфицирован примечанием, стереотипом, помеченным значением или ограничением. Так, на представленном ниже фрагменте диаграммы развертывания (следующий рисунок) явно определены рекомендации по технологии физической реализации соединений в форме примечания. Кроме соединений на диаграмме развертывания могут присутствовать отношения зависимости между узлом и размещаемыми на нем компонентами. Подобный способ представляет собой альтернативу вложенному изображению компонентов внутри символа узла, что не всегда удобно, поскольку делает этот символ излишне объемным. При большом количестве развернутых на узле компонентов соответствующую информацию можно представить в форме отношения зависимости (следующий рисунок). Разработка информационных систем, обеспечивающих доступ в режиме реального времени, предполагает не только создание программного кода, но и использование дополнительных аппаратных средств. Вариант физического представления модели мобильного доступа к корпоративной базе данных показан на следующей диаграмме развертывания (следующий рисунок). Данная диаграмма содержит общую информацию о развертывании рассматриваемой системы и может быть детализирована при разработке программных компонентов управления. Как видно из рисунка, в этой диаграмме развертывания использованы дополнительные стереотипы «приемопередатчик» и «мобильный телефон», которые отсутствуют в описании языка UML, а также специальные графические изображения (стереотипы) для отдельных аппаратных устройств. Инструментальные средства поддержки UML [6] UML – это отличное средство моделирования, но строить диаграммы на бумаге - не очень удобно, хотя бы по причине сложностей с редактированием, распространением и т. д. Чтобы облегчить труд проектировщика, были созданы CASE-средства – программы специального вида. CASE-средства помогают строить профессионально выглядящие диаграммы, даже если мы не в состоянии провести прямую линию на бумаге. Rational Rose – современное и мощное средство анализа, моделирования и разработки программных систем. Rational Rose пригодится при решении практически любых задач проектирования информационных систем: от анализа бизнес-процессов до кодогенерации на определенном языке программирования. Такой арсенал позволяет не только проектировать новую систему, но и доработать старую, произведя процесс обратного проектирования. Для того чтобы наиболее полно покрыть весь сегмент рынка средств проектирования и разработки, выпускается несколько версий продукта: 1.Rational Rose Modeler Эта версия позволяет аналитикам и проектировщикам проводить анализ бизнес-процессов и проектировать систему. Данная редакция не поддерживает кодогенерацию. 2. Rational Rose Professional Это как раз и есть профессиональная редакция продукта. В зависимости от выбранного языка программирования позволяет выполнять прямое и обратное проектирование. Rose Professional заказывается только в определенной конфигурации (например, Rose Professional С++ или Rose Professional С++ DataModeler). Rational Rose Professional, безусловно, не создает совершенного исполняемого кода. На выходе разработчик получает каркасный код информационной системы на определенном (заказанном) языке программирования, который впоследствии нужно еще программировать и программировать. Продукт нацелен и на аналитиков, и на разработчиков. 3. Rational Rose RealTime Эта версия создана специально для получения исполняемого кода в реальном масштабе времени. Конечно, RealTime позволяет проводить прямое и обратное проектирование на языках С/С++. По заверениям разработчиков, на выходе модель автоматически компилируется и собирается в исполняемый файл. Само собой, продукт предназначен именно для разработчиков. 4. Rational Rose Enterprise Абсолютно полная версия. Поддерживаются все функции других редакций, за исключением возможности кодогенерации. Таким образом, эта версия продукта покрывает весь спектр задач по проектированию, анализу и кодогенерации. Это программный пакет для всех участников проекта. 5. Rational Rose DataModeler Это не конкретный вариант продукта, а функциональность по проектированию баз данных. Функции DataModeler входят в состав Rose Enterprise или Professional.
В зависимости от поставки, в Rational Rose может быть расширен или сужен набор визуальных компонент (возможных диаграмм). Впрочем, Rational Rose и так достаточно функционален. Вот основные возможности продукта: - прямое и обратное проектирование на языках: ADA, Java, С, C++, Basic; - поддержка технологий COM, DDL, XML; - возможность генерации схем БД Oracle и SQL. Также Rational Rose имеет открытый API, позволяющий самостоятельно создавать модули для других языков программирования. На рынке уже имеется достаточное число модулей для популярных языков программирования и RAD-систем, таких как Delphi, ErWin, JBuilder, VisualCafe, JDeveloper, VisualAge SmallTalk. Также Rational Rose интегрируется с Visual Component Manager, репозиторием Microsoft Reposytory, системой управления версиями Microsoft Visual SourceSafe и Rational ClearCase, и этот список можно продолжать далее. Конечно, можно еще долго рассыпаться в комплиментах этому продукту, являющемуся, по сути, стандартом де-факто в области UML-проектирования. Мы же перейдем к следующему интересному программному продукту. Borland Together продукт от Borland – Borland Together – это интегрированная платформа разработки, позволяющая упростить и ускорить анализ, дизайн, разработку и развертывание комплексных корпоративных приложений. Эти возможности сочетаются в одном интегрированном решении с поддержкой UML, помогающем командно разрабатывать высококачественные системы быстрее и эффективнее. Технология Borland LiveSource, интегрированная в этот продукт, автоматически синхронизирует все, что возможно, так что изменения не прерывают процесс разработки. Таким образом, ситуация, когда модель и код не соответствуют друг другу, теперь невозможна – любые изменения в модели сразу же отображаются в коде и наоборот. Этот продукт предоставляет единую среду разработки, общий язык, диаграммы и строительные блоки, избавляя команду от необходимости использовать несколько продуктов, переключаясь между ними. Не вдаваясь в лишние подробности, скажем, что Together поддерживает «гибкие» процессы моделирования, о которых мы поговорим далее. Together предоставляет интерактивные возможности моделирования и поддерживает все виды диаграмм UML, включая диаграммы классов, прецедентов, последовательностей, кооперации, действий, состояний, компонентов и развертывания. Еще одна модная тенденция в программной инженерии: использование паттернов, или шаблонов проектирования, – некоторых стандартных решений, образцов в области проектирования. Используя эти образцы, эксперт или разработчик могут быстро создать модель и привести ее в соответствие с корпоративными стандартами и лучшими практиками кодирования. Еще одна возможность ускорения работы – планирование задач для разработчиков, использование напоминаний и органайзера, что позволяет работать эффективнее. Приложение можно развернуть на несколько серверов приложений, просто написав несколько строк. С Together приложение может быть построено для одного сервера приложений и легко переключено на другой, развернуто на сложной инфраструктуре. Встроенное функциональное тестирование помогает обнаружить проблемы еще в процессе разработки, что действительно очень важно, поскольку стоимость исправления ошибок тем выше, чем позже они обнаружены. Как и в случае IBM Rational Rose, существуют несколько специализированных версий данного пакета: 1. Together ControlCenter Интегрированная платформа разработки, предназначенная для упрощения и ускорения анализа, проектирования и разработки корпоративных приложений. 2. Together Solo UML-проектирование и разработка, единое решение для индивидуальных разработчиков и малых команд, позволяющее моделировать небольшие масштабируемые проекты быстрее и эффективнее. 3. Borland Together Editions Специальные редакции для предпочитаемых вами сред разработки: 3.1. Together Edition for JBuilder Интегрированная и гибкая среда проектирования, Together Edition for JBuilder помогает команде ускорить разработку высококачественных приложений в Borland JBuilder, решении номер один для разработки на языке Java 3.2. Together Edition for Eclipse Ускоряет разработку высококачественных приложений на открытой платформе Eclipse, поддерживаемой IBM. 3.3.Together Edition for WebSphere Studio IBM WebSphere Studio тоже поддерживается Borland Together Edition for Eclipse. 3.4. Together Edition for Microsoft Visual Studio.NET Интегрированная среда, использующая индустриальный стандарт - UML, Borland Together Edition for Microsoft Visual Studio.NET, позволяет командам.NET-разработчиков ускорить разработку высококачественных решений на платформе.NET. 3.5 Together Edition for C++BuilderX Интегрированная и гибкая среда проектирования, Borland Together Edition for Borland C++BuilderX поможет команде ускорить разработку высококачественных приложений в C++BuilderX - многоплатформенной среде разработки. 4.Together Designer Community Edition Это бесплатная среда разработки для создания UML-диаграмм.
Microsoft Visio – решение для построения диаграмм от Microsoft. По словам разработчиков, Visio помогает преобразовать технические и бизнес-концепции в визуальную форму. И действительно, этот пакет из семейства Microsoft Office предназначен исключительно для рисования диаграмм. Visio имеет некоторые дополнительные возможности, но все же, повторим, по большей мере - это только средство для иллюстрирования документов MS Office, «немного не дотягивающее» до уровня пакетов, которые мы описывали выше. Изобразительные же возможности Visio действительно весьма широки: - Используя предопределенные фигуры Visio Professional, концепцию drag-and-drop и мастера, можно быстро и просто создавать понятные и информативные диаграммы. - Возможности Visio можно легко расширять, используя новые шаблоны бизнес-диаграмм. Можно включать внешние источники данных, хранилища или коллекции хранимых шаблонов. - В Visio можно прототипировать интерфейс приложений с помощью встроенных шаблонов пользовательского интерфейса Microsoft Windows, что позволяет создавать модель пользовательского интерфейса в классическом Windows-стиле. - Можно легко рисовать диаграммы сетевых ресурсов, иллюстрирующие развертывание нового ПО на существующие сетевые ресурсы. - Visio Professional также тесно интегрируется с Microsoft Office Project, что позволяет, например, импортировать оттуда задачи для членов команды. - С помощью шаблонов UML вы можете создавать UML-диаграммы статической структуры ПО или проводить обратное проектирование с помощью Visio 2003 Reverse Engineer Wizard. - Visio 2003 может документировать структуру существующих Web-сайтов, помогая таким образом в разработке, реализации или интеграции веб-приложений. - Можно также создавать отчеты, сохранять диаграммы как Web-страницы и т.д.
Отметим, что Visio - это не полноценное средство моделирования, а программа для создания иллюстраций (как например, SmartDraw и Dia), умеющая, помимо всего прочего, рисовать UML-диаграммы. Внешне Visio похожа на другие программы семейства Microsoft Office. Но: интерфейс Visio 2007 разительно отличается от остальных приложений MS Office и выглядит так, будто это программа из предыдущей версии «офиса». Есть несколько причин, чтобы использовать Visio: - Документирование и анализ бизнес-процессов. Проектирование, документирование и анализ бизнес-процессов, используя шаблоны и символы, поддерживающие управление бизнес-процессами (BPM). - Отслеживание комментариев членов команды. Как и в других программах семейства MS Office, в Visio имеется средство рецензирования, которое можно использовать для отслеживания фигур и примечаний, оставленных другими членами команды. - Сотрудничество по-новому. За этим рекламным лозунгом скрывается интеграция с Microsoft SharePoint и возможность экспорта диаграмм в SVG-формат или сохранения их как Web-страниц. - Поддержка Tablet PC Встроенная поддержка Tablet PC поможет просматривать, изменять и аннотировать диаграммы по пути на работу и с работы или в других случаях, когда мы находимся достаточно далеко от своего настольного ПК. - Инструменты для мозгового штурма. Скажем сразу, что это громкое заявление, но Visio действительно можно использовать для генерации и структурирования идей во время сессий мозгового штурма. Потом диаграммы, полученные в результате мозгового штурма, можно экспортировать в Microsoft Word, Microsoft Excel или XML, положив таким образом хорошее начало созданию других бизнес-файлов. - Создание календарей. Календари Microsoft Outlook можно легко конвертировать в календари Visio, которые могут быть богато оформлены и форматированы и просто распространены между другими членами команды. - Простое создание и использование технических диаграмм. Как уже говорилось выше, в Visio можно создавать диаграммы баз данных, инженерные диаграммы, сетевые, диаграммы разработки ПО и веб-приложений. - Более быстрое создание и редактирование диаграмм. Visio включает многочисленные улучшения, помогающие повысить производительность. Вращение фигур без переключения в специальный режим вращения, выбор и вращение группы фигур, печать выбранной части диаграммы, функция поиска фигуры и многое другое. - Visio поддерживает множество локальных языков. Visio доступна на 17 языках, включая улучшенную поддержку азиатских языков и двунаправленного текста. Впрочем, вряд ли этот факт может считаться серьезным преимуществом людьми, которые пользуются исключительно англоязычным ПО. - Отличная интеграция с другими приложениями MS Office. Об этом мы выше сказали достаточно много, так что не будем снова повторяться. В отличие от ранее рассмотренных программ, MS Visio существует в трех редакциях: - Visio Standard, - Visio Professional, - Visio Enterprise Architect.
В библиографическом списке приведены ссылки на официальные ресурсы, посвященные этим и некоторым другим популярным «средствам рисования UML-диаграмм».
Библиографический список: 1. Амриш, К. Разработка корпоративных Java-приложений с использованием J2EE и UML. // К.Амриш, Х.Ахмед. – М.: Издательский дом «Вильямс», 2002. 272 с. 2. Боггс, У. UML и Rational Rose 2002. // У.Боггс, М.Боггс. – М.: Лори, 2004. 510 с. 3. Ларман, К. Применение UML и шаблонов проектирования. // К.Ларман. – М.: Издательский дом «Вильямс», 2004. 624 с. 4. Фаулер, М. UML. Основы. // М.Фаулер, К.Скотт. – СПб.: Символ-Плюс, 2002. 192 с. 5. Якобсон, А. Унифицированный процесс разработки программного обеспечения. // А.Якобсон, Г.Буч, Дж.Рамбо. – СПб.: Питер, 2002. 496 с. 6. Введение в UML [Электронный ресурс] - http://www.intuit.ru/department/se/intuml. 7. IBM Rational Rose [Электронный ресурс] – http://www-306.ibm.com/software/rational/ 8. Borland Together [Электронный ресурс] - http://www.borland.com/together/ 9. Microsoft Visio [Электронный ресурс]– http://office.microsoft.com/en-us/FX010857981033.aspx 10. Sparx Systems Enterprise Architect [Электронный ресурс] - http://www.sparxsystems.com.au/ 11. Gentleware Poseidon [Электронный ресурс] - http://www.gentleware.com/ 12. SmartDraw [Электронный ресурс] - http://www.smartdraw.com/ 13. GNU/Dia [Электронный ресурс] - http://www.gnome.org/projects/dia/home.html 14. Telelogic TAU G2 [Электронный ресурс] – http://www.telelogic.com/corp/products/tau/index.cfm 15. StarUML [Электронный ресурс] - http://staruml.sourceforge.net/en/about.php 16. Коллекция ссылок на сайты разработчиков UML-инструментария [Электронный ресурс] 17. Сообщество IT-аналитиков, архитекторов и консультантов [Электронный ресурс] – http://www.uml2.ru/ 18. OMG Unified Modeling Language (OMG UML), Infrastructure, V2.1.2 [Электронный ресурс] - http://www.omg.org/docs/formal/07-11-04.pdf 19. OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2 [Электронный ресурс] - http://www.omg.org/docs/formal/07-11-02.pdf 20. Sparx Systems – UML 2 Tutorial [Электронный ресурс] - http://www.sparxsystems.com.au/resources/uml2_tutorial/index.html
Дата добавления: 2014-01-11; Просмотров: 9525; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |