Accéder au contenu principal

Les cartes CRC pour l'analyse des classes UML

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
Lors de l'Analyse d'un Système d'Information, il est important de relever toutes les entités "Classes" potentielles dans un premier temps. On peut dans ce cas utiliser une heuristique très simple qui consiste à identifier les noms communs (Classes) ou les noms propres (Objets) utilisés pour décrire le problème et peut être encore la solution. Ces noms vont être collectés et filtrés pour enlever d'éventuelles redondances.
Le modèle d'une carte CRC
Une fois que les classes sont identifiées on procède alors à identifier pour chacune d'elles quelles sont ses responsabilités ainsi que ses collaborateurs. En se référant au principe de l'Encapsulation toute classe est responsable de fournir un certain nombre de services. Par exemple la classe Etudiant est responsable de nous fournir des renseignements sur le nom, le prénom et l'âge de l'étudiant. Dans certains cas, une classe étant responsable de fournir des renseignements précis est incapable de se faire toute seule et est obligée alors de collaborer avec d'autres classes pour répondre à cette exigence.
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.

Analyse CRC

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 :

Posts les plus consultés de ce blog

Rédaction d'un document Cahier des Charges

Comment rédiger un Cahier des Charges Pour rédiger un document cahier des charges d'un projet logiciel ou autre, nous proposons cette template qui pourrait servir éventuellement comme guide. Il s'agit de définir successivement les points suivants : Contexte et définition du projet, Objectifs, Scope, Parties Prenantes, Description des besoins à répartir entre les besoins fonctionnels et non fonctionnels.
Contexte et définition du problème Dans cette rubrique, vous allez définir le problème pour bien clarifier la finalité du travail.
Il est important de souligner aussi les besoins ainsi que les contraintes et ce de manière
très sommaire. Par exemple, vous pouvez exposer la situation actuelle ou futur de votre
système tout en mettant l’accent sur les problèmes auxquels vous voulez faire face.
Objectifs Après avoir exposé le problème dans la première partie, ici vous allez exprimer quelles
sont les attentes et les résultats escomptés. Normalement ces attentes et résultats
(objectif…

Atelier JSF Facelets et Internationalisation I18n

Introduction
Dans cet atelier nous allons aborder deux thèmes importants du Framework JSF qui sont la technologie des Facelets et celle de l'Internationalisation connu par I18n (entre le caractère 'I' et le caractère 'n' on trouve 18 caractères). Il faut savoir que JSF au niveau de la version 1 utilisait JSP comme technologie de présentation, il se trouve que JSP et JSF ont deux cycles de vie différents, c'est pourquoi on a pensé à produire une nouvelle technologie de présentation qui soit totalement compatible avec JSF, il s'agit bien de la technologie des Facelets et ce depuis la version 2.0. L'internationalisation quant à elle s'avère être très importante aussi surtout lorsque l'objectif d'une application web est de prévoir plusieurs langues différentes pour la clientèle. L'idée est de ne pas produire une page par langue, mais plutôt traiter la chose de manière intelligente, c'est-à-dire le même contenu mais avec des affichages de…