Диаграмма компонентов служит частью физического
Диаграмма компонентов служит частью физического представления модели, играет важную роль в процессе ООАП и является необходимой для генерации программного кода. Общие рекомендации по построению диаграммы компонентов были рассмотрены в лекции 12 курса «Основы объектно-ориентированного моделирования в нотации UML». Для разработки диаграмм компонентов в браузере проекта предназначено отдельное представление компонентов (
Component View), в котором уже содержится диаграмма компонентов с пустым содержанием и именем по умолчанию
Main (Главная).
Активизация диаграммы компонентов может быть выполнена одним из следующих способов:
- Щелкнуть на кнопке с изображением диаграммы компонентов на стандартной панели инструментов.
- Раскрыть представление компонентов в браузере (Component View) и дважды щелкнуть на пиктограмме Main (Главная).
- Через пункт меню BrowseComponent Diagram (БраузерДиаграмма компонентов).
В результате выполнения этих действий появляется новое окно с чистым рабочим листом диаграммы компонентов и специальная панель инструментов, содержащая кнопки с изображением графических примитивов, необходимых для разработки диаграммы компонентов (табл. 12.1).
Таблица 12.1. Назначение кнопок специальной панели инструментов диаграммы компонентовГрафическое изображениеВсплывающая подсказкаНазначение кнопки
| Selection Tool | Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме |
| Text Box | Добавляет на диаграмму текстовую область |
| Note | Добавляет на диаграмму примечание |
| Anchor Note to Item | Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы |
| Component | Добавляет на диаграмму компонент |
| Package | Добавляет на диаграмму пакет |
| Dependency | Добавляет на диаграмму отношение зависимости |
| Subprogram Specification | Добавляет на диаграмму спецификацию подпрограммы |
| Subprogram Body | Добавляет на диаграмму тело подпрограммы |
| Main Program | Добавляет на диаграмму главную программу |
| Package Specification | Добавляет на диаграмму спецификацию пакета |
| Package Body | Добавляет на диаграмму тело пакета |
| Task Specification | Добавляет на диаграмму спецификацию задачи |
| Task Body | Добавляет на диаграмму тело задачи |
| Generic Subprogram | Добавляет на диаграмму типовую подпрограммы(по умолчанию отсутствует) |
| Generic Package | Добавляет на диаграмму типовой пакет (по умолчанию отсутствует) |
| Database | Добавляет на диаграмму базу данных (по умолчанию отсутствует) |
<
Как видно из этой таблицы, по умолчанию на панели инструментов отсутствуют только три графических элемента из рассмотренных ранее элементов диаграммы компонентов, а именно - кнопки с пиктограммами типовой подпрограммы, типового пакета и базы данных. При необходимости их можно добавить на специальную панель диаграммы компонента стандартным способом.
Программа IBM Rational Rose 2003 не поддерживает графические стереотипы, рассмотренные в лекции 12 курса «Основы объектно-ориентированного моделирования в нотации UML», и предлагает целый ряд собственных стереотипов. Графическое изображение этих стереотипов и их краткая характеристика приводятся в следующей таблице (табл. 12.2). При этом каждому из компонентов, как правило, соответствует отдельный файл исходной сборки программного приложения.
Таблица 12.2. Графическое изображение стереотипов компонентов и их характеристикаГрафическое изображение и имя по умолчаниюНазвание стереотипаХарактеристика стереотипа компонента
| Subprogram Specification | Спецификация подпрограммы. Содержит описание переменных, процедур и функций и не содержит определений классов |
| Subprogram Body | Тело подпрограммы. Содержит реализацию процедур и функций, не относящихся к каким-то классам, при этом не содержит определений классов или реализаций операций других классов |
| Main Program | Главная программа. Реализует базовую логику работы программного приложения и содержит ссылки на другие компоненты модели |
| Package Specification | Спецификация пакета. Содержит определение класса, его атрибутов и операций. В языке программирования С++ спецификации пакета соответствует отдельный файл с расширением «h» |
| Package Body | Тело пакета. Содержит код реализации операций класса. В языке программирования С++ спецификации пакета соответствует отдельный файл с расширением «cpp» |
| Task Specification | Спецификация задачи. Может содержать определение класса, его атрибутов и операций, которые предполагается использовать в независимом потоке управления |
| Task Body | Тело задачи. Может содержать реализацию операций класса, которые имеют независимый поток управления. |
| Generic Subprogram | Типовая подпрограмма. Содержит описание переменных, процедур и функций, которые могут быть использованы в нескольких программных приложениях. При этом типовая подпрограмма не содержит определений классов |
| Generic Package | Типовой пакет. Содержит определение класса, его атрибутов и операций, которое может быть использовано в нескольких программных приложениях |
| Database | База данных. Содержит определение одного или нескольких классов, их атрибутов и, возможно, операций. При этом соответствующие классы могут быть реализованы в форме одной или нескольких таблиц базы данных |
Использование рассмотренных стереотипов существенно увеличивают наглядность графического представления диаграммы компонентов и позволяют архитектору уточнить характер реализации модели программистом на выбранном языке программирования.