Vous êtes sur la page 1sur 48

Cours MSI-2A filire ICL

UML 2 version 2.0 du 21 novembre 2009

UML (2)
Rappel sur le modle statique : classe / objet Modle dynamique les diagrammes tat - transition les diagrammes de squences IHM (sous Windows, HTML) Extension du modle de classes : le concept de gnralisation/spcialisation. Hritage. Polymorphisme. Implantation de lhritage en relationnel (SGBD) Liens entre modles statique et dynamique : Cohrence du modle
1
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Exemples : Quelques diagrammes

cas d'utilisation

Systme (VEGA2) : acteur (intragissant avec VEGA2) message message message

Cas dutilisation une fonctionnalit attendue du systme (VEGA2) par les diffrents acteurs. Diagramme de Classes
objet 1

message

lien exprimant que "objet 2 est une sorte de objet 1"

Diagramme de squence Chaque cas d'utilisation apparat comme un scnario, dcrit par un ou plusieurs diagrammes de squence.
objet 4

objet 2

lien exprimant que "objet 2 a une relation avec objet 4"

lien exprimant que "obj et 2 est compos de objet 3" objet 3

Un diagramme de squences montre les interactions entre les acteurs et le systme selon un point de vue temporel pour accomplir une fonctionnalit attendue du systme (un cas d utilisation). Cest une ensemble de messages changs entre les acteurs et le systme, ordonns chronologiquement.

2
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Modle Statique (rappels)

Diagramme de classes Diagramme dobjets

3
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Gestion des commandes client (diagramme de classes 1)


client
nom prnom adresse tlphone code postal Passe commande () paie commande (cmd) 1 Passe une> 0 .. *

commande
num date adresse livraison CalculMontant () ajout article modifier () paye comporte> 1 .. *

article
* code dsignation prix-U rayon ss-rayon

Ligne-Cmd
quantit

4
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Gestion des commandes client

(diagramme de classes et dobjets)


client
1 Passe une> 0 .. * *
Ligne-Cmd

article commande
comporte> 1 .. *

1: lignecmd 1: lignecmd

Photosmart500 :article RAM 512MO :article


2: lignecmd 1: lignecmd

CMD003 :commande CMD007 :commande Pierre Dupond :client Jacky Durand :client 5
Michel Tollenaere

Compaq tabletPC :article

CMD015 :commande Herv Latour :client

1: lignecmd

Dell Lat400 :article Toshiba SD300 :article

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Gestion des commandes client (diagramme de classes et dobjets) client


1 Passe une> 0 .. * *

commande Association

comporte> 1 .. *
Ligne-Cmd

article

Classe

Conceptualise
1: lignecmd 1: lignecmd

Photosmart50 0 :article

Illustre
RAM 512MO :article Compaq tabletPC :article Dell Lat400 :article Toshiba SD300 :article

CMD003 :commande CMD007 :commande

2: lignecmd 1: lignecmd

Objet

Pierre Dupond :client Jacky Durand :client

CMD015 :commande Herv Latour :client

1: lignecmd

6
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Gestion des commandes client (diagramme de classes 2)


client
nom prnom adresse tlphone code postal Passe commande () paie commande (cmd) 1 Passe une> 0 .. *

commande
num date adresse livraison CalculMontant () ajout article modifier () paye comporte> 1 .. *

article
* code dsignation prix-U

rayon ss-rayon
Ligne-Cmd
quantit

On peut affiner le modle au niveau de limplantation des articles (trs utile pour dfinir les tournes de constitution des commandes)
7
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Gestion des commandes client (diagramme de classes 2)


client
nom prnom adresse tlphone code postal 1 Passe une> 0 .. *

commande
num date adresse livraison

article
* comporte> 1 .. * code dsignation prix-U

CalculMontant () Faut il dfinir lappartenance du ajout article modifier sous Passe commande () rayon au rayon ??() paie commande (cmd) paye

rayon ss-rayon
Ligne-Cmd
quantit comporte *

Sous rayon
Rayon emplacement 1 Implantation contient>

