35
La modélisation des interactions avec UML

La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Embed Size (px)

Citation preview

Page 1: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

La modélisation des interactions avec UML

Page 2: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Qu’est-ce qu’UML ?

• « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts d’un système à base logicielle »– Langage : lexique (graphique), syntaxe

(diagrammes), sémantique– Visualiser : représentation graphique– Spécification : précis, complet, non-ambigu– Construction : translation vers des langages

de programmation– Documentation : des besoins aux tests

Page 3: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Historique de UML

• UML (Unified Modeling Language) • Largement adopté• Succède à de nombreuses

méthodes et notations orientées objets.

• Booch, Rumbaugh, Jacobson.• Standard de l’OMG

(Object Management Group)

Page 4: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Historique d’UML

• Fin des années 80 : compétition des méthodes d’analyse et de conception OO– Booch : particulièrement adaptée au design

et à l’implémentation– OOSE (Jacobson) : expression des besoins– OMT-2 (Rumbaugh) : analyse et

applications orientées-données• 1994 : Rumbaugh rejoint Booch chez Rational• 1995 : Jacobson rejoint Rational• 14 novembre 1997 : UML adopté par l’OMG

Page 5: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

• diagramme de cas d’utilisation

• diagramme d’activités

• diagramme de classes

• diagramme de séquence

• diagramme de collaboration

• diagramme d’objets

• diagramme d’états-transitions

• diagramme de composants

• diagramme de déploiement

Les 9 diagrammes de l’UML

Page 6: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

• diagramme de classes

• diagramme d’objets

• diagramme de composants

• diagramme de déploiement

Statique (ce que le système EST)

• diagramme de séquence

• diagramme de collaboration

• diagramme d’états-transitions

Fonctionnel (ce que le système FAIT)

Dynamique(comment le système EVOLUE)

• diagramme de cas d’utilisation

• diagramme d’activités

Axes de modélisation d ’un système

Page 7: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Diagramme de cas d’utilisation

• Inventé par Ivar Jacobson.• Décrit le comportement du système du

point de vue de l’utilisateur.• Permet la définition des limites du

système.• Décrit les relations entre le système et

son environnement.• Sert essentiellement à spécifier les

besoins.

Page 8: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Cas d’utilisation- diagramme

• Quelles fonctionnalités doivent être fournies par le système ?

• Les cas d’utilisation:– Les fonctions du système (cas d’utilisation)

– Les limites (les acteurs)

– Les relations entre les cas et les acteurs (diagramme de cas d’utilisation).

• Les cas d’utilisation servent à communiquer le système à développer à tous les échelons.

Acteur

Acteur

Page 9: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Les acteurs• Les acteurs ont des rôles• Les acteurs ne font pas partie du

système– Ils interagissent avec celui-ci.

•En entrée.•En sortie.

• Un acteur peut être un autre système

Page 10: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Identifier les rôles

• Qui est intéressé ?• Qui en bénéficiera ?• Qui fournira l’information?• Qui l’utilisera?• Qui fera les mises à jour ?• Qui va supporter et maintenir le

système ?

Page 11: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Exemple d’acteurs

Adhérent

bibliothécaire

responsablecollection

responsableadhérent

Acteur

Page 12: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Exemple de diagramme

Titulaire stagiaire

Operateur

Commande Express

Valider Utilisateur

Vérification mot de passe

Nouvelle Commande

identification rétinienne

Gérer les commandes

11

<<extends>>

<<includes>>

<<includes>>

Commande Express

Valider Utilisateur

Vérification mot de passe

Nouvelle Commande

identification rétinienne

Gérer les commandes

Titulaire stagiaire

Operateur

Page 13: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Lien d’association

• Un lien d’association exprime la participation d’un acteur dans un cas d’utilisation.

Acheter produit parInternet

Client

Page 14: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Lien de généralisation

• Un lien de généralisation entre deux acteurs:– le parent fait un

sous-ensemble de l’enfant.

Gestion de lamessagerie

Utilisation de lamessagerie

Administrateur

Utilisateur

Page 15: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Lien de généralisation

