Rational Rose 2000 и UML Визуальное моделирование
Шрифт:
Это делается для сохранения простоты диаграмм. Если нужно, их можно связать друг с другом. Это позволит пользователям перемещаться по набору диаграмм.
Для связывания диаграмм в программе Rational Rose:
1. Щелкните по кнопке Note (Сноска) на панели инструментов.
2. Щелкните по диаграмме, чтобы поместить на нее сноску.
3. Выберите в списке браузера диаграмму, которую нужно связать с текущей, и перетащите ее на сноску.
4. Для перехода на связанную диаграмму необходимо дважды щелкнуть по сноске.
Диаграмма взаимодействий (collaboration diagram) — это альтернативный способ отображения сценариев. Такой тип диаграммы показывает взаимодействие объектов, организованное вокруг них, и их связи друг с другом. Диаграмма взаимодействий содержит:
объекты, изображаемые в виде прямоугольников;
связи между объектами, изображаемые в виде линий;
сообщения в виде текста и стрелки, направленной от клиента к поставщику.
Нотация языка UML для объектов, связей и сообщений на диаграмме взаимодействий показана на рис. 5.10.
Последовательность создания диаграмм взаимодействий из диаграмм последовательности действий в программе Rational Rose:
1. Дважды щелкните по диаграмме последовательности действий в списке браузера, чтобы открыть диаграмму.
2. Выберите команду меню Browse => Create collaboration diagram (Просмотр => Создать диаграмму взаимодействий) или нажмите клавишу F5.
3. Расположите объекты и сообщения на диаграмме нужным образом.
Рис. 5.10. Нотация языка UML для объектов, связей и сообщений на диаграмме взаимодействий
Диаграмма взаимодействий показана на рис. 5.11.
Можно сначала создать диаграмму взаимодействий. В этом случае диаграмма последовательности действий может быть получена из нее. Для этого необходимо
Рис. 5.11. Диаграмма взаимодействий
выбрать команду меню Browse => Create Sequence Diagram (Просмотр => Создать диаграмму последовательности действий) или нажать клавишу F5.
Диаграмма последовательности действий используется для просмотра сценария во временном порядке: что происходит сначала, что происходит затем. Заказчики легко могут читать и понимать такие диаграммы. Поэтому они очень полезны на стадии анализа. Диаграмма взаимодействий представляет общую картину сценария, так как взаимодействия на ней организованы между связанными друг с другом объектами. Такой тип диаграмм чаще используется на этапе проектирования, когда планируется реализация отношений.
Продолжим анализ сценария добавление учебного курса (Add a Course Offering). Диаграмма показана на рис. 5.12.
Рис. 5.12. Диаграмма последовательности действий для сценария добавление учебного курса
Диаграммы классов могут быть также прикреплены к реализациям прецедентов. Они содержат представления классов, участвующих в выполнении прецедентов (participating classes).
Последовательность создания представления участвующих классов в программе Rational Rose:
1. Щелкните правой кнопкой мыши по реализации прецедента в окне браузера.
2. В появившемся контекстно-зависимом меню выберите команду New => Class Diagram (Создать => Диаграмма классов).
3. Введите имя новой диаграммы.
4. Дважды щелкните по новой диаграмме в списке браузера, чтобы открыть ее.
5. Выберите класс в логическом представлении модели и перетащите его на диаграмму с помощью мыши.
6. Аналогичным образом поместите на диаграмму другие нужные классы.
Участвующие классы для прецедента выбор предметов для обучения показаны на рис. 5.13.
Рис. 5.13. Схема классов, участвующих в прецеденте
Диаграмма прецедентов представляет внешний вид системы. Выполнение прецедентов отображается с помощью потока событий. Сценарии используются для описания того, как прецеденты реализуются в виде взаимодействия между группами объектов. Сценарий — это экземпляр прецедента. Он представляет собой одиночный проход по потоку событий для прецедента. Таким образом, каждый прецедент — это сплетение сценариев. Они помогают выделить объекты, классы и взаимодействия объектов, необходимые для исполнения единичного действия, определенного прецедентом.
Поток событий для прецедентов обычно описывается словами, тогда как сценарии — диаграммами взаимосвязи. Существует два типа диаграмм взаимосвязи — диаграммы последовательности действий (sequence diagrams) и диаграммы взаимодействий (collaboration diagrams). Каждая диаграмма — это графическое представление сценария.
Диаграмма последовательности действий отображает взаимодействие объектов, упорядоченное по времени. Диаграмма взаимодействий — это альтернативный способ отображения сценариев. Этот тип диаграммы показывает взаимодействие объектов, организованное вокруг самих объектов, и их связи друг с другом.
Глава 6. Определение отношений
Система состоит из большого количества классов и объектов. Ее поведение обеспечивается взаимодействием объектов. Например, студент добавляется к курсу, когда на курс поступает сообщение добавить студента. В этом случае часто говорят, что объект посылает сообщение другому объекту. Отношения выполняют функцию проводников между объектами. Два типа отношений, которые можно выделить на этапе анализа, — это ассоциация и агрегация.
Ассоциация (association) — это двунаправленная семантическая связь между классами. Это не поток данных, определяемый в структурном анализе и проектировании, — данные могут поступать в обоих направлениях ассоциативной связи. Наличие ассоциации между классами говорит о том, что объекты этих классов взаимосвязаны. Например, ассоциативные отношения между классами предмет (Course) и менеджер курсов преподавателя (ProfessorCourseManager) означают, что объекты класса предмет связаны с объектами класса менеджер курсов преподавателя. Количество связанных объектов зависит от мощности ассоциативных отношений. В языке UML ассоциативные отношения изображаются в виде линии, соединяющей связанные объекты, — см. рис. 6.1.