Dans les modèles UML, les opérations représentent les services ou actions que les instances d'un discriminant peuvent être appelées à effectuer.
Un discriminant peut détenir un certain nombre d'opérations ou aucune opération. Les opérations définissent le comportement d'une instance d'un discriminant (en général, il s'agit d'une classe) mais également d'autres discriminants (les cas d'utilisation, par exemple) ou composants.
Vous pouvez ajouter des opérations afin d'identifier le comportement de nombreux types de discriminants dans votre modèle. Dans les classes, les opérations sont des implémentations de fonctions qu'un objet peut être appelé à exécuter. Les opérations correctement définies exécutent une seul tâche.
Chaque opération d'un discriminant doit détenir une signature unique. Une signature est composée du nom de l'opération et de sa liste classée de types de paramètres. La syntaxe UML du nom d'opération est la suivante :
nom «stéréotype» visibilité(liste des paramètres) : type-retour
Par exemple, dans une application de commerce électronique, une classe Customer détient l'opération suivante : - getBalance([in] day: Date) : MoneyType. La signature d'opération décrit les informations du tableau ci-dessous :
Partie de la syntaxe | Exemple | Description |
---|---|---|
visibilité | - | Le signe moins ("-") indique que la visibilité de l'opération est privée. Elle ne peut pas être appelée à partir d'autres classes. |
nom | getBalance | Le nom décrit l'opération en fonction du service qu'elle fournit. |
liste des paramètres | ([in] day: Date) | L'opération détient un paramètre d'entrée appelé day suivit de son type (Date). Vous pouvez afficher la signature complète (y compris la liste des paramètres) ou simplement le nom de l'opération. |
type-retour | : MoneyType | Le type renvoyé par l'opération est une instance de la classe MoneyType. |
Dans une application de commerce électronique, une classe Cart ajoute des marchandises à un chariot virtuel et les retire. Une opération (addItem( ), par exemple) ajoute les marchandises au chariot et removeItem( ) les retire.