Professional Documents
Culture Documents
CasU1 CasU2 A2
Lydie du Bousquet
Lydie.du-bousquet@imag.fr
A1 CasU4 CasU3
CasU5 S A3
CasU5 S A3
Client ConsulterUnCompte
RetirerDeLArgentAu Distributeur
RetirerDeLArgent DUnCompte
Client
Transporteur DeBillets
Ajouter DesBillets
Assurer LaMaintenance
Technicien
DistributeurDeBillets
CasU5 S A3
Diagramme utilis
pour pour pour pour les runions de "brainstorming" simplifier la communication structurer les documents structurer le dveloppement
lments de base
Acteurs
Cas d'utilisation
Systme
CasDUtilisationX
Une manire dutiliser le systme Une suite dinteractions entre un acteur et le systme
Ex: le guichetier veut crer un nouveau compte Le client veut retirer de largent dans le distributeur
Correspond une fonction visible par lutilisateur Permet datteindre un but pour un utilisateur Doit tre utile en soi
Entrer
EnregistrerEntre
RetirerDeLArgentAu Distributeur
EntrerPendant LesHeuresDOuverture
TaperSonCode
Le systme
Modlis comme une bote noire Est un ensemble de cas dutilisation Contient
Les cas dutilisation Mais PAS les acteurs
DistributeurDeBillets
SystemeDeControleDAcces
Les acteurs
lment qui interagit avec le systme Prend des dcisions, des initiatives =
il est actif
Client
PorteurDeCarte
Gardien
Administrateur
Capteur
11
Acteurs vs Utilisateurs
Ne pas confondre les 2 notions
Un acteur dcrit un rle Un utilisateur = personne utilisant le systme
Client
12
Client
Utilisateurs secondaires
Ex : Contrleur, directeur, ingnieur systme
Priphriques externes
Ex : capteurs, horloge interne
Systmes externes
Ex : Systme interbancaire
13
14
PorteurDeCarte
Note de style : utiliser plutt le strotype <<actor>> pour les acteurs non humains
<<actor>> CapteurAIncendie PorteurDeCarte <<actor>> SystmeBancaire
15
16
Mthodologie
17
Le processus unifi
(1) Dfinir le modle de cas dutilisation
(1) (2) (3) (4) (5)
Introduire le systme Trouver les acteurs Dcrire brivement chaque acteur Trouver les cas dutilisation, exprimer les relations Dcrire le modle comme un tout
(2) Dfinir les priorits entres CU (3) Dtailler chaque CU (en fonction des priorits)
18
Systme
Acteurs
Cas d'utilisation
19
CGDR24/7
Le systme logiciel CGDR24/7 ("Crdit Grenoblois Dans la Rue, 24h/24, 7j/7"), dploy sur un distributeur de billets de la gamme DB600, a pour but de contrler l'ensemble des fonctions associes au distributeur en incluant son fonctionnement normal, mais aussi sa scurit et sa maintenance. .
20
Client
choisir un identificateur reprsentatif de son rle donner une brve description textuelle
Un guichetier est un employ de la banque charg de faire linterface entre le systme informatique et les clients quil reoit au comptoir. Le guichetier peut raliser les oprations courantes : cration dun compte, dpt et retrait dargent, etc.
21
Guichetier
Client
importance :
essentiel pour discuter avec le client et prciser les besoins rfrenc tout au long des documents pourra apparatre dans les manuels utilisateurs, dans l'interface homme-systme, dans le code ...
22
CasDUtilisationX
Choisir un identificateur reprsentatif Donner une description textuelle simple Prciser ce que fait le systme et lacteur Se concentrer sur le fonctionnement normal Fonction doit tre comprhensible Pas trop dtaille
CasDUtilisationX
identificateur reprsentatif : notes de style : choisir une forme verbale dcrivant une action l'acteur est gnralement le sujet identification concise mais prcise viter les connecteurs (et, ou, puis, ...) terme provenant autant que possible du mtier utiliser par exemple le style MajMin terme gnrique comme "Grer" en cas de besoin Grer = Crer, Supprimer, Ajouter, Modifier, ... Exemple: GrerLesDroits
24
Le processus unifi
(1) Dfinir le modle de cas dutilisation
(1) (2) (3) (4) (5)
Introduire le systme Trouver les acteurs Dcrire brivement chaque acteur Trouver les cas dutilisation, exprimer les relations Dcrire le modle comme un tout
(2) Dfinir les priorits entres CU (3) Dtailler chaque CU (en fonction des priorits)
25
Relations acteurs <-> cas d'utilisation ? Relations acteurs <-> acteurs ? Relations cas d'utilisation <-> cas d'utilisation ?
26
Client
RetirerDeLArgent AuDistributeur
<?xml version="1.0"?> <?xml <xs:schema xmlns:xs="XMLSchema"> xmlns:xs="XMLSchema"> <xs:element name="note"> name="note"> <xs:complexType> xs:complexType> <xs:sequence> xs:sequence> <xs:element name="to" type="xs:string"/> name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> name="body" type="xs:string"/> </xs:sequence> </xs:sequence> </xs:complexType> </xs:complexType> </xs:element> </xs:element> </xs:schema> </xs:schema>
Interface hommesystme
Client
Interface systmesystme
RetirerDeLArgentAu Distributeur <<actor>> SystmeBancaire ConsulterSonCompte
Technicien
RetirerLes CartesAvales
DistributeurDeBillets
Guichetier FermerUnCompte
Guichetier
FermerUnCompte
RetirerDeLArgent DUnCompte
RetirerDeLArgent DUnCompte
29
RetirerDeLArgent ParChque
30
Communication entre CU
Pas de communication entre cas dutilisation
Client RetierDeLArgent
31
Le processus unifi
(1) Dfinir le modle de cas dutilisation
(1) (2) (3) (4) (5)
Introduire le systme Trouver les acteurs Dcrire brivement chaque acteur Trouver les cas dutilisation, exprimer les relations Dcrire le modle comme un tout
(2) Dfinir les priorits entres CU (3) Dtailler chaque CU (en fonction des priorits)
32
Structuration en terme de paquetages Vision globale du systme Permet de dfinir des priorits entre CU Utile pour le client, pour la planification Trop gnrale pour les dveloppeurs
33
{ MUST }
CrerUnCompte
{ 25/12/02 }
{ SHOULD }
{ 10/10/02 } ConsulterUnCompte { 20/03/02 } Guichetier
Client
{ SHOULD } { MUST }
RetirerDeLArgentAu Distributeur
{ MAY } { MUST }
GererLesPrets
Directeur
34
Attention
them too complicated and get stuck. Usually, youll get less hurt by doing too little than by doing too much . [UML Distilled, Martin Fowler]
Congratulations: Use cases have been written, and are imperfect . [Applying UML and Patterns, Craig Larman] A big danger of use cases is that people make
35
Le processus unifi
(1) Dfinir le modle de cas dutilisation
(1) (2) (3) (4) (5)
Introduire le systme Trouver les acteurs Dcrire brivement chaque acteur Trouver les cas dutilisation, exprimer les relations Dcrire le modle comme un tout
(2) Dfinir les priorits entres CU (3) Dtailler chaque CU (en fonction des priorits)
37
38
39
40
Informations dcrire
Quand le cas d'utilisation commence, pr-conditions Quand le cas d'utilisation se termine, post-conditions Le chemin correspondant au droulement normal = les interactions entre le systme et les acteurs Les variantes possibles et les cas derreurs Les ventuels besoins non fonctionnels
Maj YL 2007
41
Dbut : lorsquun client introduit sa carte bancaire dans le distributeur. Fin : lorsque la carte bancaire et les billets sont sortis. Postcondition : Si de largent a pu tre retir la somme dargent sur le compte est gale la somme dargent quil y avait avant, moins le montant du retrait. Sinon la somme d argent sur le compte est la mme quavant.
42
Format(s) "standardis(s)"
Pas de format standard propos en UML Diffrents formats proposs dans la littrature Choix du format en fonction des besoins
45
RetirerDeLArgent AuDistributeur
RetirerDeLArgent
46
Attention
"The UML includes other relationships between use cases beyond the simple includes, such as <<extends>>. I strongly suggest that you ignore them. I've seen too many situations in which teams can get terribly hung up on when to use different use case relationships, and such energy is wasted. Instead, concentrate on the textual description of a use case."
[UML Distilled, MartinFowler]
"A common sign of a novice (or academic) use case modeler is a preoccupation with use case diagrams and use case relationships, rather than writing text. ... Use case diagrams and use case relationships are secondary in use case work. Use cases are text documents. Doing use case work means to write text."
[Applying UML and Patterns, Craig Larman]
47
Scnario
Pour dcrire ou valider un cas d'utilisation Un scnario est un exemple :
une manire particulire dutiliser le systme par un acteur particulier dans un contexte particulier.
cas dutilisation = ensemble de scnarios scnario = une excution particulire dun cas d'utilisation
Maj YL 2007
48
Exemple de scnario
Retirer DeLArgent AuDistributeur
SCENARIO 4 Le client insre sa carte dans le distributeur d2103 Le systme accepte la carte et lit le numro de compte Le systme demande le code Le client tape 1234 Le systme indique que ce nest pas le bon code Le systme affiche un message et propose de recommencer Le client tape 6622 Le systme affiche que le code est correct Le systme demande le montant du retrait Le client tape 10000 Euros Le systme vrifie sil y a assez d argent sur le compte ...
49
Exemple de scnario
paul : Client
Insrer carte Demander code Entrer code 1234 Message derreur Demander code Appeler Sylvia Entrer code 6622 Vrifier code Vrifier carte
le systme
...
51
Niveau instances
52
Rsum
Diffrents concepts UML
Modle et diagramme des cas dutilisation Acteur, cas dutilisation Scnario
Processus Unifi : commencer par les acteurs Utiliser les diagrammes mais surtout la langue naturelle! Moyen de communication avec le client Modle prliminaire vs. Modle dtaill Processus itratif
53
56
57
58
Problmes rcurrents
Les problmes soulevs dans cette partie correspondent des questions rcurrentes en pratique. Problmes ventuellement sans rponse dans la norme Interprtations et solutions parfois diffrentes dans les livres Problmes rcurrents souvent implicites
=> Chercher quelles conventions existent dans le contexte de travail ou se mettre d'accord sur des conventions lorsque le problme se pose
59
60
Client
ConsulterSonCompte
Technicien
RetirerLes CartesAvales
DistributeurDeBillets
61
62
- le client insre sa carte bancaire dans le distributeur - le systme demande le code pour l identifier - le client tape le montant du retrait sur le clavier - le systme vrifie quil y a suffisamment d argent - le systme affiche un message de confirmation ... Extraction de l'essentiel - le client s'identifie - le systme vrifie l'identification - le client dtermine le montant du retrait - le systme vrifie quil y a suffisamment d argent
63
Les intermdiaires
64
Client
Guichetier
RetirerDeLArgent AvecUnChque
Client
RetirerDeLArgent AvecUnChque
On insiste sur les objectifs et on masque compltement les aspects lis l'interface
65
Consulter SonCompte
ClientVia UnPortable
Consulter SonCompte
Projet: dvelopper le systme embarqu dans un portable pour accder au systme centralis
Client
Client
Consulter SonCompte
67
ConsulterUnCompte
Systme Bancaire
L'association "communique" est peu informative : qui ralise le cas d'utilisation ? qui collabore son droulement ? quels acteurs peuvent participer un mme scnario simultanment ? Pas de notation standard pour exprimer les rponses
68
ConsulterUnCompte
ConsulterUnCompte
Systme Bancaire
(1) CAS D'UTILISATION "PARTAGE" Deux acteurs peuvent raliser le cas d'utilisation mais pour rpondre des objectifs qui leur sont propres
(2) CAS D'UTILISATION "COLLABORATIF" Deux acteurs collaborent la ralisation d'un objectif. Le systme intragit avec les deux acteurs.
69
Guichetier
ConsulterUnCompte
70
Style "primaire"
Ne reprsenter que l'acteur primaire
Client
ConsulterUnCompte
Vendeur
VendreAuxEnchres
72
Style "dcoration"
Utiliser une dcoration particulire (e.g. auxiliaire ou initiator)
Vendeur Client auxiliary auxiliary
<<actor>> SystmeBancaire ConsulterUnCompte
Acheteur
VendreAuxEnchres
auxiliary
Controleur 73
Style "droite/gauche"
primaire gauche, secondaire droite
<<actor>> SystmeBancaire
Client
ConsulterUnCompte
Acheteur Vendeur
VendreAuxEnchres
Controleur
74
B
ConsulterLesLivres
Internaute
Acheter
Client Client
Acheter
C
ConsulterLesLivres
D
ConsulterLesLivres
Internaute
Internaute
Acheter
Acheter
Client
Client
76
B
ConsulterLesLivres
Internaute
Client Client
Acheter
Client
C
Internaute
ConsulterLesLivres
ConsulterLesLivres
Internaute
Acheter
Acheter
Client
Client
77
A
ConsulterLesLivres
B B
Internaute Internaute
Acheter ConsulterLesLivres ConsulterLesLivres
On insiste sur le fait que l'une des fonctions Client importante est d'accueillir des internautes quelconques et de leur permettre de consulter la liste des livres sans que leur objectif soit d'acheter La diffrence est faite entre un internaute et ConsulterLesLivres un client (potentiellement habitu) Internaute Une personne peut changer de rle dynamiquement en jouant le rle internaute puis de client. Ce changement de rle est une caractristique Acheter exterieure au systme
Client Client
Acheter Acheter
ConsulterLesLivres
Internaute
Acheter
Client
Client
78
A
ConsulterLesLivres
B
ConsulterLesLivres
Internaute
Acheter
Client Client
Acheter
ConsulterLesLivres
D
Internaute
Acheter
Il est considr comme important de sparer les clients des internautesConsulterLesLivres Internaute ConsulterLesLivres est un cas d'utilisation normal pour un client Acheter aussi
Acheter
Client
Client
79
A
ConsulterLesLivres
B
Un client peut tout faire ce que peut faire un Internaute internaute (hritage des cas d'utilisation) Un client est un cas particulier d'internaute (spcialisation) Acheter La dernire rgle doit tre respecte Client
ConsulterLesLivres
Acheter
Client
C
ConsulterLesLivres
D
ConsulterLesLivres
Internaute
Internaute
Acheter
Acheter
Client
Client
80
Conclusion
81
grandissant
82