Особенности разработки диаграммы компонентов в среде IBM Rational Rose 2003
Диаграмма компонентов служит частью физического представления модели, играет важную роль в процессе ООАП и является необходимой для генерации программного кода. Общие рекомендации по построению диаграммы компонентов были рассмотрены в лекции 12 курса "Основы объектно-ориентированного моделирования в нотации UML". Для разработки диаграмм компонентов в браузере проекта предназначено отдельное представление компонентов ( Component View ), в котором уже содержится диаграмма компонентов с пустым содержанием и именем по умолчанию Main (Главная).
Активизация диаграммы компонентов может быть выполнена одним из следующих способов:
- Щелкнуть на кнопке с изображением диаграммы компонентов на стандартной панели инструментов.
- Раскрыть представление компонентов в браузере ( Component View ) и дважды щелкнуть на пиктограмме Main (Главная).
- Через пункт меню Browse Component 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 |
База данных. Содержит определение одного или нескольких классов, их атрибутов и, возможно, операций. При этом соответствующие классы могут быть реализованы в форме одной или нескольких таблиц базы данных |
Использование рассмотренных стереотипов существенно увеличивают наглядность графического представления диаграммы компонентов и позволяют архитектору уточнить характер реализации модели программистом на выбранном языке программирования.