Les stéréotypes sont un des trois mécanismes d'extensibilité en Unified Modeling Language. Ils permettent aux concepteurs d'étendre le vocabulaire de l'UML, afin de créer des éléments de ce nouveau modèle, dérivés de ceux qui existent déjà, mais qui ont des propriétés spécifiques qui sont adaptées à un domaine particulier ou autre usage spécialisé. Par exemple, lors de la modélisation d'un réseau, il peut être nécessaire d'avoir des symboles pour représenter les routeurs et concentrateurs.
Graphiquement, un stéréotype est rendu comme un nom encadré par des guillemets et placé au-dessus du nom d'un autre élément. Par exemple, dans un diagramme de classe les stéréotypes peuvent être utilisés:
pour classer les méthodes par comportement telles que « constructor » et « getter »;
pour identifier des sémantiques particulières propre au langage d'implémentation, par exemple « property » pour identifier une propriété dans des langages qui en sont pourvus (attribut en UML, mais automatiquement pourvus de méthodes de lecture et d'écriture) [1], ou encore « struct », « enum » ou « prototype » pour une classe. Il est à noter que malgré son apparence, « interface » n'est pas un stéréotype, mais un classificateur UML;
pour catégoriser les classes persistantes à l'aide du stéréotype standard « entity »;
pour indiquer le rôle d'une classe dans le modèle, par exemple « entity », « control », « boundary » dans le cadre de l'approche Entity-control-boundary que l'on trouve dans le contexte du processus unifié[2] ou encore de la modélisation agile[3].