Терри Кватрани - 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. Повторите предыдущий шаг для других классов, которые вы хотите поместить на диаграмму.
Рис. 4.12. Главная диаграмма классов
Главная диаграмма классов для пакета Объекты университета изображена нарис. 4.13. Заметьте, что класс учебный курс (CourseOffering) на ней отсутствует. Это класс реализации в пакете, и мы решили не показывать его на главной диаграмме. По мере добавления пакетов и классов в модель могут быть созданы дополнительные диаграммы.
Рис. 4.13. Главная диаграмма классов пакета Объекты университета
Настройка видимости классов по умолчанию:
1. Выберите команду меню Tools => Options (Сервис => Параметры).
2. Щелкните по вкладке Diagram (Диаграмма).
3. Установите флажок Show Visibility (Показать видимость) для отображения по умолчанию всех классов.
Установка видимости для выбранного класса:
1. Щелкните правой кнопкой мыши по одному из классов на диаграмме.
2. В появившемся контекстно-зависимом меню выберите команду Options => Show Visibility (Параметры => Показать видимость).
Диаграмма классов, отражающая видимость пакетов, показана на рис. 4.14.
Рис. 4.14. Диаграмма классов, отражающая видимость пакетов
РезюмеОбъекты — это компьютерное представление сущностей (предметов реального мира или понятий, придуманных человеком). Объект — это концепция, абстракция или вещь с четко определенными границами и значением для системы. Каждый объект в системе имеет три характеристики: состояние, поведение и индивидуальность. Состояние объекта — одно из условий, в которых он может находиться. Поведение характеризует объект и показывает, как он реагирует на запросы других объектов. Индивидуальность означает, что каждый объект уникален, даже если его состояние идентично состоянию другого объекта.
Класс — это описание группы объектов с общими свойствами (атрибутами), поведением (операциями), отношениями с другими объектами (ассоциативными или агрегационными) и семантикой. В языке UML классы изображаются в виде
разделенных прямоугольников. В секциях прямоугольника указываются имя, структура и поведение класса. После того как класс создан, его необходимо описать в документации. Документация предназначена для описания назначения класса, а не его структуры.
Стереотипы обеспечивают возможность создания новых типов элементов моделирования и должны основываться на элементах, входящих в метамодель языка UML. На этапе анализа выделяют три основных стереотипа для классов: класс-сущность, граничный класс и управляющий класс. Эти стереотипы используются для определения классов в разрабатываемой системе.
Пакет в логическом представлении модели — это набор классов и других связанных пакетов. Путем объединения классов в пакеты мы можем получить представление модели на более высоком уровне. Изучая содержимое пакета, мы получаем более детальное представление.
Диаграммы классов помогают графически изобразить некоторые или все классы системы. Диаграммы классов можно создать и в представлении модели прецедента. Они обычно прикрепляются к прецеденту и содержат представления классов, участвующих в их выполнении.
Глава 5. Изучение взаимодействия объектов
Реализация прецедентовДиаграмма прецедентов представляет внешний вид системы. Выполнение прецедентов отображается с помощью потока событий. Сценарии используются для описания того, как реализуются прецеденты, взаимодействуя между группами объектов.
Сценарий (scenario) — это элемент прецедента. Он представляет собой одиночный проход по потоку событий для прецедентов. Сценарии помогают выделить объекты, классы и взаимодействия объектов, необходимые для исполнения единичного действия, определенного прецедентом. Сценарии описывают порядок того, как обязанности, возложенные на прецеденты, распределяются среди объектов и классов в системе. Сценарии говорят на языке конечных пользователей и экспертов и поэтому являются средством выражения их пожеланий по необходимому поведению системы для разработчиков.
Каждый прецедент — это сплетение первичных (нормальный поток для прецедента) и вторичных сценариев (логика ЧТО-ЕСЛИ в прецеденте). Это значит, что существует множество сценариев для системы — первичные и вторичные сценарии для всех прецедентов. На этапе анализа уже можно сказать, что определение первичного сценария для каждого выбранного прецедента будет достаточным. Когда вы обнаружите, что каждый новый сценарий повторяет большинство шагов из предыдущего, то вы добились цели. Данная фаза анализа должна завершаться по мере того, как разработчики продумают приблизительно 80 % первичных сценариев и выборочно коснутся вторичных. Если проработать больше сценариев, результаты анализа, вероятно, окажутся хуже; если меньше — не будет достаточного понимания поведения системы, чтобы правильно оценить риски.
По методологии Rational Unified Process реализации прецедентов (use case realizations) отражаются в логическом представлении модели. Обратимся к концепции стереотипов, чтобы показать, что прецеденты, созданные в логическом представлении, являются реализациями прецедентов из представления use case. Другими словами, прецеденты в логическом представлении имеют те же имена, что и в представлении use case, а также стереотип, указывающий на реализацию. В языке UML реализация прецедентов изображается в виде пунктирного овала (см. рис. 5.1). Логическое представление прецедентов обычно отображается на диаграмме прецедентов (или наборе диаграмм), содержащейся в логическом представлении модели.
Рис. 5.1. Нотация языка UML для реализации прецедента
Создание диаграммы прецедентов в логическом представлении модели в программе Rational Rose состоит из следующих шагов:
1. Щелкните правой кнопкой мыши по папке Logical View (Логическое представление) в окне браузера.
2. В появившемся контекстно-зависимом меню выберите команду New => Use Case (Создать => Прецедент). В раздел логического представления модели будет добавлена новая диаграмма прецедентов с названием New Diagram.
3. Введите для новой диаграммы название Realizations.
Окно браузера с диаграммой прецедентов Realizations показано на рис. 5.2.
Рис. 5.2. Окно браузера с диаграммой реализаций прецедентов
Последовательность создания реализаций прецедентов в программе Rational Rose:
1. Дважды щелкните по диаграмме прецедентов Realizations в списке браузера, чтобы открыть диаграмму.
2. Щелкните по кнопке Use Case (Прецедент) на панели инструментов.
3. Щелкните по диаграмме прецедентов. В диаграмму и список браузера будет добавлен новый прецедент.
4. Дважды щелкните по изображению прецедента. На экране появится диалоговое окно Use Case Specification (Параметры прецедента).