Простое поведение UML сбивает меня с толку! - PullRequest
2 голосов
/ 18 ноября 2009

Очень новый UML и дизайн системы.

Мы находимся на этапе создания диаграммы классов на этапе проектирования и пытаемся выяснить, как реализовать требование. Вот проблема:

У нас есть класс Person, который состоит из класса Name и класса ContactDetails. Класс контактных данных состоит из MobileNumber и класса EmailAddress.

Как мне смоделировать мою диаграмму классов, чтобы у ContactDetails был MobileNumber или EmailAddress или оба?

Я уверен, что это просто - но это бросило меня!

Спасибо

Ответы [ 2 ]

1 голос
/ 18 ноября 2009

alt text

Кроме того, если связь необязательна, она не является композицией. Это не более чем агрегация или даже простая ассоциация, как показано на этой диаграмме.

0 голосов
/ 18 ноября 2009

давайте начнем с простого:

Смоделируйте ваши классы так, как вы пишете свою программу. Создайте класс ContactDetails и добавьте два атрибута «MobileNumber» и «EmailAddress», оба соответствующего типа. Теперь создайте ваши методы конструктора:

+ ContactDetails (номер мобильного телефона)
+ ContactDetails (email EmailAddress)
+ ContactDetails (mn MobileNumber, адрес электронной почты EmailAddress)

Теперь: как бы вы добавили необходимое ограничение в коде?

Установив пустой конструктор как приватный? Сделай так!

-ContactDetails ()

Проверяя, что параметры не пусты? Просто добавьте элемент Constraint, который в основном представляет собой текстовую заметку для вашего класса.

Вот и все.

...