Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009...

48
1 UML 2 version 2.0 du 21 novembre 2009 Michel Tollenaere U.M.L. partie 2 UML (2) UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique les diagrammes état - transition les diagrammes de séquences IHM (sous Windows, HTML) Extension du modèle de classes : le concept de généralisation/spécialisation. Héritage. Polymorphisme. Implantation de l’héritage en relationnel (SGBD) Liens entre modèles statique et dynamique : Cohérence du modèle

Transcript of Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009...

Page 1: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

1

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

UML (2)UML (2)

Rappel sur le modèle statique : classe / objetModèle dynamique

• les diagrammes état - transition• les diagrammes de séquences

IHM (sous Windows, HTML)Extension du modèle de classes : le concept de généralisation/spécialisation. Héritage. Polymorphisme.Implantation de l’héritage en relationnel (SGBD)

Liens entre modèles statique et dynamique : Cohérence du modèle

Page 2: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

2

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Cas d’utilisation

une fonctionnalité attendue du système (VEGA2) par les différents acteurs.

cas d'utilisation : acteur (intéragissant

avec VEGA2)

Système (VEGA2)

message

messagemessage

message

Diagramme de séquence

Chaque cas d'utilisation apparaît comme un scénario, décrit par un ou plusieurs diagrammes de séquence.

Un diagramme de séquences montre les interactions entre les acteurs et le système selon un point de vue

temporel pour accomplir une fonctionnalité attendue du système (un cas d ’utilisation). C’est une ensemble de

messages échangés entre les acteurs et le système, ordonnés chronologiquement.

Diagramme de Classes

objet 1

objet 3

objet 2 objet 4

lien exprimant que "objet 2 est

composé de objet 3"

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

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

Exemples : Quelques diagrammes

Page 3: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

3

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Modèle Statique (rappels)Modèle Statique (rappels)

• Diagramme de classes• Diagramme d’objets

Page 4: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

4

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Gestion des commandes client

(diagramme de classes 1)

commandeclient

Passe une>1 0 .. *

nomprénomadressetéléphonecode postal

Passe commande ()paie commande (cmd)

numdateadresse livraison

CalculMontant ()ajout articlemodifier ()paye

article

codedésignationprix-Urayonss-rayon

comporte> 1 .. **

Ligne-Cmd

quantité

Page 5: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

5

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Gestion des commandes client

(diagramme de classes et d’objets)

commandeclientPasse une>1 0 .. *

articlecomporte>

1 .. **

Ligne-Cmd

CMD015 :commande

CMD007 :commande

CMD003 :commande

Jacky Durand :client

Pierre Dupond :client

Hervé Latour :client

1 : lignecmd

1 : lignecmd

1 : lignecmd

2 : lignecmd

1 : lignecmd

Dell Lat400 :article

Compaq tabletPC :article

RAM 512MO :article

Photosmart500 :article

Toshiba SD300 :article

Page 6: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

6

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Gestion des commandes client

(diagramme de classes et d’objets)

commandeclientPasse une>1 0 .. *

articlecomporte>

1 .. **

Ligne-Cmd

CMD015 :commande

CMD007 :commande

CMD003 :commande

Jacky Durand :client

Pierre Dupond :client

Hervé Latour :client

1 : lignecmd

1 : lignecmd

1 : lignecmd

2 : lignecmd

1 : lignecmd

Dell Lat400 :articl

e

Compaq tabletPC :article

RAM 512MO :article

Photosmart500 :article

Toshiba SD300 :article

Diagramme

de classe

Diagramme

d ’objet

s

Illustre

Conceptualise

Objet

Classe

Lien

Association

Page 7: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

7

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Gestion des commandes client

(diagramme de classes 2)

commandeclient

Passe une>1 0 .. *

nomprénomadressetéléphonecode postal

Passe commande ()paie commande (cmd)

numdateadresse livraison

CalculMontant ()ajout articlemodifier ()paye

article

codedésignationprix-U

rayonss-rayon

comporte> 1 .. **

Ligne-Cmd

quantité Ne respecte pas les formes

normales

On peut affiner le modèle au niveau de l’implantation des articles (très utile pour définir les tournées de constitution des commandes)

Page 8: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

8

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Gestion des commandes client

(diagramme de classes 2)

commandeclient

Passe une>

1 0 .. *

nomprénomadressetéléphonecode postal

Passe commande ()paie commande (cmd)

