les differentes approches d’identification des objets
2. Heuristique pour identifier les objets de type entité ( Entity Objects). 1
4. Heuristiques d’identification. 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
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.