Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПрИ - Тема 10. Диагр. компонентов (Component Diagram).doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Строка инструментов

При активизации диаграммы строка инструментов приобретает следующий вид (рис. 10.1).

Рис. 10.1. Строка инструментов Component диаграммы

Здесь также присутствуют стандартные инструменты, уже рассмотренные ранее, — это Selection Tool, Note, Text Box, Anchor Note to Item. Они выполняют те же функции, что и в других диаграммах, поэтому не будем на них останавливаться и разберем другие инструменты диаграммы.

Component (компонент)

Значок Component позволяет показать создание компонента. Компонент представляет собой модуль программного обеспечения, такой как исходный код, двоичный файл, выполняемый файл, динамически подключаемые библиотеки и т.д.

Взаимодействие элементов представляется на диаграмме одним или несколькими значками интерфейса.

Компоненты также могут использоваться для показа взаимосвязи модулей на этапе компиляции или выполнения программы, а также показывать, какие классы используются для создания определенных компонентов.

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

Замечание. В отличие от других диаграмм, при создании элементов диаграммы компонентов в модель всегда добавляется один тип элементов — Component, который отличается только стереотипом. Например, при создании элемента Subprogram body (тело подпрограммы) в модель добавляется компонент,, который имеет стереотип Subprogram body, и который в любой момент можно изменить, что повлечет изменение графического отображения компонента.

Обычно имя компонента совпадает с именем файла, представляющего компонент и для каждого компонента должен быть назначен язык программирования .

Package (контейнер)

Значок Package позволяет отобразить контейнер, который объединяет группу компонентов в модели.

Совет. Для того чтобы перенести созданный компонент в контейнер, в окне Browse перетяните нужный компонент мышкой на значок контейнера.

Dependency (зависимости)

Пользователь может установить связи данного типа между компонентами, которые изображаются как пунктирная стрелка от одного компонента к другому. Этот тип связей показывает, что классы, содержащиеся в контейнере-клиенте, наследуются, содержат элементы, используют или каким-либо другим образом зависят от классов, которые экспортируются из компонента-сервера.

Пользователь может отобразить связь компонента и интерфейса другого компонента и это означает, что компонент-клиент использует операции другого компонента (рис. 10.2). Если в этом случае связь будет направлена в другую сторону, то это означает, что компонент-клиент предоставляет операции компоненту-серверу.

Рис. 10.2. Пример использования операций компонента

Main program (главная программа)

Значок Main program позволяет добавить в модель компонент, обозначающий главную программу. Для задач, которые создаются в объектно-ориентированной среде Visual Studio, главная программа скрыта библиотекой MFC, а приложение начинает работать с создания главного класса приложения theApp, который наследуется из библиотечного класса CWinApp, поэтому данный значок используется редко.

Subprogram body (тело подпрограммы)

Значок Subprogram body позволяет добавить в модель компонент, обозначающий тело подпрограммы, и используется также для необъектно-ориентированных компонентов.

Package specification/body (определение/тело контейнера)

Значки Package specification/body позволяют отобразить определения контейнера (Package specification) и описание контейнера (Package body), которые обычно связаны между собой.

Для языка C++ Package specification — это заголовочный файл с расширением .h, a Package body — это файл с расширением .срр.

Task specification/body (определение/тело задачи)

Значки Task specification/body позволяют отобразить независимые потоки в многопотоковой системе. Если такие задачи компилируются независимо от обычных модулей, то появляется возможность разместить классы и их определения в таких задачах.

Свойства компонента

Для описанного ранее класса EnvironmentalController создадим значок Package Specification. Этим мы покажем, что определение данного класса будет находиться в файле EnvironmentalController.h.

Вкладка General (главная)

После создания элемента перейдите во вкладку General его спецификаций при помощи RClick=>Specification=>General и заполните ее, как показано на рис. 10.3.

Рис. 10.3. Вкладка General спецификаций компонента

Здесь пользователю доступно изменение имени компонента (Name), дан список стереотипов (Stereotype), доступных для выбора, как и в других элементах, есть возможность заполнения документации (Documentation). Также предоставляется возможность выбора языка программирования для компонента.

Замечание. Для нормальной работы с исходным текстом компонента все включенные в него классы должны быть ассоциированы с одним языком программирования.

В связи с тем, что мы создаем систему управления тепличным хозяйством на Visual C++, необходимо установить этот язык, изменив предлагаемое по умолчанию значение Analysis, на значение VC++ После чего при следующей активизации данного окна появятся вкладки СОМ и VC++.