Vous êtes sur la page 1sur 120

MODULE N2 lments et diagrammes UML

Les diagrammes
Diagrammes Diagrammes de classes de Use Cases et packages Diagrammes Diagrammes dobjets de squence

module 2 module 2 Diagrammes Diagrammes

Diagrammes Collaboratif

Modle

Diagrammes de composants

Diagrammes dtat

Diagrammes dactivit

Diagrammes de dploiement

4-2

Les diagrammes

Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes

de cas dutilisation dactivits de squences de collaborations de classes de packages dobjets dtats de composants de dploiement
4-3

Cas dutilisation

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

Systme Attendu
Comportement

USE CASES
Diagramme de cas dutilisation Fonctions Attendues Cas dutilisation Environnement Acteurs

4-4

Diagramme: Cas dutilisation

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

Dfinition
Le Diagramme Use Cases permet de dcrire les besoins fonctionnels du systme futur . Il illustre le comportement du systme dans son environnement

Les Use Cases dfinissent: dfinissent


Les Les Les Les frontires du systme (Primtre) fonctionnalits attendues du systme relations entre fonctionnalits intervenants externes du systme

4-5

Objectifs des cas dutilisation


Comprendre et structurer les besoins du client
Dfinir le primtre Identifier les fonctions principales

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

Clarifier, Filtrer et Organiser les besoins Guider la communication entre les intervenants du projet tout au long du projet

4-6

Principaux lments lis aux cas dutilisation


Acteurs
Actor Nom de lacteur

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

Use case

Passer une commande

Relations

4-7

Acteur

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

Entit situe hors des frontires du systme Toute entit pouvant interagir avec le systme Les acteurs changent des informations avec le systme Un acteur peut reprsenter un rle, une machine ou un autre systme Les acteurs identifient des rles et non des individus

Utilisateur Anonyme

4-8

Acteur Relation de gnralisation


Les acteurs fils communiquent avec les cas d utilisation des acteurs parents

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

Employ

Directeur

Assistante

4-9

Use case

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

Passer Dcrit la raction du systme une une commande stimulation externe Dcrit un ensemble de successions d'actions ralises par le systme qui produisent un rsultat pour un acteur particulier Modlise un service rendu par le systme, les interactions entres acteurs et systme

4 - 10

Use case

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

L'ensemble des cas d'utilisations dcrit le comportement du systme, donc les fonctionnalits du systme. Dcrit une seule et unique fonctionnalit de haut niveau Attention : un cas d utilisation est un ensemble de succession d action et en aucun cas une seule action

4 - 11

Relations entre use cases

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

Client
<< include >>

Passer une commande


<< include >> << include >>

Choisir les produits

Choisir adresse livraison

Effectuer paiement

Payer par carte

Payer par chque

4 - 12

Relations entre use cases Inclusion

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

Le comportement d'un cas d'utilisation est incorpore dans le comportement d'un autre cas d'utilisation
Passer une commande
<< include >> << include >> << include >>

Choisir les produits

Choisir adresse livraison

Effectuer paiement

4 - 13

Relations entre use cases Inclusion

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

le cas d utilisation source comprend le comportement du cas d utilisation cible l inclusion est obligatoire permet de dfinir des comportements partageables entre plusieurs cas

<<include>>

Cas d'utilisation source 1

Cas d'utilsation cible 1


4 - 14

Relations entre use cases Extension

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

Le comportement d'un cas d'utilisation tend le comportement d'un autre cas d'utilisation sous certaines conditions
Effectuer paiement
<< extend >> << extend >>

Payer par carte

Payer par chque

Effectuer paiement peut donner lieu un paiement par carte

4 - 15

Relations entre use cases Extension

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

le cas d utilisation source ajoute son comportement au cas d utilisation cible l extension peut tre soumise condition permet de dfinir des variantes de comportement
<<extend>>

Cas d'utilisation source 2

Cas d'utilisation cible 2

4 - 16

Relations entre use cases Gnralisation

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

Les cas d'utilisation fils hritent du comportement et des relations de leur anctre. Chacun d entre eux peut comprendre des interactions spcifiques supplmentaires
Effectuer paiement

Payer par carte

Payer par chque


4 - 17

module 2 module 2

Cas dutilisation
Exemple Guichet Automatique de Banque

Diagramme de Diagramme de cas dutilisation cas dutilisation

Retirer des espces

Dposer de l'argent Client

Effectuer un virement
4 - 18

module 2 module 2

