понимание диаграммы классов - PullRequest
8 голосов
/ 04 декабря 2009

Может кто-нибудь объяснить, что означают разъемы?

alt text
(источник: stsmedia.net )

Какие бесплатные программы могут генерировать такую ​​диаграмму?

Ответы [ 4 ]

15 голосов
/ 04 декабря 2009

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

алмаз или ромб означает отношение целое / часть. В вашем примере транзакция состоит из счетов. В UML белый бриллиант является более слабым ароматом целого / части (агрегация), тогда как черный бриллиант - более сильный сорт, часто называемый композицией. Однако их семантика плохо определена и, как было показано, имеет недостатки.

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

Есть много инструментов, которые могут рисовать структурные или классовые диаграммы. О бесплатных, посмотрите в Википедии здесь .

1 голос
/ 04 декабря 2009

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

Экземпляр Person будет содержать экземпляр Account, а поскольку это
Отношение агрегации (представленное белым ромбом) подразумевает, что экземпляр
Аккаунт может существовать независимо от экземпляра Person. Так как кратность деталей
не предоставляются, нельзя сказать, сколько экземпляров учетной записи лицо экземпляр
может содержать.

Аналогичное объяснение справедливо для отношения между Транзакцией и Кредитом,
Человек и кредит.

В ответе треугольники определяют отношения обобщения, а это подразумевает наследование.
Для предоставленной диаграммы классов это означает, что классы Loan, ManagedFund и Cash
являются специализациями класса Product. Экземпляр Loan будет содержать атрибуты
которые определены в нем (проценты, кредиторы) и также будут содержать
атрибуты name, description и managementFee, которые определены в родительском классе
Продукт.

1 голос
/ 04 декабря 2009

У UML есть стандарт, но не все его придерживаются. В википедии ищите Class_diagram

Visio - это программное обеспечение Microsoft Office для их создания, и быстрый поиск в Google для Eclipse (Java) приносит это http://www.mvmsoft.de/content/plugins/slime/index.htm

1 голос
/ 04 декабря 2009
  1. Пунктирная линия с открытым наконечником стрелки означает зависимость.Класс Account зависит от класса Person.

  2. Вы имеете в виду диаграмму?Или генерировать код?В Netbeans есть модуль UML, который помогает вам рисовать диаграммы классов и может генерировать код Java из диаграмм классов.Может быть, это поможет.

...