Терри Кватрани - Rational Rose 2000 и UML Визуальное моделирование
- Название:Rational Rose 2000 и UML Визуальное моделирование
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Терри Кватрани - Rational Rose 2000 и UML Визуальное моделирование краткое содержание
Книга «Rational Rose 2000 и UML. Визуальное моделирование» является исчерпывающим руководством по использованию инструмента (Rational Rose 2000), процесса (Rational Unified Process) и языка (UML) для визуального представления, определения, описания и создания программной системы. Здесь изложены основы процесса разработки и дано четкое объяснение каждого этапа и элемента. Автор следует упрощенному варианту методологии Rational Unified Process и описывает процесс разработки от задумки до системного анализа и проектирования. На простом практическом примере, проходящемчерез всю книгу, наглядно демонстрируются итеративный процесс разработки, средства языка UML и возможности среды моделирования Rational Rose. В приложениях рассматриваются вопросы генерации кода и возвратного проектирования в программе Rational Rose 2000 для языков C++, Visual C++ и Visual Basic.
В книге также обсуждаются следующие темы:
— создание функций;
— поиск объектов и классов;
— стереотипы и пакеты в языке UML;
— сценарии и диаграммы взаимодействий;
— способы взаимодействия объектов;
— ассоциативные и агрегационные отношения;
— поведение и структура классов;
— наследование и отношения суперкласс/подкласс;
— поведение объектов и диаграммы переходов и состояний;
— проверка целостности модели;
— определение, представление и описание системной архитектуры;
— итерационный процесс планирования.
Rational Rose 2000 и UML Визуальное моделирование - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
2. Щелкните по одному из классов на диаграмме классов.
3. Перетащите возникшую линию ассоциативной связи на второй класс.
Ассоциативное отношение между классами показано на рис. 6.2.
Рис. 6.2. Ассоциативное отношение
Агрегационное отношение — это специальная форма ассоциации между целым и его частью или частями. Агрегация известна как отношение типа «часть от» или «содержит». В языке UML она изображается так же, как ассоциация, но с ромбом на конце линии связи, означающим класс-агрегат (целое), — см. рис 6.3.
Рис. 6.3. Нотация языка UML для агрегационного отношения
Чтобы определить, является ли ассоциативная связь агрегационной, воспользуйтесь следующими тестовыми вопросами:
1. Можно ли применить фразу «часть от», чтобы описать отношение?
2. Происходит ли автоматическое применение некоторых операций над целым к его частям (например, удаление предмета (Course) ведет к удалению всех относящихся к нему учебных курсов (CourseOffering))?
3. Существует ли выраженная асимметрия в отношении, когда один класс подчинен другому?
Например, предмет (математика 101) может читаться несколько раз в течение семестра. Каждый курс лекций по предмету представлен как учебный курс (то есть математика 101, раздел 1 или математика 101, раздел 2). Отношения между предметом и учебным курсом моделируются как агрегация — предмет содержит несколько учебных курсов.
Для создания агрегационных отношений в программе Rational Rose:
1. На панели инструментов щелкните по кнопке Aggregation(Агрегация). Если она отсутствует, щелкните правой кнопкой мыши по панели инструментов и в появившемся контекстном меню выберите команду Customize(Настройка) для добавления кнопки.
2. На диаграмме классов щелкните по классу, выступающему в качестве целого, и перетащите возникшую линию агрегационной связи на класс, являющийся частью.
Агрегационное отношение между классами показано на рис. 6.4.
Рис. 6.4. Агрегационное отношение
Если два класса жестко связаны отношением «целое-часть» — это типичное агрегационное отношение. «Использование агрегации иногда является условным решением. Часто далеко не очевидно, должна ли ассоциация моделироваться как агрегация. Однако, если вы аккуратно и последовательно рассуждали, небольшое различие между агрегацией и обычной ассоциацией не вызовет практических проблем» [5] Rumbaugh, James et al. Object-Oriented Modeling and Design. Upper Saddle River, NJ: Pentice Hall 1991, p. 58.
.
Является ли отношение ассоциацией или агрегацией, часто зависит от предметной области. Какой тип отношений нужно выбрать для моделирования машины и шин? Если система предназначена для сервисного центра, и единственная причина, по которой вы рассматриваете шины, — их принадлежность к обслуживаемой машине, отношение должно быть агрегацией. Однако, если система предназначена для магазина шин, вы будете рассматривать шины независимо от автомобиля, следовательно, отношение должно быть ассоциативным.
Ассоциации можно присвоить имя. Обычно в названии ассоциации используется глагол или фраза с глаголом, отражающая смысл связи. Так как фраза с глаголом предполагает направление чтения, желательно, чтобы название корректно читалось слева направо или сверху вниз. Слова можно изменить, чтобы читать название связи в другом направлении, например: преподаватель читает курс, курс читается преподавателем.
Надо отметить, что присваивать ассоциации имя необязательно. Название дается в том случае, если оно придает большую ясность модели. Агрегационные отношения обычно не имеют названий, потому что читаются с использованием слов «имеет» или «содержит».
Чтобы указать названия отношений в программе Rational Rose:
1. На диаграмме классов выделите линию связи, щелкнув по ней мышью.
2. Введите название отношения (см. рис. 6.5).
Рис. 6.5. Отношение с названием
Окончание линии ассоциации в месте, где она соединяется с классом, называется ролью ассоциации. Название роли может быть использовано вместо названия ассоциации. Для этой цели выбирают существительное, описывающее роль, в которой один класс выступает в связи с другим классом. Название роли помещается на линии связи около класса, к которому оно применяется, — с одного или с обоих концов линии связи. Обычно нет необходимости использовать одновременно названия роли и отношения.
Для ввода названия роли в программе Rational Rose:
1. Щелкните правой кнопкой мыши по линии ассоциативной связи рядом с классом, к которому применяется роль.
2. В появившемся контекстно-зависимом меню выберите команду Role Name (Название роли).
3. Введите название роли.
На рис. 6.6 показана ассоциативная связь с названием роли.
Рис. 6.6. Название роли
Отношение, изображенное на рис. 6.6, можно прочитать в обоих направлениях:
□ преподаватель играет роль учителя для учебного курса;
□ учебный курс имеет отношение к преподавателю, играющему роль учителя.
В вопросе присваивания названий отношениям или ролям стандартов нет. Однако многие разработчики предпочитают использовать названия ролей вместо названий ассоциаций, потому что первые лучше передают смысл связи. Это характерно для двунаправленных отношений, так как для них трудно подобрать глагольное выражение, которое бы читалось корректно в обоих направлениях. Какой, например, глагол можно применить в названии ассоциации на рис. 6.6? А при использовании названия роли значение понятно в обоих направлениях.
Названия ассоциативных отношений и ролей применяются только для придания ясности модели. Если существует отношение между компанией и сотрудником, можно подобрать глагол «работает» для названия ассоциации или существительные «сотрудник» и «работодатель» для названия ролей, чтобы показать смысл связи. Если же дать классам имена сотрудник (employee) и работодатель (employer), необходимость в дополнительных названиях отпадет, так как смысл отношения понятен по названиям классов.
Читать дальшеИнтервал:
Закладка: