umlDiagUcTd1Section1 5corr
umlDiagUcTd1Section1 5corr
umlDiagUcTd1Section1 5corr
Objectif
Dans ce TD, vous apprendrez :
dterminer les acteurs et les cas dutilisation ;
distinguer les acteurs primaires (principales) et secondaires ;
utiliser un cas dutilisation pour linclure dans un autre ;
tendre un cas dutilisation ;
spcialiser des acteurs ;
spcialiser un cas dutilisation pour lenrichir ;
gnraliser des cas dutilisation pour factoriser des points communs ;
Pr requits
Cours UML - Cas dutilisation : diagramme de contexte, diagramme de cas dutilisation.
Ressources
notes prises lors du cours donns en sance de TP du 4 octobre 2012 ;
Analyse et Conception avec UML, Les diagrammes de cas dutilisation : umlcasutilisation.pdf
Use case diagram : UseCase.html
Dure
4 1H
1
octobre 2012
Corrig
Mots-cl
cas dutilisation, acteur (primaire principale , secondaire), relation de communication, dinclusion, dextension, point dextension, cas dutilisation abstrait, pr condition, post condition, hritage (gnralisation,
spcialisation), scnarii nominal, alternatif et dexception.
Document rendre
une feuille avec votre nom, pour les rponses aux questions de la section 1 page ci-contre ;
pour les sections 3 7, un fichier archive, votreNomUc.tar.bz2 1 , contenant le rpertoire du
projet uml (voir section 2 page 7), cr avec loutil BOUML, exemple : durantUc.tar.bz2 ; le
projet uml :
contient un diagramme de cas dutilisation pour les questions 3-2, 4-3, 5-2, 6-2 et 7-4 ;
pour les exercices 4, 5 et 7, inclut le diagramme de contexte ; pour le 6, le reproduit ;
fait apparatre les limites de systme (un rectangle sparant cas dutilisation et acteurs) ;
reprsente les acteurs primaires avec le symbole stick man et les secondaires avec le symbole
dune classe avec strotype actor ;
Prparation du TD
Jour-nuit
Systme dauthentification
10
11
Appel tlphonique
13
1. respecter la casse
Rev : 319
2/16
Corrig
octobre 2012
Les cas dutilisation dcrivent les exigences fonctionnelles dun systme raliser. Ils dcrivent
donc le fonctionnement attendu du systme sans bien sr dcrire limplantation de celui-ci. Ils
constituent galement un rfrentiel pour le dialogue entre le client (la matrise douvrage) et les
concepteurs et dveloppeurs (la matrise duvre).
2. Les cas dutilisation correspondent un ensemble dinteractions entre un utilisateur et le systme ?
A. Oui B. Non
Solution:
Oui
Commenter si ncessaire.
Solution:
Un cas dutilisation dcrit les interactions entre un utilisateur et le systme. Cette description peut
dtailler toutes les interactions ou indiquer les principales. En UML , la description est graphique
et se limite indiquer le nom du cas dutilisation sans dtailler les interactions.
3. Un cas dutilisation prend en compte les objectifs non fonctionnels dun utilisateur ?
A. Oui B. Non
Solution:
Non
Commenter si ncessaire.
Solution:
Oui.
Commenter si ncessaire.
Solution:
Le terme acteur est prfr celui dutilisateur pour bien distinguer la personne du rle quelle joue
dans le cadre dun cas dutilisation. En effet, la mme personne (donc le mme utilisateur) peut
intervenir dans un mme cas pour des rles diffrents. Cet utilisateur correspond alors plusieurs
acteurs distincts.
3/16
Rev : 319
octobre 2012
Corrig
Oui.
Commenter si ncessaire.
Solution:
Non.
Commenter si ncessaire.
Solution:
Lobjectif fonctionnel dun cas dutilisation ne constitue pas un rsultat ncessaire pour un acteur
secondaire. Un acteur secondaire inter agit avec le cas dutilisation pour la ralisation de celui-ci
mais ny trouve pas un intrt direct.
7. Un acteur est une personne interne au systme ?
A. Oui B. Non
Solution:
Non.
Commenter si ncessaire.
Solution:
Un acteur est extrieur au systme. Dans le cadre des cas dutilisation, il sagit de dcrire les
interactions entre le systme et ses acteurs externes. La description dinteractions entre des lments
internes du systme est une modlisation de limplantation du systme.
8. Un acteur est obligatoirement une personne physique ?
A. Oui B. Non
Solution:
Non.
Commenter si ncessaire.
Solution:
Un acteur peut tre un autre systme. Par exemple, le systme informatique dune entreprise de
distribution en gros peut tre sollicit par le systme dun dtaillant pour connatre les dlais de
rapprovisionnement ou les prix des articles. Le systme dun dtaillant constitue un acteur pour
ces cas dutilisation.
Rev : 319
4/16
Corrig
octobre 2012
Oui.
Commenter si ncessaire.
Solution:
La prsence de cette relation indique la prsence dune communication sous la forme dune interaction entre lutilisateur et le systme.
10. Quel est le but des relations dinclusion et dextension ? En quoi diffrent-elles ?
Solution:
Les deux relations servent enrichir un cas dutilisation par le contenu dun autre. Dans le cas de
linclusion, cet enrichissement est impratif. Dans le cas de la relation dextension, lenrichissement
est optionnel.
11. Tous les cas dutilisation ont une relation de communication directe avec un acteur ?
A. Oui B. Non
Solution:
Non.
Commenter si ncessaire.
Solution:
Il existe des cas dutilisation qui nont pas de relation de communication directe avec un acteur
primaire. On les appelle sous-fonctions ou sous cas dutilisation. Ces cas dutilisation sont destins
tre lis dautres cas dutilisation avec une ou plusieurs relations dinclusion ou dextension.
12. La relation de gnralisation/spcialisation est une relation liant deux cas dutilisation ?
A. Oui B. Non
Solution:
Oui.
Commenter si ncessaire.
Solution:
La relation de gnralisation/spcialisation est une relation liant deux cas dutilisation. Si un premier cas dutilisation spcialise un second, alors il en hrite la description quil peut alors enrichir.
Il est appel un sous-fonction ou sous cas dutilisation (comme une sous-classe spcialise une autre
classe).
13. Quest-ce quun cas dutilisation abstrait ?
5/16
Rev : 319
octobre 2012
Corrig
Solution:
Un cas dutilisation qui nest pas mis en uvre directement mais dont le but est dtre spcialis,
est appel un cas dutilisation abstrait. Sa reprsentation en UML est accompagne du strotype
(mot encadr par des guillemets unStrotype ) abstrait 2 ou son nom est mis en italique (ces
deux reprsentations sont totalement quivalentes). Lintrt dun cas dutilisation abstrait est de
montrer lexistence dun comportement commun plusieurs sous-cas dutilisation.
14. Lors du droulement dun projet, quels moments les cas dutilisation sont-ils utiliss ?
Solution:
Les cas dutilisation sont utiliss au cours de la modlisation de limplantation pour vrifier quelle
respecte bien les exigences du systme. La phase de validation vrifie que le systme conu rponde
aux sollicitations des utilisateurs conformment aux diffrents cas dutilisation
Rev : 319
6/16
Corrig
octobre 2012
Prparation du TD
1. crer un projet uml (ne pas utiliser de modle) dans BOUML, dans le rpertoire /Bureau/valade/s06UMlDiagClsUcCpp/1c ;
2. crer un paquetage pour chaque exercice ; le nom du paquetage est le numro de lexercice ; puis une
vue de cas dutilisation et dans celle-ci deux diagrammes de cas dutilisation : contexte et cu ;
reproduire larborescence ci-dessous.
uml ..........................................................................................................................projet
3.2 .....................................................................................................paquetage exercice 3
vcu ..............................................................................................vue de cas dutilisation
cu .................................................................................. diagramme de cas dutilisation
4.3 .....................................................................................................paquetage exercice 4
vcu ..............................................................................................vue de cas dutilisation
contexte ................................................diagramme de cas dutilisation diagramme de contexte
cu .................................................................................. diagramme de cas dutilisation
5.2 .....................................................................................................paquetage exercice 5
vcu ..............................................................................................vue de cas dutilisation
contexte ................................................diagramme de cas dutilisation diagramme de contexte
cu .................................................................................. diagramme de cas dutilisation
6.2 .....................................................................................................paquetage exercice 6
vcu ..............................................................................................vue de cas dutilisation
contexte ................................................diagramme de cas dutilisation diagramme de contexte
cu .................................................................................. diagramme de cas dutilisation
7.4 .....................................................................................................paquetage exercice 7
vcu ..............................................................................................vue de cas dutilisation
contexte ................................................diagramme de cas dutilisation diagramme de contexte
cu .................................................................................. diagramme de cas dutilisation
Jour-nuit
Le systme retenu est parmi les plus simples que lon puisse imaginer : il sagit dune lampe de chevet,
donc la lampe est le systme ! Les deux interactions lies aux fonctionnalits du systme sont lallumage de
la lampe et son extinction. Lacteur primaire est lutilisateur de la lampe. En effet pour ce dernier, lallumage
ou son extinction constituent bien des objectifs fonctionnels essentiels.
1. reprsenter les deux cas dutilisation : allumage et extinction avec lutilisateur de la lampe ;
Solution:
Lutilisateur de la lampe de chevet est le seul acteur. Il est bien externe au systme (il ne fait
pas partie de la lampe). Il interagit avec la lampe au travers de deux cas dutilisation : allumer et
teindre. Lutilisateur de la lampe est un acteur primaire. Les relations de communication qui le
relient aux deux cas sont flches dans le sens acteur vers cas dutilisation.
7/16
Rev : 319
octobre 2012
Corrig
Le rseau lectrique est un acteur secondaire : que lutilisateur de la lampe allume ou teigne cette
dernire nest pas essentiel pour le rseau lectrique. Simplement, il interagit lors de lallumage en
fournissant lnergie lectrique ncessaire.
Indice
Analyser bien le statut du rseau lectrique. Fait-il ou non partie du systme ? Lallumage de la lampe
est-il un objectif pour lui ?
Systme dauthentification
Rev : 319
8/16
Corrig
octobre 2012
2. introduire, dans le diagramme du cas dutilisation, la saisie du nom et celle du mot de passe ainsi que
la vrification de ces donnes ;
Solution:
Lauthentification requiert la saisie du nom et du mot de passe ainsi que la vrification de ces
donnes. Celles-ci vont tre reprsentes par un cas dutilisation de type sous-fonction inclus dans
le cas dutilisation Authentifier. La relation utilise est donc celle dinclusion comme illustre
dans la reprsentation UML ci-aprs :
Noter que la relation dinclusion est reprsente par une flche munie du strotype include .
3. ajouter la saisie dun code complmentaire aprs celle du mot de passe. Ce code complmentaire est
optionnel et nest destin quaux utilisateurs ayant besoin dune scurit accrue ;
Solution:
La saisie du code complmentaire donne lieu un nouveau cas dutilisation le type sous-fonction
qui tend le cas principal de faon optionnelle. La reprsentation est donne la figure suivante :
Noter que la relation dextension est reprsente par une flche munie du strotype extend .
Lorientation de la flche est inverse par rapport elle de linclusion. Un point dextension a t
ajout pour prciser dans quel cas la sous-fonction est excute.
Indice
Pour le deuxime et troisime point, penser utiliser les relations dinclusion et dextension entre cas
dutilisation. Distinguer laspect optionnel ou impratif (obligatoire) des descriptions.
ACNICE - LGT EK, STS/IRIS
9/16
Rev : 319
octobre 2012
Corrig
Le but de lexercice est de dcrire les exigences fonctionnelles dun site Internet de consultation dhoraires de train, avec en option la possibilit dacheter un billet correspondant lhoraire slectionn.
1. reprsenter le cas dutilisation de consultation avec la description de la requte :
choix des gares de dpart et darrive ;
choix date et heure de dpart ;
possibilit de choisir une gare intermdiaire avec ventuellement le choix de la dure darrt ;
visualisation des horaires calculs par le systme en fonction des donnes saisies par lutilisateur ;
Pour le choix des gares, il est possible de consulter une base de donnes contenant toutes les gares du
rseau ferroviaire.
Solution:
Le cas dutilisation fait apparatre le client (lutilisateur qui consulte les horaires) et le cas dutilisation Consulter horaires. Celui-ci inclut les sous-fonctions Saisir Donn
ees et Visualiser
Horaires. La sous-fonction Saisir Donn
ees est dcrite en dtail. Les donnes obligatoires
donnent lieu des sous-fonctions de saisie incluses et les donnes facultatives des sous-fonctions
de saisie qui tendent optionnellement.
Il est important de noter que la sous-fonction de consultation de la liste des gares est une extension
commune la saisie des gares de dpart, darrive et intermdiaire. Ceci montre que les relations
dinclusion et dextension servent dtailler et factoriser des sous-fonctions communes.
La liste des gares est fournie par une base de donnes qui est reprsente comme un acteur secondaire. La reprsentation UML est illustre ci-aprs :
Rev : 319
10/16
Corrig
octobre 2012
Solution:
La reprsentation est complte par la possibilit dachat dun billet. La possibilit de slection
dun horaire a galement t ajoute pour rendre possible lachat du billet.
Les trois sous-fonction de lachat du billet ncessitent une interaction avec le client, y compris
lenvoi du billet qui ncessite de connatre ladresse du client. Ceci justifie la prsence de ces trois
sous-fonction dans le diagramme. La reprsentation UML est illustre ci-aprs :
Indice
pour le deuxime et troisime point, pensez dcrire les actions que peut effectuer lutilisateur
lors de la visualisation et qui ont une relle pertinence fonctionnelle ;
utiliser comme dans lexercice prcdent les relations dinclusion et dextension ;
Le client dun magasin peut y trouver des produits alimentaires (pains, conserves, boissons, etc.) ainsi
que dautres types de produits courants (lessives, savons, etc.). Une fois quil a choisi, avec laide dun
vendeur, les produits quil dsire acheter, il les paye auprs dune htesse de caisse. Le stocke des produits
est gard jour aprs chaque achat.
Le vendeur et lhtesse de caisse sont des employs (acteur abstrait : nom en italique) du magasin. Le
stocke de produits est un acteur secondaire. La figure suivante est le diagramme de contexte illustrant les
interactions entre le systme et les diffrent acteurs (primaire et secondaire).
ACNICE - LGT EK, STS/IRIS
11/16
Rev : 319