Rle dans lassociation 8


Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Gestion des commandes client (diagramme de classes 2)


article
code dsignation prix-U

rayon ss-rayon

Partage de proprits et de comportements


Rayon
Nom emplacement 1 *

comporte *

Sous rayon
Rayon emplacement nom 1 contient> Implantation

9
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Gestion des commandes client (diagramme de classes 2)


article Implantation
Nom emplacement Gnralisation Hritage de proprits code dsignation prix-U

rayon ss-rayon
comporte *

Rayon
Nom emplacement 1 *

Sous rayon
Rayon emplacement nom 1 contient> Implantation

10
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Gestion des commandes client


(diagramme de classes 1)

client
nom prnom adresse tlphone code postal Passe commande () paie commande (cmd) 1 Passe une> 0 .. *

commande
num date adresse livraison CalculMontant () ajout article modifier () paye comporte> 1 .. *

article
* code dsignation prix-U rayon ss-rayon

Ligne-Cmd
quantit

Ncessit de dfinir et spcifier un modle dynamique


11
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Modle Dynamique
Diagramme dtat-transition Diagramme de squences

12
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Diagramme dtats-Transition
Description des squences possibles dtats et dactions par lesquels un objet peut passer tout au long de sa vie. Ces squences rsultent de sa raction des vnements discrets. Elments du diagramme : tat : situation dun objet un moment donn transition : connexion entre deux tats, permettant le passage dun tat lautre

13
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Diagramme dtat-transition
vnement : occurrence dune situation donne dans le domaine du systme qui dclenche la transition garde : condition boolenne qui valide ou non le dclenchement dune transition lors de loccurrence dun vnement (cas de plusieurs transitions exclusives dclenches par le mme vnement) action : opration excute pendant que lobjet est dans un tat donn ou lorsque une transition est dclenche (correspondant des oprations dclares dans la classe de lobjet destinataire). Une action dun tat est dite activit quand lopration associe a un temps dexcution non ngligeable (do : nom_opration) (exemple notification)
14
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Diagramme dtat-transition de la classe commande


commande
num date adresse livraison CalculMontant () ajout article modifier () paye

En prparation
tat initial

do / ajout article

Confirmation client [Si solvable]

Confirme do / prparer livraison

Pas de confirmation client aprs 1 mois

Livraison effectue Livre do / attente paiement paiement effectu Paye 10 ans aprs paiement

tat final

tat final

15
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL

Une implmentation dans MS-Access

UML 2 version 2.0 du 21 novembre 2009

un attribut Etat de type liste droulante dont le contenu correspond aux valeurs des tats du diagramme

16
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Une meilleure implmentation dans MS-Access

17
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Une meilleure implmentation dans MS-Access

18
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Diagramme dtat-transition
Exemple
personne
nom prnom age adresse tlphone code postal En activit
Plus de 60 ans

socit
est * employe 0..1 par> n SIREN Perte nom C.A. d emploi Implantation

do: travailler

Embauche

A la retraite

Au chmage Diagramme de classes

Plus de 60 ans

Diagramme d tats-transitions

Les personnes ne possdent pas toutes un emploi et se trouvent, un moment donn, dans un des tats suivants : en activit, au chmage, la retraite Ltat d une personne donne est dtermin selon son ge et la prsence ou non dun lien vers une socit.
19
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Diagramme dtat-transition
Une classe peut possder plusieurs diagrammes dtat (selon le point de vue examin). Exemple, pour une personne, ltat matrimonial et ltat professionnel.

Les diagrammes dtat-transition peuvent tre imbriqus et hirarchiss. Exemple : pour une machine, (cf photocopieuse, imprimante) commande, livre, qualifie, en service, en maintenance, au rebut, en service est dtaille par les diffrents lments du cycle de fonctionnement
20
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Diagramme de Squences
Niveau 1 : diagramme de squences fonctionnel = = interactions acteur(s) systme dans le cadre dun use case Niveau 2 : diagramme de squences technique = = interactions acteur IHM - objets systme ou objets systme/ objets systme dans le cadre dun use case Pour chaque cas dutilisation, un ou plusieurs scnario peut tre dtaill chacun par un diagramme de squences. Diagramme de squence : exprime la squence des interactions entre objets du systme selon un point de vue temporel, pour raliser le cas dutilisation.
21
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Diagramme de Squences (principes gnraux)


