Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Создание связей между классами





Связи между классами (ассоциации) определяются в два этапа:

1. Начальный набор связей определяется на основе анализа диаграмм последовательностей. Если два объекта взаимодействуют (обмениваются сообщениями), между ними на диаграмме последовательностей должна существовать связь, которая преобразуется в двунаправленную ассоциацию между классами. Если сообщения между некоторой парой объектов передаются только в одном направлении, то для соответствующей ассоциации вводится направление навигации.

2. Анализируются и уточняются ассоциации между классами-сущностями. Задаются мощности ассоциаций, могут использоваться множественные ассоциации, агрегации, обобщения и ассоциации-классы.

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

Для настройки панели инструментов диаграммы классов:

1) найдите в браузере диаграмму классов Main и откройте ее;

2) проверьте, имеются ли в панели инструментов диаграммы необходимые кнопки Unidirectional Association, Generalization, Aggregate. Если каких-либо кнопок нет, продолжите настройку, выполнив шаги 3 и 4;

3) щелкните правой кнопкой мыши на панели инструментов диаграммы и в открывшемся меню выберите пункт Customize;

4) добавьте на панель кнопку Creates An Aggregation.

 

Для создания ассоциаций:

1) нажмите на панели инструментов кнопку Undirectional Association;

2) проведите мышью линию ассоциации от одного класса к другому;

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

 

Для создания рефлексивной ассоциации:

1) на панели инструментов нажмите кнопку Undirectional Association;

2) проведите линию ассоциации от класса до какого-нибудь места вне класса;

3) отпустите кнопку мыши;

4) проведите линию ассоциации назад к классу.

 

Для создания агрегаций:

1) на панели инструментов нажмите кнопку Undirectional Association;

2) проведите мышью линию агрегации от класса-части к классу-целому;

3) для задания агрегации щелкните правой кнопкой мыши на связи со стороны класса-целого и в открывшемся меню выберите пункт Aggregate.

 

Для создания обобщений:

1) нажмите кнопку Generalization панели инструментов;

2) проведите линию обобщения от подкласса к суперклассу.

 

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

 

Спецификации связей касаются имен ассоциаций, ролевых имен, множественности и классов ассоциаций.

Для задания множественности связи:

1) щелкните правой кнопкой мыши на одном конце связи;

2) выберите в меню пункт Multiplicity и укажите нужную множественность;

3) повторите то же самое для другого конца связи.

 

Для задания имени связи:

1) выделите нужную связь и введите ее имя;

2) чтобы задать ролевое имя связи, щелкните правой кнопкой мыши на ассоциации с нужного конца, в открывшемся меню выберите пункт Role Name и введите ролевое имя.

Для задания элемента связи (класса ассоциаций):

1) откройте окно спецификации требуемой связи;

2) перейдите на вкладку Detail;

3) задайте элемент связи в поле Link Element.

 

Диаграмма классов-сущностей показана на рис. 65. Наличие агрегации между классами Заказ и ЭлементЗаказа отражает тот факт, что каждый элемент заказа является собственностью конкретного заказа и принадлежит только ему. Предполагается также, что в системе будут храниться все заказы одного клиента, сделанные в разное время. К классу Клиент добавлены два новых подкласса – Корпоративный и Индивидуальный со своими атрибутами.

 

Добавив связи, создадим полные диаграммы классов, принимающих участие в перечисленных выше вариантах использования (рис. 66–71).

Рис. 65. Диаграмма Entity Classes (классы-сущности)

 

Рис. 66. Полная диаграмма классов Вести каталог клиентов

Рис. 67. Полная диаграмма классов Вести каталог заказов

 

Ассоциации между граничными и управляющими классами, а также между управляющими классами и классами-сущностями введены на основе анализа диаграмм последовательностей.

 

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

 

Направления ассоциаций указаны в соответствии с направлениями передачи сообщений на диаграммах последовательностей.

Рис. 68. Полная диаграмма классов Вести каталог материалов

 

Рис. 69. Полная диаграмма классов Работать с поставщиками

Рис. 70. Полная диаграмма классов Анализировать запас

Рис. 71. Полная диаграмма классов Изготовить заказ

Date: 2015-12-10; view: 518; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию