Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсач / Методические указания.docx
Скачиваний:
0
Добавлен:
07.08.2024
Размер:
3.53 Mб
Скачать

6.2 Диаграммы реализации

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

При разработке диаграмм компонентов преследуются следующие цели:

  • спецификация общей структуры исходного кода системы

  • спецификация исполнимого варианта системы

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

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

Рисунок 58 - Примеры компонентов

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

Компонентов могут иметь следующие стандартные стереотипы:

  • «file» - любой файл, кроме таблицы:

    • «executable» - программа (исполняемый файл)

    • «library» - статическая или динамическая библиотека

    • «source» - файл с исходным текстом программы

    • «document» - остальные файлы (например, файл справки)

  • «table» - таблица базы данных

Интерфейс (interface, англ.) – это внешне видимый, именованный набор операций, который класс, компонент или подсистема может предоставить другому классу, компоненту или подсистеме, для выполнения им своих функций. В некоторых языках программирования, в частности в Java, интерфейс представляет собой отдельный класс, включаемый и реализуемый (конкретизируемый) в части программного кода операций в составе других классов. Графически интерфейс может быть изображен двумя способами.

Р исунок 59 - Способы отображения интерфейсов

Единственное отношение, которое может быть отображено на диаграмме компонентов, – это отношение зависимости. Зависимость реализации одних компонентов от реализации других.

Пример простой диаграммы компонентов приведен на рисунке 60.

В этом примере компонент Till (Касса) может взаимодействовать с компонентом Sales Server (Сервер продаж) с помощью интерфейса sales message (Сообщение о продажах). Поскольку сеть ненадежна, то компонент Message Queue (Очередь сообщений) установлен так, чтобы касса могла общаться с сервером, когда сеть работает, и разговаривать с очередью сообщений, когда сеть отключена. Тогда очередь сообщений сможет поговорить с сервером, когда сеть снова станет доступной. В результате очередь сообщений предоставляет интерфейс для разговора с кассой, и требует такой же интерфейс для разговора с сервером. Сервер разделен на два основных компонента: Transaction Processor (Процессор транзакций) реализует интерфейс сообщений, a Accounting Driver (Драйвер счетов) общается с Accounting System (Система ведения счетов).

Рисунок 60 – Пример диаграммы компонентов

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

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

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

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

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

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

Основные цели, преследуемые при разработке диаграммы развертывания:

  • распределение компонентов системы по ее физическим узлам

  • отображение физических связей между узлами системы на этапе исполнения

  • выявление узких мест системы и реконфигурация ее топологию для достижения требуемой производительности

Элементами диаграммы реализации являются узлы, компоненты и связи между ними.

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

Рисунок 61 - Примеры узлов

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

Рисунок 62 - Пример экземпляра узла с компонентами

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

Рисунок 63 - Пример соединения между узлами

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

Рисунок 64 - Диаграмма развертывания распределенной системы

На диаграмме показаны три узла, каждый их которых является процессором (processor), то есть обладает собственной вычислительной мощностью. Центральный узел – это сервер, с которым в локальной сети соединены рабочие станции. Рабочих станций изображено на диаграмме три. Одна из них – это рабочее место администратора. Две другие – рабочие места менеджеров. Предполагается, что одновременно с системой могут работать несколько менеджеров, поэтому было принято решение показать на диаграмме рабочее место менеджера 1 и рабочее место менеджера N.

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