Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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. Полная диаграмма классов Изготовить заказ
|