OpenU.Ru
Диаграмма, на которой изображены организация типов компонентов и зависимости между ними.
Семантика
На диаграмме компонентов изображаются зависимости между компонентами программы:
компоненты исходного кода, бинарного кода, а также выполнимые компоненты (см.
рис. 64). Программный модуль также можно представить
в виде компонента. Некоторые компоненты существуют во время компиляции, другие
- во время сборки, а прочие - во время выполнения или даже в нескольких различных
периодах времени. Некоторые компоненты имеют значение только во время компиляции
(compile-only components). В таком случае, компонент, существующий во время
выполнения, будет являться выполнимой программой.
У диаграммы компонентов есть только описательная форма, формы с использованием
экземпляров у нее нет. Чтобы изобразить экземпляры компонентов, нужно строить
диаграмму развертывания.
Нотация
На диаграмме компонентов изображаются классификаторы компонента класса, которые
в них определяются, а также отношения между ними. Классификаторы компонента
могут также быть вложены в другие классификаторы компонента. Это указывает на
существование между ними отношений определения.
Класс может также изображаться внутри того компонента, который его определяет.
Впрочем, в случае работы с системами произвольных размеров классы, которые определяет
компонент, удобнее показать в виде списка, а не в виде символов. На диаграмме,
где есть классификаторы компонентов и классификаторы
узлов, можно показывать зависимости компиляции. Они изображаются в виде пунктирных
стрелок (зависимостей), идущих о компонента-клиента к компоненту-поставщику,
от которого он за висит. Зависимости такого рода определяются конкретным языком
программирования. Их можно изображать и виде стереотипов
этих зависимостей.
С помощью этой диаграммы можно также изображать интерфейсы и зависимости вызова,
существующие между компонентами. Для этого используются пунктирные стрелки,
идущие от компонентов к интерфейсам других компонентов.
См. примеры диаграмм компонентов в статье энциклопедии component.