Objet 1
1 : [condition A] message 2 : message synchrone 3 : message de cration

Objet 2

Objet 3

Evnement / Communication entre objets

5 : message

4 : message

6 : [condition B] message 7 : message rflexif 9 : message asynchrone 8 : message de destruction

Priode dactivit de lobjet : ligne de vie

22
Michel Tollenaere

U.M.L. partie 2

Diagramme de Squences (principes gnraux)


Objet 1
1 : [condition A] message

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Objet 2

2 : message synchrone 3 : message de cration 5: message 6 : [condition B] message 7 : message rflexif 8 : message de destruction 4: message

Objet 3

9 : message asynchrone

message synchrone: lmetteur est bloqu et attend que lappel ait fini de traiter le message (message 1) message asynchrone: lmetteur nest pas bloqu et peut continuer son excution (message 6) Un message rflexif indique souvent un point d entre dans une activit de plus bas niveau qui s exerce entre objets contenus par l objet composite (message 7)
23
Michel Tollenaere

U.M.L. partie 2

Diagramme de Squences (principes)


Objet 1
1 : [condition A] message

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Objet 2

2 : message synchrone 3 : message de cration 5: message 6 : [condition B] message 7 : message rflexif 8 : message de destruction 4: message

Objet 3

9 : message asynchrone

Un message dont les dlais de transmission sont non ngligeables est matrialis par une flche oblique (message 4) Messages conditionns : flches prenant leur origine au mme instant avec des conditions mutuellement exclusives (messages 1 et 6) Possibilit de complments d informations sous forme de texte libre ou de pseudocode ct du diagramme U.M.L. partie 2

24
Michel Tollenaere

Cours MSI-2A filire ICL

Diagramme de Squences (principes gnraux)


Objet 1
1 : [condition A] message

UML 2 version 2.0 du 21 novembre 2009

Objet 2

2 : message synchrone 3 : message de cration 5: message 6 : [condition B] message 7 : message rflexif 8 : message de destruction 4: message

Ligne de vie de lobjet

Objet 3

9 : message asynchrone

Priode d activit : temps pendant lequel un objet effectue une action, directement ou par l intermdiaire d un autre objet sous-traitant Des contraintes temporelles peuvent tre exprimes en graduant la ligne de vie (pour dire par exemple: 10 secondes plus tard )
25
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Diagramme de Squences

Appelant

Ligne tlphonique dcroche tonalit numrotation indication de sonnerie sonnerie dcroche all

Appel

26
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

27
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

28
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Nouvelle mission

29
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Les Interfaces Homme-Machine

I.H.M.
sous Windows html tendus

30
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Resp de production : supervision dun process

Ou visualisation des plannings de techniciens libres


31
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

En logistique, les interfaces carto

32
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Modles Statique et Dynamique

Concept de gnralisation et dhritage Implantation de lhritage en relationnel Mta-modlisation UML

33
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Gnralisation : Relation non rflexive : une classe ne peut driver dellemme Relation non symtrique : si une une voiture est une sorte de vhicule, alors le vhicule ne peut pas tre une sorte de voiture Relation transitive : si voiture est une sorte de vhicule terrestre qui elle mme est une sorte de vhicule alors voiture est une sorte de vhicule

34
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

GENERALISATION
Super-classe Animal

Gnralisation

Spcialisation

Chat

Chien

Raton laveur

35

Sous-classe
U.M.L. partie 2

COHERENCE

Michel Tollenaere

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

GENERALISATION
CLASSES, PAQUETAGES, CAS D'UTILISATION EST UN A => => GENERALISATION COMPOSITION

GENERALISATION

=>

HERITAGE

COUPLAGE FORT ENTRE CLASSES


36
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

