megaplanet
UML : Diagrammes de Cas d‘UtilisationUML : Diagrammes de Cas d‘Utilisation
Problèmes récurrentsProblèmes récurr...
megaplanet
2
Problèmes récurrentsProblèmes récurrents
Les problèmes soulevés dans cette partie correspondent à des questio...
megaplanet
Cas d'utilisation "essentiels"Cas d'utilisation "essentiels"
megaplanet
4
Problème des cas d'utilisationProblème des cas d'utilisation
orientés-solutionorientés-solution
DistributeurD...
megaplanet
5
Cas d'Utilisation "Essentiels"Cas d'Utilisation "Essentiels"
"Essential uses cases""Essential uses cases"
Ne ...
megaplanet
6
Réécriture dans un style essentielRéécriture dans un style essentiel
Retirer
DeLArgent
AuDistributeur
- le cl...
megaplanet
7
Se concentrer sur l'essentielSe concentrer sur l'essentiel
Eviter les décisions trop rapidesEviter les décisi...
megaplanet
Cas d'utilisation "but" vs.Cas d'utilisation "but" vs.
Cas d'utilisation "interaction"Cas d'utilisation "intera...
megaplanet
9
Problème des intermédiaires (1)Problème des intermédiaires (1)
Représentation des intermédiairesReprésentatio...
megaplanet
10
Problème des intermédiaires (2)Problème des intermédiaires (2)
Client Consulter
SonCompte
Consulter
SonCompt...
megaplanet
11
Ne pas confondre les systèmes...Ne pas confondre les systèmes...
Consulter
SonCompte
Portable
<<actor>>
DUnC...
megaplanet
12
Une notation peu informativeUne notation peu informative
Client
Systè me
Bancaire
Guichetie
r
ConsulterUnCom...
megaplanet
Cas d'utilisation partagés vs.Cas d'utilisation partagés vs.
Cas d'utilisation collaboratifs.Cas d'utilisation ...
megaplanet
14
Une notation mais deuxUne notation mais deux
interprétationsinterprétations
Client
Systè me
Bancaire
Consult...
megaplanet
15
Problème des cas d'utilisationProblème des cas d'utilisation
collaboratifscollaboratifs
Guichetier
ActeurAct...
megaplanet
16
Différents styles dans la pratiqueDifférents styles dans la pratique
STYLE "primaire":STYLE "primaire":
Ne r...
megaplanet
17
Style "primaire"Style "primaire"
Ne représenter que l'acteur primaireNe représenter que l'acteur primaire
A ...
megaplanet
18
Style "décoration"Style "décoration"
Utiliser une décoration particulière (e.g. auxiliaire ou initiator)Util...
megaplanet
19
Systè meBancair
e
<<actor>>
Style "droite/gauche"Style "droite/gauche"
primaire à gauche, secondaire à droit...
megaplanet
20
Eviter les flêches !Eviter les flêches !
Vendeur VendreAuxEnchè r
es
Interprétation diverses et variées :Int...
megaplanet
21
Problèmes des cas d'utilisationProblèmes des cas d'utilisation
partagéspartagés
Client
ConsulterLesLivre
s
A...
megaplanet
22
Problèmes des cas d'utilisationProblèmes des cas d'utilisation
partagéspartagés
Client
ConsulterLesLivre
s
A...
megaplanet
23
Problèmes des cas d'utilisation partagésProblèmes des cas d'utilisation partagés
Client
ConsulterLesLivre
s
...
megaplanet
24
Problèmes des cas d'utilisation partagésProblèmes des cas d'utilisation partagés
Client
ConsulterLesLivre
s
...
megaplanet
25
Internaut
e
Client
ConsulterLesLivre
s
Acheter
C
Problèmes des cas d'utilisation partagésProblèmes des cas d...
megaplanet
Cas d'utilisationCas d'utilisation
"Kite-level", "Sea-level", "Fish-"Kite-level", "Sea-level", "Fish-
level"lev...
megaplanet
27
Problèmes de la granularitéProblèmes de la granularité
A quel niveau décrire les cas d'utilisation ?A quel n...
megaplanet
28
Problèmes de granularité (2)Problèmes de granularité (2)
Tous les cas d'utilisations n'ont pas a être au mêm...
megaplanet
29
Niveaux d'abstractionsNiveaux d'abstractions
SeaSea
LevelLevel
KiteKite
LevelLevel
FishFish
LevelLevel
ClamC...
megaplanet
30
Exemple de marquageExemple de marquage
DistributeurDeBillet
s
Client RetirerDeLArgentA
uDistributeur
Consult...
megaplanet
ConclusionConclusion
megaplanet
32
ATTENTIONATTENTION
"Congratulations: Use Cases Have Been Written, and AreCongratulations: Use Cases Have Bee...
megaplanet
33
Modèle préliminaireModèle préliminaire
des cas d ’utilisationdes cas d ’utilisation
Equivalent à définir une...
Prochain SlideShare
Chargement dans…5
×