Cas dutilisation
Exemple En utilisant l extend
Utiliser le GAB <<include>> <<extend>> Retirer des espces

Diagramme de Diagramme de cas dutilisation cas dutilisation

Effectuer une transaction <<extend>>

Dposer de l'argent

Client GAB

<<extend>>

Client guichet

Effectuer un virement
4 - 19

module 2 module 2

Cas dutilisation
Exemple En utilisant l hritage
<<include>> Utiliser GAB

Diagramme de Diagramme de cas dutilisation cas dutilisation

Client GAB

Effectuer une transaction

Client GAB Retirer des espces Dposer de l'argent Effectuer un virement


4 - 20

Scnario

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

Chaque cas d'utilisation est une collection de scnario Un scnario est une suite spcifique d interaction entre les acteurs et le systme Un scnario dcrit une instance de cas dutilisation
Lensemble des excutions possibles du cas dutilisation sont dcrites par les scnarios Mme les cas danomalies

4 - 21

Scnario

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

La manire la plus simple de dcrire un scnario consiste recenser de faon textuelle toutes les interactions entre acteurs et systme. Les scnarios permettent de dfinir les tests effectuer sur le systme

4 - 22

Comment doit on sy prendre ?


Dfinition des frontires
quest ce qui fait partie du systme quest ce qui nen fait pas partie

module 2 module 2 Diagramme de Diagramme de cas dutilisation cas dutilisation

Identification des acteurs


conserver uniquement les acteurs utiles.

Dfinition des cas dutilisations par acteurs

4 - 23

Les diagrammes

Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes

de cas dutilisation dactivits de squences de collaborations de classes de packages dobjets dtats de composants de dploiement
4 - 24

Diagramme dactivits

module 2 module 2 Diagramme Diagramme dactivits dactivits

Utilis pour la description d'oprations composes de suites d'actions lmentaires continues Ils permettent de reprsenter
le droulement dun cas dutilisation, le comportement dune mthode, tout mcanisme tapes squentielles...

4 - 25

Principaux lments des diagrammes dactivit


Activit Transition Point de dpart et fin Dcisions Synchronisations Traves
[ ok ] [ nok ] Enter login and password

module 4 module 4 Diagramme Diagramme dactivits dactivits

4 - 26

Les activits

module 4 module 4 Diagramme Diagramme dactivits dactivits

Une activit modlise une tape dans lexcution dun processus


Enter login and password

4 - 27

Les transitions

module 4 module 4 Diagramme Diagramme dactivits dactivits

Passage instantan et automatique l'action suivante Dclenches par la fin d'une activit et provoquent le dbut immdiat de l activit suivante Enter login Elle sont appeles and password
transitions automatiques transitions sans dclencheur transitions de terminaison
Authentify user

4 - 28

Les dcisions

module 4 module 4 Diagramme Diagramme dactivits dactivits

Les transitions peuvent dpendre de conditions boolennes, mutuellement exclusives, appeles dcisions Indique les conditions selon lesquelles, la sortie d'une action, l'action suivante excuter (parmi plusieurs possibles) est dtermine
Check validity [ ok ] Activity 1 [ nok ] Activity 2

4 - 29

Les synchronisations

module 4 module 4 Diagramme Diagramme dactivits dactivits

Une barre de synchronisation permet d'ouvrir et de fermer des branches parallles au sein d'un flot d'excution
Les transitions qui partent d'une barre de synchronisation ont lieu en mme temps On ne franchit une barre de synchronisation qu'aprs ralisation de toutes les transitions qui s'y rattachent

4 - 30

module 4 module 4

Exemple de synchronisation

Diagramme Diagramme dactivits dactivits

Dcider de prendre caf

Mettre caf dans filtre

Mettre eau dans rservoir

Placer tasse

Allumer machine

4 - 31

Les traves

module 4 module 4 Diagramme Diagramme dactivits dactivits

Organisent un diagramme dactivits en fonction des responsables des actions reprsentes

4 - 32

Exemple de traves
Acheteur Ngociation devis Assistante

module 4 module 4 Diagramme Diagramme dactivits dactivits

Rdiger commande

Viser commande

Commande [Projet]

Commande [Dfinitif]

Commander

4 - 33

Les diagrammes

Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes

de cas dutilisation dactivits de squences de collaborations de classes de packages dobjets dtats de composants de dploiement
4 - 34

Diagramme de squences

module 4 module 4 Diagramme Diagramme de squences de squences

Diagrammes dinteraction
diagrammes de squence, diagrammes de collaboration

dcrivent une squence d'interactions entre objets Pour le diagramme de squence


la reprsentation se concentre sur lexpression des interactions et la squence des interactions dun point de vue temporel

4 - 35

Utilisation du diagramme de squences

module 4 module 4 Diagramme Diagramme de squences de squences

Illustration dun cas dutilisation avec une approche gnraliste sans entrer dans le dtail des synchronisations en restant proche de lutilisateur Documentation des interactions entre les objets, linvocation des mthodes et la rpartition du flot de contrle

4 - 36

Principaux lments des diagrammes de squences


Acteur Objet Message Ligne de vie Barre dactivation

module 4 module 4 Diagramme Diagramme de squences de squences

4 - 37

Elments du diagramme de squences

module 4 module 4 Diagramme Diagramme de squences de squences

La ligne de vie matrialise la dure de vie de lobjet La priode dactivation correspond au temps pendant lequel lobjet effectue une action directement ou en invoquant un autre objet sous traitant
Elle est reprsente par une bande superpose la ligne de vie

Un objet peut tre activ plusieurs fois durant sa vie


4 - 38

Les diagrammes

Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes

de cas dutilisation dactivits de squences de collaborations de classes de packages dobjets dtats de composants de dploiement
4 - 39

Diagramme de collaborations

module 4 module 4 Diagramme Diagramme de collaborations de collaborations

Aide la ralisation de diagramme de classes, tat-transition, ... Prsente les interactions entre objets, leur cycle de vie visant latteinte d un objectif dans un contexte donn Les interactions entre objets sont reprsentes par des envois de messages
4 - 40

Interactions

module 4 module 4 Diagramme Diagramme de collaborations de collaborations

Les interactions entre objets sont reprsentes par des envois de messages
1 : ouvrir

:Ascenseur

:Porte

4 - 41

Squence

module 4 module 4 Diagramme Diagramme de collaborations de collaborations

La chronologie des oprations est reprsente par un numro de squence des messages
5 : monter() 2 : allumer() :Lumiere

:Ascenseur

1 : ouvrir() :Porte 4 : fermer() 3 : monter() :Cabine

4 - 42

Les diagrammes

Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes

de cas dutilisation dactivits de squences de collaborations de classes de packages dobjets dtats de composants de dploiement
4 - 43

Diagramme de classe

module 4 module 4 Diagramme Diagramme de classes de classes

Collection d'lments de modlisations statiques qui montre la structure d'un modle


Les Les Les Les classes associations agrgations, les compositions hritages

4 - 44

Diagramme de classe

module 4 module 4 Diagramme Diagramme de classes de classes

Ignore les aspects temporels et dynamiques Plusieurs diagrammes de classe peuvent tre ncessaires pour modliser le systme

4 - 45

Principaux lments des diagrammes de classes


Classes Les associations Les agrgations, les compositions Les hritages

module 4 module 4 Diagramme Diagramme de classes de classes

4 - 46

Diagramme de classe
Customer name address 1

module 4 module 4 Diagramme Diagramme de classes de classes

Cardinalit Cardinalit

Order 1

Item 1..* weight price getWeight() getPrice()

0..* date status 1 calcWeight() calcPrice()

Association Association Classe abstraite

1 Payment amount

Navigation

Agrgation Classe

Gnralisation

Cash currency

Credit number expireDate getAuthorization()

Nom de la classe Attributs Mthodes


4 - 47

Diagramme de classe

module 4 module 4 Diagramme Diagramme de classes de classes

Niveau conceptuel, analyse Objectifs


Dfinir les objets mtiers Dfinir les services/mthodes publiques Dfinir les associations principales (nommage, multiplicit/cardinalit)

4 - 48

La classe

module 4 module 4 Diagramme Diagramme de classes de classes

Dcrit un ensemble dobjets ayant


une structure commune, un comportement identique.

Classe = Attributs + oprations Visibilit


Public Protg Priv
Order date status calcWeight() calcPrice()

Nom de la classe Attributs Oprations

4 - 49

Associations Relation structurelle

module 4 module 4 Diagramme Diagramme de classes de classes

Connexion bi-directionnelle entre deux classes Class A Class B

Diffrents types dassociations existent


associations binaires associations n-aires classe association
Class A Class B

Association

4 - 50

Documentation dune association


Nommage Multiplicits Rles Contraintes

module 4 module 4 Diagramme Diagramme de classes de classes

4 - 51

Nommage des associations

module 4 module 4 Diagramme Diagramme de classes de classes

amliore la comprhension si des ambiguts existent


Hotel hberge Client

Commentaire Observation Contrainte

4 - 52

Multiplicit/cardinalits des associations


1 0..1 N M..N * 0..* 1..* Un et un seul Zro ou un N (entier naturel) de M N de zro plusieurs de zro plusieurs de un plusieurs
Hotel 1 0..n

module 4 module 4 Diagramme Diagramme de classes de classes

Client

4 - 53

Rles dans lassociation

module 4 module 4 Diagramme Diagramme de classes de classes

un rle exprime la vision dune classe par une autre classe au travers de la relation permet de clarifier les diagrammes

Entreprise

+Employeur

+Salari +Client

Personne

4 - 54

module 4 module 4

Contraintes sur associations

Diagramme Diagramme de classes de classes

Des contraintes peuvent tre dfinies sur les associations Limiter son utilisation La notation utilise peut tre une expression entre accolade ou de lOCL
{ordonn} {sous-ensemble} {ou exclusif}
4 - 55

module 4 module 4

Contraintes sur associations

Diagramme Diagramme de classes de classes

{ordonn} spcifie que la relation est une relation dordre


Classement 1 1..n {ordonn} Edudiant

La contrainte indique que la relation d ordre doit tre maintenue durant l ajout ou la suppression d un lment dans la collection
4 - 56

module 4 module 4

Contraintes sur associations

Diagramme Diagramme de classes de classes

{sous-ensemble} indique linclusion dune collection dans une autre collection


+Salari {sous-ensemble} +Cadres

Entreprise

Personne

La contrainte indique que les cadres sont des salaris

4 - 57

module 4 module 4

Contraintes sur associations

Diagramme Diagramme de classes de classes

{ou-exclusif} permet de distinguer deux associations mutuellement exclusives


Promotion

+Enseignant {ou exclusif} +Etudiant

Personne

La contrainte indique qu une personne peut tre soit un enseignant dans une promotion soit un tudiant mais pas les deux
4 - 58

Classe association

module 4 module 4 Diagramme Diagramme de classes de classes

Classe association
permet dajouter des attributs lassociation
Etudiant Travail

Note

Peut tre remplace par une classe intermdiaire Etudiant (souhaitable)

Rsultat Note

Travail

4 - 59

Qualification de lassociations

module 4 module 4 Diagramme Diagramme de classes de classes

permet de slectionner un sous-ensemble d'objets, parmi l'ensemble des objets qui participent une association La restriction de l'association est dfinie par une cl, qui permet de slectionner les objets cibls
Hotel N tage 1 Etage N chambre 1 Chambre

4 - 60

Navigation restreinte sur lassociation

module 4 module 4 Diagramme Diagramme de classes de classes

La navigation est habituellement dans les deux sens Dans certains cas, seule la navigation dans une direction na dintrt ou de signification. Le sens de navigation est matrialis par une flche L utilisation d une navigation restreinte rduit le couplage entre les classes
Classe A Classe B

4 - 61

Agrgation

module 4 module 4 Diagramme Diagramme de classes de classes

Lagrgation est une relation composcomposant ou partie de Il sagit dune relation entre deux classes spcifiant que les objets dune classe sont des composants de lautre classe Les actions de la classe compose sont reportes sur les composants

4 - 62

Exemple dagrgation

module 4 module 4 Diagramme Diagramme de classes de classes

Le message peut contenir plusieurs pices jointes et la pice jointe peut tre envoye dans plusieurs messages

E-Mail 0..n 0..n

PieceJointe

4 - 63

Composition

module 4 module 4 Diagramme Diagramme de classes de classes

La composition est une forme forte dagrgation Les cycles de vies des lments (les "composants") et du compos sont lis
si l'agrgat est dtruit (ou copi), ses composants le sont aussi

A un mme moment, une instance de composant ne peut tre lie qu' un seul agrgat
Hotel Etage

Chambre

4 - 64

Agrgations... Jouez la prudence

module 4 module 4 Diagramme Diagramme de classes de classes

Lusage des agrgations et des compositions est manier avec prudence Ne jamais oublier quune agrgation nest quune association particulire, un peu plus riche en sens

4 - 65

Gnralisation (ou classification)


Reprsente les spcialisations et gnralisations entre classes

module 4 module 4 Diagramme Diagramme de classes de classes

La relation de gnralisation signifie est un ou est une sorte de Vehicule Les sous-classes hritent des attributs, des oprations, des relations et des contraintes de la super-classe.

Moto

4 - 66

Gnralisation

module 4 module 4 Diagramme Diagramme de classes de classes

En UML, concept abstrait permettant la classification Lhritage est une technique servant la ralisation de la relation de gnralisation La gnralisation raisonne en terme danalyse, l hritage en terme de conception
Rien n empche de concevoir une solution sans hritage (mais plus difficilement)

4 - 67

Gnralisation simple

module 4 module 4 Diagramme Diagramme de classes de classes

Cas le plus courant de gnralisation ( prfrer) Une classe a un seul anctre direct La classe fille est une spcialisation avec ses propres attributs et mthodes en plus de ceux hrits de la classe anctre

4 - 68

Exemple de gnralisation simple


FormeGraphique dessiner()

module 4 module 4 Diagramme Diagramme de classes de classes

Cercle dessiner()

Rectangle dessiner()

Triangle dessiner()

FormeGraphique est une classe abstraite par consquent non instanciable

4 - 69

Gnralisation multiple

module 4 module 4 Diagramme Diagramme de classes de classes

La gnralisation est dite multiple quand une classe plusieurs anctres directs (ou super classes) La classe est la fusion de ces super-classes
Radio Reveil

RadioReveil

4 - 70

Contraintes sur les gnralisations

module 4 module 4 Diagramme Diagramme de classes de classes

La relation de gnralisation peut tre enrichie de contraintes Limiter leur utilisation La notation est la mme que celle utilise pour les contraintes sur les associations
{disjoint} {chevauchement} {incomplet}...

4 - 71

module 4 module 4 Diagramme Diagramme de classes de classes

Contraintes sur les gnralisations


{disjoint}indique quune classe descendante d une classe A peut tre descendant d une seule sous-classe de A
Champignon

{Disjoint} Boletus Agaricus

Pied bleu

Bolet de loup

Pas de mlange des dimensions


4 - 72

module 4 module 4 Diagramme Diagramme de classes de classes

Contraintes sur les gnralisations


{chevauchement} indique qu une classe descendante d une classe A appartient au produit cartsien des sous-classes de la classe A
Vhicule

A voile

Motorisation Milieu {chevauchement} A moteur Terrestre

Marin

Ptrolette

Mlange des deux dimensions


4 - 73

Contraintes sur les gnralisations


{complet}

module 4 module 4 Diagramme Diagramme de classes de classes

La gnralisation ne peut tre tendue, il n est pas possible dajouter des sous classes

{incomplet}
La gnralisation peut tre tendue

4 - 74

Les diagrammes

Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes

de cas dutilisation dactivits de squences de collaborations de classes de packages dobjets dtats de composants de dploiement
4 - 75

Diagramme de packages
troitement li avec le diagramme de classes Permet de structurer
regroupement des classes dans des packages structurer un systme structurer le projet

module 2 module 2 Diagramme Diagramme de packages de packages

Permet didentifier immdiatement des dpendances cycliques

Package
4 - 76

Contenu dun package

module 2 module 2 Diagramme Diagramme de packages de packages

Package 1 Package 1.1 Package 1.2


Class A

Class B

Class C

4 - 77

Exemple

module 2 module 2 Diagramme Diagramme de packages de packages

GUI

Accounting Bank
Shipping Ordering

Dpendance cyclique

Stock
4 - 78

Les diagrammes

Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes

de cas dutilisation dactivits de squences de collaborations de classes de packages dobjets dtats de composants de dploiement
4 - 79

Diagramme dobjets

module 4 module 4 Diagramme Diagramme dobjets dobjets

Est appel aussi diagramme dinstances (de classes) Reprsentation de la structure statique tout comme le diagramme de classe Instance du diagramme de classe pour un tat du systme modlis un instant donn
4 - 80

Diagrammes dobjets

module 4 module 4 Diagramme Diagramme dobjets dobjets

Prsente un contexte (avant ou aprs une interaction entre objets par exemple) Sutilisent en phase initiale dun projet Les principaux lments de modlisations sont
Les objets Les liens.

4 - 81

Objet

module 4 module 4 Diagramme Diagramme dobjets dobjets

L objet est une instance dune classe Est reprsent par un rectangle
On nomme lobjet par son nom ou son nom suivi de deux points et du nom de la classe Le nom de lobjet et la classe sont souligns
maRadio:Radio marque = Sony frequence = 103.6 :Reveil monObjet

4 - 82

Lien

module 4 module 4 Diagramme Diagramme dobjets dobjets

Instance dune association Est symbolis par un trait


monClient:Client nom = Martin adresse = Genve maCommande:Commande date = 20/1/2001 tat = dlivr

Un lien dune association rflexive peut relier un objet lui mme


monObjet

4 - 83

Reprsentation des objets

module 4 module 4 Diagramme Diagramme dobjets dobjets

Ltat dun objet = valeurs de ses attributs Possibilit de modliser les tats et changements dtats
:Television etat = allumee chaine = TF1
<< devient >>

:Tlvision etat = eteinte chaine = TF1

4 - 84

Du diagramme de classe ...


Client nom adresse 1 Commande 0..* date etat 1 calculePoids() calculPrix() 1 Paiement montant 1

module 4 module 4 Diagramme Diagramme dobjets dobjets

Produits 1..* - poids - prix getPoids() getPrix()

PLiquide monnaie

PCarteCredit numero dateExpiration getAutorisation()

4 - 85

au diagramme dobjets

module 4 module 4 Diagramme Diagramme dobjets dobjets

produit1:Produit monClient:Client nom = Martin adresse = Genve maCommande:Commande date = 20/1/2001 etat = dlivr poids = 500 prix = 30 produit2:Produit poids = 100 prix = 10 produit3:Produit maCarte:PCarteCredit numero = 123-456-78 dateExpiration = 12/2001 poids = 1000 prix = 70

4 - 86

Les diagrammes

Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes

de cas dutilisation dactivits de squences de collaborations de classes de packages dobjets dtats de composants de dploiement
4 - 87

Diagramme dtats

module 2 module 2 Diagramme Diagramme dtats dtats

Utilisent des automates tats finis pour modliser le comportement Souvent utiliss pour dcrire le comportement des classes, MAIS aussi dacteurs, de mthodes. de tout lment de modlisation susceptible davoir un comportement

4 - 88

Principaux lments des diagrammes dtats


Les Les Les Les Les tats transitions vnements conditions actions

module 2 module 2 Diagramme Diagramme dtats dtats

4 - 89

Les tats

module 2 module 2 Diagramme Diagramme dtats dtats

Dfinit ltat dun objet un instant donn


est toujours connu et intgre une notion de stabilit et de dure dpend des tats prcdents et des vnements survenus

Un tat se caractrise par sa dure et sa stabilit, il reprsente une conjonction instantane des valeurs des attributs d'un objet

4 - 90

Les tats

module 2 module 2 Diagramme Diagramme dtats dtats

Par nature, les automates tats finis sont non ambigus. Ils possdent
un seul tat initial et de 0 N tats finaux

En gnral ltat initial et ltat final ne possde pas obligatoirement de nom

4 - 91

Les tats -Exemple

module 2 module 2 Diagramme Diagramme dtats dtats

Pour un ensemble de gardiens ou hommes de mnages de la socit AMPE,

C o nta c te rP o ur * *

P ersonne
N om P r n o m P ro fe s s io n

tra valle rP o ur i 00 ..

P roposition

Socit

Dans le Diagramme de classe: - Un objet Personne possde un Nom, Prnom, une Profession - Il travaille ou non pour une socit. - Il peut tre sollicit par dautres ou par AMPE pour une ou plusieurs propositions de postes

4 - 92

Les tats -Exemple

module 2 module 2 Diagramme Diagramme dtats dtats

Si lon sintresse de prs aux tats de lobjet Personne, on peut dire qune personne passe par 3 tats dpendant : - De la valeur de lattribut (variable dinstance):Profession. - De liens de cet objet avec un objet socit et avec un ou plusieurs objets proposition
Les trois tats de lobjet personne sont: 1- Employ (Actif): 2- Demandeur demploi: 3- En Phase dembauche

Reprsentation des tats:


Actif Demandeur Emploi En Phase Emploi

4 - 93

Les transitions

module 2 module 2 Diagramme Diagramme dtats dtats

Une transition est le changement dtat dun objet (dun tat un autre) caus par un vnement. Les diagrammes dtats sont des graphes orients Les tats sont relis par des relations orientes, appeles transitions
Etat A Etat B

Les transitions indiquent les parcours possibles dans le graphe Les transitions sont reprsents par des flches portant le nom et les paramtres des vnements associs

4 - 94

Les vnements

module 2 module 2 Diagramme Diagramme dtats dtats

Le passage d un tat un autre seffectue lorsquune transition est dclenche par un vnement Contrairement aux tats qui ont obligatoirement une certaine dure, lvnement est instantan et doit tre trait immdiatement Un objet reoit un vnement et passe dun tat source ltat cible dune transition
4 - 95

Les vnements Exemple 1

module 2 module 2 Diagramme Diagramme dtats dtats

Pour prciser la notion dvnement, considrons lobjet Personne tel quil a t dans lexemple prcdent.

Les vnements qui interviennent dans la gestion des postes dune


personne sont :

Le licenciement effectu par une socit. Larrive dune proposition en provenance dune socit. Lattribution dun poste dans une socit. La dmission dcide par lemploy.

4 - 96

Les vnements Exemple 1

module 2 module 2 Diagramme Diagramme dtats dtats

ArriveProposition

Nom de lvnement qui a caus la transition

Actif
Dmission

AttributionEmploi Transition

Licenciement ArriveProposition

Demandeur Emploi

RefusEmploi

En Phase Emploi

tat
4 - 97

Les vnements Exemples 2

module 2 module 2 Diagramme Diagramme dtats dtats

Linvocation d une mthode Linstanciation ou la destruction dun objet La vrification dune condition Le temps qui passe

Capture du login

Appuyer sur Tab ou pointer sur le champ password

Capture du password

4 - 98

Concepts lis au Diagramme dtats Les conditions ou gardes

module 2 module 2 Diagramme Diagramme dtats dtats

Expression boolenne qui conditionne le dclenchement dune transition lorsquun vnement survient Une garde est value au moment du dclenchement de lvnement
si elle est vrai la transition sopre, sinon lvnement est perdu.

Inscrite entre [ ]
Appuyer sur une touche [ touche != tab & touche != entrer ]

Capture du login

4 - 99

Concepts lis au Diagramme dtats Les conditions ou gardes

module 2 module 2 Diagramme Diagramme dtats dtats

Les gardes renforcent l aspect dterministe de l automate (surtout dans le cas o un vnement
dclenche potentiellement plusieurs transitions)
Exemple :
dispositif de rgulation de temprature

INACTIF

Mesure temprature[ t<35 ]

Mesure temprature[ t>30 ]

FROID

CHAUD
4 - 100

Concepts lis au Diagramme dtats Actions

module 2 module 2 Diagramme Diagramme dtats dtats

Lien entre les oprations dans les diagramme de classes (ou objet) et les vnements dans les diagrammes dtatstransitions Les actions correspondent
une gnration de signaux (vnements) l invocation de mthodes disponibles dans l'objet dont on reprsente les tats.

Prcde du signe /

4 - 101

Concepts lis au Diagramme dtats Actions


Actions sur une transition

module 2 module 2 Diagramme Diagramme dtats dtats

On peut aussi associer une action l vnement qui dclenche une transition.
Exemple : il pleut / mettre les essuies glace
Appuyer sur une touche [ touche != tab & touche != entrer ] / affiche caractre

Capture du login

Actions dans un tat


Un tat peut contenir des actions qui sont excutes lentre, la sortie ou larrive dun vnement particulier
4 - 102

Concepts lis au Diagramme dtats Actions

module 2 module 2 Diagramme Diagramme dtats dtats

UML propose un formalisme pour dcrire les actions dans un tat :


Entry : action excute lentre dans ltat Exit : action excute la sortie de ltat On event : action excute chaque fois que lvnement survient Do : action excute pendant que lobjet est dans cet tat

Etat
entry / Action 1 do / Action 3 event e / Action 4
exit / Action 2

4 - 103

Concepts lis au Diagramme dtats Actions -Exemple


ETAT0 e ntry/ ction en entre dtat a do : activit pendant ltat v neme n action 0/ 0 v neme n action 0/ 0 exit / action en sortie dtat

module 2 module 2 Diagramme Diagramme dtats dtats

Evnement (attributs) [gardiens]/ actio n

ETAT0

- Entry /Signer contrat de travail - Do / assurer fonction - Arriv propos r e ition /pondre la Proposition - Mutation / changer affectation d

4 - 104

Concepts lis au Diagramme dtats imbrication dtats

module 2 module 2 Diagramme Diagramme dtats dtats

Les tats dun objet peuvent correspondre des niveaux de granularit diffrents. Plusieurs sous-tats peuvent tre associs un tat, ils permettent de le dtailler Ltat

Actif peut tre prcis par 2 sous-tats :AuTravail et EnCong

Act AuTravail if
PrendreCong(NbrJoursCongePasss) RepredreTravail [NbrJrsRestant >= NbrJoursCongPasss]