• Lien de généralisation entre deux cas d’utilisation :– Le cas parent est

un sous-ensemble générique.

Vérifier parcorroboration

Vérifier nom/motde passe

Identifier utilisateur

Page 16: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Lien d’inclusion

• Le lien d’inclusion identifie un fragment de processus– Celui-ci est partagé entre plusieurs cas

d’utilisation.• Cela permet de réutiliser la description et le

comportement.

Identifier utilisateur

Utilisation de lamessagerie

Utilisateur

<<include>>

Page 17: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Lien d’extension

• Le lien d’extension signifie qu’un cas d’utilisation de base englobe le comportement d’un autre cas d’utilisation.

• On utilise le lien d’extension pour modéliser la partie d’un cas d’utilisation facultatif ou alternatif par rapport au cas de base.

Passer commandeurgente

Passer commande<<extend>>

Page 18: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Diagramme de plusieurs cas d’utilisation

Suivre commande

Vérifier parcorroboration

Vérifier nom/motde passe

Identifier utilisateur

Passer commandeurgente

Passer commande

Acheteur

Client

Système de gestion des commandes

<<include>>

<<include>>

<<extend>>

Page 19: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Les cas d’utilisation• Le cas d’utilisation modélise

un ou des scénarios :–scénario typique–scénario d’exception

• Chacun représente une fonctionnalité offerte par le système

Page 20: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Un gabarit de scénario

Nom :But :Acteurs :Précondition :Postcondition :Cas reliés :Description du scénario:

Page 21: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Description « continue »

• A cash withdrawal transaction is started from within a session when the customer chooses cash withdrawal from the menu of possible transaction types. The customer chooses a type of account to withdraw from (e.g., checking) from a menu of possible accounts, and then chooses a dollar amount from a menu of possible amounts. The system verifies that it has sufficient money on hand to satisfy the request. If not, it reports a failure to the session, which initiates the Failed Transaction Extension to report the problem. If there is sufficient cash, it sends the customer's card number, PIN, chosen account and amount to the bank, which either approves or disapproves the transaction. If the transaction is approved, the machine dispenses the correct amount of cash and issues a receipt. If the transaction is disapproved due to an incorrect PIN, the Incorrect PIN extension is executed. All other disapprovals are reported to the session, which initiates the Failed Transaction Extension. The bank is notified whether or not an approved transaction was completed in its entirety by the machine; if it is completed then the bank completes debiting the customer's account for the amount. [Bjork, 1998]

Page 22: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Séquence Numérotée

• Withdraw Money– 1. The use case begins when the Client inserts an ATM card. The system

reads and validates the information on the card.– 2. System prompts for PIN. The Client enters PIN. The system validates the

PIN.– 3. System asks which operation the client wishes to perform. Client selects

“Cash withdrawal.”– 4. System requests amounts [sic]. Client enters amount.– 5. System requests type. Client selects account type (checking, savings,

credit).– 6. The system communicates with the ATM network to validate account

ID,PIN, and availability of the amount requested.– 7. The system asks the client whether he or she wants a receipt. This step

is performed only if there is paper left to print the receipt.– 8. System asks the client to withdraw the card. Client withdraws card. (This

is a security measure to ensure that Clients do not leave their cards in the machine.)

– 9. System dispenses the requested amount of cash.– 10. System prints receipt.

Page 23: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Narration Partitionnée

• Action utilisateur Réponse du système

– insert card in ATM– read card– request PIN– enter PIN– verify PIN– display option menu– select option– display account menu– select account– prompt for amount– enter amount– display amount– confirm amount– return card– take card– dispense cash if available

Page 24: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Diagramme d’activités

• Les diagrammes d’activité de UML 2.0 sont typiquement utilisés – pour la modélisation des processus

d’affaire– Pour la modélisation des flux complexes

entre acteurs et sous-systèmes– Ils sont l’équivalents orientés objets

• des diagrammes de flux de données (DDF)

• Des flux de travail (workflow)

Page 25: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Activités et transitions

• Activité : – c’est une action réalisée, – elle est autonome,– elle représente un processus manuel ou

l’exécution d’une routine logicielle.• Transition :

