Les cartes CRC
Un système Orienté Objet (OO), est un système constitué par un ensemble d'objets qui collaborent et communiquent par envoi de messages. Lorsqu'un objet envoie un message à un autre objet, c'est que en réalité il demande un service à cet objet, ce dernier doit rendre son service public et faire en sorte de l'offrir à ses collaborateurs. Plusieurs services sont définis et offerts par le système OO.La collaboration s'avère alors comme un principe fondamental des systèmes OO. UML, étant un langage de modélisation des systèmes OO, offre un outil qui permet la modélisation de la Collaboration. Cet outil portant le nom de Collaboration est représenté pare une ellipse en pointillées.
![]() |
La Collaboration en UML |
![]() |
Le modèle d'une carte CRC |
Pour identifier les responsabilités d'une classe, il suffit de poser la question suivante : la classe connaît des choses et sait faire des choses. La classe Etudiant connaît par exemple son nom et prénom et sait s'inscrire à un séminaire. La responsabilité d'une classe définit ce que la classe connaît et ce qu'elle sait faire. Pour bien analyser les responsabilités d'une classe UML on peut recourir à utiliser la technique des cartes CRC. Une carte CRC se présente comme une carte qui peut faire 7 x 11 cm ou 6 x 9 cm ou n'importe quelle autre taille. Elle comporte trois rubriques essentielles qui sont la rubrique classe (nom de la classe), la rubrique Responsabilités, où l'on va énumérer les différentes responsabilités de la classe, et la rubrique Collaborateurs qui va contenir le nom des classes avec qui notre classe va collaborer pour assurer ses responsabilités.
Exemple
On suppose qu'une Université souhaite gérer les cours dispensés dans plusieurs établissements. Pour cela, on dispose des renseignements suivants :
• Chaque établissement possède un site Internet.
• Chaque établissement est structuré en départements, qui regroupent chacun des enseignants spécifiques. Parmi ces enseignants, l’un d’eux est responsable du département.
• Un enseignant se définit par son nom, prénom, tél, mail, date de prise de fonction et son grade.
• Chaque enseignant ne dispense qu’une seule matière.
• Les étudiants suivent quant à eux plusieurs matières et reçoivent une note pour chacune d’elle.
• Pour chaque étudiant, on veut gérer son nom, prénom, tél, mail, ainsi que son année d’entrée à l’établissement.
• Une matière peut être enseigné par plusieurs enseignants, mais a toujours lieu dans la même salle de cours (chacune ayant un nombre de places déterminées).
• On désire pouvoir calculer la moyenne par matière ainsi que par département.
• On veut également calculer la moyenne générale d’un élève et pouvoir afficher les matières dans lesquelles il n’a pas été noté.
• Enfin, on doit pouvoir imprimer la fiche signalétique (prénom, tél, mail) d’un enseignant ou d’un élève.
Nous voulons alors analyser ce système en utilisant l'outil carte CRC. Pour ce faire nous allons commencer par analyser le texte en utilisant l'heuristique décrite en haut. Les noms communs sont alors mis en rouge. On observe alors qu'il y a sept classes en tout (Etablissement, Département, Enseignant, Etudiant, Matière, Note, Salle).
L'étape suivante consiste à produire les cartes CRC par classe d'analyse.
On commence par la classe Etablissement qui connaît son site Internet, donc le site Internet fait désormais partie des responsabilités de cette classe. D'autre part la classe Etablissement sait lister ses départements et du coup elle va figurer parmi les responsabilités de cette classe sauf que dans ce cas la classe Etablissement (principe de l'Encapsulation) va collaborer avec la classe Département pour pouvoir lister ses départements. On aura donc la carte CRC suivante :

Si on prend la classe Département alors on peut considérer le nom du département, les enseignants du dit département ainsi que son responsable comme étant les responsabilités de cette classe. Par ailleurs, pour que Département puisse nous fournir des informations détaillées sur ses enseignants ainsi que sur son responsable, alors elle doit nécessairement collaborer avec la classe Enseignant. De ce fait on va avoir la carte suivante :
Analyse CRC


Si on prend la classe Département alors on peut considérer le nom du département, les enseignants du dit département ainsi que son responsable comme étant les responsabilités de cette classe. Par ailleurs, pour que Département puisse nous fournir des informations détaillées sur ses enseignants ainsi que sur son responsable, alors elle doit nécessairement collaborer avec la classe Enseignant. De ce fait on va avoir la carte suivante :
Commentaires
Enregistrer un commentaire