Académique Documents
Professionnel Documents
Culture Documents
7466 Chap01 PDF
7466 Chap01 PDF
C
c h
Diagramme de cas
dutilisation
UML permet de construire plusieurs modles dun systme : certains montrent le systme
du point de vue des utilisateurs, dautres montrent sa structure interne, dautres encore en
donnent une vision globale ou dtaille. Les modles se compltent et peuvent tre assem-
bls. Ils sont labors tout au long du cycle de vie du dveloppement dun systme (depuis
le recueil des besoins jusqu la phase de conception). Dans ce chapitre, nous allons tudier
un des modles, en loccurrence le premier construire : le diagramme de cas dutilisation.
Il permet de recueillir, danalyser et dorganiser les besoins. Avec lui dbute ltape danalyse
dun systme.
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
les
l besoins
Le dveloppement dun nouveau systme, ou lamlioration dun systme existant, doit
rpondre un ou plusieurs besoins. Par exemple, une banque a besoin dun guichet
automatique pour que ses clients puissent retirer de largent mme en dehors des heures
douverture de la banque. Celui qui commande le logiciel est le matre douvrage. Celui
qui ralise le logiciel est le matre duvre.
Le matre douvrage intervient constamment au cours du projet, notamment pour :
dfinir et exprimer les besoins ;
valider les solutions proposes par le matre duvre ;
valider le produit livr.
Le matre duvre est, par exemple, une socit de services en informatique (SSII). Il a
t choisi, avant tout, pour ses comptences techniques. Mais son savoir-faire va bien
au-del. Au dbut du projet, il est capable de recueillir les besoins auprs du matre
douvrage. Le recueil des besoins implique une bonne comprhension des mtiers
concerns. Raliser un logiciel pour une banque, par exemple, implique la connaissance
du domaine bancaire et lintgration de toutes les contraintes et exigences de ce mtier.
Cette condition est ncessaire pour bien cerner les cas dutilisation exprims par le client
afin dapporter les solutions adquates.
Chaque cas a ses particularits lies au mtier du client. Le recueil des besoins peut
soprer de diffrentes faons. Cela dit, il est recommand de complter le cahier des
charges par des discussions approfondies avec le matre douvrage et les futurs utilisa-
teurs du systme. Il convient galement dutiliser tous les documents produits propos
du sujet (rapports techniques, tude de march) et dtudier les procdures adminis-
tratives des fonctions de lentreprise qui seront prises en charge par le systme. La ques-
tion que doit se poser le matre duvre durant le recueil des besoins est la suivante :
ai-je toutes les connaissances et les informations pour dfinir ce que doit faire le
systme
y ?
2. Le
L diagramme de cas
dutilisation
d
2.1. Les cas dutilisation
Parlons prsent dUML et voyons quelle aide il peut apporter lors du recueil des
besoins. UML nest quun langage et il ne sert ici qu formaliser les besoins, cest--dire
les reprsenter sous une forme graphique suffisamment simple pour tre comprhen-
sible par toutes les personnes impliques dans le projet. Noublions pas que bien souvent,
le matre douvrage et les utilisateurs ne sont pas des informaticiens. Il leur faut donc un
10
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Figure 1.1 frontire du sujet Borne interactive dune banque nom du sujet
Diagramme
de cas dutilisation
modlisant une borne Retirer argent cas dutilisation
acteur
daccs
une banque.
Effectuer un virement
association
Lensemble des cas dutilisation contenus dans le cadre constitue un sujet . Les petits
bonshommes sont appels acteurs . Ils sont connects par de simples traits (appels
associations ) aux cas dutilisation et mettent en vidence les interactions possibles
entre le systme et le monde extrieur. Chaque cas modlise une faon particulire et
cohrente dutiliser un systme pour un acteur donn.
Dfinition
Un cas dutilisation est une manire spcifique dutiliser un systme. Les acteurs sont lextrieur
du systme ; ils modlisent tout ce qui interagit avec lui. Un cas dutilisation ralise un service de
bout en bout, avec un dclenchement, un droulement et une fin, pour lacteur qui linitie.
Notation et spcification
Un cas dutilisation se reprsente par une ellipse (figure 1.2). Le nom du cas est inclus dans lel-
lipse ou bien il figure dessous. Un strotype (voir la dfinition ci-aprs), peut tre ajout option-
nellement au-dessus du nom, et une liste de proprits place au-dessous.
Un cas dutilisation se reprsente aussi sous la forme dun rectangle deux compartiments : celui
du haut contient le nom du cas ainsi quune ellipse (symbole dun cas dutilisation) ; celui du bas
est optionnel et peut contenir une liste de proprits (figure 1.3).
Un acteur se reprsente par un petit bonhomme ayant son nom inscrit dessous (figure 1.1) ou
par un rectangle contenant le strotype acteur avec son nom juste en dessous (figure 1.4). Il est
recommand dajouter un commentaire sur lacteur pour prciser son rle.
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
La figure 1.4 reprsente un acteur par un rectangle. UML utilise aussi les rectangles
pour reprsenter des classes, et plus gnralement des classeurs. Pour autant, la notation
nest pas ambigu puisque le strotype acteur indique que le rectangle dsigne un
acteur. Les strotypes permettent dadapter le langage des situations particulires.
Dfinition
Un strotype reprsente une variation dun lment de modle existant.
un niveau dabstraction plus lev, UML permet de reprsenter tous les cas dutilisa-
tion dun systme par un simple rectangle. La figure 1.5 montre comment un tel rectan-
gle peut remplacer tous les cas dutilisation de la figure 1.1.
Figure 1.5
Borne interactive dune banque
Reprsentation des cas
dutilisation un niveau
dabstraction lev.
Notation
Un classeur se reprsente par un rectangle contenant ventuellement des compartiments (la
figure 1.6 montre comment il est possible de faire figurer explicitement des cas dutilisation dans
un classeur).
Figure 1.6
Borne interactive dune banque
Les compartiments dun
classeur.
Retirer argent
Effectuer un virement
Consulter comptes
12
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Internaute
Le symbole * qui signifie plusieurs est ajout lextrmit du cas et sappelle une
multiplicit. Plusieurs valeurs sont possibles pour la multiplicit : exactement n scrit
tout simplement n, m..n signifie entre m et n, etc. Prciser une multiplicit sur une rela-
tion nimplique pas ncessairement que les cas sont utiliss en mme temps.
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Notation et spcification
Une dpendance se reprsente par une flche pointille. Un strotype est souvent ajout au-
dessus du trait.
Le strotype inclut indique que la relation de dpendance est une inclusion (figures 1.8 et 1.9).
Le strotype tend indique une extension (figure 1.8). Lextension peut intervenir un point
prcis du cas tendu ; ce point sappelle le point dextension ; il porte un nom, qui figure dans un
compartiment du cas tendu sous la rubrique point dextension , et est ventuellement asso-
ci une contrainte indiquant le moment o lextension intervient. Une extension est souvent
soumise une condition (indique dans une note attache la flche pointille).
Le symbole utilis pour la gnralisation est une flche en traits pleins dont la pointe est un
triangle ferm. La flche pointe vers le cas le plus gnral (figure 1.8).
Figure 1.8
Borne interactive dune banque
Relations entre
Retirer argent
cas dans un
diagramme de cas
dutilisation.
Effectuer un virement
Point dextension : inclut
vrificationSolde {aprs
avoir demand le
montant} inclut
tend Sauthentifier
Client
Vrifier le solde
Condition : {si montant > 20 euros}
Point dextension : vrificationSolde
inclut
Consulter comptes
inclut
Prpos aux
commandes
Vrifier la solvabilit du client
Un cas reli un autre cas peut ne pas tre directement accessible un acteur (figure 1.9).
Un tel cas est appel cas interne .
14
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Les relations entre cas ne sont pas obligatoires. Elles permettent de clarifier et denrichir
les cas dutilisation. Par exemple, la figure 1.8, rien nempche de regrouper les cas
Consulter comptes et Consulter sur Internet en un seul cas. Cependant, indiquer
ds la phase de recueil des besoins quil y a des cas particuliers apporte une information
supplmentaire pertinente. La question se poser est : faut-il la faire figurer dans le
diagramme de cas dutilisation ou la prendre en compte plus tard ? La rponse cette
question ne sera pas toujours la mme selon le contexte du projet.
Remarque
Attention lorientation des flches : si le cas A inclut B on trace la flche de A vers B, mais si B
tend A, la flche est dirige de B vers A.
inclut
Grer le stock
Directeur
des ventes
Notation
Le symbole utilis pour la gnralisation entre acteurs est une flche en traits pleins dont la
pointe est un triangle ferm. La flche pointe vers lacteur le plus gnral.
15
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Exemple
la figure 1.11, trois paquetages ont t crs : Client, Stock et Support. Ces paquetages contien-
nent les cas dutilisation du diagramme de la figure 1.10 (Client contient les cas Passer une
commande et Suivre une commande , Stock contient le cas Grer le stock , tandis que le
cas Rechercher article est inclus dans le paquetage Support.
Figure 1.11 Dpendance
Regroupement des Client entre paquetages
cas dutilisation en qui reflte
paquetage. linclusion des
cas dutilisation.
Support
Stock
En tant que langage, UML est soumis des rgles de nommage quil faut strictement
respecter : pour accder au contenu de paquetages imbriqus les uns dans les autres, il
faut utiliser des deux-points comme sparateur des noms de paquetage. Par exemple, si
un paquetage B inclus dans un paquetage A contient une classe X, il faut crire A::B::X
pour pouvoir utiliser la classe X en dehors du contexte des paquetages.
3. M
Modlisation des besoins
avec
a UML
3.1. Qui sont les acteurs ? Comment les identifier ?
Les principaux acteurs sont les utilisateurs du systme. Ils sont en gnral faciles rep-
rer. Cest le matre douvrage qui les dsigne. Chaque acteur doit tre nomm, mais atten-
tion, pour trouver son nom, il faut penser son rle : un acteur reprsente un ensemble
cohrent de rles jous vis--vis dun systme. Ainsi, pour un logiciel de gestion de paie,
16
le nom correct dun acteur est Comptable plutt que Mme Dupont. Plusieurs personnes
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Dfinition
Lacteur est dit principal pour un cas dutilisation lorsque le cas dutilisation rend service
cet acteur. Les autres acteurs sont dits secondaires . Un cas dutilisation a au plus un acteur
principal, et un ensemble ventuellement vide dacteurs secondaires.
Un acteur principal obtient un rsultat observable du systme tandis quun acteur secondaire
est sollicit pour des informations complmentaires.
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
nels du systme. Ltape de recueil des besoins est souvent longue et fastidieuse car les
utilisateurs connaissent lexistant et nont quune vague ide de ce que leur apportera un
futur systme ; en outre, le cahier des charges contient des imprcisions, des oublis, voire
des informations contradictoires difficiles extraire. Llaboration du diagramme de
cas dutilisation permet de pallier ces problmes en recentrant le systme sur les besoins
fonctionnels et ce, ds le dbut du projet.
On peut se demander pourquoi adopter un point de vue fonctionnel, et non technique ?
Trop souvent, par le pass, les logiciels taient techniquement trs labors sans pour
autant satisfaire les utilisateurs. Avec les diagrammes de cas dutilisation, on se place clai-
rement du ct des utilisateurs. Le ct technique nest pas oubli mais abord diffrem-
ment : les besoins sont affins lors de lcriture des spcifications on parle de spcifications
techniques des besoins (voir la section Description textuelle des cas dutilisation ).
Remarque
Il ne faut pas faire apparatre les dtails des cas dutilisation, mais il faut rester au niveau des
grandes fonctions du systme. La question qui se pose alors est de savoir jusqu quel niveau
de dtails descendre ? Si le nombre de cas est trop important, il faut se demander si on a fait
preuve de suffisamment dabstraction. Le nombre de cas dutilisation est un bon indicateur de
la faisabilit dun logiciel.
Il ne doit pas y avoir de notion temporelle dans un diagramme de cas dutilisation. Il ne faut pas
se dire que lacteur fait ceci, puis le systme lui rpond cela, ce qui implique une raction de
lacteur, et ainsi de suite. Le squencement temporel sera pris en compte plus tard, notamment
dans la description dtaille des cas (voir section 3.3).
Lintrt des cas dutilisation ne se limite pas au recueil des besoins. La description des cas dutili-
sation peut servir de base de travail pour tablir les tests de vrification du bon fonctionnement
du systme, et orienter les travaux de rdaction de la documentation lusage des utilisateurs.
18
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Guichetier Systme
central
Saisie du numro de compte client
Compte valide
Compte dbit
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Exemple
Dans le cas dun retrait dargent, des squences alternatives se produisent par exemple dans les
situations suivantes :
Le client choisit deffectuer un retrait en euros ou en dollars.
Le client a la possibilit dobtenir un reu.
Une exception se produit si la connexion avec le systme central de la banque qui doit vrifier la
validit du compte est interrompue.
20
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Squencement
Le cas dutilisation commence lorsquun client demande le retrait despces en euros.
Pr-conditions
Le client possde un compte (donne son numro de compte).
Enchanement nominal
1. Le guichetier saisit le numro de compte client.
2. Lapplication valide le compte auprs du systme central.
3. Lapplication demande le type dopration au guichetier.
4. Le guichetier slectionne un retrait despces de 200 euros.
5. Lapplication demande au systme central de dbiter le compte.
6. Le systme notifie au guichetier quil peut dlivrer le montant demand.
Post-conditions
Le guichetier ferme le compte.
Le client rcupre largent.
Rubriques optionnelles
Contraintes non fonctionnelles
Fiabilit : les accs doivent tre extrmement srs et scuriss.
Confidentialit : les informations concernant le client ne doivent pas tre divulgues.
Contraintes lies linterface homme-machine
Donner la possibilit daccder aux autres comptes du client.
Toujours demander la validation des oprations de retrait.
La squence nominale, les squences alternatives, les exceptions, etc., font quil existe
une multitude de chemins depuis le dbut du cas jusqu la fin. Chaque chemin est
appel scnario . Un systme donn gnre peu de cas dutilisation, mais, en gnral,
beaucoup de scnarios.
21
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Remarque
Parfois, les utilisateurs ont du mal dcrire un cas sous une forme textuelle. Il est alors judi-
cieux de se servir dune autre forme de description, en utilisant un organigramme ou encore
en construisant des maquettes des interfaces homme-machine. Le dessin, mme sommaire, de
laspect des crans des interfaces permet de fixer les ides ; il offre une excellente base pour la
discussion avec le matre douvrage, qui le considre comme plus parlant .
Conclusion
Les phases de recueil des besoins et dcriture des spcifications sont longues et fasti-
dieuses. Mais quand elles sont bien menes, elles permettent de lever toutes les ambigu-
ts du cahier des charges et de recueillir les besoins dans leurs moindres dtails. Les
spcifications permettant dapprofondir les besoins (on parle dailleurs juste titre de
spcifications techniques des besoins), la frontire entre ces deux notions est floue.
Il nest pas question ce moment de la modlisation de limiter les besoins. Du ct du
matre duvre, la tendance est les limiter des fonctionnalits essentielles, tandis que
le matre douvrage, et surtout les utilisateurs, ont tendance en exprimer bien plus quil
nest possible den raliser. Le matre duvre doit faire preuve ici de patience et mener
la phase de spcifications de tous les besoins jusqu son terme. Cest ce moment seu-
lement, que des priorits sont mises sur les spcifications. Le matre duvre tente alors
dagencer les besoins de faon cohrente et fait plusieurs propositions de solutions au
matre douvrage, qui couvrent plus ou moins de besoins. UML ne propose rien pour
mettre des priorits sur les spcifications.
Le diagramme de cas dutilisation est un premier modle dun systme. Que savons-
nous sur le systme aprs avoir cr ce diagramme ? Sur le systme lui-mme, en interne,
pas grand-chose vrai dire. Cest encore une bote noire larchitecture et au mode de
fonctionnement interne inconnus. Donc, a fortiori, ce stade, nous ne savons toujours
pas comment le raliser. En revanche, son interface avec le monde qui lentoure est par-
tiellement connue : nous nous sommes placs du point de vue des acteurs pour dfinir
les spcifications fonctionnelles. Il faut sattarder un instant sur lexpression partielle-
ment connue pour mesurer les limites du modle des cas dutilisation. Les spcifica-
tions fonctionnelles disent ce que le systme doit faire pour les acteurs. En dautres
termes, nous connaissons prcisment ce qui entre et ce qui sort du systme, mais, en
revanche, nous ne savons toujours pas comment raliser cette interface avec lextrieur.
Lobjectif de cette phase de la modlisation est donc de clairement identifier les fronti-
res du systme et les interfaces quil doit offrir lutilisateur. Si cette tape commence
avant la conception de larchitecture interne du systme, il est en gnral utile, quand la
rflexion est suffisamment pousse, de poser les bases de la structure interne du sys-
tme, et donc dalterner analyse des besoins et bauche des solutions envisages.
Aux spcifications fonctionnelles sajoutent des spcifications techniques qui peuvent
tre vues comme des exigences pour la future ralisation.
Le prsent chapitre se poursuit par une srie de problmes corrigs. Le chapitre 2, quant
lui, prsente le diagramme des classes, qui permet de modliser la structure interne
22 dun systme.
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Solution
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Client
2. Un acteur est caractris par le rle quil joue vis--vis du systme. Le pompiste, bien
qutant une personne diffrente du client, joue un rle identique quand il se sert de
lessence. Pour le cas Se servir , il nest pas ncessaire de crer un acteur suppl-
mentaire reprsentant le pompiste.
3. La gestion de la station-service dfinit une nouvelle fonctionnalit modliser. Le
grant prend le rle principal ; cest donc un nouvel acteur (figure 1.15).
Figure 1.15 Station-service
Deux acteurs
pour deux rles.
Se servir
Client
Grer la station
Grant
4. La station offre un troisime service : lentretien des vhicules. Le systme informa-
tique doit prendre en charge cette fonctionnalit supplmentaire. Un nouvel acteur
apparat alors : le mcanicien. Le grant est prsent un chef datelier qui est un
mcanicien ayant la capacit de grer la station. Il y a ainsi une relation de gnralisa-
tion entre les acteurs Mcanicien et Chef datelier (figure 1.16) signifiant que le chef
datelier peut, en plus dassurer la gestion, entretenir des vhicules.
Figure 1.16 Station-service
Relation
de gnralisation entre
acteurs. Se servir
Client
Mcanicien
Grer la station
Chef
datelier
24
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Client
Solution
Il ne ffautt pas introduire de squencement temporel entre des cas dutilisation (cette
notion apparat lors de la description des cas). De plus, il est incorrect dutiliser un trait
plein pour relier deux cas. Cette notation est rserve aux associations entre les acteurs
et les cas.
Agent de
voyages
25
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
11. Le modlisa
modlisateur a considr que lorganisation dun voyage est trop complexe pour
tre reprsente par un seul cas dutilisation. Il la donc dcompose en trois tches
modlises par les trois cas dutilisation Rserver une chambre dhtel , Rserver
un taxi et Rserver un billet de train . Ces trois tches forment des transactions
suffisamment isoles les unes des autres pour tre des cas dutilisation. De plus, ces
cas sont mutuellement indpendants. Ils constituent des cas internes du systme car
ils ne sont pas relis directement un acteur.
Figure 1.19
Agence de voyages
Relations
dinclusion Rserver une
Rserver un taxi Rserver un billet de train
entre cas chambre dhtel
dutilisation.
inclut inclut inclut
Organiser un voyage
Agent de
voyages
Organiser un voyage
Agent de
Points dextension :
voyages
tablirUneFacture
Condition : { la demande du
client} tend
Point dextension : tablirUneFacture
3. Il y a maintenant deux cas particuliers : le voyage se fait en train ou en avion. Ces cas
particuliers sont modliss par les cas Rserver un billet de train et Rserver un
billet davion . Ceux-ci sont lis un cas plus gnral appel Rserver un titre de
26 transport .
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Organiser un voyage
Solution
L seull acteur
Le t est le client.
Lacquisition dune carte et sa recharge ne se font pas via le distributeur : il faut aller au
magasin. Ces fonctions ne donnent pas lieu des cas dutilisation. 27
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Pour dcrire le cas Emprunter une vido , imaginons un scnario possible. Le client
introduit sa carte. Il doit ensuite pouvoir choisir une vido. Quels sont les critres de
choix ? Lnonc ne prcise pas ces critres. Ce problme arrive frquemment en situa-
tion relle.
Le matre douvrage dans un projet informatique de cette ampleur est bien souvent le
propritaire du magasin de location. Il sait rarement rdiger un cahier des charges. Cest
le rle du matre duvre dobliger le matre douvrage bien formuler ses besoins.
Choisir une vido peut tre complexe : la recherche se fait-elle par genres, par titres ou
par dates de sortie des films en salles ? Si la recherche se fait par genres, quels sont-ils ?
Rechercher un film semble plus complexe quon ne limaginait au premier abord. De
plus, cette fonctionnalit peut tre isole de la location proprement dite, qui concerne
plutt la gestion de la carte. Ces remarques incitent crer le cas supplmentaire
Rechercher une vido . Lemprunt dune vido inclut sa recherche. Une relation din-
clusion intervient donc entre les cas Emprunter une vido et Rechercher une vido ,
comme le montre la figure 1.23.
Figure 1.23 Magasin de location de cassettes vido
Diagramme de cas
dutilisation complt
par la recherche dune Emprunter une vido
vido. inclut
28
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Dcrivez sous forme textuelle les cas dutilisation Emprunter une vido et
Rechercher une vido du diagramme prsent la figure 1.23. La recherche dune
vido peut se faire par genres ou par titres de film. Les diffrents genres sont action,
aventure, comdie et drame. Quand une liste de films saffiche, le client peut trier les
films par titres ou par dates de sortie en salles.
Solution
Avant de prse
prsenter la solution, donnons quelques indications :
Tous les cas dutilisation dun systme doivent tre dcrits sous forme textuelle (dans
la suite de ce chapitre, nous omettrons ventuellement de le faire pour des raisons de
place ou dintrt).
Quand une erreur (exception) est dtecte dans un cas, une squence derreurs est
active (par exemple, voir la squence E1 dans la description suivante). La squence
nominale nest pas reprise et le cas sinterrompt aussitt.
29
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Squencement
Le cas dmarre au point 3 de la description du cas Emprunter une vido .
Enchanement nominal (le choix du film se fait par genres)
1. Le systme demande au client quels sont ses critres de recherche pour un film (les choix
possibles sont : par titres ou par genres de film).
2. Le client choisit une recherche par genres.
3. Le systme recherche les diffrents genres de film prsents dans le distributeur.
4. Le systme affiche une liste des genres (les choix possibles sont action, aventure, comdie
et drame).
5. Le client choisit un genre de film.
6. Le systme affiche la liste de tous les films du genre choisi prsents dans le distributeur.
7. Le client slectionne un film.
Enchanements alternatifs
A1 : Le client choisit une recherche par titres.
Lenchanement dmarre aprs le point 1 de la squence nominale :
2. Le client choisit une recherche par titres.
3. Le systme affiche la liste de tous les films classs par ordre alphabtique des titres.
La squence nominale reprend au point 7.
Enchanements dexception
E1 : Le client annule la recherche.
Lenchanement peut dmarrer aux points 2, 5 et 7 de la squence nominale :
Appel de lexception E4 du cas Emprunter une vido .
Post-conditions
Le systme a mmoris le film choisi par le client.
Rubriques optionnelles
Contraintes non fonctionnelles
Contraintes lies linterface homme-machine
Quand une liste de films saffiche, le client peut trier la liste par titres ou par dates de sortie en
salles.
Le client peut se dplacer dans la liste et la parcourir de haut en bas et de bas en haut.
Ne pas afficher plus de 10 films la fois dans la liste.
31
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Solution
Le systme
L t informatique
i f est compos de deux sous-systmes :
le sous-systme du robot ;
le sous-systme du poste de tlpilotage.
Do lide de faire deux diagrammes de cas dutilisation un par sous-systme et de
placer chaque diagramme dans un paquetage. La figure 1.24 montre deux paquetages :
un pour le sous-systme du robot et un pour le sous-systme du poste de pilotage. La
relation de dpendance entre les paquetages signifie que le systme de pilotage utilise le
robot.
Figure 1.24
Robot Systme de pilotage
Reprsentation du
systme de tlpilotage
dun robot par des
paquetages.
Commenons par modliser le robot. Ses capteurs (camra, moteur et roues) sont
lextrieur du systme informatique et ils interagissent avec lui. Ils correspondent a
priori la dfinition dacteurs. Reprenons chaque capteur pour ltudier en dtail :
Le systme doit demander la capture dune image la camra et raliser la capture.
La camra est donc un acteur associ un cas dutilisation appel Capturer ima-
ges (figure 1.25).
Le sens de rotation du moteur peut tre command. Le moteur est lacteur ; il est
associ un cas appel Commander le moteur .
32
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
33
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Points dextension :
envoiImage
Camra
Condition : {ds quune image tend
complte a t capture}
Point dextension : envoiImage
Envoyer les images
metteur
Points dextension :
- commandeMoteur Rcepteur
- commandeDirection
Moteur Direction
34
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Rcepteur
Condition : {ds quune image
complte a t reue} tend
Point dextension : afficheImage
Afficher les images
Tlpiloter
Pilote
Points dextension :
envoiCommande
metteur
Solution
L mdiathque
La di th nemploie quune employe. Nanmoins, un acteur est dtermin par le
rle quil joue vis--vis du systme modliser. Ici, lemploye a deux rles essentiels :
35
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
36
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
inclut
Grer les
adhrents inclut
inclut Sauthentifier
Bibliothcaire
Rechercher
les adhrents inclut
inclut
inclut
Grer les Grer les comptes
emprunts utilisateurs
Administrateur
Grer les contentieux
Points dextension :
Gestionnaire des procdureJudiciaire : {pas
contentieux chaque fois que le gestionnaire
utilise le cas mais
une fois par mois}
Condition : {si plus dun an de retard}
Point dextension : procdureJudiciaire tend
Dclencher une
procdure judiciaire
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
P
Pour un systme
t complexe, il vaut mieux se concentrer sur les fonctions essentielles puis
passer aux cas moins importants.
Identification des principaux acteurs et recensement des cas
dutilisation essentiels
Lacteur principal est videmment le client. Il utilise le systme pour obtenir de lessence.
Il est associ au cas dutilisation Se servir . Rappel : dans un diagramme de cas duti-
lisation, on ne dtaille pas la squence des oprations. Par exemple, le type dessence
choisi sera pris en compte quand on dcrira le cas.
Imaginons le fonctionnement de la pompe : lessence ne peut tre distribue que si la
pompe est arme ; le client prend un pistolet ; sur le pupitre du pompiste est indiqu le
type dessence choisi ; le pompiste arme la pompe en appuyant sur un bouton de son
pupitre, ce qui initialise la pompe.
Ainsi, le cas Se servir doit inclure larmement de la pompe. Deux solutions sont
possibles :
La premire utilise un cas unique (Se servir), et deux acteurs (Client et Pompiste),
comme le montre la figure 1.28.
Figure 1.28
Se servir de lessence : Se Servir
solution avec un cas
unique. Client Pompiste
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Ces deux solutions sont possibles. Il est difficile de dire laquelle est la meilleure. La suite
de lexercice se fonde arbitrairement sur la reprsentation avec des relations de gnrali-
sation (figure 1.31). Le modlisateur se retrouve rgulirement face ce dilemme. La
rponse est souvent la mme : peu importe la faon de modliser un systme du moment
que le modle est correct un modle est correct sil montre une solution qui satisfait le
matre douvrage ainsi que les futurs utilisateurs du systme.
Aboutir une modlisation correcte
Il faut prendre le temps dlaborer le diagramme de cas dutilisation, bien quil soit gn-
ralement simple btir, afin dviter les a priori qui peuvent conduire une modlisa-
tion errone.
la relecture du fonctionnement du paiement tel quil est dcrit prcdemment, le
pompiste devient lacteur principal du cas de paiement. Cest un peu surprenant car on
pourrait croire au premier abord quil sagit du client. Or, la seule fois o le client inter-
vient directement sur le systme informatique de la station-service est quand il saisit
son numro de carte bancaire. Toutes les autres situations ncessite lintervention du
40
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
42
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg
Station-Service
Vrifier niveau cuve Vrifier niveau cuve
pour armement pour remplissage
inclut
inclut
Se servir Armer pompe
Points dextension :
Client paiement : { la fin du Pompiste
cas se servir }
Condition : {si le client
a pris de lessence avant tend
de raccrocher le pistolet}
Payer
Payer en espce
Payer par carte
bancaire
Archiver les
Banque transactions
Payer par chque
Timer
43
2010 Pearson Education France UML2, 3e dition Benot Charroux, Aomar Osmani, Yann Thierry-Mieg