Чтобы показать статические методы и атрибуты, подчеркните их на диаграмме классов UML: см. UML Distilled стр. 66 или раздел 7.3.19 (Функция) документа Спецификация надстройки UML:
Статические признаки подчеркнуты.
Чтобы показать отношения между классами B и A (где B использует только статические методы в A), вы используете зависимость, а не ассоциацию. Ассоциации всегда устанавливаются между экземплярами классов на каждом конце, как в разделе 7.3.3 (Ассоциация) спецификации UML Superstructure:
Ассоциация определяет семантическое отношение, которое может возникнуть между типизированными экземплярами.
Но класс B зависит от класса A, как в разделе 7.3.12 спецификации:
Зависимость — это отношение, означающее, что один или несколько элементов модели требуют других элементов модели для их спецификации или реализации.
Наверное, стоит уточнить характер зависимости со стереотипом. Вы можете использовать стереотип use
, но он очень общий и на самом деле включает в себя стандартные ассоциации между экземплярами (хотя вы, очевидно, обычно используете ассоциации для их явного отображения). Как говорит Фаулер в UML Distilled,
Многие отношения UML подразумевают зависимость. Навигационная ассоциация от Order к Customer [в одном из его примеров...] означает, что Order зависит от Customer.
Кажется, не существует стандарта относительно того, какой стереотип использовать. Я использовал usesStatically
, чтобы прояснить природу зависимости; это
B --usesStatically--> A
(Если бы класс B имел экземпляр A в качестве статического поля, я бы использовал что-то вроде B--containsStatically--> A
, если я явно представляю B на диаграмме классов; в противном случае просто имел бы подчеркнутый статический атрибут типа A в B.)
person
Community
schedule
12.03.2015