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


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

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

Диаграммы компонентов и размещения имеют много общего, объединяя воедино следующие, теснейшим образом связанные, вещи:

● структуру логических элементов (компонентов);

● отображения логических элементов (компонентов) на физические элементы (артефакты);

● структуру используемых ресурсов (узлов) с распределенными по ним физическими элементами (артефактами).

Диаграмма компонентов (component diagram) — показывает взаимосвязи между модулями (логическими или физическими), из которых состоит моделируемая система.

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

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

На диаграмме компонентов применяются следующие отношения:

● реализации между компонентами и интерфейсами (компонент реализует интерфейс) (обеспеченный интерфейс);

● зависимости между компонентами и интерфейсами (компонент использует интерфейс) (требуемый интерфейс).

Компонент UML является частью модели, и описывает логическую сущность, которая существует только во время проектирования (design time), хотя в дальнейшем ее можно связать с физической реализацией (артефактом) времени исполнения (run time). Стандартом UML для компонентов предусмотрены стереотипы, приведенные в таблице 3.7.

Таблица 3.3 Стереотипы компонентов

Стереотип Описание
«buildComponent» компонент, служащий для разработки приложения
«entity» постоянно хранимый информационный компонент, представляющий некоторое понятие предметной области
«service» функциональный компонент без состояния, возвращающий запрашиваемые значения без побочных эффектов
«subsystem» единица иерархической декомпозиции большой системы

Аналогом компонента в смысле сборочного программирования является понятие артефакта в UML.

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

Стандартные стереотипы артефактов перечислены в таблице 3.4.

 

Таблица 3.4 Стандартные стереотипы артефактов

Стереотип Описание
«file» Файл любого типа, хранимый в файловой системе
«document» артефакт, представляющий файл (документ), который не является ни файлом исходных текстов, ни исполняемым файлом
«executable» выполнимая программа любого вида. Подразумевается по умолчанию, если никакой стереотип не указан
«library» статическая или динамическая библиотека
«script» файл, содержащий текст, допускающий интерпретацию соответствующими программным средствами
«source» файл с исходным кодом программы

 

Артефакт может участвовать в отношении манифестации. Манифестация — это отношение зависимости со стереотипом «manifest», связывающее элемент модели (например, класс или компонент) и его физическую реализацию в виде артефакта.

 

Рисунок 3. 24. Артефакты

На рис. 3.24. представлен класс Company, который связан отношением манифестации (зависимость со стереотипом «manifest») с двумя артефактами со стереотипом «source», которые в свою очередь определяют артефакт времени выполнения – динамическую библиотеку (со стереотипом «library») Company.