Les classes
Définition d'une classe
Une classe est décrite par une liste d'attributs et d'opérations.
Une classe est reliée à d'autres classes via des associations. L'ensemble des classes et des associations constitue le noyau d'un diagramme de classes.
Nous pouvons illustrer la notion de classe en comparant les classes à des fiches dans des tiroirs.
Les classes peuvent être des objets techniques utilisés pour la programmation.
Exemples : fenêtre, rectangle, chaîne, tableau, etc.
Les classes peuvent représenter des objets techniques utilisés dans l'industrie.
Exemples : Alarme, Capteur, Zone
Les classes peuvent également représenter des objets de gestion.
Exemples : client, commande, produit, personne, société, etc.
Une classe peut aussi être la traduction d'un processus comme "Valider demande client" ou l'implémentation d'une règle de gestion fonctionnelle comme "Cohérence comptes analytiques".
Créer une classe
Pour créer une classe :
1. Dans le diagramme de classes, cliquez sur le bouton
Classe 
de la barre d'insertion d'objets.
2. Cliquez sur le plan de travail du diagramme.
La fenêtre Ajout d'une classe s'ouvre.
3. Saisissez le Nom de la classe et cliquez sur le bouton Ajouter.
La classe est alors posée dans le diagramme.
Vous pouvez utiliser partout le nom complet d'une classe en indiquant le paquetage auquel elle appartient séparé par deux fois deux points.
Exemple :
Entreprise::Gestion Commerciale::Client
Si l'un des paquetages cités n'existe pas, il est automatiquement créé et relié à la classe.
Retrouver une classe existante
Pour retrouver une classe existante:
1. Dans la fenêtre Ajout d'une classe, sélectionnez la commande Lister à l'aide de la flèche.
La liste des classes apparaît.
2. Sélectionnez la classe qui vous intéresse et cliquez sur OK.
Le nom de la classe sélectionnée apparaît dans la fenêtre d'ajout d'une classe.
3. Cliquez sur Ajouter.
La classe apparaît dans le diagramme.
Propriétés d'une classe
Les propriétés affichées varient en fonction du stéréotype de la classe.
Pour ouvrir la fenêtre de propriétés d'une classe :

Sélectionnez la classe et cliquez sur le bouton
Propriétés associé à la fenêtre d'édition.
Plusieurs pages permettent de définir les propriétés d'une classe.
Page Caractéristiques d'une classe
La page Caractéristiques permet de saisir différentes caractéristiques de la classe :
• Son Nom, que vous pouvez modifier.
• Le détenteur de la classe (par exemple le paquetage).
• La Visibilité de la classe (par rapport au paquetage) :
• "Publique" : la classe est visible par tout élément situé à l'extérieur du paquetage. C'est la visibilité sélectionnée par défaut.
• "Protégée" : la classe est visible par les éléments héritiers ou importateurs et amis.
• "Privée" : la classe est seulement visible par les éléments importateurs et amis.
• "Non spécifiée".

