Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
UML : Diagrammes de cas d'utilisation -- Problemes recurrents -- 20
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. 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
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. 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. 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. 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)
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. 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. 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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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
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. 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