GENERALISATION
Tapis Vhicule MULTIPLE Super-classe

Super-classe

Terrestre

Arien

Fusion de plusieurs classes en une seule classe


37
Michel Tollenaere

Tapis volant Sous-classe

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

GENERALISATION

DISCRIMINANT Motorisation

Vhicule

DISCRIMINANT

Milieu

A voile

A moteur

Terrestre

Marin

38
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

GENERALISATION
Champignon

{Exclusif} Agaricus Boletus

Pied bleu
39
Michel Tollenaere

Bolet de loup

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

GENERALISATION
Vhicule Motorisation {Inclusif} A voile A moteur Terrestre Marin Milieu

Ptrolette
40
Michel Tollenaere

Mlange des deux dimensions

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

GENERALISATION
Cours Complte Incomplte

{Incomplte}

Maths

Franais

Gographie

41
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

GENERALISATION
Vue partielle Cours

Maths

...

Gographie

42
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

CLASSE ABSTRAITE
Classe Abstraite

 Non instanciable  Sert de Type pour manipuler les objets instances d'une (ou plusieurs) de leurs sous-classes  Proprit Abstraite dfinie pour tous les lments gnralisables  Proprit Abstraite dfinie aussi pour une opration
43
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Implantation de lhritage en relationnel


Implantation
Nom emplacement

Principe : 1 classe = 1 table 1 association n - m = 1 table


Table Implantation ID-implant : entier Nom : string Emplacement : string Table Rayon ID-rayon : entier Nom : string Emplacement : string Table Sous-Rayon ID-ss-rayon : entier Nom : string Emplacement : string Rayon : entier

Rayon
*

Sous rayon

On ne factorise pas les attributs (Nom, emplacement) Il faudra coder 3 fois les accs communs dfinis dans la classe implantation
44
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

Implantation de l hritage en relationnel


Implantation
Nom emplacement

Implantation
1

Principe : 1 table pour toutes les classes 1 association n - m = 1 table


Table Implantation ID-implant : entier Nom : string Emplacement : string Type : {rayon ; ss-rayon}

Nom emplacement type : {rayon ; ss-rayon}

Rayon

Sous rayon
*

Rayon : entier

Schma relationnel plus concis, mais :


un rayon ou sous rayon peut tre constitu dautres rayons aucun contrle de cohrence sur les compositions rcursives
45
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL

Diagramme de Classes Mtier

UML 2 version 2.0 du 21 novembre 2009


structure <<rep>> CdC

<<rep>> schema

<<r ep>> Spec de tes t

<<rep>> plan CIM

<<rep>> EM

sous-ensemble

Carte electronique

Micro-processeur

etiquette

composant

comp. mcanique CIP comp. lectronique

Acc essoires

tiquette vierge

Documentation comp. inter ne comp. externe comp. exter ne comp. interne conditionnement

soft

<<rep>> plan mcanique

<<rep>> CdC

<<rep>> plan CIP

<<r ep>> plan-mcanique

<<rep>> notice

<<rep>> caractristiques

<<r ep>> plan

<<rep>> M aster

46
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

UML cohrence des diagrammes


Use cases Diagramme dtat-transition Diagramme de squences Diagramme de classes Interfaces Homme/Machine.

47
Michel Tollenaere

U.M.L. partie 2

Cours MSI-2A filire ICL


UML 2 version 2.0 du 21 novembre 2009

cas d'utilisation

Acteur 1
cas d'utilisation

article Implantation code dsignation prix-U rayon ss-rayon comporte *

cas d'utilisation

Nom emplacement

Acteur 2
Rayon Nom emplacement
t a t i n i t i a l

Sous rayon Rayon * emplacement nom contient> 1 Implantation

En prparati on do / ajout article Pas de confir matio n client aprs 1 t mois a


t f i n a l

Confi rmati on client

Confirm e do / prparer livraison

Livre do / attente paiement

paiem ent effect u

Pa ye

10 ans aprs paiem ent

t a t f i n a l

48
Michel Tollenaere

U.M.L. partie 2