Cas d'utilisation - UNIGEcui.unige.ch/isi/cours/UML-fr/02-uml-cas-utilisation.pdf · Services June...

15
1 Cas d'utilisation G. Falquet, L. Nerima June 2001 - G. Falquet, L. Nerima Use Cases 2 I S I Références Jacobson, M. Christerson, P. Jonsson, G. Overgard “Object-Oriented software engineering: A cas d'utilisation driven approach” Addison-Wesley 1992 Jacobson, ,M. Griss, P. Jonsson “Software Reuse: Architecture, Process and Oranization for Business Success” Addison-Wesley 1997

Transcript of Cas d'utilisation - UNIGEcui.unige.ch/isi/cours/UML-fr/02-uml-cas-utilisation.pdf · Services June...

1

Cas d'utilisation

G. Falquet, L. Nerima

June 2001 - G. Falquet, L. Nerima Use Cases 2

ISI

Références

Jacobson, M. Christerson, P. Jonsson, G. Overgard“!Object-Oriented software engineering!: A cas d'utilisationdriven approach!” Addison-Wesley 1992

Jacobson, ,M. Griss, P. Jonsson“!Software Reuse!: Architecture, Process and Oranization forBusiness Success!” Addison-Wesley 1997

2

June 2001 - G. Falquet, L. Nerima Use Cases 3

ISI

Motivations (génie logiciel)

" Solve le la right problem!"Résoudre le bon problème

v Analyse des besoins!(« requirements »)v Déterminer les besoins - ce que le système doit fairev Comprendre les besoinsv Délimiter le système

v ... centrée sur l'utilisateurv Quels sont les besoins du point de vue des utilisateursv Intégrer les points de vue

June 2001 - G. Falquet, L. Nerima Use Cases 4

ISI

Motivation (ré-ingénierie des processus)

v Considérer l'organisation comme un systèmev Comprendre ce que fait l'organisationv Reconfigurer l'organisation

Référencev I. Jacobson. le la Object Advantage, Business Process

Reengineering avec Object Technology. ACM Press.

3

June 2001 - G. Falquet, L. Nerima Use Cases 5

ISI

Cas d'utilisation (principes)

v Ce que le système doit faire (comportement souhaité)

v Mais pas comment réaliser ce comportementv Pas de détails de programmation, mise en oeuvre, etc.v Indépendant de la réalisation

v Un outil pour communiquerv utilisateur final / expert du domaine <---> concepteur /

développeur

June 2001 - G. Falquet, L. Nerima Use Cases 6

ISI

Cas d'utilisation et interactions utilisateur-système

v Un cas d'utilisation décrit l'interaction entre un acteuret le système

v L'interaction produit un résultat tangible pour l'acteur

v L'interaction est une séquence d'actions

v Les transactions sont exprimées en termes des objetsdu domaine

4

June 2001 - G. Falquet, L. Nerima Use Cases 7

ISI

L'utilisateur et le système

utilisateur

cas d'utilisation 2

système

cas d'utilisation 1

cas d'utilisation 3

Services

June 2001 - G. Falquet, L. Nerima Use Cases 8

ISI

Acteur

v Ce qui existe en dehors du systèmev Tout ce qui doit échanger de l'information avec le

systèmev personne, machine, organisation, autre ordinateur, autre

système

v Correspond à un role générique que l'utilisateur joue= une manière d'utiliser le système

v La meme personne (machine, …) peut jouer plusieursroles

5

June 2001 - G. Falquet, L. Nerima Use Cases 9

ISI

Exemple: Bibliothèque

SystèmeBiblio

Bibliothécaire

Chercheur

Départment

June 2001 - G. Falquet, L. Nerima Use Cases 10

ISI

Exemple

Systèmed'AchatEn-ligneClient

Fournisseur

Institutionde Carte de Crédit

La Poste

Internet

GérantMagasin

"Albert"

6

June 2001 - G. Falquet, L. Nerima Use Cases 11

ISI

Classification des acteurs

Client

NouveauClient

ClientEnregistré

June 2001 - G. Falquet, L. Nerima Use Cases 12

ISI

Cas d'utilisation: definition

v Description d'un ensemble de séquences d'actions,incluant des variantes, qu'un système effectue pourfournir un résultat observable et ayant une valeur pourun acteur.

Emprunter un livre

Réserver un livre

Payer la cotisationConsulter le catalogue

Enregistrer un nouvel utilisateur

7

June 2001 - G. Falquet, L. Nerima Use Cases 13

ISI

Cas d'utilisation and leurs utilisateurs(acteurs)

Emprunter un livre

Réserver un livre

Payer la cotisation

Consulter le catalogue

Enregistrer un nouvel utilisateur

ChercheurUtilisateur externe

Bibliothécaire

June 2001 - G. Falquet, L. Nerima Use Cases 14

ISI

Exemple

Client

Fournisseur

Institution deCarte de Crédit

Manager

Acheter un article

Vérifier payement

Consulter catalogueChanger prix

Commander aticles

8

June 2001 - G. Falquet, L. Nerima Use Cases 15

ISI

Cas d'utilisation et scénarios

Cas d'utilisation: Chercher dans le cataloguev Flux d'évènements principal : l'utilisateur clique le

