Para mostrar los métodos estáticos y atributos que les subrayado en un diagrama de clases UML: ve UML Distilled p.66 o sección 7.3.19 (funciones) de la UML Superstructure specification:
características estáticas están subrayados.
Para mostrar la relación entre las clases B y A (donde B solo utiliza métodos estáticos en A), utiliza una dependencia, no una asociación. Las asociaciones son siempre entre casos de las clases en cada extremo, como en la sección 7.3.3 (asociación) de la especificación UML Superestructura:
Una asociación especifica una relación semántica que puede ocurrir entre instancias mecanografiadas.
Pero clase B es dependiente en clase A, como en la sección 7.3.12 de la especificación:
Una dependencia es una relación que significa que un único o un conjunto de los elementos del modelo requiere otros elementos del modelo para su especificación o implementación .
Probablemente valga la pena aclarar la naturaleza de la dependencia con un estereotipo. Usted podría utilizar un estereotipo use
, pero eso es muy general y en realidad abarca las asociaciones estándar entre instancias (aunque obviamente normalmente usa asociaciones para mostrarlas explícitamente).Como dice Fowler en UML Distilled,
Muchas relaciones UML implican una dependencia. La asociación navegable de Order to Customer [en uno de sus ejemplos ...] significa que Order es dependiendo del Cliente.
Parece que no hay un estándar sobre qué estereotipo usar. He usado usesStatically
para tener claro la naturaleza de la dependencia; es decir
B --usesStatically--> A
(Si, alternativamente, clase B tenía una instancia de A como un campo estático, me gustaría usar algo como B--containsStatically--> A
si estoy representando B explícitamente en el diagrama de clases; de lo contrario sólo tiene un atributo estático subrayado de tipo A en B.)
¿Está seguro de que es una relación de dependencia y no una asociación? – Nicolas
Una asociación es una relación entre dos (o más) tipos que están vinculados por una instancia (s). Entonces, para que ClassB tenga una asociación con ClassA, necesita tener una referencia, tal vez a través de una propiedad o campo. Pero como ese no es el caso en su ejemplo, diría que tiene una dependencia y no una asociación. Creo que la definición en este [enlace] (http://www.uml-diagrams.org/dependency.html) muestra que tienes una dependencia. – RobertMS