1.      Identifier les objets. 1

2.      Heuristique pour identifier les objets de type entité ( Entity Objects). 1

3.      Boundary object. 1

4.      Heuristiques d’identification. 2

5.      Control object. 2

6.      Notation UML des différents types d’objets. 2

7.      les differentes approches d’identification des objets. 2

8.      Using natural language analysis. 2

9.      CRC Cards. 3

10.         Une session CRC. 4


 

1.      Identifier les objets

Plus les objets trouvés dans le domaine d’étude et qu’on veut les représentés, on cherche les objets de type :

Entity objects (entité) – représente un objet du domaine. Ces objets contiennent de l’information que le système doit garder trace d’elle d’une manière persistante.

2.      Heuristique pour identifier les objets de type entité ( Entity Objects)

1.      Les termes  en relation avec le domaine d’étude (use cases).

2.      Les noms qui se répètes.

3.      Les entités réelles du domaine et les activités que le système doit  manipuler et garder trace d’elles.

Exemple : dans le cas d’utilisation rapport d’urgence suivant :

« L’officier envoi des informations au système   en remplissant un formulaire et en cliquant sur le bouton envoyer rapport »

Les entités sont :

1.      Officier est un acteur et une entité que le système doit garder trace d’elle.

2.      Rapport

 

3.      Boundary object

 Représente un élément utilisé comme intermédiaire d’interaction entre l’utilisateur et le ( button, form, display)

4.      Heuristiques d’identification

Identifier les éléments de l’interface qui initialisent un cas d’utilisation

Identifier les forms et les fenêtres pour entrer l’information

Identifier les messages utilisés par le système comme réponse à une action user.

5.      Control object

ces objets  généralement  ont pour objectif la gestion et le contrôle de plusieurs objets pour  réaliser  une fonctionnalité.

Heuristiques

Si le cas d’utilisation est complexe et utilise plusieurs objets, créer un objet de type contrôle pour gèrer le CU.

Identifier un contrôle par acteur impliqué dans un CU

6.    Notation UML des différents types d’objets

En UML on utilise les stéréotypes suivants pour les différencier :

<<entity>>

<<boundary>>

<<control>>


7.    les differentes approches d’identification des objets

8.      Using natural language analysis

Cette approche est proposée par  Russell Abbott (1983), et elle est rendu populaire par Grady Booch.

Fournit un bon point de démarrage de processus d’identification.

On peut utiliser la description générale du problème, les description générales et détaillées des cas d’utilisation ou les scenarios.

L’identification consiste à déterminer les parts of speech et les mappés à des éléments du modèle.

Généralement : un nom représente une classe ou un objet ou un attribut.

Un verbe représente une opération ou une association.

Part of speech

Elément du modèle

Exemples

Nom propre

Instance(objet)

Omar

Nom commun

Classe ou attribut

Cartedejeu, valeur,officier

Verbe (doing)

Opération

Créer, submit,melanger

Verbe (being)

Héritage

Est un, est un de , est de type

Verbe qui exprime la possession

Agrégation composition

A, consiste, contient.

Verbe modal

Contrainte

Doit être (must be)

Adjective

Aide dans l’identification d’attribut

Une carte jaune (couleur)

 

9.      CRC Cards

Une technique d’analyse simple et qui fait intervenir l’utilsateur et le developpeur.

Une carte CRC est composé de trois champs :

 

Class – nom de la classe en haut

Représente un  type d’objet

Une carte pour chaque classe.

 

Responsabilités – liste des responsabilités de la classe à gauche.

Une responsabilité est une chose que la classe doit connaitre (garde trace d’elle) et doit le faire (know and do).

On liste juste les responsabilités de haut niveau ( on liste pas toutes les méthodes).

Exemple

La classe  Mailbox d’un systeme de messagerie peut avoir les resp. suivantes :

1.      Conserver les messages nouveaux et enregistrés

 2. gérer le message d'accueil enregistré

 

Collaborateurs – lise des collaborateurs à droite.

Une classe que notre classe à besoin d’elle pour réaliser ses responsabilités. Elle peut avoir des informations qu’on besoin ou elle peut nous aider dans la réalisation d’une tache.

Exemple: pour conserver avec succès les messages nouveaux et enregistrés, la classe Mailbox doit les envoyer à MessageQueue. Cette classe les ajoutent et les stockent. Donc sur la carte Mailbox, nous listons MessageQueue en tant que collaborateur

Forme

Nom de la classe

responsibilty

Collaborator

 

 

 

 

 

 

 

 

 

10.  Une session CRC

Sert comme support pour identifier les  objets/classes. Les responsabilités de chaque objet.

Identifier les dépendances entre objets (collaborateurs)

 

Une session CRC fait impliquer l’utilisateur et le développeur :

1.      experts/users du domaine.

2.      Developer/Analyst – les personne ayant une  expertise concernant la modélisation OO.

3.      Facilitator – la personne qui veille sur la bonne continuité du  processus.

Le processus des base sur la lecture des cas d’utilisation ( scenarios , description) pour identifier les objets, les responsabilités et les collaborateur.

Le  déroulement de  processus:

Commencer par un scenario.

Identifier les objets et les classes et créer une carte pour chaque classe.

Identifier les responsabilités.

Par exemple utiliser l’approche noun verb  pour  realiser cette tache. Et poser la question que doit connaitre la classe pour connaitre ce que doit stoker l’objet.

Identifier les collaborations et créer une carte pour chaque nouveau objet identifié.

À chaque fois qu’une nouvelle  carte créée (classe) relire le scenario pour identifier de nouvelles responsabilités et collaborateurs.

Pour trouver les collaborateurs :

Si la classe à une responsabilité , poser la question suivante:

Est qu’elle  dispose de toutes les informations pour la réaliser . sinon elle doit   faire appel à un autre objet (collaborateur)

Généralement la collaboration est une demande d’information ou une demande pour réaliser  quelque chose.


Last modified: Tuesday, 22 March 2022, 1:34 PM