Na notação de diagrama de classe UML, como denotar uma função de nível superior que não possui nenhuma classe de encapsulamento ou outra estrutura?
por exemplo, tenho uma função usada para recuperar dados de um URL. Como é uma função (no sentido matemático) de apenas seus parâmetros e um estado global compartilhado, a função não é colocada em uma classe, mas deixada como um método de nível superior.
Agora, porém, preciso criar um diagrama UML para um programa que o utilize e não consigo encontrar nada sobre como denotar uma função de nível superior. Como eu faço isso?
static
método de uma classe especial chamado por exemploglobal
Respostas:
A linguagem UML não suporta a noção de funções independentes. Dentro da UML, todas as funções devem fazer parte de uma classe.
Como solução alternativa, você pode modelar suas funções independentes como membros estáticos de uma classe com a qual eles estão intimamente relacionados. Se não houver essa classe, você poderá modelar essas funções como parte de uma classe fictícia, como a
global
classe mencionada por @xmojmr nos comentários.fonte
Crie um estereótipo que você possa anexar ao classificador "class", por exemplo
<<global function>>
,. Você pode criar uma única "classe" estereotipada para cada função global que contenha uma operação estática totalmente especificada.O estereótipo que proponho diz à pessoa que lê o diagrama para interpretar o classificador como uma função. O retângulo (com o estereótipo) em um determinado diagrama representaria uma única função, enquanto suas dependências representam as dependências dessa única função.
fonte