Post on 19-Jul-2015
megaplanet
Modèle détaillé Modèle détaillé de cas d'utilisationde cas d'utilisation
Description détaillée des cas d'utilisationDescription détaillée des cas d'utilisation
Préconditions, Débuts, Postconditions, FinsPréconditions, Débuts, Postconditions, Fins
Alternatives, Contraintes non fonctionnellesAlternatives, Contraintes non fonctionnelles
Relations entre cas d'utilisation: Relations entre cas d'utilisation: inclusion, extension, spécialisationinclusion, extension, spécialisation
ScénariiScénarii
megaplanet 2
Description détaillée Description détaillée de chaque cas d’utilisationde chaque cas d’utilisation
� Chaque cas d ’utilisation doit être décrit en détailChaque cas d ’utilisation doit être décrit en détail� Commencer par les CU prioritairesCommencer par les CU prioritaires� Description utile pour la suite du développementDescription utile pour la suite du développement� Description détaillée plus où moins formelleDescription détaillée plus où moins formelle
� langue naturelle mais structurée, vocabulaire précislangue naturelle mais structurée, vocabulaire précis� (diagramme d ’états)(diagramme d ’états)� (diagramme de séquences) (diagramme de séquences) � ......
megaplanet
Description détaillée des Cas Description détaillée des Cas D’UtilisationD’Utilisation
3
megaplanet 4
Informations à décrire Informations à décrire
� Quand le CU commence, pré-conditionsQuand le CU commence, pré-conditions� Quand le CU se termine, post-conditionsQuand le CU se termine, post-conditions� Le chemin correspondant au déroulement normalLe chemin correspondant au déroulement normal� Les variantes possibles et les cas d’erreursLes variantes possibles et les cas d’erreurs� Les informations échangéesLes informations échangées� Besoins non fonctionnelsBesoins non fonctionnels� Priorités raffinées si nécessairePriorités raffinées si nécessaire
megaplanet 5
Format(s)Format(s)
� Pas de format standard proposé en UMLPas de format standard proposé en UML
� Différents formats proposés dans la littératureDifférents formats proposés dans la littérature� Choix du format en fonction des besoinsChoix du format en fonction des besoins
e.g. e.g. http://alistair.cockburn.us/Basic+use+case+templatehttp://alistair.cockburn.us/Basic+use+case+template
megaplanet 6
Exemple deExemple de description détaillée d ’un CU description détaillée d ’un CU
RetirerDeLArgent
AuDistributeur
Précondition :Le distributeur contient des billets, il est en attente d ’une opération, il n’est ni en panne, ni en maintenance
Début : lorsqu ’un client introduit sa carte bancaire dans le distributeur.
Fin : lorsque la carte bancaire et les billets sont sortis.
Postcondition : Si de l ’argent a pu être retiré la somme d’argent sur le compte est égale à la somme d ’argent qu’il y avait avant, moins le montant du retrait. Sinon la somme d ’argent sur le compte est la même qu’avant.
megaplanet 7
Exemple deExemple de description détaillée d ’un CU description détaillée d ’un CU
RetirerDeLArgent
AuDistributeur
Déroulement normal :1.le client introduit sa carte bancaire2.le système lit la carte et vérifie si la carte est valide3.le système demande au client de taper son code4.le client tape son code confidentiel5.le système vérifie que le code correspond à la carte6.le client choisi une opération de retrait7.le système demande le montant à retirer…Variantes : 2.A Carte invalide : si la carte est jugée invalide, le système affiche un message d ’erreur, rejète la carte et le cas d ’utilisation se termine.5.A Code erroné : si le code est erroné ...
megaplanet 8
Exemple deExemple de description détaillée d ’un CU description détaillée d ’un CU
RetirerDeLArgent
AuDistributeur
Contraintes non fonctionnelles :
(A) Performance : le système doit réagir dans un délai inférieur à 4 secondes, quelque soit l’action de l ’utilisateur.
(B) Résistance aux pannes : si une coupure de courant ou une autre défaillance survient au cours du cas d ’utilisation, la transaction sera annulée, l ’argent ne sera pas distribué. Le système doit pouvoir redémarrer automatiquement dans un état cohérent et sans intervention humaine.
(C) Résistance à la charge : le système doit pouvoir gérer plus de 1000 retraits d ’argent simultanément...
megaplanet
ScénariiScénarii
9
megaplanet 10
Exemple de scénarioExemple de scénario
RetirerDeLArgent
AuDistributeur
Scenario 4
1.Paul insère sa carte dans le distributeur d2103 2. Le système accepte la carte et lit le numéro de compte3. Le système demande le code4. Paul indique ‘ 1234 ’5. Le système indique que ce n ’est pas le bon code6. Le système affiche un message et propose de recommencer7. Paul indique ‘ 6622’8. Le système affiche que le code est correct9. Le système demande le montant du retrait10. Paul indique 500€11. Le système vérifie s ’il y a assez d ’argent sur le compte12....
megaplanet 11
ScénarioScénario
� Description additionnelle pour un CUDescription additionnelle pour un CU� Validation du CUValidation du CU� Tests, « recette »Tests, « recette »
� Un scénario est un exemple :Un scénario est un exemple :� une manière particulière d’utiliser le système …une manière particulière d’utiliser le système …� … … par un acteur particulier …par un acteur particulier …� … … dans un contexte particulier …dans un contexte particulier …� … … avec des données particulières.avec des données particulières.
megaplanet 12
Cas d’utilisation vs. ScenarioCas d’utilisation vs. Scenario
Cas d’utilisation = Cas d’utilisation = ensemble de scénarii possibleensemble de scénarii possible
Scénario = Scénario = une exécution particulière d’un CUune exécution particulière d’un CU
Scenario 1
Scenario 2
Scenario 3
Scenario 4
…
megaplanet 13
Diagrammes de séquences Diagrammes de séquences "systèmes""systèmes"
� Diagramme de séquences :Diagramme de séquences :� Utilisable dans de nombreux contextesUtilisable dans de nombreux contextes� Séquence des messages entre objetsSéquence des messages entre objets� Différents niveaux de détailsDifférents niveaux de détails
� Pour un scénario simplePour un scénario simpledeux objets : l’acteur et le systèmedeux objets : l’acteur et le système
� "Diagramme de séquences système""Diagramme de séquences système"
megaplanet 14
Exemple de scénarioExemple de scénario
paul : Client le système
Insérer carte
Entrer code ‘1234 ’
Demander code
Message d ’erreur
Demander code
Entrer code ‘6622 ’
Vérifier carte
Vérifier code
...
Appeler SylviaPas forcément de plus valuepar rapport au texte
megaplanet 15
Cas d'utilisation vs. scénariiCas d'utilisation vs. scénarii
Niveau modèle
Niveau instances
megaplanet
Relations entre cas d’utilisationRelations entre cas d’utilisation(pour réutilisation!)(pour réutilisation!)
16
megaplanet 17
Inclusion, Extension et Inclusion, Extension et SpécialisationSpécialisation
S'Identifier
TransfererDeLArgent
« include »
RetirerDeLArgentAvecDiffé ré
RetirerDeLArgent
« extends »
« include »
« extends »
RetirerDeLArgent
« include »
RetirerDeLArgentRetirerDeLArgentAuDistributeur
megaplanet
UtilisationUtilisation
� Pour éviter les copier-coller dans Pour éviter les copier-coller dans les descriptionsles descriptions
� Le diagramme isolément Le diagramme isolément n’a pas de sens!n’a pas de sens!
� A éviterA éviter
18
« include »
« extends »
megaplanet 19
Attention!Attention!
"The UML includes other relationships between use cases beyond the simple "The UML includes other relationships between use cases beyond the simple includes, such as <<extend>>. I strongly suggest that you includes, such as <<extend>>. I strongly suggest that you ignore themignore them. I've seen . I've seen too many situations in which teams can get terribly hung up on when to use 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 different use case relationships, and such energy is wasted. Instead, concentrate on the textual description of a use case."on the textual description of a use case."
[UML Distilled, MartinFowler][UML Distilled, MartinFowler]
"A common sign of a novice (or academic) use case modeler is a preoccupation "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 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. 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."Use cases are text documents. Doing use case work means to write text."[Applying UML and Patterns, Craig Larman][Applying UML and Patterns, Craig Larman]
megaplanet
MéthodologieMéthodologie
20
megaplanet 21
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 acteurs Trouver les acteurs
(1.2)(1.2) Décrire brièvement chaque acteur Décrire brièvement chaque acteur
(1.3)(1.3) Trouver les cas d ’utilisation Trouver les cas d ’utilisation
(1.4)(1.4) Décrire brièvement chaque cas d ’utilisation Décrire brièvement chaque cas d ’utilisation
(1.5)(1.5) Décrire le modèle comme un tout Décrire le modèle comme un tout
(2) Définir des priorités entre CU(2) Définir des priorités entre CU
(3) Détailler chaque CU (3) Détailler chaque CU (en tenant compte des priorités)(en tenant compte des priorités)
megaplanet 22
RésuméRésumé
� Différents concepts UMLDifférents concepts UML� Diagramme des cas d’utilisation: Système, Acteur, Cas d’utilisationDiagramme des cas d’utilisation: Système, Acteur, Cas d’utilisation� Diagramme, ModèleDiagramme, Modèle� Scénario vs. Cas d’utilisationScénario vs. Cas d’utilisation
� Language naturelle + (diagrammes)Language naturelle + (diagrammes)
� Savoir faire Savoir faire
� Processus itératifProcessus itératif
megaplanet
23
Pour en savoir plusPour en savoir plus
megaplanet 24
Chapitre gratuit téléchargeable àChapitre gratuit téléchargeable àhttp://www.craiglarman.com/book_applying_2nd/Applying_2nd.htmhttp://www.craiglarman.com/book_applying_2nd/Applying_2nd.htm
http://alistair.cockburn.us/usecases/uctempla.htmhttp://alistair.cockburn.us/usecases/uctempla.htm
Pour un template "standard" de description de cas d'utilisationPour un template "standard" de description de cas d'utilisation
megaplanet 25
Pour en savoir encore plus ...Pour en savoir encore plus ...
Des livres spécialisésDes livres spécialisés
megaplanet 26
Des livres spécialisésDes livres spécialisés
Pour en savoir encore plus ...Pour en savoir encore plus ...
megaplanet 27
Des livres spécialisésDes livres spécialisés
Pour en savoir encore plus ...Pour en savoir encore plus ...