UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

27
megaplanet Modèle détaillé Modèle détaillé de cas d'utilisation de cas d'utilisation Description détaillée des cas d'utilisation Description détaillée des cas d'utilisation Préconditions, Débuts, Postconditions, Fins Préconditions, Débuts, Postconditions, Fins Alternatives, Contraintes non fonctionnelles Alternatives, Contraintes non fonctionnelles Relations entre cas d'utilisation: Relations entre cas d'utilisation: inclusion, extension, spécialisation inclusion, extension, spécialisation Scénarii Scénarii

Transcript of UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

Page 1: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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

Page 2: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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) � ......

Page 3: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

megaplanet

Description détaillée des Cas Description détaillée des Cas D’UtilisationD’Utilisation

3

Page 4: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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

Page 5: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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

Page 6: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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.

Page 7: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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é ...

Page 8: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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...

Page 9: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

megaplanet

ScénariiScénarii

9

Page 10: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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....

Page 11: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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.

Page 12: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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

Page 13: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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"

Page 14: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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

Page 15: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

megaplanet 15

Cas d'utilisation vs. scénariiCas d'utilisation vs. scénarii

Niveau modèle

Niveau instances

Page 16: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

megaplanet

Relations entre cas d’utilisationRelations entre cas d’utilisation(pour réutilisation!)(pour réutilisation!)

16

Page 17: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

megaplanet 17

Inclusion, Extension et Inclusion, Extension et SpécialisationSpécialisation

S'Identifier

TransfererDeLArgent

«  include  »

RetirerDeLArgentAvecDiffé ré

RetirerDeLArgent

«  extends  »

«  include  »

«  extends  »

RetirerDeLArgent

«  include  »

RetirerDeLArgentRetirerDeLArgentAuDistributeur

Page 18: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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  »

Page 19: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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]

Page 20: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

megaplanet

MéthodologieMéthodologie

20

Page 21: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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)

Page 22: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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

Page 23: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

megaplanet

23

Pour en savoir plusPour en savoir plus

Page 24: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

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

Page 25: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

megaplanet 25

Pour en savoir encore plus ...Pour en savoir encore plus ...

Des livres spécialisésDes livres spécialisés

Page 26: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

megaplanet 26

Des livres spécialisésDes livres spécialisés

Pour en savoir encore plus ...Pour en savoir encore plus ...

Page 27: UML : Diagrammes de cas d'utilisation -- modele detaille -- 15

megaplanet 27

Des livres spécialisésDes livres spécialisés

Pour en savoir encore plus ...Pour en savoir encore plus ...