numdateadresse livraison

CalculMontant ()ajout articlemodifier ()paye

article

codedésignationprix-U

rayonss-rayon

comporte> 1 .. **

Ligne-Cmd

quantité*

contient>1Sous rayon

Rayonemplacement Implantation

comporte

Rôle dans l’association

Faut il définir l’appartenance du sous rayon au rayon ??

Page 9: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

9

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Gestion des commandes client

(diagramme de classes 2)

article

codedésignationprix-U

rayonss-rayon

*

contient>1

Sous rayon

Rayonemplacementnom

Implantation

comporte

Rayon

Nomemplacement *

1

Partage de propriétés et de comportements

Page 10: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

10

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Gestion des commandes client

(diagramme de classes 2)

article

codedésignationprix-U

rayonss-rayon

*

contient>1

Sous rayon

Rayonemplacementnom

Implantation

comporte

Rayon

Nomemplacement *

1

Implantation

Nomemplacement

GénéralisationHéritage de propriétés

Page 11: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

11

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Gestion des commandes client(diagramme de classes 1)

commandeclient

Passe une>1 0 .. *

nomprénomadressetéléphonecode postal

numdateadresse livraison

CalculMontant ()ajout articlemodifier ()paye

article

codedésignationprix-Urayonss-rayon

comporte> 1 .. **

Ligne-Cmd

quantité

Passe commande ()paie commande (cmd)

Comportement des objets

Quand peut on ajouter un article ?

Etat des commandes ?

Nécessité de définir et spécifier un modèle dynamique

Page 12: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

12

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Modèle Dynamique

• Diagramme d’état-transition• Diagramme de séquences

Page 13: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

13

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Diagramme d’états-Transition

Description des séquences possibles d’états et d’actions par lesquels un objet peut passer tout au long de sa vie. Ces séquences résultent de sa réaction à des événements discrets.

Eléments du diagramme :

• état : situation d’un objet à un moment donné

• transition : connexion entre deux états, permettant le passage d’un état à l’autre

Page 14: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

14

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Diagramme d’état-transition

• événement : occurrence d’une situation donnée dans le domaine du système qui déclenche la transition

• garde : condition booléenne qui valide ou non le déclenchement d’une transition lors de l’occurrence d’un événement (cas de plusieurs transitions exclusives déclenchées par le même événement)

• action : opération exécutée pendant que l’objet est dans un état donné ou lorsque une transition est déclenchée (correspondant à des opérations déclarées dans la classe de l’objet destinataire). Une action d’un état est dite « activité » quand l’opération associée a un temps d’exécution non négligeable (do : nom_opération) (exemple notification)

Page 15: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

15

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Diagramme d’état-transition de la classe « commande »

En préparation

do / ajout articleétat initial

état final

Confirmée

do / préparer livraison

Livrée

do / attente paiement

Payée

Confirmation client [Si solvable]

Livraison effectuée

paiement effectué

10 ans après paiement

état final

Pas de confirmation client après 1

mois

commande

numdateadresse livraison

CalculMontant ()ajout articlemodifier ()paye

Page 16: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

16

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Une implémentation dans MS-Access

un attribut « Etat »

de type « liste déroulante »dont le contenu correspond aux valeurs des états du diagramme

Page 17: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

17

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Une meilleure implémentation dans MS-Access

Page 18: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

18

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Une meilleure implémentation dans MS-Access

Page 19: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

19

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Perte

d ’emploi

société

personne

est employée

par>0..1*

nomprénomageadressetéléphonecode postal

n° SIRENnomC.A.Implantation

Les personnes ne possèdent pas toutes un emploi et se trouvent, à un moment donné, dans un des états suivants : en activité, au chômage, à la retraite

L’état d ’une personne donnée est déterminé selon son âge et la présence ou non d’un lien vers une société.

Diagramme d’état-transition

Exemple

Diagramme de classes Diagramme d ’états-transitions

En activité

do: travailler

Au chômage

A la retraiteEmbauche

Plus de 60 ans

Plus de 60 ans

Page 20: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

20

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Diagramme d’état-transition

Une classe peut posséder plusieurs diagrammes d’état (selon le point de vue examiné).

Exemple, pour une personne,

• l’état matrimonial et

• l’état professionnel.

Les diagrammes d’état-transition peuvent être imbriqués et hiérarchisés.

Exemple : pour une machine, (cf photocopieuse, imprimante)

commandée, livrée, qualifiée, en service, en maintenance, au rebut, en service est détaillée par les différents éléments du cycle de fonctionnement

Page 21: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

21

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Diagramme de Séquences

Pour chaque cas d’utilisation, un ou plusieurs scénario peut être détaillé chacun par un diagramme de séquences.

Diagramme de séquence : exprime la séquence des interactions entre objets du système selon un point de vue temporel, pour réaliser le cas d’utilisation.

Niveau 1 : diagramme de séquences fonctionnel = = interactions acteur(s) – système dans le cadre d’un use case

Niveau 2 : diagramme de séquences technique = = interactions acteur – IHM - objets système ou objets système/ objets système dans le cadre d’un use case

Page 22: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

22

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Diagramme de Séquences (principes généraux)

Objet 1 Objet 2

1 : [condition A] message

2 : message synchrone

4 : message

6 : [condition B] message

9 : message asynchrone

7 : message réflexif

Evénement / Communication

entre objets

Objet 33 : message de création

5 : message

8 : message de destruction

Période d’activité de l’objet : ligne de vie

Page 23: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

23

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Diagramme de Séquences (principes généraux)

Objet 1 Objet 2

1 : [condition A] message 2 : message synchrone

4 : message

6 : [condition B] message

9 : message asynchrone

7 : message réflexif

Objet 33 : message de création

5 : message

8 : message de destruction

message synchrone: l’émetteur est bloqué et attend que l’appelé ait fini de traiter le message (message 1)

message asynchrone: l’émetteur n’est pas bloqué et peut continuer son exécution (message 6)

Un message réflexif indique souvent un point d ’entrée dans une activité de plus bas niveau qui s ’exerce entre objets contenus par l ’objet composite (message 7)

Page 24: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

24

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Diagramme de Séquences (principes)

Objet 1 Objet 2

1 : [condition A] message 2 : message synchrone

4 : message

6 : [condition B] message

9 : message asynchrone

7 : message réflexif

Objet 33 : message de création

5 : message

8 : message de destruction

Un message dont les délais de transmission sont non négligeables est matérialisé par une flèche oblique (message 4)

Messages conditionnés : flèches prenant leur origine au même instant avec des conditions mutuellement exclusives (messages 1 et 6)

Possibilité de compléments d ’informations sous forme de texte libre ou de pseudo-code à côté du diagramme

Page 25: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

25

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Diagramme de Séquences (principes généraux)

Objet 1 Objet 2

1 : [condition A] message 2 : message synchrone

4 : message

6 : [condition B] message

9 : message asynchrone

7 : message réflexif

Objet 33 : message de création

5 : message

8 : message de destruction

Période d ’activité : temps pendant lequel un objet effectue une action, directement ou par l ’intermédiaire d ’un autre objet sous-traitant

Des contraintes temporelles peuvent être exprimées en graduant la ligne de vie (pour dire par exemple: « 10 secondes plus tard »)

Ligne de vie de l’objet

Page 26: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

26

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Diagramme de Séquences

AppelantLigne

téléphonique Appelé

décroche

tonalité

numérotation

sonnerieindication de sonnerie

décroche

allô

Exemple de Diagramme

Niveau 1

Page 27: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

27

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Exemple de Diagramme

Niveau 2

Page 28: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

28

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Exemple de Diagramme

Niveau 2

Page 29: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

29

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Nouvelle mission

Exemple de Diagramme

Niveau 2

Page 30: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

30

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Les Interfaces Homme-Machine

I.H.M.I.H.M.

• sous Windows• html• étendus

Page 31: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

31

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Resp de production : supervision d’un process

Ou visualisation des plannings de techniciens libres

Page 32: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

32

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

En logistique, les interfaces carto

Page 33: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

33

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Modèles Statique et Dynamique

• Concept de généralisation et d’héritage• Implantation de l’héritage en relationnel• Méta-modélisation UML

Page 34: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

34

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Généralisation :

• Relation non réflexive : une classe ne peut dériver d’elle-même

• Relation non symétrique : si une une voiture est une sorte de véhicule, alors le véhicule ne peut pas être une sorte de voiture

• Relation transitive : si voiture est une sorte de véhicule terrestre qui elle même est une sorte de véhicule alors voiture est une sorte de véhicule

Page 35: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

35

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

GENERALISATION

Animal

Chat Chien Raton laveur

Généralisation Spécialisation

COHERENCE

Super-classe

