Таблица 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
База данных. Содержит определение одного или нескольких классов, их атрибутов и, возможно, операций. При этом соответствующие классы могут быть реализованы в форме одной или нескольких таблиц базы данных
Использование рассмотренных стереотипов существенно увеличивают наглядность графического представления диаграммы компонентов и позволяют архитектору уточнить характер реализации модели программистом на выбранном языке программирования.