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.
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
ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001
3Michel Tollenaere
Modèle Dynamique
• Diagramme d’état transition• Diagramme de séquence
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
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
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.
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
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
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ô
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
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
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
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)
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 ?)
ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001
15Michel Tollenaere
ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001
16Michel Tollenaere
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
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
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
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
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
ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001
22Michel Tollenaere
GENERALISATION
Véhicule
A voile TerrestreA moteur Marin
Motorisation Milieu
DISCRIMINANTDISCRIMINANT
ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001
23Michel Tollenaere
GENERALISATION
Champignon
Bolet de loup
BoletusAgaricus
Pied bleu
{Exclusif}
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
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
ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001
26Michel Tollenaere
GENERALISATION
Cours
Maths Géographie
Vue partielle
...
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
ENSGI 2A MSI - UML (2)version 1 du 3 Octobre 2001
28Michel Tollenaere
Implantation de l ’héritage en relationnel
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
Top Related