bouton "chercher". le système affiche un champ desaisie de texte dans lequel l'utilisateur peut entrer un ouplusieurs mots clés. L'utilisateur valide l'entrée encliquant le bouton "OK". Le système affiche une listed'articles pertinents.

v Flux d'évènements exceptionnel: l'utilisateur ouvreune fenetre terminal, il ou elle tape "sr", une liste motsclés, puis la touche <entrée>. Le système affiche uneliste d'articles pertinents.

June 2001 - G. Falquet, L. Nerima Use Cases 16

ISI

Scénario

v Décrit le flux des évènements

v En langage naturelv en terme des objets du domaine (--> diagramme d'objets)v et actions

v Un scénario principal et des alternatives

9

June 2001 - G. Falquet, L. Nerima Use Cases 17

ISI

Taxonomie de cas d'utilisation

Enregistrer unMembre Etudiant

Enregistrer un Membre

Enregistrer unMembre Professionnel

Chercher un Document

Recherche Avancée

Enregistrer une Personne

Enregistrer un Visiteur

June 2001 - G. Falquet, L. Nerima Use Cases 18

ISI

Taxonomie (suite)

v Relation énérique - spécifique.v Extraire le comportement commun.v Le comportement du fils doit inclure le comportement du

parent.

Enregistrer un MembreTaper un nomObtenir un no. de membre

Enregistrer un Membre EtudiantTaper un nomTaper un nom d'universitéTaper no. étudiantObtenir un no. de membreMettre à jour la liste des étudiants

10

June 2001 - G. Falquet, L. Nerima Use Cases 19

ISI

Ajouter Livre

Localiser Livre

<<include>>

Inclusion de cas d'utilisation

v Inclure le comportement d'unautre cas d'utilisation.

v Décomposer les comportementscomplexes

Vérifier Identité Client

Acheter un article

Valider Payement

<<include>><<include>>Supprimer Livre

<<include>>

June 2001 - G. Falquet, L. Nerima Use Cases 20

ISI

Extension

v Cours d'évènements additionnels (conditions)v Chemins alternatifs complexes ajoutés à certains points

Ajouter Media

Ajouter Livre

<<extends>>

Recherche Livreextension pointdetails recherche

Recherche Avancée

<<extends>> (details recherche)

11

June 2001 - G. Falquet, L. Nerima Use Cases 21

ISI

Add Borrowers

Remove Borrowers

Checkout Media Checkin Media

Locate Media

Issue Late Notices

Credit PaymentsExternalLibrarian

ExternalBrowser

Add Media

Remove Media

Update Media

Update Borrowers

extends

extends

extends

extends

extendsuses

extends extends

extends extends

June 2001 - G. Falquet, L. Nerima Use Cases 22

ISI

Règles d'écriture des scénarios

v Décrire l'activité : "quoi" pas "comment"Ex. l'opérateur vérifie l'identité de l'utilisateur

v Rester simpleDécomposer avec <<uses>> or <<extends>>

v AutonomieNe pas mélanger les cas d'utilisation

v Style directPas d'ambiguité ("très", "plutot", "peu", "souvent", "en général")

v Un scénario est une transactionIl y a un début et une finIl est exécuté complètement ou pas du tout

12

June 2001 - G. Falquet, L. Nerima Use Cases 23

ISI

Construction Linguistiques Semi-formelles

tant que condition faire!:<< action >><< action >><< action >>

répéter n fois :<< actions >><< action >><< action >>

si condition:alors << actions >>sinon << actions >>

choix!:condition!: << actions >>condition!:<< actions >>condition!: << actions >>...

June 2001 - G. Falquet, L. Nerima Use Cases 24

ISI

Scenario: retirer des billets de banque

l'utilisateur entre le montant désirée avec le clavierl'utilisateur presse 'OK'vérifier si le montant est réalisable avec les billets à

dispositiontant que somme non réalisable faire :

le système propose un autre montantl'utilisateur peut changer le montantl'utilisateur presse 'OK'

préparer les billetséjecter la carte de l'utilisateurattendre que l'utilisateur prenne se billets

13

June 2001 - G. Falquet, L. Nerima Use Cases 25

ISI

UML for Business Reengineering

v système = Organisation (company, office, etc.)v cas d'utilisation = Generic servicev Object = Parts du de la système

v Objective: understand how le la système works

v Eventually: change le la système / organisation

June 2001 - G. Falquet, L. Nerima Use Cases 26

ISI

Object Categories

v Entity objectsv Things and products used during a flow of events (scenario)

v Processorsv Tasks that must be performed

v Interfacesv Tasks that communicate avec le la outside world

14

June 2001 - G. Falquet, L. Nerima Use Cases 27

ISI

Example: Restaurant

Serving Lunch

Serving Dinner

Purchasing Supplies

Restaurant

June 2001 - G. Falquet, L. Nerima Use Cases 28

ISI

Restaurant: Serving Dinner [Jacobson]

Guest

CloakroomAttendant

Order Handler

Head Waiter

Sitting Plan

CheckOrder

Dish

Menu

Beverage

Food Preparer

Recipe

15

June 2001 - G. Falquet, L. Nerima Use Cases 29

ISI

Fast Food Restaurant: Serving Dinner

Guest

Order Handler

Sitting PlanOrder(Check)

Dish

Menu

Beverage

Food Preparer