Терри Кватрани - Rational Rose 2000 и UML. Визуальное моделирование стр 11.

Шрифт
Фон

Терри Кватрани - Rational Rose 2000 и UML. Визуальное моделирование

Рис. 4.6. Описание класса

Пакеты

Если в системе существует немного классов, управлять ими достаточно легко. Многие системы состоят из большого количества классов, поэтому необходим механизм, позволяющий разбить их на группы и облегчающий управление и повторное использование. Здесь оказывается полезной концепция пакетов.

Пакет (package) в логическом представлении модели - это набор классов и других связанных пакетов. Путем объединения классов в пакеты мы можем получить представление модели на более высоком уровне. Изучая содержимое пакета, мы, наоборот, получаем более детальное представление.

Каждый пакет содержит интерфейс, реализуемый набором его общедоступных классов (public classes), то есть тех, с которыми могут общаться классы из других пакетов. Остальные классы пакета - это классы реализации (implementation classes), которые не взаимодействуют с классами в других пакетах.

В сложной системе для облегчения восприятия пакеты могут быть созданы на этапе проработки. В более простой системе классы, выделенные на этапе анализа, могут быть сгруппированы в один пакет, представляющий саму систему. В ходе дальнейшего анализа и проектирования пакеты нужны для группировки классов, используемых в системной архитектуре.

В языке UML пакеты изображаются в виде папок (см. рис. 4.7). Чтобы создать пакеты в программе Rational Rose:

1. Щелкните правой кнопкой мыши по разделу Logical View (Логическое представление) в окне браузера.

2. В появившемся контекстно-зависимом меню выберите команду New => Package (Создать => Пакет).

3. Введите нужное имя пакета.

Терри Кватрани - Rational Rose 2000 и UML. Визуальное моделирование

Рис. 4.7. Нотация языка UML для пакетов

Пакет, созданный в списке браузера, показан на рис. 4.8. После создания пакета в него можно поместить необходимые классы.

Терри Кватрани - Rational Rose 2000 и UML. Визуальное моделирование

Рис. 4.8. Пакет, созданный в списке браузера

Последовательность перемещения классов в пакет в программе Rational Rose:

1. В списке браузера выделите нужный класс, щелкнув по нему мышью.

2. Удерживая кнопку мыши нажатой, перетащите класс в пакет.

3. Повторите те же действия для других классов, которые требуется переместить.

Перемещенные классы показаны на рис. 4.9.

Терри Кватрани - Rational Rose 2000 и UML. Визуальное моделирование

Рис. 4.9. Перемещенные классы

Объекты и классы в системе регистрации курсов

Рассмотрим сценарий добавление учебного курса (Add a Course Offering to Teach), который является внутренним потоком для прецедента выбор предметов для преподавания (Select Courses to Teach). Данный сценарий позволяет преподавателю выбрать учебный курс для конкретного семестра.

Хотя мы рассматриваем этот процесс пошагово, на практике большинство шагов могут быть выполнены одновременно.

Выбор граничных классов

Рассматриваемый прецедент взаимодействует только с актером преподаватель. Действие, выполняемое указанным сценарием, - это только одна из возможностей, обеспечиваемых прецедентом (он также определяет, что преподаватель может изменять, удалять, просматривать и печатать курсы). Это означает, что в системе должен быть механизм, позволяющий преподавателю выбирать желаемое действие. Для обеспечения потребностей преподавателя создается специальный класс - параметры курса преподавателя (ProfessorCourseOptions). Дополнительно мы можем указать класс, который служит для добавления новых курсов, доступных преподавателю, - добавление учебного курса (AddACourseOffering).

Выбор классов-сущностей

Данный сценарий состоит из предметов, учебных курсов и назначения преподавателей. Мы можем выделить три класса-сущности: предмет (Course), учебный курс (CourseOffering) и преподаватель (Professor).

Выбор управляющих классов

Добавим один управляющий класс с целью обработки потока событий для прецедента - менеджер курсов преподавателя (ProfessorCourseManager).

