Диаграмма компонентов

Основные стереотипы компонентов

Основные виды компонентов

В UML выделяют три вида компонентов:

1. Компоненты размещения (развёртывания) – Deployment components. Обеспечивают непосредственное выполнение системой своих функций. К таким компонентам относятся динамически подключаемые библиотеки DDL и исполняемые программы EXE в форме файлов .dll и .exe, а также Web-страницы на языке гипертекстовой разметки в форме файлов .html и файлы справочной системы .hlp.

2. Компоненты – рабочие продукты – Work product components. Как правило, это файлы с исходными текстами программ, из которых создаются компоненты развёртывания. Например, для языка C++ – это файлы с расширениями .h и .cpp. Такие продукты не принимают непосредственного участия в работе исполняемой системы, но являются рабочими продуктами, из которых система создаётся.

3. Компоненты исполнения – Execution components. Эти компоненты создаются как следствие работы системы. Например, объект COM++, экземпляр которого создаётся из DLL. Часто компоненты исполнения зависят от конкретной технологии реализации компонентов (язык программирования, прикладные интерфейсы, серверы и серверные технологии).

В UML допускается явное указание стереотипа компонента. Определены следующие стереотипы компонентов:

1. Исполнимый – executable. Физически заменяемая часть системы, которая может быть исполнена.

2. Библиотека – library. Файл динамической или статической библиотеки.

3. Пакет – package. Реализация логических пакетов. Например, классов.

4. Спецификация задачи – task specification, Тело задачи – task body. Реализация отдельной задачи. Для языка C++ – это файлы с исходным текстом программы: файлы описания .h и файлы реализации .cpp. Как правило, указанные в этом пункте стереотипы используются для детализации структуры пакетов классов.

5. Схема – Schema. Реализация логической структуры базы данных.

6. Апплет – applet. Переносимая программа на языке JAVA в форме байт-кода, распространяемая через Web-страницы.

7. Внедряемые объекты – ActiveX. Реализация элементов средствами технологии ActiveX.

Для описания реализованных программных сущностей в UML используются диаграммы компонентов, которые относятся к физическому представлению модели.

Диаграмма компонентов – диаграмма, на которой показаны состав и зависимости между компонентами программной системы.

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

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

 
 

Например, диаграмма компонентов верхнего уровня иерархии может выглядеть так:

Для каждого из пакетов диаграммы компонентов создаётся своя диаграмма компонентов пакета, в которой отображается структура реализованных в них классах. Зависимости между компонентами диаграмм (заголовочными файлами и файлами с исходными текстами) отражают порядок их компиляции. Примеры можно увидеть в файле Упражнения.doc.

Для каждой компоненты определяется язык реализации: C++, VC++, JAVA, Visual Basic, Oracle 8, CORBA.

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

 
 

Ещё один пример диаграммы компонентов системы, на которой показан исполняемый компонент Main.exe. Данный компонент зависит от компонентов размещения Index.html, Dialog.dll и Context.hlp, а также пакета заголовочных файлов Main.h, от которого в свою очередь зависит пакет с исходными текстами программ Main.cpp.