29
ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 Michel Tollenaere UML (2) 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) Liens entre modèles statique et dynamique.

Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

Embed Size (px)

Citation preview

Page 1: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

1Michel Tollenaere

UML (2)

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)

Liens entre modèles statique et dynamique.

Page 2: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

2Michel Tollenaere

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 ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

3Michel Tollenaere

Modèle Dynamique

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

Page 4: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

4Michel Tollenaere

Diagramme d ’états-Transition

Etat A

action

do:opération

Etat BEvénement [garde] / Action

…. ….

état initial état final

Page 5: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

5Michel Tollenaere

Personne

age Société0..11..*

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 retraite

Perte d ’emploi

Embauche

Plus de 60 ans

Plus de 60 ans

Page 6: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

6Michel Tollenaere

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 7: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

7Michel Tollenaere

Diagramme de Séquences

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

Page 8: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

8Michel Tollenaere

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

• 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

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

Diagramme de Séquences

Cas particuliers

Page 9: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

9Michel Tollenaere

Diagramme de Séquences

Exemple

AppelantLigne

téléphonique Appelé

décroche

tonalité

numérotation

sonnerieindication de sonnerie

décroche

allô

Page 10: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

10Michel Tollenaere

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 11: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

11Michel Tollenaere

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 12: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

12Michel Tollenaere

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 13: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

13Michel Tollenaere

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

• é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 14: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

14Michel Tollenaere

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 15: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

15Michel Tollenaere

Page 16: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

16Michel Tollenaere

Page 17: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

17Michel Tollenaere

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 18: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

18Michel Tollenaere

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 19: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

19Michel Tollenaere

GENERALISATION

Animal

Chat Chien Raton laveur

Généralisation Spécialisation

COHERENCE

Super-classe

Sous-classe

Page 20: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

20Michel Tollenaere

GENERALISATION

CLASSES, PAQUETAGES, CAS D'UTILISATION

EST UN => GENERALISATION

A => COMPOSITION

GENERALISATION => HERITAGE

COUPLAGE FORT ENTRE CLASSES

Page 21: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

21Michel Tollenaere

GENERALISATION

Véhicule

Tapis volant

AérienTerrestre

TapisMULTIPLE

Fusion de plusieurs classesen une seule classe Sous-classe

Super-classe

Super-classe

Page 22: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

22Michel Tollenaere

GENERALISATION

Véhicule

A voile TerrestreA moteur Marin

Motorisation Milieu

DISCRIMINANTDISCRIMINANT

Page 23: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

23Michel Tollenaere

GENERALISATION

Champignon

Bolet de loup

BoletusAgaricus

Pied bleu

{Exclusif}

Page 24: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

24Michel Tollenaere

GENERALISATION

Véhicule

A voile TerrestreA moteur Marin

Pétrolette

Motorisation Milieu

{Inclusif}

Mélange desdeux dimensions

Page 25: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

25Michel Tollenaere

GENERALISATION

Cours

Maths Français Géographie

{Incomplète}

ComplèteIncomplète

Page 26: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

26Michel Tollenaere

GENERALISATION

Cours

Maths Géographie

Vue partielle

...

Page 27: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

27Michel Tollenaere

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 28: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

28Michel Tollenaere

Implantation de l ’héritage en relationnel

Page 29: Michel Tollenaere ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 1 UML (2) Modèle dynamique le diagramme de séquence le diagramme état - transition

ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001

29Michel Tollenaere

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