Выбранные классы (с установленными стереотипами сущность, управляющий элемент или граничный элемент) могут быть добавлены к модели (см. рис. 4.10). Так как актер преподаватель уже существует, при создании класса преподаватель программа Rational Rose предупредит, что одно и то же имя используется в разных разделах.

Терри Кватрани - Rational Rose 2000 и UML. Визуальное моделирование

Рис. 4.10. Классы для сценария

Создание пакетов

Следующий шаг - объединить классы в пакеты. На данном этапе выделим шесть классов: предмет, учебный курс, преподаватель, параметры курса преподавателя, добавление учебного курса и менеджер курсов преподавателя. Их можно разделить на три логические группы: объекты, специфичные добавление учебного курса для университета; объекты, содержащие информацию о людях; интерфейсы для актеров. Таким образом, мы можем создать следующие пакеты: Интерфейсы (Interfaces), Объекты университета (UniversityArtifacts) и Сведения о людях (Peoplelnfo). Затем классы помещаются в соответствующие пакеты (см. рис. 4.11).

Терри Кватрани - Rational Rose 2000 и UML. Визуальное моделирование

Рис. 4.11. Пакеты в браузере

Диаграммы классов

По мере того как новые классы добавляются в систему, их текстовое представление становится неудобным. Диаграммы классов (class diagrams) помогают графически представить некоторые или все классы в модели.

Главная диаграмма классов в логическом представлении модели обычно отображает пакеты системы. Каждый пакет также имеет свою главную диаграмму классов, которая обычно содержит общедоступные классы пакета. Другие диаграммы создаются по необходимости. Приведу типичные примеры использования диаграмм классов:

просмотр всех классов реализации в пакете;

просмотр структуры и поведения одного или нескольких классов;

просмотр иерархии наследования классов.

Программа Rational Rose автоматически создает главную диаграмму классов в логическом представлении модели.

Чтобы добавить пакеты к главной диаграмме классов, сделайте следующее:

1. Дважды щелкните по пункту списка Main diagram (Главная диаграмма) в браузере, чтобы открыть диаграмму.

2. Выберите нужный пакет в списке, щелкнув по нему мышью.

3. Перетащите пакет на диаграмму.

4. Аналогичным образом перетащите на диаграмму другие пакеты.

Главная диаграмма классов для системы регистрации показана на рис. 4.12. Этапы создания главной диаграммы классов пакета в программе Rational Rose:

1. Дважды щелкните по изображению пакета на диаграмме классов.

2. Пакет откроется, и появится главная диаграмма классов.

3. Выберите нужный класс в списке браузера и перетащите его на диаграмму с помощью мыши. Для отображения стереотипа класса на диаграмме можно воспользоваться командой меню Format => Stereotype display (Формат => Показать стереотип).

4. Повторите предыдущий шаг для других классов, которые вы хотите поместить на диаграмму.

Терри Кватрани - Rational Rose 2000 и UML. Визуальное моделирование

Рис. 4.12. Главная диаграмма классов

Главная диаграмма классов для пакета Объекты университета изображена на рис. 4.13. Заметьте, что класс учебный курс (CourseOffering) на ней отсутствует. Это класс реализации в пакете, и мы решили не показывать его на главной диаграмме. По мере добавления пакетов и классов в модель могут быть созданы дополнительные диаграммы.

Терри Кватрани - Rational Rose 2000 и UML. Визуальное моделирование

Рис. 4.13. Главная диаграмма классов пакета Объекты университета

Настройка видимости классов по умолчанию:

1. Выберите команду меню Tools => Options (Сервис => Параметры).

2. Щелкните по вкладке Diagram (Диаграмма).

3. Установите флажок Show Visibility (Показать видимость) для отображения по умолчанию всех классов.

Установка видимости для выбранного класса:

1. Щелкните правой кнопкой мыши по одному из классов на диаграмме.

2. В появившемся контекстно-зависимом меню выберите команду Options => Show Visibility (Параметры => Показать видимость).

Диаграмма классов, отражающая видимость пакетов, показана на рис. 4.14.

Терри Кватрани - Rational Rose 2000 и UML. Визуальное моделирование

Рис. 4.14. Диаграмма классов, отражающая видимость пакетов

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке