Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le...

47
ENSGI 2A MSI - UML (2) 1 Michel Tollenaere version 1.1 du 7 Octobre 2003 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme de séquence le diagramme état - transition MOT (Modèle organisationnel des traitements de MERISE) 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)

Transcript of Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le...

Page 1: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

1Michel Tollenaere

version 1.1 du 7 Octobre 2003

UML (2)

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

• le diagramme de séquence• le diagramme état - transition

MOT (Modèle organisationnel des traitements de MERISE)

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.

Page 2: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

2Michel Tollenaere

version 1.1 du 7 Octobre 2003

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 version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

3Michel Tollenaere

version 1.1 du 7 Octobre 2003

Modèle Statique (rappels)

• Diagramme de classes• Diagramme d’objet

Page 4: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

4Michel Tollenaere

version 1.1 du 7 Octobre 2003

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

Montant ()ajout articlemodifier ()paye

article

codedésignationprix-Urayonss-rayon

comporte> 1 .. **

Ligne-Cmd

quantité

Page 5: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

5Michel Tollenaere

version 1.1 du 7 Octobre 2003

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 version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

6Michel Tollenaere

version 1.1 du 7 Octobre 2003

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 version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

7Michel Tollenaere

version 1.1 du 7 Octobre 2003

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

Montant ()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 version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

8Michel Tollenaere

version 1.1 du 7 Octobre 2003

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

Montant ()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

On ne définit pas l ’appartenance du sous rayon au rayon

Page 9: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

9Michel Tollenaere

version 1.1 du 7 Octobre 2003

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 version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

10Michel Tollenaere

version 1.1 du 7 Octobre 2003

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 version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

11Michel Tollenaere

version 1.1 du 7 Octobre 2003

Gestion des commandes client(diagramme de classes 1)

commandeclient

Passe une>1 0 .. *

nomprénomadressetéléphonecode postal

numdateadresse livraison

Montant ()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 version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

12Michel Tollenaere

version 1.1 du 7 Octobre 2003

Modèle Dynamique

• Diagramme d’état transition• Diagramme de séquence

Page 13: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

13Michel Tollenaere

version 1.1 du 7 Octobre 2003

Diagramme d ’états-Transition

Description des séquences possibles d’états et d ’actions par lesquelles 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 version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

14Michel Tollenaere

version 1.1 du 7 Octobre 2003

Diagramme d ’états-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 version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

15Michel Tollenaere

version 1.1 du 7 Octobre 2003

Diagramme d ’états-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

Montant ()ajout articlemodifier ()paye

Page 16: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

16Michel Tollenaere

version 1.1 du 7 Octobre 2003

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 ’états-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 17: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

17Michel Tollenaere

version 1.1 du 7 Octobre 2003

Diagramme d ’états-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 ’états - transitions 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 elements du cycle de fonctionnement

Page 18: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

18Michel Tollenaere

version 1.1 du 7 Octobre 2003

Diagramme de Séquences

Pour chaque cas d’utilisation, nous pouvons décrire un ou plusieurs scénario, décrit 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.

Page 19: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

19Michel Tollenaere

version 1.1 du 7 Octobre 2003

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

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 20: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

20Michel Tollenaere

version 1.1 du 7 Octobre 2003

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

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 21: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

21Michel Tollenaere

version 1.1 du 7 Octobre 2003

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 22: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

22Michel Tollenaere

version 1.1 du 7 Octobre 2003

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

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 »)

Page 23: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

23Michel Tollenaere

version 1.1 du 7 Octobre 2003

Page 24: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

24Michel Tollenaere

version 1.1 du 7 Octobre 2003

Page 25: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

25Michel Tollenaere

version 1.1 du 7 Octobre 2003

Nouvelle mission

Page 26: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

26Michel Tollenaere

version 1.1 du 7 Octobre 2003

Gestion des commandes client(diagramme de séquences 1)

Page 27: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

27Michel Tollenaere

version 1.1 du 7 Octobre 2003

Diagramme de Séquences

Exemple

AppelantLigne

téléphonique Appelé

décroche

tonalité

numérotation

sonnerieindication de sonnerie

décroche

allô

Page 28: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

28Michel Tollenaere

version 1.1 du 7 Octobre 2003

Gestion des composants externes: Création composant constance

: BE

système

demande création

vérifier droit utilisateur

afficher dialogue de création [droit = OK]

Saisie code composant - Valider

rechercher infos dans fichier export de

constanceaffichage infos relatifs au composant [composant existe]

affichage dialogue sans infos [composant inexistant]

valider création

création du composant dans VEGA

