Cas d'utilisation - UNIGEcui.unige.ch/isi/cours/UML-fr/02-uml-cas-utilisation.pdf · Services June...
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