- •Лабораторная работа 11 Тема: диаграмма компонентов
- •Компоненты
- •Интерфейсы
- •Зависимости между компонентами
- •Рекомендации по построению диаграммы компонентов
- •Особенности разработки диаграммы компонентов в среде ibm Rational Rose
- •Добавление компонента на диаграмму компонентов и редактирование его свойств
- •Добавление отношения зависимости и редактирование его свойств
- •Контрольные вопросы:
- •Окончательное построение диаграммы компонентов модели банкомата
Рекомендации по построению диаграммы компонентов
Разработка диаграммы компонентов предполагает использование информации не только о логическом представлении модели системы, но и об особенностях ее физической реализации. В первую очередь, необходимо решить, из каких физических частей или файлов будет состоять программная система. На этом этапе следует обратить внимание на такую реализацию системы, которая обеспечивала бы возможность повторного использования кода за счет рациональной декомпозиции компонентов, а также создание объектов только при их необходимости.
Общая производительность программной системы существенно зависит от рационального использования вычислительных ресурсов. Для этой цели необходимо большую часть описаний классов, их операций и методов вынести в динамические библиотеки, оставив в исполняемых компонентах только самые необходимые для инициализации программы фрагменты программного кода.
После общей структуризации физического представления системы необходимо дополнить модель интерфейсами и схемами базы данных. При разработке интерфейсов следует обращать внимание на согласование различных частей программной системы. Включение в модель схемы базы данных предполагает спецификацию отдельных таблиц и установление информационных связей между ними.
Завершающий этап построения диаграммы компонентов связан с установлением и нанесением на диаграмму взаимосвязей между компонентами, а также отношений реализации. Эти отношения должны иллюстрировать все важнейшие аспекты физической реализации системы, начиная с особенностей компиляции исходных текстов программ и заканчивая исполнением отдельных частей программы на этапе ее выполнения. Для этой цели можно использовать различные графические стереотипы компонентов.
При разработке диаграммы компонентов следует придерживаться общих принципов создания моделей на языке UML. В частности, в первую очередь необходимо использовать уже имеющиеся в языке UML и общепринятые графические и текстовые стереотипы. В большинстве типовых проектов этого набора достаточно для представления компонентов и зависимостей между ними.
Если же проект содержит физические элементы, описание которых отсутствует в языке UML, то следует воспользоваться механизмом расширения. В частности, можно применить дополнительные стереотипы для отдельных нетиповых компонентов или помеченные значения для уточнения отдельных характеристик компонентов.
Наконец, следует обратить внимание на то, что диаграмма компонентов, как правило, разрабатывается совместно с диаграммой развертывания, на которой представляется информация о физическом размещении компонентов программной системы по ее отдельным узлам.
Особенности разработки диаграммы компонентов в среде ibm Rational Rose
Диаграмма компонентов служит частью физического представления модели, играет важную роль в процессе ООАП и является необходимой для генерации программного кода. Для разработки диаграмм компонентов в браузере проекта предназначено отдельное представление компонентов (Component View), в котором уже содержится диаграмма компонентов с пустым содержанием и именем по умолчанию Main (Главная).
Активизация диаграммы компонентов может быть выполнена одним из следующих способов:
Щелкнуть на кнопке с изображением диаграммы компонентов на стандартной панели инструментов.
Раскрыть представление компонентов в браузере (Component View) и дважды щелкнуть на пиктограмме Main (Главная).
Через пункт меню Browse
Component
Diagram
(Браузер
Диаграмма
компонентов).
В результате выполнения этих действий появляется новое окно с чистым рабочим листом диаграммы компонентов и специальная панель инструментов, содержащая кнопки с изображением графических примитивов, необходимых для разработки диаграммы компонентов (табл. 1).
Таблица 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 не поддерживает графические стереотипы, рассмотренные выше, и предлагает целый ряд собственных стереотипов. Графическое изображение этих стереотипов и их краткая характеристика приводятся в следующей таблице (табл. 2). При этом каждому из компонентов, как правило, соответствует отдельный файл исходной сборки программного приложения.
Таблица 2. Графическое изображение стереотипов компонентов и их характеристика |
||
Графическое изображение и имя по умолчанию |
Название стереотипа |
Характеристика стереотипа компонента |
|
Subprogram Specification |
Спецификация подпрограммы. Содержит описание переменных, процедур и функций и не содержит определений классов |
|
Subprogram Body |
Тело подпрограммы. Содержит реализацию процедур и функций, не относящихся к каким-то классам, при этом не содержит определений классов или реализаций операций других классов |
|
Main Program |
Главная программа. Реализует базовую логику работы программного приложения и содержит ссылки на другие компоненты модели |
|
Package Specification |
Спецификация пакета. Содержит определение класса, его атрибутов и операций. В языке программирования С++ спецификации пакета соответствует отдельный файл с расширением «h» |
|
Package Body |
Тело пакета. Содержит код реализации операций класса. В языке программирования С++ спецификации пакета соответствует отдельный файл с расширением «cpp» |
|
Task Specification |
Спецификация задачи. Может содержать определение класса, его атрибутов и операций, которые предполагается использовать в независимом потоке управления |
|
Task Body |
Тело задачи. Может содержать реализацию операций класса, которые имеют независимый поток управления. |
|
Generic Subprogram |
Типовая подпрограмма. Содержит описание переменных, процедур и функций, которые могут быть использованы в нескольких программных приложениях. При этом типовая подпрограмма не содержит определений классов |
|
Generic Package |
Типовой пакет. Содержит определение класса, его атрибутов и операций, которое может быть использовано в нескольких программных приложениях |
|
Database |
База данных. Содержит определение одного или нескольких классов, их атрибутов и, возможно, операций. При этом соответствующие классы могут быть реализованы в форме одной или нескольких таблиц базы данных |
Использование рассмотренных стереотипов существенно увеличивают наглядность графического представления диаграммы компонентов и позволяют архитектору уточнить характер реализации модели программистом на выбранном языке программирования.