EnCong
4 - 105

Exemple de diagramme dtats


/ curseur sur le champ login Appuyer sur une touche [ touche != tab & touche != entrer ] / affiche caractre

module 2 module 2 Diagramme Diagramme dtats dtats

Rejet Capture du login


/ efface login et password Appuyer sur login Appuyer sur entrer

annuler

[ invalide ] / affiche message erreur

Appuyer sur tab Bouger curseur sur password / afficher curseur sur password

Appuyer sur shift + tab Bouger curseur sur login / afficher curseur sur login

Authentification
do / valider login et password

Capture du password

Appuyer sur login Appuyer sur entrer

[ valide ] / initie transaction

Appuyer sur une touche [ touche != tab & touche != entrer ] / affiche caractre
4 - 106

Les diagrammes

Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes

de cas dutilisation dactivits de squences de collaborations de classes de packages dobjets dtats de composants de dploiement
4 - 107

Diagramme de composants

module 2 module 2 Diagramme Diagramme de composants de composants

Dcrit limplantation physique dune application, son architecture statique Les relations entre composants matrialisent les dpendances Se rvlent trs utiles pour des systmes complexes

4 - 108

Le composant

module 2 module 2 Diagramme Diagramme de composants de composants

Modlise un lment implment dans le systme (source, binaire, excutable, fichier, table ) Peut tre enrichi dune interface dfinissant les services offerts aux autres composants Ils peuvent tre organiss en paquetages dfinissant des sous-systmes
Composant
4 - 109

Strotype des composants

module 2 module 2 Diagramme Diagramme de composants de composants

La notion de composant reste trs gnrale UML Propose plusieurs strotypes pour enrichir et prciser les composants
<<document>> document divers <<excutable>> programme excutable <<bibliothque>> bibliothque <<fichier>> fichier de sources ou donnes <<EJB>> composant dans le monde JAVA <<ActiveX>>
4 - 110

Les modules

module 2 module 2 Diagramme Diagramme de composants de composants

Composants strotyps Servent stocker des lments utiliss dans la fabrication des applications informatiques (fichier source, bibliothques, package)

4 - 111

Processus et thread

module 2 module 2 Diagramme Diagramme de composants de composants

Il s agit de composants strotyps (<<processus>>, <<thread>>) ayant leur propre flux de contrle Processus
programme qui s excute dans un espace d adressage virtuel indpendant de celui du processus voisin

Thread
programme qui sexcute dans un processus, et partage les ressources du processus avec les autres thread du processus
4 - 112

Dpendances entre composants

module 2 module 2 Diagramme Diagramme de composants de composants

Matrialisent l usage fait par un composant des services offerts par les autres composants Les dpendances entre composants permettent de mettre en vidence :
les contraintes de compilation la rutilisation de composants les appels inter composants

4 - 113

Interface

module 2 module 2 Diagramme Diagramme de composants de composants

Les composants communiquent entre eux via des interface Ces interfaces sont reprsentes par

4 - 114

Exemple

module 2 module 2 Diagramme Diagramme de composants de composants

IHM Systme de Commande

Back-office bancaire

Systme denvoi

Comptabilit

4 - 115

Les diagrammes

Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes Diagrammes

de cas dutilisation dactivits de squences de collaborations de classes de packages dobjets dtats de composants de dploiement
4 - 116

Diagramme de dploiement

module 2 module 2 Diagramme Diagramme de dploiement de dploiement

Les diagrammes de dploiement prsentent


lagencement des matriels qui composent le systme la rpartition des instances des composants sur ces matriels

Est un graphe compos de nuds interconnects par des liens de communications

4 - 117

Les nuds

module 2 module 2 Diagramme Diagramme de dploiement de dploiement

Les ressources matrielles (serveur, priphrique, personnel) sont reprsentes par des nuds Le nud peut possder des attributs (exemple: capacit de stockage, mmoire )
Nud

4 - 118

Les liens de communications

module 2 module 2 Diagramme Diagramme de dploiement de dploiement

Les nuds sont connects entre eux laide dun lien de communication La nature des lignes de communication et leurs caractristiques peuvent tre prcises
TCP / IP AS400 Serveur UNIX

4 - 119

Exemple

module 2 module 2 Diagramme Diagramme de dploiement de dploiement

PC

IHM

Back-office bancaire
AS400

TCP / IP TCP / IP

Systme de commande

Server UNIX

Systme denvoi

Comptabilit
4 - 120