Saltar al contenido

Cómo mostrar el uso de métodos estáticos Diagrama de clases UML

Solución:

Para mostrar un método estático, subraye el nombre del método estático; eche un vistazo aquí para obtener información más detallada.

En cuanto a navegar por esa relación; class B depende de la existencia de class A. Podemos decir que la clase B tiene una “dependencia de uso” de la clase A

class B ----uses----> class A

Espero que esto ayude.

@RobertMS tiene razón.

Otra alternativa es utilizar estereotipos:

..............................................................
....+----------------------------------------------------+....
....|                StringUtilityClass                  |....
....+----------------------------------------------------+....
....| [+] void: lowerCase()              <<non virtual>> |....
....| [+] void: upperCase()              <<non virtual>> |....
....| [+] String: toString()                <<override>> |....
....+----------------------------------------------------+....
....| [+] String: LowerCaseCopy(String Value) <<static>> |....
....| [+] String: UpperCaseCopy(String Value) <<static>> |....
....| [+] String: ReverseCopy(String Value)   <<static>> |....
....+----------------------------------------------------+....
..............................................................

Nota
Algunas mejores prácticas de lenguajes de programación, especialmente aquellos con C sintaxis que distingue entre mayúsculas y minúsculas, capitaliza las funciones estáticas y deja en minúsculas el resto de las funciones.

Salud.

Para mostrar métodos y atributos estáticos, los subraya en un diagrama de clases UML: consulte UML Distilled p.66 o sección 7.3.19 (Característica) de la especificación de superestructura UML:

Las características estáticas están subrayadas.

Para mostrar la relación entre las clases B y A (donde B solo usa métodos estáticos en A), usa una dependencia, no una asociación. Las asociaciones siempre están entre instancias de las clases en cada extremo, como en la sección 7.3.3 (Asociación) de la especificación de superestructura UML:

Una asociación especifica una relación semántica que puede ocurrir entre instancias con tipo.

Pero la clase B es dependiente en la clase A, como en la sección 7.3.12 de la especificación:

Una dependencia es una relación que significa que uno o un conjunto de 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 una use estereotipo, pero eso es muy general y en realidad abarca 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 del pedido al cliente [in one of his examples…] significa que el Pedido depende del Cliente.

Parece que no hay un estándar sobre qué estereotipo utilizar. he usado usesStatically tener claro la naturaleza de la dependencia; es decir

B --usesStatically--> A

(Si, alternativamente, la clase B tuviera una instancia de A como campo estático, usaría algo como B--containsStatically--> A si estoy representando B explícitamente en el diagrama de clases; de lo contrario, solo tenga un atributo estático subrayado de tipo A en B.)

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *