В ходе дальнейшего анализа и проектирования пакеты нужны для группировки классов, используемых в системной
архитектуре.
В языке UML пакеты изображаются в виде папок (см. рис. 7).
Рис. 7. Нотация UML для пакетов.
Чтобы создать пакеты в программе Rational Rose:
Пакет, созданный в списке браузера, показан на рис. 8. После создания пакета в него можно поместить необходимые классы.
Последовательность перемещения классов в пакет в программе Rational Rose:
Перемещенные классы показаны на рис.9.
Рис.8. Пакет, созданный в списке Рис.9. Перемещенные классы
браузера
Объекты и классы в системе регистрации курсов
Рассмотрим сценарий добавление учебного курса (Add a Course Offering to Teach) , который является внутренним потоком для прецедента выбор предметов для преподавания (Select Course to Teach). Данный сценарий позволяет преподавателю выбрать учебный курс для конкретного семестра.
Хотя мы рассматриваем этот процесс пошагово, на практике большинство шагов могут быть выполнены одновременно.
Выбор граничных классов
Рассматриваемый прецедент взаимодействует только с актером преподаватель. Действие, выполняемое указанным сценарием,- это только одна из возможностей, обеспечиваемых прецедентом (он также определяет, что преподаватель может изменять, удалять, просматривать и печатать курсы). Это означает, что в системе должен быть механизм, позволяющий преподавателю выбирать желаемое действие. Для обеспечения потребностей преподавателя создается специальный класс – параметры курса преподавателя (Professor Course Options). Дополнительно мы можем указать класс, который служит для добавления новых курсов, доступных преподавателю, - добавление учебного курса (Add a Course Offering).
Выбор классов-сущностей
Данный сценарий состоит из предметов, учебных курсов и назначения преподавателей. Мы можем выделить три класса-сущности: предмет (Course), учебный курс (Course Offering) и преподаватель (Professor).
Выбор управляющих классов
Добавим один управляющий класс с целью
обработки потока событий для прецедента
– менеджер курсов преподавателя
(Professor Course Manager).
Выбранные классы (с установленными
стереотипами сущность, управляющий
элемент или граничный элемент)
могут быть добавлены к модели (см. рис. 10).
Так как актер преподаватель уже
существует, при создании класса преподаватель
программа Rational Rose предупредит, что Рис.10. Классы для сценария
одно и то же имя используется в разных разделах. Добавление учебного курса
Создание пакетов
Следующий шаг – объединить классы в пакеты. На данном этапе выделим шесть
классов: предмет, учебный курс, преподаватель, параметры курса,
добавление учебного курса, менеджер курсов преподавателя.
Таким образом, мы можем создать следующие пакеты: Интерфейсы (Interfaces),
Объекты университета (Univercity Artifacts) и сведения о людях (PeopleInfo).
Затем классы помещаются в соответствующие пакеты (см. рис.11) .
Рис. 11. Пакеты в браузере.
Диаграммы классов
По мере того, как новые классы добавляются в систему, их текстовое представление становится неудобным. Диаграммы классов (class diagrams) помогают графически представить некоторые или все классы в модели. Главная диаграмма классов в логическом представлении модели обычно отображает пакеты системы. Каждый пакет также имеет свою диаграмму классов, которая обычно содержит общедоступные классы пакета. Другие диаграммы создаются по необходимости.
Типичные примеры использования диаграмм классов:
Программа Rational Rose автоматически создает главную диаграмму классов в логическом представлении модели.
Чтобы добавить пакеты к главной диаграмме классов,
сделайте следующее:
Главная диаграмма классов для системы регистрации показана на рис.12.
Этапы создания главной диаграммы классов пакета в программе Rational Rose:
Рис.12. Главная диаграмма классов
Главная диаграмма классов для пакета Объекты университета изображена на рис. 13. Заметьте, что класс учебный курс (Course Offering) на ней отсутствует. Это класс реализации в пакете, и мы решили не показывать его на главной диаграмме. По мере добавления пакетов и классов в модель могут быть созданы дополнительные диаграммы.
Рис. 13.Главная диаграмма классов пакета « Объекта университета»
Настройка видимости классов по умолчанию:
1. Выберете команду меню Tools → Options (Сервис → Параметры).
2. Щелкните по вкладке Diagram (Диаграмма).
3. Установите флажок Slow Visibility (Показать видимость) для отображения по умолчанию всех классов.
Установка видимости для выбранного класса:
1. Щелкните правой кнопкой мыши по одному из классов на диаграмме.
2. В появившемся контекстно-зависимом меню выберете команду Options →
Slow Visibility (Параметры → Показать видимость).
Диаграмма классов, отражающая видимость пакетов, показана на рис.14.
Рис. 14. Диаграмма классов, отображающая видимость пакетов.
Резюме
Объекты – это компьютерное представление сущностей (предметов реального мира или понятий, придуманных человеком). Объект- это концепция, абстракция или вещь с четко определенными границами и значением для системы. Каждый объект в системе имеет три характеристики: состояние, поведение и индивидуальность. Состояние объекта – одно из условий, в которых он может находиться. Поведение характеризует объект и показывает, как он реагирует на запросы других объектов. Индивидуальность означает, что каждый объект уникален, даже если его состояние идентично состоянию другого объекта.
Класс- это описание группы объектов с общими свойствами (атрибутами), поведением (операциями), отношениями с другими объектами (ассоциативными и агрегационными) и семантикой.
После того, как класс создан, его необходимо описать в документации. Документация предназначена для описания назначения класса, а не его структуры.
Стереотипы обеспечивают возможность создания новых типов элементов моделирования и должны основываться на элементах, входящих в метамодель языка UML. На этапе анализа выделяют три основных стереотипа для классов: класс-сущность, граничный класс и управляющий класс. Эти стереотипы используются для определения классов в разрабатываемой системе.
Пакет в логическом представлении модели – это набор классов и других связанных пакетов. Путем объединения классов в пакеты мы можем получить представление модели на более высоком уровне. Изучая содержимое пакета, мы получаем более детальное представление.
Диаграммы классов помогают графически изобразить некоторые или все классы системы. Диаграммы классов можно создать и в представлении модели прецедента. Они обычно прикрепляются к прецеденту и содержат представления классов, участвующих в их выполнении.
Изучение взаимодействия объектов.
Реализация прецедентов
Диаграмма прецедентов представляет внешний вид системы. Выполнение прецедентов отображается с помощью потока событий. Сценарии используются для описания того, как реализуются прецеденты, взаимодействия между группами объектов.
Сценарии (scenario) – это элемент прецедента. Он представляет собой одиночный проход по потоку событий для прецедентов. Сценарии помогают выделить объекты, классы и взаимодействия объектов, необходимые для исполнения единичного действия, определенного прецедентом. Сценарии описывают порядок того, как обязанности, возложенные на прецеденты, распределяются среди объектов и классов в системе. Сценарии говорят на языке конечных пользователей и экспертов и поэтому являются средством выражения их пожеланий по необходимому поведению системы для разработчиков.