Диаграмма компонентов служит частью физического
Диаграмма компонентов служит частью физического представления модели, играет важную роль в процессе ООАП и является необходимой для генерации программного кода. Общие рекомендации по построению диаграммы компонентов были рассмотрены в лекции 12 курса «Основы объектно-ориентированного моделирования в нотации UML». Для разработки диаграмм компонентов в браузере проекта предназначено отдельное представление компонентов (Component View), в котором уже содержится диаграмма компонентов с пустым содержанием и именем по умолчанию Main (Главная).
Активизация диаграммы компонентов может быть выполнена одним из следующих способов:
- Щелкнуть на кнопке с изображением диаграммы компонентов на стандартной панели инструментов.
- Раскрыть представление компонентов в браузере (Component View) и дважды щелкнуть на пиктограмме Main (Главная).
- Через пункт меню BrowseComponent Diagram (БраузерДиаграмма компонентов).
В результате выполнения этих действий появляется новое окно с чистым рабочим листом диаграммы компонентов и специальная панель инструментов, содержащая кнопки с изображением графических примитивов, необходимых для разработки диаграммы компонентов (табл. 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). При этом каждому из компонентов, как правило, соответствует отдельный файл исходной сборки программного приложения.
![]() | Subprogram Specification | Спецификация подпрограммы. Содержит описание переменных, процедур и функций и не содержит определений классов |
![]() | Subprogram Body | Тело подпрограммы. Содержит реализацию процедур и функций, не относящихся к каким-то классам, при этом не содержит определений классов или реализаций операций других классов |
![]() | Main Program | Главная программа. Реализует базовую логику работы программного приложения и содержит ссылки на другие компоненты модели |
![]() | Package Specification | Спецификация пакета. Содержит определение класса, его атрибутов и операций. В языке программирования С++ спецификации пакета соответствует отдельный файл с расширением «h» |
![]() | Package Body | Тело пакета. Содержит код реализации операций класса. В языке программирования С++ спецификации пакета соответствует отдельный файл с расширением «cpp» |
![]() | Task Specification | Спецификация задачи. Может содержать определение класса, его атрибутов и операций, которые предполагается использовать в независимом потоке управления |
![]() | Task Body | Тело задачи. Может содержать реализацию операций класса, которые имеют независимый поток управления. |
![]() | Generic Subprogram | Типовая подпрограмма. Содержит описание переменных, процедур и функций, которые могут быть использованы в нескольких программных приложениях. При этом типовая подпрограмма не содержит определений классов |
![]() | Generic Package | Типовой пакет. Содержит определение класса, его атрибутов и операций, которое может быть использовано в нескольких программных приложениях |
![]() | Database | База данных. Содержит определение одного или нескольких классов, их атрибутов и, возможно, операций. При этом соответствующие классы могут быть реализованы в форме одной или нескольких таблиц базы данных |