Em modelos UML, as operações representam os serviços ou ações que as instâncias de um classificador podem ser solicitadas a executar.
Um classificador pode ter qualquer quantidade de operações ou então nenhuma. As operações definem o comportamento de uma instância de um classificador, geralmente uma classe, mas também de outros classificadores, como casos de uso ou componentes.
Você pode incluir operações para identificar o comportamento de muitos tipos de classificador em seu modelo. Nas classes, as operações são implementações de funções que um objeto pode precisar executar. Operações bem definidas executam uma única tarefa.
Cada operação em um classificador deve ter uma assinatura exclusiva. Uma assinatura é composta do nome da operação e sua lista ordenada de tipos de parâmetros. A sintaxe UML para o nome de uma operação é a seguinte:
visibilidade «estereótipo» nome(lista de parâmetros) : tipo_de_retorno
Por exemplo, em um aplicativo de e-commerce, uma classe Customer possui a seguinte operação: - getBalance([in] day: Date) : MoneyType. A assinatura de operação descreve as informações na tabela a seguir:
Parte da sintaxe | Exemplo | Descrição |
---|---|---|
visibilidade | - | O sinal de menos indica que a operação possui uma visibilidade particular. Ela não pode ser chamada a partir de outras classes. |
name | getBalance | O nome descreve a operação de acordo com o serviço que ela fornece. |
lista de parâmetros | ([in] day: Date) | A operação possui um parâmetro de entrada denominado day seguido por seu tipo, Date. É possível exibir a assinatura completa (incluindo a lista de parâmetros) ou apenas o nome da operação. |
tipo_de_retorno | : MoneyType | O tipo retornado pela operação é uma instância da classe MoneyType. |
Em um aplicativo de e-commerce, uma classe Cart inclui e remove mercadorias de um carrinho de compras virtual. Uma operação, como addItem( ), inclui mercadorias no carrinho e uma operação removeItem( ) remove mercadorias.