– indique le chemin à suivre vers la prochaine activité.

Commander produit Recevoir commande Payer Facture

Page 26: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Branchement et fusion

• Branchement :– une seule transition entrante.– plusieurs transitions sortantes

avec conditions de garde.– Transitions mutuellement

exclusives.• Fusion :

– plusieurs transitions entrantes.– une seule transition sortante.– indique la fin d’un branchement

conditionnel.

[Oui] [Non]

Question?

Page 27: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Fourche et joint• Fourche :

– une seule transition entrante– plusieurs transitions sortantes– enclenche les transitions

sortantes en parallèle.• Joint :

– plusieurs transitions entrantes

– un seule transition sortante– la transition sortante est

déclenchée lorsque toutes les transitions entrantes ont complété.

Page 28: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Couloirs (Swim lane)

• permet de montrer les acteurs ou sous-systèmes qui réalisent les activités.

• permet d’associer des unités organisationnelles, des objets ou des rôles aux activités.

Client Ventes Entrepot

Commander produit Traiter commande Sortir articles

Page 29: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Flots de données entre activités

• On peut représenter les données :– qui sont utilisées par des activités– qui sont créées ou modifiées par des

activités.• Un objet est représenté par un

rectangle avec des flèches en traits pointillés entrant et sortant d’une activité.

• Un objet peut apparaître plusieurs fois dans le même diagramme en ajoutant son état.

Page 30: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Flots de données entre activités

Client Ventes Entrepôt

Commander produit Traiter commande Sortir articles

Commande [en cours]

Commande [traitée]

Expédier commande Commande [placée]

Page 31: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

VentesClient EntrepôtVentesClient Entrepôt

Recevoir commande

Payer facture

Commander produit

Facturer client

Traiter commande

Expédier commande

Sortir articles

Clôturer commande

État initial

État final

Facture[payée]

Facture[due]

Commande[Traitée]

Commande[en cours]

Commande[Placée]

Page 32: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Références

• Le guide de l’utilisateur UMLÉditions Eyrolles,Traduction de Unified Modeling Language User Guide,Booch, Jacobson, Rumbaugh,552 pages, 2000.ISBN: 2-212-09103-6

• La modélisation objet avec UML2e édition, Édition Eyrolles,Aussi traduit en anglais Instant UML,Pierre-Alain Muller,540 pages, 2000.ISBN: 2-212-09122-2

• UML par la pratiqueÉtudes de cas exercices corrigésÉdition Eyrolles,Pascal Rogues,302 pages, 2001.ISBN: 2-212-09280-6

Page 33: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Références• UML Distilled :

Applying the Standard Object Modeling LanguageMartin Fowler & Kendall ScottAddison-Wesley, 2000,ISBN 0-201-65783-X.

• UML : Le tout en pocheMartin Fowler & Kendall ScottTraduction de UML Distilled,Campus Press, 2001,ISBN 2-7440-1090-1.

• Concevoir des applications Web avec UMLJim ConallenEdition Eyrolles, Technologies objet - Solution UML, 2000, 288 pages. ISBN 2-212-09172-9

Page 34: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Références

• Rumbaugh, J., Jacobson, I., and Booch, E. (1999) The Unified Modeling Language Reference Manual. Reading, MA: Addison-Wesley.

• Jacobson, I., Christerson, M., Jonsson, P., and Övergaard, G. (1992) Object-Oriented Software Engineering: A Use Case Driven Approach. Reading, MA: Addison-Wesley.

• Fowler, M. (1997) UML Distilled: Applying the Standard Object Modeling Language. Reading, MA: Addison-Wesley.

• Constantine, L. L., & Lockwood, L. A. D. (1999) Software for Use: A Practical Guide to the Models and Methods of Usage-Centered Design. Boston: Addison-Wesley.

Page 35: La modélisation des interactions avec UML. Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun

Références Internet

• www.agilemodeling.com/artifacts/activityDiagram.htm• www.rational.com/uml

Le site de RationalUn incontournable!

• uml.free.fr/UML en françaisUn bon cours sur UML en français. Nombreux liens et bibliographie.

• Cours de l’Université Laval