42
Зависимости могут отражать связи отдельных файлов программной
системы на этапе компиляции и генерации объектного кода. В других случаях
зависимость может указывать на наличие в независимом компоненте описаний
классов, которые используются в зависимом компоненте для создания
соответствующих объектов. Применительно к диаграмме компонентов
зависимости могут связывать компоненты и импортируемые этим компонентом
интерфейсы, а также различные виды компонентов между собой.
В этом случае рисуют стрелку от компонента-клиента к
импортируемому интерфейсу. Наличие такой стрелки означает, что компонент
не реализует соответствующий интерфейс, а использует его в процессе своего
выполнения. При этом на этой же диаграмме может присутствовать и другой
компонент, который реализует этот интерфейс. Отношение реализации
интерфейса обозначается на диаграмме компонентов обычной линией без
стрелки.
Так, например, изображенный ниже фрагмент диаграммы компонентов
представляет информацию о том, что компонент с именем Control зависит от
импортируемого интерфейса IDialog, который, в свою очередь, реализуется
компонентом с именем DataBase . При этом для второго компонентa этот
интерфейс является экспортируемым. Изобразить связь второго компонентa
DataBase с этим интерфейсом в форме зависимости нельзя, поскольку этот
компонент реализует указанный интерфейс.
На диаграмме компонентов могут быть также представлены отношения
зависимости между компонентами и реализованными в них классами. Эта
информация имеет значение для обеспечения согласования логического и
физического представлений модели системы. Разумеется, изменения в
структуре описаний классов могут привести к изменению этой зависимости.
Ниже приводится фрагмент зависимости подобного рода, когда исполнимый
компонент Control .exe зависит от соответствующих классов.
В этом случае из диаграммы компонентов не следует, что классы
реализованы данным компонентом. Если требуется подчеркнуть, что