En notación de diagrama de clase UML, ¿cómo denoto una función de nivel superior que no tiene ninguna clase de encapsulación u otra estructura?
Por ejemplo, tengo una función utilizada para recuperar datos de una URL. Dado que es una función (en el sentido matemático) de solo sus parámetros y un estado global compartido, la función no se coloca en una clase sino que se deja como un método de nivel superior.
Ahora, sin embargo, necesito crear un diagrama UML para un programa que lo usa, y no puedo encontrar nada sobre cómo denotar una función de nivel superior. ¿Cómo hago esto?
static
método de una clase especial llamada pglobal
Respuestas:
El lenguaje UML no admite la noción de funciones independientes. Dentro de UML, todas las funciones deben ser parte de una clase.
Como solución alternativa, puede modelar sus funciones independientes como miembros estáticos de una clase con la que están estrechamente relacionadas. Si no existe tal clase, podría modelar esas funciones como parte de una clase ficticia, como la
global
clase mencionada por @xmojmr en los comentarios.fuente
Crear un estereotipo que se puede adjuntar al clasificador de "clase", por ejemplo,
<<global function>>
. Luego puede crear una única "clase" estereotipada para cada función global que contenga una operación estática completamente especificada.El estereotipo que propongo le dice a la persona que lee el diagrama que interprete el clasificador como una función. El rectángulo (con el estereotipo) en un diagrama dado representaría una sola función, mientras que sus dependencias representan las dependencias de esa única función.
fuente