UML : Diagrammes de cas d'utilisation -- Problemes recurrents -- 20

765 vues

Publié le

Diagrammes de cas d'utilisation
Dernier volet

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
765
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
33
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

UML : Diagrammes de cas d'utilisation -- Problemes recurrents -- 20

  1. 1. megaplanet UML : Diagrammes de Cas d‘UtilisationUML : Diagrammes de Cas d‘Utilisation Problèmes récurrentsProblèmes récurrents Problème des cas d'utilisation orientés-solution concrèteProblème des cas d'utilisation orientés-solution concrète Problème but vs. communication et problème des intermédiairesProblème but vs. communication et problème des intermédiaires Problème des cas d'utilisation partagésProblème des cas d'utilisation partagés Problème des cas d'utilisation collaboratifsProblème des cas d'utilisation collaboratifs Problème de la granularitéProblème de la granularité CasU1 CasU4 CasU5 CasU2 CasU3 A1 A2 S A3
  2. 2. megaplanet 2 Problèmes récurrentsProblèmes récurrents Les problèmes soulevés dans cette partie correspondent à des questionsLes problèmes soulevés dans cette partie correspondent à des questions récurrentes en pratique.récurrentes en pratique. Problèmes éventuellement sans réponse dans la normeProblèmes éventuellement sans réponse dans la norme Interprétations et solutions parfois différentes dans les livresInterprétations et solutions parfois différentes dans les livres Problèmes récurrents souvent implicitesProblèmes récurrents souvent implicites => Chercher quelles conventions existent dans le contexte de travail=> Chercher quelles conventions existent dans le contexte de travail ou se mettre d'accord sur des conventions lorsque le problème se poseou se mettre d'accord sur des conventions lorsque le problème se pose
  3. 3. megaplanet Cas d'utilisation "essentiels"Cas d'utilisation "essentiels"
  4. 4. megaplanet 4 Problème des cas d'utilisationProblème des cas d'utilisation orientés-solutionorientés-solution DistributeurDeBillets Client RetirerDeLArgent ConsulterSonCompt e Technicien RetirerLes CartesAvalé es Décrire les buts et les besoins des acteurs, les interactionsDécrire les buts et les besoins des acteurs, les interactions maismais pas l'interface (concrète)pas l'interface (concrète) Le POURQUOI, POUR QUI, pas le COMMENTLe POURQUOI, POUR QUI, pas le COMMENT Se concentrerSe concentrer sur l'essentielsur l'essentiel =>=> cas d'utilisation "essentiels"cas d'utilisation "essentiels"
  5. 5. megaplanet 5 Cas d'Utilisation "Essentiels"Cas d'Utilisation "Essentiels" "Essential uses cases""Essential uses cases" Ne pas décrire l'interfaceNe pas décrire l'interface concrèteconcrète DécrireDécrire les objectifs et intentions de l'acteurles objectifs et intentions de l'acteur Décrire les responsabilités du systèmeDécrire les responsabilités du système Les "interactions abstraites"Les "interactions abstraites" Retirer DeLArgent AuDistributeur - le client insère sa carte bancaire dans le distributeur - le système demande le code pour l ’identifier - le client tape le montant du retrait sur le clavier - le système vérifie qu ’il y a suffisamment d ’argent - le système affiche un message de confirmation
  6. 6. megaplanet 6 Réécriture dans un style essentielRéécriture dans un style essentiel Retirer DeLArgent AuDistributeur - le client insère sa carte bancaire dans le distributeur - le système demande le code pour l ’identifier - le client tape le montant du retrait sur le clavier - le système vérifie qu’il y a suffisamment d ’argent - le système affiche un message de confirmation ... Retirer DeLArgent AuDistributeur - le client s'identifie - le système vérifie l'identification - le client détermine le montant du retrait - le système vérifie qu ’il y a suffisamment d ’argent Extraction de l'essentielExtraction de l'essentiel
  7. 7. megaplanet 7 Se concentrer sur l'essentielSe concentrer sur l'essentiel Eviter les décisions trop rapidesEviter les décisions trop rapides Séparation des métiersSéparation des métiers analyse des besoinsanalyse des besoins conception des interfacesconception des interfaces personne-systèmepersonne-système modèle de tâches ou autremodèle de tâches ou autre (pas dans UML)(pas dans UML) modèle de cas d'utilisationmodèle de cas d'utilisation (UML)(UML)
  8. 8. megaplanet Cas d'utilisation "but" vs.Cas d'utilisation "but" vs. Cas d'utilisation "interaction"Cas d'utilisation "interaction"
  9. 9. megaplanet 9 Problème des intermédiaires (1)Problème des intermédiaires (1) Représentation des intermédiairesReprésentation des intermédiaires entre le système et l' intéressé ?entre le système et l' intéressé ? Différents points de vueDifférents points de vue Guichetie r RetirerDeLArgent AvecUnChé que Client On insiste sur le lien deOn insiste sur le lien de communication, l'échange decommunication, l'échange de messages et l'interfacemessages et l'interface ClientClient RetirerDeLArgent AvecUnChé que On insiste sur les objectifsOn insiste sur les objectifs et on masque complètementet on masque complètement les aspects liés à l'interfaceles aspects liés à l'interface
  10. 10. megaplanet 10 Problème des intermédiaires (2)Problème des intermédiaires (2) Client Consulter SonCompte Consulter SonCompte Portable <<actor>> Client DUnClien t Client Consulter SonCompte ViaUnPortable ClientVia UnPortabl e Consulter SonCompte
  11. 11. megaplanet 11 Ne pas confondre les systèmes...Ne pas confondre les systèmes... Consulter SonCompte Portable <<actor>> DUnClien t CGPC <<actor>> CGPEW Consulter SonCompteClient CGPC CGP Consulter SonCompteClient Projet: développer le systèmeProjet: développer le système centralisé accessible à partircentralisé accessible à partir d'un portabled'un portable Projet: développer le systèmeProjet: développer le système embarqué dans un portable pourembarqué dans un portable pour accéder au système centraliséaccéder au système centralisé Projet: développer le systèmeProjet: développer le système globalglobal Projet: développer le systèmeProjet: développer le système centralisé accessible à partircentralisé accessible à partir du système embarqué CGPEWdu système embarqué CGPEW Consulter SonCompte CGPEW <<actor>> CGPC
  12. 12. megaplanet 12 Une notation peu informativeUne notation peu informative Client Systè me Bancaire Guichetie r ConsulterUnComp te L'association "communique" est peu informative :L'association "communique" est peu informative : qui réalise le cas d'utilisation ? qui collabore à son déroulement ?qui réalise le cas d'utilisation ? qui collabore à son déroulement ? quels acteurs peuvent participer à un même scénario simultanément ?quels acteurs peuvent participer à un même scénario simultanément ? Pas de notation standard pour exprimer les réponsesPas de notation standard pour exprimer les réponses
  13. 13. megaplanet Cas d'utilisation partagés vs.Cas d'utilisation partagés vs. Cas d'utilisation collaboratifs.Cas d'utilisation collaboratifs.
  14. 14. megaplanet 14 Une notation mais deuxUne notation mais deux interprétationsinterprétations Client Systè me Bancaire ConsulterUnComp te (2) CAS D'UTILISATION "COLLABORATIF"(2) CAS D'UTILISATION "COLLABORATIF" Deux acteurs collaborent à la réalisationDeux acteurs collaborent à la réalisation d'un objectif. Le système intéragit avec lesd'un objectif. Le système intéragit avec les deux acteurs.deux acteurs. (1) CAS D'UTILISATION "PARTAGE"(1) CAS D'UTILISATION "PARTAGE" Deux acteurs peuvent réaliser le casDeux acteurs peuvent réaliser le cas d'utilisation mais pour répondre àd'utilisation mais pour répondre à des objectifs qui leur son propredes objectifs qui leur son propre Client Guichetie r ConsulterUnComp te
  15. 15. megaplanet 15 Problème des cas d'utilisationProblème des cas d'utilisation collaboratifscollaboratifs Guichetier ActeurActeur ""primaireprimaire"" • utilise le système comme outilutilise le système comme outil pour réaliser son butpour réaliser son but • initie généralement lainitie généralement la communicationcommunication Systè me Bancaire ConsulterUnComp te Acteur primaire Acteur auxiliaire Acteur(s) "auxiliaire(s)"Acteur(s) "auxiliaire(s)" • interviennent suite àinterviennent suite à l'intervention de l'acteurl'intervention de l'acteur primaireprimaire • offrent généralement leursoffrent généralement leurs services au systèmeservices au système
  16. 16. megaplanet 16 Différents styles dans la pratiqueDifférents styles dans la pratique STYLE "primaire":STYLE "primaire": Ne représenter que les acteurs primaires dans les diagrammesNe représenter que les acteurs primaires dans les diagrammes STYLE "décoré":STYLE "décoré": Utiliser une décoration particulière (e.g. auxiliaire ou initiator)Utiliser une décoration particulière (e.g. auxiliaire ou initiator) STYLE "gauche/droite":STYLE "gauche/droite": Positionner les acteurs primaires à gauche, secondaires à droitePositionner les acteurs primaires à gauche, secondaires à droite STYLE "fleché":STYLE "fleché": Utiliser une flêche pour indiquer l'acteur primaire (a éviter)Utiliser une flêche pour indiquer l'acteur primaire (a éviter)
  17. 17. megaplanet 17 Style "primaire"Style "primaire" Ne représenter que l'acteur primaireNe représenter que l'acteur primaire A le mérite d'être simple et d'obtenir des diagrammes lisiblesA le mérite d'être simple et d'obtenir des diagrammes lisibles Sans doute la meilleur solution dans lors des premières itérationsSans doute la meilleur solution dans lors des premières itérations Client ConsulterUnComp te Vendeur VendreAuxEnchè re s
  18. 18. megaplanet 18 Style "décoration"Style "décoration" Utiliser une décoration particulière (e.g. auxiliaire ou initiator)Utiliser une décoration particulière (e.g. auxiliaire ou initiator) Client ConsulterUnComp te auxiliary Systè meBancair e <<actor>> Vendeur Controleur Acheteur VendreAuxEnchè r esauxiliary auxiliary
  19. 19. megaplanet 19 Systè meBancair e <<actor>> Style "droite/gauche"Style "droite/gauche" primaire à gauche, secondaire à droiteprimaire à gauche, secondaire à droite Client ConsulterUnComp te Vendeur Controleur Acheteur VendreAuxEnchè r es convention "invisible" sans indicationconvention "invisible" sans indication
  20. 20. megaplanet 20 Eviter les flêches !Eviter les flêches ! Vendeur VendreAuxEnchè r es Interprétation diverses et variées :Interprétation diverses et variées : "l'acteur est initiateur""l'acteur est initiateur" "la communication se fait que dans un seul sens""la communication se fait que dans un seul sens" "je savais pas comment enlever la flêche avec cet outil UML...""je savais pas comment enlever la flêche avec cet outil UML..." Eviter la flêche en UMLEviter la flêche en UML (sauf si vous savez ce que vous faites)(sauf si vous savez ce que vous faites)
  21. 21. megaplanet 21 Problèmes des cas d'utilisationProblèmes des cas d'utilisation partagéspartagés Client ConsulterLesLivre s Acheter Internaut e Client ConsulterLesLivre s Acheter Internaut e Client ConsulterLesLivre s Acheter Internaut e Client ConsulterLesLivre s Acheter A B C D
  22. 22. megaplanet 22 Problèmes des cas d'utilisationProblèmes des cas d'utilisation partagéspartagés Client ConsulterLesLivre s Acheter Internaut e Client ConsulterLesLivre s Acheter Internaut e Client ConsulterLesLivre s Acheter Internaut e Client ConsulterLesLivre s Acheter A B C D Client ConsulterLesLivre s Acheter A SYSTEME DE VENTE EN LIGNESYSTEME DE VENTE EN LIGNE Un client peut consulterUn client peut consulter la liste des livres etla liste des livres et il peut en acheteril peut en acheter
  23. 23. megaplanet 23 Problèmes des cas d'utilisation partagésProblèmes des cas d'utilisation partagés Client ConsulterLesLivre s Acheter Internaut e Client ConsulterLesLivre s Acheter Internaut e Client ConsulterLesLivre s Acheter Internaut e Client ConsulterLesLivre s Acheter A B C D • On insiste sur le fait que l'une des fonctionsOn insiste sur le fait que l'une des fonctions importante est d'accueillir des internautesimportante est d'accueillir des internautes quelconques et de leur permettre de consulterquelconques et de leur permettre de consulter la liste des livres sans que leur objectif soitla liste des livres sans que leur objectif soit d'acheterd'acheter • La différence est faite entre un internaute etLa différence est faite entre un internaute et un client (potentiellement habitué)un client (potentiellement habitué) • Une personne peut changer de rôleUne personne peut changer de rôle dynamiquement en jouant le rôle internautedynamiquement en jouant le rôle internaute puis de client.puis de client. • Ce changement de rôle est une caractéristiqueCe changement de rôle est une caractéristique exterieure au systèmeexterieure au système Internaut e Client ConsulterLesLivre s Acheter B
  24. 24. megaplanet 24 Problèmes des cas d'utilisation partagésProblèmes des cas d'utilisation partagés Client ConsulterLesLivre s Acheter Internaut e Client ConsulterLesLivre s Acheter Internaut e Client ConsulterLesLivre s Acheter A B D • Il est considéré comme important de séparerIl est considéré comme important de séparer les clients des internautesles clients des internautes • ConsulterLesLivres est un cas d'utilisationConsulterLesLivres est un cas d'utilisation normal pour un clientnormal pour un client • Acheter aussiAcheter aussi Internaut e Client ConsulterLesLivre s Acheter C
  25. 25. megaplanet 25 Internaut e Client ConsulterLesLivre s Acheter C Problèmes des cas d'utilisation partagésProblèmes des cas d'utilisation partagés Client ConsulterLesLivre s Acheter Internaut e Client ConsulterLesLivre s Acheter A B D • Un client peut tout faire ce que peut faire unUn client peut tout faire ce que peut faire un internaute (héritage des cas d'utilisation)internaute (héritage des cas d'utilisation) • Un client est un cas particulier d'internauteUn client est un cas particulier d'internaute (spécialisation)(spécialisation) • La dernière règle doit être respectéeLa dernière règle doit être respectée Internaut e Client ConsulterLesLivre s Acheter
  26. 26. megaplanet Cas d'utilisationCas d'utilisation "Kite-level", "Sea-level", "Fish-"Kite-level", "Sea-level", "Fish- level"level"
  27. 27. megaplanet 27 Problèmes de la granularitéProblèmes de la granularité A quel niveau décrire les cas d'utilisation ?A quel niveau décrire les cas d'utilisation ? Bonne question ... mais pas de réponseBonne question ... mais pas de réponse Trop hautTrop haut trop loin du systèmetrop loin du système trop abstrait et "flou"trop abstrait et "flou" trop complexe à décriretrop complexe à décrire Trop basTrop bas trop de cas d'utilisationtrop de cas d'utilisation trop près de l'interfacetrop près de l'interface trop loin des besoins métierstrop loin des besoins métiers Conclusion: choisir le "bon" niveau ...Conclusion: choisir le "bon" niveau ...
  28. 28. megaplanet 28 Problèmes de granularité (2)Problèmes de granularité (2) Tous les cas d'utilisations n'ont pas a être au même niveauTous les cas d'utilisations n'ont pas a être au même niveau Différents niveaux de détailDifférents niveaux de détail POURQUOI vs. COMMENTPOURQUOI vs. COMMENT Décoration du niveau selon CockburnDécoration du niveau selon Cockburn Non standardisé mais intuitif et utileNon standardisé mais intuitif et utile Niveau normal des cas d'utilisation : la merNiveau normal des cas d'utilisation : la mer
  29. 29. megaplanet 29 Niveaux d'abstractionsNiveaux d'abstractions SeaSea LevelLevel KiteKite LevelLevel FishFish LevelLevel ClamClam LevelLevel CloudsClouds LevelLevel Niveau normalNiveau normal : décrit un but de l'acteur: décrit un but de l'acteur qu'il peut atteindre via unequ'il peut atteindre via une interaction avec systèmeinteraction avec système Niveau détaillé : décrit une interaction avecNiveau détaillé : décrit une interaction avec le système, pas un but en soile système, pas un but en soi Niveau résumé : décrit un regroupementNiveau résumé : décrit un regroupement correspondant à un objectifcorrespondant à un objectif plus globalplus global Trop bas Trop hautTrop haut
  30. 30. megaplanet 30 Exemple de marquageExemple de marquage DistributeurDeBillet s Client RetirerDeLArgentA uDistributeur ConsulterSonComp te Gé rerLaSé curité Administrateu r Ajouter DesBillets Transporteu r DeBillets SIdentifier
  31. 31. megaplanet ConclusionConclusion
  32. 32. megaplanet 32 ATTENTIONATTENTION "Congratulations: Use Cases Have Been Written, and AreCongratulations: Use Cases Have Been Written, and Are ImperfectImperfect" [Applying UML and Patterns, Craig Larman][Applying UML and Patterns, Craig Larman] ""A big danger of use cases is that people make them tooA big danger of use cases is that people make them too complicated and get stuck. Usually you'll get less hurt bycomplicated and get stuck. Usually you'll get less hurt by doing too little than by doing too muchdoing too little than by doing too much".". [UML Distilled, Martin Fowler][UML Distilled, Martin Fowler]
  33. 33. megaplanet 33 Modèle préliminaireModèle préliminaire des cas d ’utilisationdes cas d ’utilisation Equivalent à définir uneEquivalent à définir une table des matièrestable des matières et des résumés pour chaque chapitreet des résumés pour chaque chapitre Pas de règles strictesPas de règles strictes Effectuer les meilleurs regroupement possiblesEffectuer les meilleurs regroupement possibles Rester simple !Rester simple ! Structuration possible en termes de paquetagesStructuration possible en termes de paquetages Culture d'entrepriseCulture d'entreprise Stabilisation du modèle parStabilisation du modèle par coconsnsenensussus gragrandndississantant

×