Les amis d'une classe sont des classes autorisées à connaître les internes de cette classe. Il est possible de préciser les amis d'une classe dans l'onglet Compléments de la fenêtre de propriétés de la classe.
• Un Commentaire : les commentaires permettent de compléter le diagramme lorsque des détails utiles n'apparaissent pas dans le dessin. Ces commentaires sont repris dans le document qui décrit le diagramme de classes.
Les autres caractéristiques que vous pouvez préciser sont l'abstraction, la persistance et l'activité :
• Une classe Abstraite n'a pas d'instance. Elle n'est utilisée que pour mettre en commun des opérations ou des attributs communs à ses sous-classes.
• La Persistance précise si cette classe doit être conservée dans le temps ou si elle ne vit que le temps du traitement en mémoire dans l'ordinateur.
• Les instances d'une classe Active sont capables de déclencher des flux de contrôle sans qu'il y ait d'intervention de l'utilisateur.
Ex : Une instance de la classe imprimante peut envoyer un message "Plus de papier disponible" sur l'écran de l'administrateur du réseau.
• Une classe Racine est une classe ne possédant pas de sur-classe dans l'arborescence des généralisations de classe.
• Une classe Feuille est une classe ne possédant pas de sous-classe dans l'arborescence des généralisations de classe.
Vous pouvez également préciser les Paramètres d'une classe paramétrée (pour C++).
Autres pages de propriétés
D'autres pages vous permettent de définir ou de visualiser :
• Les éléments redéfinis
Stéréotype d'une classe
Un stéréotype est un type d'élément de modélisation qui permet d'étendre la sémantique du métamodèle. Les stéréotypes doivent être basés sur des types ou des classes existantes dont ils reprennent la structure. D'autres stéréotypes peuvent être créés par l'utilisateur.
Les stéréotypes disponibles pour une classe sont :
• Acteur : représente le rôle joué par quelque chose ou quelqu'un se trouvant dans l'environnement du système étudié.
• Auxiliaire : classe qui supporte une autre classe centrale ou fondamentale, généralement en implémentant un flux logique ou de contrôle secondaire.
• Classe d'implémentation : permet de caractériser les classes qui sont nécessaires à l'implémentation physique du système.
• Classe Meta : classe dont les instances sont des classes. En règle générale, les méta-classes sont utilisées pour construire des méta-modèles.
• Contrôle : permet de caractériser les classes effectuant des traitements internes au système. Ceux-ci nécessitent généralement le concours de plusieurs classes.
• Entité : permet de caractériser des classes passives qui ne génèrent aucune interaction par elles-même. Elles peuvent participer à plusieurs cas d'utilisation et survivent généralement à une interaction unique. Elles représentent des objets partagés entre les différents acteurs qui les manipulent.
• Enumération : type de données contenant une liste de valeurs tabulées.
• Expression : expressions de types de données complexes basés sur des types.
• Focus : classe qui définit le flux logique ou de contrôle principal pour la ou les classes auxiliaires qui la supportent.
• Frontière : permet de caractériser les classes qui sont en prise directe avec l'environnement du système. Les interfaces hommes-machines en font partie.
• Interface : une interface est constituée d'un ensemble d'opérations qui décrivent le comportement d'un élément. En particulier, une interface représente la partie visible d'une classe ou d'un paquetage dans une relation contractuelle de type client - fournisseur.

Ce sont des interfaces entre les différents composants du système informatique. Ce ne sont pas des interfaces avec les utilisateurs du système qui sont du stéréotype frontière. Voir
Spécifier les interfaces pour plus de détails.
• Opérateur : représente un acteur humain qui interagit avec le système. Un opérateur interagit avec d'autres opérateurs et manipule des entités lorsqu'il participe à la réalisation d'un cas d'utilisation.
• Opérateur externe : un opérateur externe interagit directement avec des acteurs extérieurs au système.
• Opérateur interne : un opérateur interne interagit avec d'autres opérateurs et entités à l'intérieur du système.
• PowerType : méta-type dont les instances sont des sous-types d'un autre type.
• Structure : classe servant à décrire une structure utilisée dans les programmes.
• Thread : stéréotype utilisé dans l'implémentation d'un objet actif en tant que processus léger.
• Type élémentaire : permet de caractériser les types de données.
• Utilitaire : une classe de ce stéréotype regroupe des variables globales et des procédures utiles à la programmation décrites sous forme des attributs et opérations de cette classe.
• Schema group : classe décrivant un type d'élément XML, dont les sous-éléments forment un groupe.
• XML Document Definition Root : classe servant à décrire la structure d'un message échangé entre deux systèmes en utilisant la syntaxe du langage XML.
Option d'affichage des stéréotypes
Une option vous permet d'afficher les stéréotypes dans la fenêtre de navigation des objets.
Pour activer cette option :
1. Ouvrez la fenêtre des Options.
2. Dans la partie gauche de la fenêtre des options, sélectionnez le dossier Espace de travail.
3. Dans la partie droite, cochez l'option Afficher le stéréotype des objets UML dans le navigateur.
4. Cliquez sur OK.