Dans la modélisation UML, les
interfaces sont des éléments de modèle qui définissent des ensembles d'opérations que d'autres éléments de modèle, tels que des classes ou des composants, doivent implémenter. Un élément de modèle d'implémentation réalise une interface en remplaçant chacune des opérations que l'interface déclare.
Vous pouvez utiliser des interfaces dans les diagrammes de classes et les diagrammes de composants pour spécifier un contrat entre l'interface et le discriminant qui réalise l'interface.
Chaque interface spécifie un ensemble bien défini d'opérations qui ont une visibilité publique. Les signatures d'opération indiquent aux discriminants d'implémentation quelle catégorie de comportement doit être appelée, mais pas comment ils doivent appeler ce comportement.
De nombreux discriminants peuvent implémenter une même interface, en fournissant chacun une implémentation unique.
Les interfaces prennent en charge le masquage des informations et protègent le code client en déclarant publiquement un certain comportement ou certains services. Les classes ou composants qui réalisent les interfaces en implémentant ce comportement simplifient le développement d'applications, car les développeurs de logiciels qui écrivent le code client ont uniquement besoin de connaître les interfaces, mais pas les détails de l'implémentation. Si vous remplacez, dans votre modèle, des classes ou des composants qui implémentent des interfaces, vous n'avez pas besoin de refaire la conception de votre application si les nouveaux éléments de modèle implémentent les mêmes interfaces.
Vous pouvez définir les types d'interfaces suivants :
- Interfaces fournies : ces interfaces décrivent les services que des instances d'un discriminant (le fournisseur) offrent à leurs clients
- Interfaces requises : ces interfaces définissent les services dont un discriminant a besoin pour exécuter ses fonctions et pour remplir ses propres obligations envers ses clients
Une interface a généralement un nom qui reflète le rôle qu'elle joue dans une application. Une convention courante consiste à préfixer le nom de l'interface avec une barre oblique pour indiquer qu'un élément de modèle est une interface.
Comme les figures suivantes le montrent, l'éditeur de diagramme affiche une interface de l'une des manières suivantes :
- Une icône rectangulaire de classe contenant le mot clé «interface». Cette notation est aussi appelée vue interne ou vue de classe.

Utilisez la forme de classe lorsque vous avez besoin de modéliser les détails de l'interface. Les compartiments dans la forme de classe affichent des informations sur les attributs, les opérations de l'interface et la réception de signaux par l'interface.
- La notation bille et connecteur, dans laquelle la dépendance d'implémentation entre un discriminant et l'interface fournie est affichée comme un cercle (la bille) et la dépendance d'utilisation entre un discriminant et l'interface requise est affichée comme un demi-cercle (le connecteur). Cette notation est également appelée vue externe.
| Interface fournie (forme de cercle) |
Interface requise (forme de connecteur) |
 |
 |
Utilisez la notation de bille et de connecteur, également appelée notation lollypop, lorsque vous avez besoin de modéliser uniquement les interfaces fournies et qu'il existe des interfaces requises.