fabricantréf-fabricantdésignation

saisie manuelle infos relatifs au composant

Page 29: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

29Michel Tollenaere

version 1.1 du 7 Octobre 2003

Gestion des composants externes: Mise à jour composant constance

Solution N°1 (non retenue): Avec validation par l’opérateur Système

: BE

fichier export de constance

arrivée (mise à disposition)

créer collection des composants modifiés

afficher collection

sélectionner composants

valider modification

mise à jour des composants sélectionnés dans VEGA

rechercher composants constance dans VEGA non

marquésrechercher les composants

comparer fichier par rapport à composants

fournir composants (désignation / fabricants / réf_fabricant)

marquer composants modifiés

informer de l'arrivée de la collection

demander collection

démarquer les composants sélectionnés

Page 30: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

30Michel Tollenaere

version 1.1 du 7 Octobre 2003

fichier export de constance

Système

arrivée (mise à disposition)

mise à jour composants dans

rechercher les composants dans fichier d'export

fournir composants (désignation / fabricants / réf_fabricant)

comparer fichier par rapport aux composants constance dans VEGA [ si composant

present dans fichier constance]

fabricantdésignationréf-fabricant

rechercher dans VEGA les composants constance

enregistrer les modifications dans un fichier Log

Gestion des composants externes: Mise à jour composant constance

Solution N°2 (retenue): avec validation par l’opérateur

Page 31: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

31Michel Tollenaere

version 1.1 du 7 Octobre 2003

Modèle Organisationnel de Traitements (MOT) de Merise

• Enchaînement des opérations ou taches• condition d’enchaînement• acteur affecté (qui ?)• période de traitement (quand ?)

Page 32: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

32Michel Tollenaere

version 1.1 du 7 Octobre 2003

Page 33: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

33Michel Tollenaere

version 1.1 du 7 Octobre 2003

Page 34: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

34Michel Tollenaere

version 1.1 du 7 Octobre 2003

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 35: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

35Michel Tollenaere

version 1.1 du 7 Octobre 2003

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 36: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

36Michel Tollenaere

version 1.1 du 7 Octobre 2003

GENERALISATION

Animal

Chat Chien Raton laveur

Généralisation Spécialisation

COHERENCE

Super-classe

Sous-classe

Page 37: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

37Michel Tollenaere

version 1.1 du 7 Octobre 2003

GENERALISATION

CLASSES, PAQUETAGES, CAS D'UTILISATION

EST UN => GENERALISATION

A => COMPOSITION

GENERALISATION => HERITAGE

COUPLAGE FORT ENTRE CLASSES

Page 38: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

38Michel Tollenaere

version 1.1 du 7 Octobre 2003

GENERALISATION

Véhicule

Tapis volant

AérienTerrestre

TapisMULTIPLE

Fusion de plusieurs classesen une seule classe Sous-classe

Super-classe

Super-classe

Page 39: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

39Michel Tollenaere

version 1.1 du 7 Octobre 2003

GENERALISATION

Véhicule

A voile TerrestreA moteur Marin

Motorisation Milieu

DISCRIMINANTDISCRIMINANT

Page 40: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

40Michel Tollenaere

version 1.1 du 7 Octobre 2003

GENERALISATION

Champignon

Bolet de loup

BoletusAgaricus

Pied bleu

{Exclusif}

Page 41: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

41Michel Tollenaere

version 1.1 du 7 Octobre 2003

GENERALISATION

Véhicule

A voile TerrestreA moteur Marin

Pétrolette

Motorisation Milieu

{Inclusif}

Mélange desdeux dimensions

Page 42: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

42Michel Tollenaere

version 1.1 du 7 Octobre 2003

GENERALISATION

Cours

Maths Français Géographie

{Incomplète}

ComplèteIncomplète

Page 43: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

43Michel Tollenaere

version 1.1 du 7 Octobre 2003

GENERALISATION

Cours

Maths Géographie

Vue partielle

...

Page 44: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

44Michel Tollenaere

version 1.1 du 7 Octobre 2003

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 45: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

45Michel Tollenaere

version 1.1 du 7 Octobre 2003

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 acces communs définis dans la classe « implantation »

Page 46: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

46Michel Tollenaere

version 1.1 du 7 Octobre 2003

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écursive

*

1Implantation

Nomemplacementtype : {rayon ; ss-rayon}

Page 47: Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 1 UML (2) Rappel sur le modèle statique : classe / objet Modèle dynamique le diagramme.

ENSGI 2A MSI - UML (2)

47Michel Tollenaere

version 1.1 du 7 Octobre 2003

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