Uml : Diagrammes de Cas dutilisation -- Modele preliminaire -- 23
1. megaplanet
UML : Diagrammes de Cas d‘UtilisationUML : Diagrammes de Cas d‘Utilisation
Modèle PréliminaireModèle Préliminaire
Acteurs, Cas d’utilisation, SystèmeActeurs, Cas d’utilisation, Système
Diagrammes de Cas d’utilisationDiagrammes de Cas d’utilisation
Modèle préliminaireModèle préliminaire de Cas d’utilisationde Cas d’utilisation
{P1}
{P2}
{P3}
{P3}
{P1}
2. megaplanet
Modèle des cas d ’utilisationModèle des cas d ’utilisation ObjectifsObjectifs
Description « fonctionnelle » du systèmeDescription « fonctionnelle » du système
Définir les limites précises du systèmeDéfinir les limites précises du système
StructurerStructurer ::
les besoinsles besoins
le projetle projet {P1}
{P2}
{P3}
{P3}
{P1}
3. megaplanet
Modèle des C.U.Modèle des C.U. CaractéristiquesCaractéristiques
Rôle central: e.g.Rôle central: e.g. 11+4 views+4 views
SimpleSimple
Modèle communicationnelModèle communicationnel
Modèle organisationnel (GL)Modèle organisationnel (GL)
≠≠ Modèle de tâches (IHM)Modèle de tâches (IHM)
3
Use case view
{P1}
{P2}
{P3}
{P3}
{P1}
9. megaplanet
9
Diagramme de cas d ’utilisationDiagramme de cas d ’utilisation
DistributeurDeBillets
Client
RetirerDeLArgentAu
Distributeur
ConsulterSonCompte
Assurer
LaMaintenance
Technicien
Ajouter
DesBillets
Transporteur
DeBillets
RetirerLes
CartesAvalées
Banque
Centrale
GererLEtatDuDistributeur
10. megaplanet
10
Diagramme de cas d ’utilisationDiagramme de cas d ’utilisation
DistributeurDeBillets
Client
RetirerDeLArgentAu
Distributeur
ConsulterSonCompte
Assurer
LaMaintenance
Technicien
Ajouter
DesBillets
Transporteur
DeBillets
RetirerLes
CartesAvalées
Banque
Centrale
GererLEtatDuDistributeur
13. megaplanet
Diagramme de Cas D’utilisationDiagramme de Cas D’utilisation
Eléments de basesEléments de bases
13
CasDUtilisationX
SystèmeX ActeurX
14. megaplanet
14
ActeursActeurs
Un Acteur =Un Acteur =
élémentélément externeexterne quiqui interagitinteragit avec le systèmeavec le système
(prend des décisions, des initiatives. Il est "actif")(prend des décisions, des initiatives. Il est "actif")
rôlerôle qu’un "utilisateur" joue par rapport au systèmequ’un "utilisateur" joue par rapport au système
Client
Capteur
AIncendie
PorteurDeCarte AdministrateurGardien
15. megaplanet
15
Acteurs vs. utilisateursActeurs vs. utilisateurs
Une même personne peut jouer plusieurs rôlesUne même personne peut jouer plusieurs rôles
ex: Maurice est directeur mais peut jouer le rôle de guichetierex: Maurice est directeur mais peut jouer le rôle de guichetier
Plusieurs personnes peuvent jouer un même rôlePlusieurs personnes peuvent jouer un même rôle
ex: Paul et Pierre sont deux clientsex: Paul et Pierre sont deux clients
Un rôle par rapport au système plutôt que position dans l'organisationUn rôle par rapport au système plutôt que position dans l'organisation
ex: PorteurDeCarte plutôt qu'Enseignantex: PorteurDeCarte plutôt qu'Enseignant
Un acteur n’estUn acteur n’est pas forcémentpas forcément un êtreun être humainhumain
ex: un distributeur de billet peut être vu comme un acteurex: un distributeur de billet peut être vu comme un acteur
Client
16. megaplanet
16
Différents notations possiblesDifférents notations possibles
Notations alternatives pour les acteursNotations alternatives pour les acteurs
PorteurDeCarte
PorteurDeCarte
<<actor>>
PorteurDeCarte
PorteurDeCarte
CapteurAIncendie
<<actor>>
SystemeBancaire
<<actor>>
Note de styleNote de style ::
utiliser plutot le stéréotypeutiliser plutot le stéréotype <<actor>><<actor>> pour les acteurs non humainspour les acteurs non humains
17. megaplanet
17
Différents types d ’acteursDifférents types d ’acteurs
Liste pour ne pas oublier d'acteurs :Liste pour ne pas oublier d'acteurs :
Utilisateurs principauxUtilisateurs principaux
ex: client, guichetierex: client, guichetier
Utilisateurs secondairesUtilisateurs secondaires
ex: contrôleur, directeur, ingénieur système, administrateur...ex: contrôleur, directeur, ingénieur système, administrateur...
Périphériques externesPériphériques externes
ex: un capteur, une horloge externe, ...ex: un capteur, une horloge externe, ...
Systèmes externesSystèmes externes
ex: système bancairesex: système bancaires
Client
18. megaplanet
18
Cas d’utilisation (CU)Cas d’utilisation (CU)
Cas d’utilisation (CU)Cas d’utilisation (CU)
– une manière d’utiliser le systèmeune manière d’utiliser le système
– une suite d’interactions entre un acteur et le systèmeune suite d’interactions entre un acteur et le système
CasDUtilisationX
RetirerDeLArgentAu
Distributeur
Entrer TaperSonCodeEnregistrerEntrée EntrerPendant
LesHeuresDOuverture
Regroupe unRegroupe un ensemble de scénariiensemble de scénarii correspondant à un mêmecorrespondant à un même butbut
Correspond à une fonction du systèmeCorrespond à une fonction du système visible par l’acteurvisible par l’acteur
Permet à un acteur d ’atteindrePermet à un acteur d ’atteindre un butun but
Doit êtreDoit être utile en soiutile en soi
SIdentifier
19. megaplanet
19
Le systèmeLe système
Le système estLe système est
– modélisé par un ensemble de cas d’utilisationmodélisé par un ensemble de cas d’utilisation
– vu comme unevu comme une boîte noireboîte noire
Le système contient :Le système contient :
– les cas d ’utilisation,les cas d ’utilisation,
– mais pas les acteurs.mais pas les acteurs.
Définir :Définir :
– lesles limites du systèmelimites du système,,
– délimiter le cadre du projet !délimiter le cadre du projet !
SystèmeX
DistributeurDeBillets
SystemeDeControleDAcces
SystemeDeSécuritéIncendie
20. megaplanet
Diagramme de Cas D’utilisationDiagramme de Cas D’utilisation
Relations entre éléments de baseRelations entre éléments de base
20
21. megaplanet
21
Relations entre éléments de baseRelations entre éléments de base
Relations acteurs <-> cas d'utilisation ?Relations acteurs <-> cas d'utilisation ?
Relations acteurs <-> acteurs ?Relations acteurs <-> acteurs ?
Relations cas d'utilisation <-> cas d'utilisation ?Relations cas d'utilisation <-> cas d'utilisation ?
?
?
?
22. megaplanet
22
Relation acteur - cas d'utilisationRelation acteur - cas d'utilisation
Client
RetirerDeLArgent
AuDistributeur
vision objectifs:vision objectifs: possibilité d'atteindre un butpossibilité d'atteindre un but
vision technique:vision technique: canal/protocole de communicationcanal/protocole de communication
Client
RetirerDeLArgent
AuDistributeur
23. megaplanet
23
Relation cas d'utilisation - cas d'utilisationRelation cas d'utilisation - cas d'utilisation
Système
Bancaire
Directeur
Client
RetierDeLArgent
ConsulterLesSoldes
• Communications internes
non modélisées.
• Interactions système exterieur↔
•
• Formalisme bien trop pauvre pour
décrire l'intérieur du système.
Utiliser les autres modèles UML
pour cela.
• Autres relations possibles entre CU
(concepts avancés)
24. megaplanet
24
Relation de communication acteur-acteurRelation de communication acteur-acteur
Système
Bancaire
Guichetier
Client
RetirerDeLArgent
AuDistributeur
ConsulterSonCompte
RetirerDeLArgent
ParChèque
• Communications externes
non modélisée
• UML se concentre sur la
description du système et
de ses interactions avec
l'extérieur
25. megaplanet
25
Relation acteur - acteur :Relation acteur - acteur :
généralisationgénéralisation
Guichetier
EnChef
Guichetier
CréerUnCompte
RetirerDeLArgent
DUnCompte
AnnulerUnCompte
FermerUnCompte
La seule relation entre acteurs est la relation de généralisationLa seule relation entre acteurs est la relation de généralisation
Guichetier
EnChef
Guichetier
CréerUnCompte
RetirerDeLArgent
DUnCompte
AnnulerUnCompte
FermerUnCompte
26. megaplanet
26
Retour sur la relation de communicationRetour sur la relation de communication
Client
RetirerDeLArgent
AuDistributeur
Canal de communicationCanal de communication
Décrit le comportement du système vu de l'exterieurDécrit le comportement du système vu de l'exterieur
Echange de messagesEchange de messages
Client
RetirerDeLArgent
AuDistributeur
27. megaplanet
27
Description de l'interactionDescription de l'interaction
Client
RetirerDeLArgent
AuDistributeur
Plus tard dans le cours ...Plus tard dans le cours ...
Diagrammes deDiagrammes de
séquencesséquences
"système""système"
28. megaplanet
28
Limites du système et interfacesLimites du système et interfaces
DistributeurDeBillets
Client
RetirerDeLArgentAu
Distributeur
ConsulterSonCompte
Technicien
RetirerLes
CartesAvalées
SystèmeBancaire
<<actor>>
34. megaplanet
34
Diagramme vs. ModèleDiagramme vs. Modèle
DiagrammeDiagramme de cas d’utilisationde cas d’utilisation
notation graphiquenotation graphique
CasU1
CasU4
CasU5
CasU2
CasU3
A1
A2
S A3
ModèleModèle de cas d’utilisationde cas d’utilisation
descriptions textuelles,descriptions textuelles,
diagrammes de cas d'utilisationdiagrammes de cas d'utilisation
diagrammes de séquencesdiagrammes de séquences
......
35. megaplanet
35
Modèle "communicationnel"Modèle "communicationnel"
Modèle informelModèle informel
Multiple intervenants (stakeholders)Multiple intervenants (stakeholders)
Texte structuré + diagrammes + ref…Texte structuré + diagrammes + ref…
DiagrammesDiagrammes
pour les réunions de "brainstorming"pour les réunions de "brainstorming"
pour simplifier la communicationpour simplifier la communication
pour structurer les documentspour structurer les documents
pour structurer le développementpour structurer le développement
Diagramme = plan du documentDiagramme = plan du document
39. megaplanet
39
Description préliminaireDescription préliminaire
du systèmedu système
IdentificateurIdentificateur
Baptiser le système le plus tôt possibleBaptiser le système le plus tôt possible
Risque d'être référencé dans toute la vie future de l'entrepriseRisque d'être référencé dans toute la vie future de l'entreprise
Brève description textuelleBrève description textuelle (quelques lignes max.)(quelques lignes max.)
CGDR24/7
Le système logiciel CGDR24/7 ("Crédit Grenoblois
Dans la Rue, 24h/24, 7j/7"), déployé sur un
distributeur de billets de la gamme DB600, a pour
but de contrôler l'ensemble des fonctions associées
au distributeur en incluant son fonctionnement
normal, mais aussi sa sécurité et sa maintenance.
.
40. megaplanet
40
Identifier un ActeurIdentifier un Acteur
Client
RèglesRègles
• forme nominaleforme nominale
• vocabulaire métiervocabulaire métier
• style MajMinstyle MajMin
ImportanceImportance ::
réunions avec le clientréunions avec le client
manuels utilisateursmanuels utilisateurs
IHMIHM
CodeCode
41. megaplanet
41
Description préliminaireDescription préliminaire
des acteursdes acteurs
Guichetier
Un guichetier est un employé de la banque chargé
de faire l’interface entre le système informatique et
les clients qu’il reçoit au comptoir. Le guichetier peut
réaliser les opérations courantes : création d ’un
compte, dépôt et retrait d ’argent, etc.
Client
42. megaplanet
42
Identifier un Cas d'UtilisationIdentifier un Cas d'Utilisation
RèglesRègles
forme verbale décrivant une actionforme verbale décrivant une action
l'acteur est généralement le sujetl'acteur est généralement le sujet
éviter les connecteurs (et, ou, puis, ...)éviter les connecteurs (et, ou, puis, ...)
vocabulaire métiervocabulaire métier
style MajMinstyle MajMin
terme générique comme "Gérer" en cas de besoin seulementterme générique comme "Gérer" en cas de besoin seulement
Gérer = Créer, Supprimer, Ajouter, Modifier, ...Gérer = Créer, Supprimer, Ajouter, Modifier, ...
Exemple: GérerLesDroitsExemple: GérerLesDroits
ImportanceImportance ::
réunions avec le clientréunions avec le client
CasDUtilisationX
43. megaplanet
43
Description préliminaireDescription préliminaire
des cas d’utilisationdes cas d’utilisation
●
description textuelle simpledescription textuelle simple
●
se concentrer sur lese concentrer sur le scénario nominalscénario nominal
• comprehensible par touscomprehensible par tous
• pas trop de détailspas trop de détails
CasDUtilisationX
Retirer
DeLArgent
AuDistributeur
Lorsqu’un client a besoin de d'argent liquide il peut en utilisant un distributeur
retirer de l’argent de son compte. Pour cela :
- le client insère sa carte bancaire
- le système demande le code
- le client choisit le montant du retrait
- le système vérifie qu ’il y a suffisamment d ’argent
- si c ’est le cas, le système distribue les billets et débite le compte du client
- le client prend les billets et retire sa carte
45. megaplanet
45
Structuration et AnnotationsStructuration et Annotations
Structuration du modèleStructuration du modèle
Vision globale sur le systèmeVision globale sur le système
Ensemble de transparentsEnsemble de transparents
AnnotationsAnnotations
priorités : MUST, SHOULD, MAYpriorités : MUST, SHOULD, MAY
risquesrisques
critères non fonctionnels :critères non fonctionnels :
utilisabilité, délais, charge, fréquence, …utilisabilité, délais, charge, fréquence, …
R e tire rD e L A rg e n tA u
D is trib u te u r
C o n s u lte rU n C o m p te
D e p o s e rD e L A rg e n t
S u rU n C o m p te
R e tire rD e L A rg e n t
D U n C o m p te
G u ic h e tie r
G e re rL e s P re ts
C ré e rU n C o m p te
{ M U S T }
{ M U S T }
{ M U S T }
{ M A Y }
{ S H O U L D }
{ S H O U L D }
{ 1 2 /0 3 /0 2 }
{ 1 2 /0 5 /0 2 }
{ 2 0 /0 3 /0 2 }
{ 2 5 /1 2 /0 2 }
{ 1 0 /1 2 /0 2 }
{ 1 0 /1 0 /0 2 }
RetirerDeLArgentAu
Distributeur
ConsulterUnCompte
DeposerDeLArgent
SurUnCompte
RetirerDeLArgent
DUnCompte
Client
Guichetier
Directeur
GererLesPrets
CréerUnCompte
Système bancaire
{ MUST }
{ MUST }
{ MUST }
{ MAY }
{ SHOULD }
{ SHOULD }
{ 12/03/02 }
{ 12/05/02 }
{ 20/03/02 }
{ 25/12/02 }
{ 10/12/02 }
{ 10/10/02 }
46. megaplanet
46
ExempleExemple
de diagramme de CU annotéde diagramme de CU annoté
RetirerDeLArgentAu
Distributeur
ConsulterUnCompte
DeposerDeLArgent
SurUnCompte
RetirerDeLArgent
DUnCompte
Client
Guichetier
Directeur
GererLesPrets
CréerUnCompte
Système bancaire
{ MUST }
{ MUST }
{ MUST }
{ MAY }
{ SHOULD }
{ SHOULD }
{ 12/03/02 }
{ 12/05/02 }
{ 20/03/02 }
{ 25/12/02 }
{ 10/12/02 }
{ 10/10/02 }
47. megaplanet
47
Le Processus UnifiéLe Processus Unifié
(1) Définir le modèle de cas d’utilisation(1) Définir le modèle de cas d’utilisation
(1.1)(1.1) Trouver les acteursTrouver les acteurs
(1.2)(1.2) Décrire brièvement chaque acteurDécrire brièvement chaque acteur
(1.3)(1.3) Trouver les cas d ’utilisationTrouver les cas d ’utilisation
(1.4)(1.4) Décrire brièvement chaque cas d ’utilisationDécrire brièvement chaque cas d ’utilisation
(1.5)(1.5) Décrire le modèle comme un toutDécrire le modèle comme un tout
(2) Définir des priorités et les risques entre CU(2) Définir des priorités et les risques entre CU
(3) Détailler chaque CU(3) Détailler chaque CU (en tenant compte des priorités et des risques)(en tenant compte des priorités et des risques)