4. Чтобы добавить отношения зависимости, щелкните по кнопке Dependency (Отношение зависимости) на панели инструментов, затем по пакету-клиенту и проведите линию связи к пакету-поставщику.
Главная диаграмма компонентов для задачи регистрации учебных курсов показана на рис. 11.5.
Компоненты исходного кода
В представлении компонентов модели компоненты исходного кода — это программные файлы, содержащиеся внутри пакетов. Тип файлов зависит от языка программирования (например, в C++ — файлы. h и срр, в Java — .Java, в PowerBuilder — .pbl). Каждый компонент связан с каким-либо языком. Классы в логическом представлении отображаются на компоненты в представлении компонентов. Для C++ один класс отображается в один компонент. Однако иногда на один компонент может быть отображено больше одного класса. Это обычно происходит в том случае, когда между классами существует очень тесная связь. Например, контейнер и его итератор содержатся в одном. h- и одном срр-файле. Значит, класс-контейнер и класс-итератор будут отображаться на один компонент. Я также видела классы, которые используются как шаблон взаимодействия, отображаемый на один физический файл. Нотация языка UML для компонента показана на рис. 11.6.
Программные компоненты в задаче регистрации учебных курсов
Это относительно простая система, вот почему было принято решение обеспечить отображение один в один между классами и компонентами — каждый класс имеет собственный файл заголовка и cpp-файл.
Для создания компонентов в программе Rational Rose:
1. Откройте диаграмму компонентов.
2. Щелкните по кнопке Component (Компонент) на панели инструментов.
3. Щелкните по диаграмме, чтобы поместить на нее компонент. Новый компонент также будет добавлен в список браузера.
4. Введите имя нового компонента.
Простая диаграмма компонентов показана на рис. 11.7.
Отображение классов на компоненты в программе Rational Rose предусматривает выполнение следующих действий:
1. Щелкните правой кнопкой мыши по компоненту в списке браузера.
2. В появившемся контекстно-зависимом меню выберите команду Open Specification (Открыть параметры).
3. Щелкните по вкладке Realize (Реализация).
4. Щелкните правой кнопкой мыши по нужному классу в списке классов.
5. В появившемся контекстно-зависимом меню выберите команду Assign (Присвоить).
6. Щелкните по кнопке OK, чтобы закрыть диалоговое окно настройки параметров компонента.
Класс можно присвоить компоненту путем перетаскивания класса из окна браузера на изображение компонента в браузере или на диаграмме компонентов.
Диалоговое окно настройки параметров компонента учебный курс (Course Offering) показано на рис. 11.8.
Представление процессов
В программе Rational Rose информация для представления процессов создается в виде диаграмм в представлении компонентов, содержащих либо программные, либо исполняемые компоненты. Диаграммы нужны для того, чтобы показать зависимости между компонентами различного типа в системе.
В системе регистрации учебных курсов созданы две динамические библиотеки (DLL) — для обработки информации о предметах и учебных курсах и для работы с базой данных. Такой подход был выбран исходя из возможных изменений в структуре курсов и в стратегии взаимодействия с базой данных.