Как нарисовать связь между свойством и классом в ArgoUML?
Вопрос
В ArgoUML у меня есть возможность присвоить тип класса любому свойству класса.Например, я могу объявить customer
недвижимость с Customer
введите в Order
класс.Я также могу легко нарисовать связь от класса к классу:
Но я не могу понять, как "нарисовать" ссылку из customer
собственность на Customer
класс.Ссылка на самом деле никогда не связана с объектом недвижимости, а скорее со всем Order
класс.
Я могу переместить положение ссылки вручную:
Но на самом деле он никогда не "привязан" к customer
собственность, и может быть автоматически перемещена программным обеспечением в любой момент.
Есть ли способ сделать это?
Решение
У вас не может быть ассоциации в UML, которая не соединяет все два класса целиком.Невозможно прикоснуться к свойству внутри класса.Обходными путями являются:
- добавьте заметку, связанную со свойством
- добавьте значок к свойству, которое было бы оформлено как ассоциация.
Я не знаю, доступна ли эта расширенная настройка значков в этом бесплатном инструменте, но она есть в других инструментах.
Другие советы
Я нашел флэш-демонстрацию, которая показывает атрибут ассоциации со значком.Посмотрите на : http://www.download-omondo.com/show_association_member.swf
Если вам нужно понять, что означает ассоциация в UML и генерация кода в Java, тогда взгляните на эту демонстрацию: http://www.download-omondo.com/association.swf
Надеюсь, это поможет.
ArgoUML соответствует спецификации UML.Ассоциации переносятся из одного класса в другой.Атрибуты отображаются внутри 2-го раздела класса.
Тип ассоциации, наиболее близкий по значению к атрибуту, - это композиция, но они не эквивалентны.
Вы никогда не должны изображать что-либо И как атрибут класса, И как отдельный класс, связанный с ним.
Например.1.Заказ может иметь номер, который может быть использован клиентом для идентификации своего заказа.Номер лучше всего изображать как атрибут (во 2-м отделении класса).
Например.2.Заказ может быть связан с Клиентом, который разместил заказ.Клиента лучше всего представить как отдельный класс, поскольку у него есть свой собственный срок службы (поведение), связанный с Заказом.Это позволяет отображать множественности и роли на обоих концах ассоциативной линии.