Sous-classe

Page 36: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

36

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

GENERALISATION

CLASSES, PAQUETAGES, CAS D'UTILISATION

EST UN => GENERALISATION

A => COMPOSITION

GENERALISATION => HERITAGE

COUPLAGE FORT ENTRE CLASSES

Page 37: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

37

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

GENERALISATION

Véhicule

Tapis volant

AérienTerrestre

TapisMULTIPLE

Fusion de plusieurs classesen une seule classe Sous-classe

Super-classe

Super-classe

Page 38: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

38

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

GENERALISATION

Véhicule

A voile TerrestreA moteur Marin

Motorisation Milieu

DISCRIMINANTDISCRIMINANT

Page 39: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

39

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

GENERALISATION

Champignon

Bolet de loup

BoletusAgaricus

Pied bleu

{Exclusif}

Page 40: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

40

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

GENERALISATION

Véhicule

A voile TerrestreA moteur Marin

Pétrolette

Motorisation Milieu

{Inclusif}

Mélange desdeux dimensions

Page 41: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

41

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

GENERALISATION

Cours

Maths Français Géographie

{Incomplète}

ComplèteIncomplète

Page 42: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

42

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

GENERALISATION

Cours

Maths Géographie

Vue partielle

...

Page 43: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

43

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

CLASSE ABSTRAITE

Classe Abstraite

Non instanciable

Sert de Type pour manipuler les objets instances d'une (ou plusieurs) de leurs sous-classes

Propriété Abstraite définie pour tous les éléments généralisables

Propriété Abstraite définie aussi pour une opération

Page 44: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

44

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Implantation de l’héritage en relationnel

Sous rayonRayon

*1

Implantation

Nomemplacement

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

Table ImplantationID-implant : entierNom : stringEmplacement : string

Table RayonID-rayon : entierNom : stringEmplacement : string

Table Sous-RayonID-ss-rayon : entierNom : stringEmplacement : stringRayon : entier

• On ne factorise pas les attributs (Nom, emplacement)• Il faudra coder 3 fois les accès communs définis dans la classe « implantation »

Page 45: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

45

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Implantation de l ’héritage en relationnel

Sous rayonRayon

*1

Implantation

Nomemplacement

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

Table ImplantationID-implant : entierNom : stringEmplacement : stringType : {rayon ; ss-rayon}

Rayon : entier

Schéma relationnel plus concis, mais :• un rayon ou sous rayon peut être constitué d’autres rayons• aucun contrôle de cohérence sur les compositions récursives

*

1Implantation

Nomemplacementtype : {rayon ; ss-rayon}

Page 46: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

46

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

Diagramme de Classes Métier

comp. externe comp. externe

plan CIP<<rep>>

plan mécanique<<rep>>

comp. interne

CdC<<rep>>

structure

schema<<rep>>

plan CIM<<rep>>

composant

Spec de test<<rep>>

Accessoires

sous-ensembleEM

<<rep>>

comp. mécanique

caractéristiques<<rep>>

plan-mécanique<<rep>>

comp. interne

CdC<<rep>>

CIP

plan<<rep>>

conditionnement

Master<<rep>>

soft

étiquette vierge

etiquette

comp. électronique

Micro-processeurCarte electronique

notice<<rep>>

Documentation

Page 47: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

47

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

UML cohérence des diagrammes

• Use cases• Diagramme d’état-transition• Diagramme de séquences• Diagramme de classes• Interfaces Homme/Machine.

Page 48: Michel Tollenaere U.M.L. partie 2 1 Cours MSI-2A filière ICL UML 2 version 2.0 du 21 novembre 2009 UML (2) Rappel sur le modèle statique : classe / objet.

48

Cours MSI-2A filière ICLUML 2 version 2.0 du 21 novembre 2009

Michel Tollenaere U.M.L. partie 2

cas d'utilisation

cas d'utilisation

cas d'utilisation

Acteur 1

Acteur 2

article

codedésignationprix-Urayonss-rayon

*

contient>1

Sous rayon

Rayonemplacementnom

Implantation

comporte

Rayon

Nomemplacement *

1

Implantation

Nomemplacement

En préparati

on

do / ajout article

état initial

état final

Confirmée

do / préparer livraison

Livrée

do / attente

paiement

Payée

Confirmati

on client

paiement

effectué

10 ans

après paiem

ent

état final

Pas de

confirmatio

n client après

1 mois