Слайд 2
Диаграмма компонентов описывает особенности физического представления системы.
Диаграмма
компонентов позволяет определить архитектуру разрабатываемой системы, установив зависимости между
программными компонентами, в роли которых может выступать исходный, бинарный и исполняемый код.
Во многих средах разработки модуль или компонент соответствует файлу.
Пунктирные стрелки, соединяющие модули, показывают отношения взаимозависимости, аналогичные тем, которые имеют место при компиляции исходных текстов программ.
Основными графическими элементами диаграммы компонентов являются компоненты, интерфейсы и зависимости между ними.
Слайд 3
Диаграмма компонентов разрабатывается для следующих целей:
Визуализации общей
структуры исходного кода программной системы.
Спецификации исполнимого варианта программной системы.
Обеспечения
многократного использования отдельных фрагментов программного кода.
Представления концептуальной и физической схем баз данных.
Слайд 4
Компоненты
Для представления физических сущностей в языке UML применяется
специальный термин — компонент.
Для графического представления компонента может использоваться
специальный символ — прямоугольник со вставленными слева двумя более мелкими прямоугольниками.
Внутри объемлющего прямоугольника записывается имя компонента и, возможно, некоторая дополнительная информация.
Слайд 5
Графическое изображение компонента в языке UML
Слайд 6
Имя компонента
Имя компонента подчиняется общим правилам именования элементов
модели в языке UML и может состоять из любого
числа букв, цифр и некоторых знаков препинания.
Отдельный компонент может быть представлен на уровне типа или на уровне экземпляра.
Хотя его графическое изображение в обоих случаях одинаковое, правила записи имени компонента несколько отличаются.
Если компонент представляется на уровне типа, то в качестве его имени записывается только имя типа с заглавной буквы.
Если же компонент представляется на уровне экземпляра, то в качестве его имени записывается <имя компонента ':' имя типа Х.
При этом вся строка имени подчеркивается.
В качестве простых имен принято использовать имена исполняемых файлов, имена динамических библиотек, имена текстовых файлов или файлов справки, имена файлов баз данных или имена файлов с исходными.
Слайд 7
В отдельных случаях к простому имени компонента может
быть добавлена информация об имени объемлющего пакета и о
конкретной версии реализации данного компонента.
В этом случае номер версии записывается как помеченное значение в фигурных скобках.
В других случаях символ компонента может быть разделен на секции, чтобы явно указать имена реализованных в нем интерфейсов.
Такое обозначение компонента называется расширенным.
Слайд 8
Виды компонентов
Компоненты развертывания, которые обеспечивают непосредственное выполнение системой
своих функций. Такими компонентами могут быть динамически подключаемые библиотеки
с расширением dll, Web-страницы на языке разметки гипертекста с расширением html.
Компоненты-рабочие продукты. Как правило — это файлы с исходными текстами программ, например, с расширениями h или срр для языка C++.
Компоненты исполнения, представляющие исполнимые модули — файлы с расширением ехе. Они обозначаются обычным образом.
Слайд 9
Варианты графического изображения компонентов на диаграмме компонентов
Слайд 10
В языке UML для компонентов определены следующие стереотипы:
Библиотека (library) — определяет первую разновидность компонента, который представляется
в форме динамической или статической библиотеки.
Таблица (table) — также определяет первую разновидность компонента, который представляется в форме таблицы базы данных.
Файл (file) — определяет вторую разновидность компонента, который представляется в виде файлов с исходными текстами программ.
Документ (document) — определяет вторую разновидность компонента, который представляется в форме документа.
Исполнимый (executable) — определяет третий вид компонента, который может исполняться в узле.
Слайд 11
Интерфейсы
Следующим элементом диаграммы компонентов являются интерфейсы.
Интерфейс графически изображается
окружностью, которая соединяется с компонентом отрезком линии без стрелок.
При этом имя интерфейса, которое обязательно должно начинаться с заглавной буквы "I", записывается рядом с окружностью.
Семантически линия означает реализацию интерфейса, а наличие интерфейсов у компонента означает, что данный компонент реализует соответствующий набор интерфейсов.
Слайд 12
Графическое изображение интерфейсов на диаграмме компонентов
Слайд 13
Другим способом представления интерфейса на диаграмме компонентов является
его изображение в виде прямоугольника класса со стереотипом "интерфейс"
и возможными секциями атрибутов и операций.
Слайд 14
Зависимости
Отношение зависимости на диаграмме компонентов изображается пунктирной линией
со стрелкой, направленной от клиента (зависимого элемента) к источнику
(независимому элементу).
Применительно к диаграмме компонентов зависимости могут связывать компоненты и импортируемые этим компонентом интерфейсы, а также различные виды компонентов между собой.
Слайд 15
Фрагмент диаграммы компонентов с отношением зависимости
Слайд 16
Другим случаем отношения зависимости на диаграмме компонентов является
отношение между различными видами компонентов.
Слайд 17
На диаграмме компонентов могут быть представлены отношения зависимости
между компонентами и реализованными в них классами.
Эта информация
имеет важное значение для обеспечения согласования логического и физического представлений модели системы.
Изменения в структуре описаний классов могут привести к изменению компонента.
Слайд 18
Графическое изображение зависимости между компонентом и классами
Слайд 19
Если требуется подчеркнуть, что некоторый компонент реализует отдельные
классы, то для обозначения компонента используется расширенный символ прямоугольника.
При этом прямоугольник компонента делится на две секции горизонтальной линией.
Верхняя секция служит для записи имени компонента, а нижняя секция — для указания дополнительной информации.
Слайд 20
Графическое изображение компонента с дополнительной информацией о реализуемых
им классах
Слайд 21
Внутри символа компонента могут изображаться другие элементы графической
нотации, такие как классы (компонент уровня типа) или объекты
(компонент уровня экземпляра).
В этом случае символ компонента изображается таким образом, чтобы вместить эти дополнительные символы.
Изображенный ниже компонент является экземпляром и реализует три отдельных объекта.
Слайд 22
Графическое изображение компонента уровня экземпляра, реализующего отдельные объекты