UML (2) Modèle dynamique le diagramme de séquence ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 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.
Exemples : Quelques diagrammes ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 Exemples : Quelques diagrammes : acteur (intéragissant avec VEGA2) Système (VEGA2) message Cas d’utilisation une fonctionnalité attendue du système (VEGA2) par les différents acteurs. Diagramme de Classes 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.
Modèle Dynamique Diagramme d’état transition Diagramme de séquence ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 Modèle Dynamique Diagramme d’état transition Diagramme de séquence
Diagramme d ’états-Transition ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 Diagramme d ’états-Transition Etat A action do:opération Etat B Evénement [garde] / Action …. état initial état final
Diagramme d ’états-Transition Diagramme d ’états-transitions ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 Diagramme d ’états-Transition Exemple En activité do: travailler Au chômage A la retraite Perte d ’emploi Embauche Plus de 60 ans Personne age Société 0..1 1..* Diagramme de classes Diagramme d ’états-transitions 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 de Séquences ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 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.
Diagramme de Séquences ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 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 3 3 : message de création 5 : message 8 : message de destruction Période d’activité de l’objet
Diagramme de Séquences ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 Diagramme de Séquences Cas particuliers 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 ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 Diagramme de Séquences Exemple Appelant Ligne téléphonique Appelé décroche tonalité numérotation sonnerie indication de sonnerie allô
Gestion des composants externes: Création composant constance ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 Gestion des composants externes: Création composant constance
Gestion des composants externes: Mise à jour composant constance ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 Gestion des composants externes: Mise à jour composant constance Solution N°1 (non retenue): Avec validation par l’opérateur
Gestion des composants externes: Mise à jour composant constance ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 Gestion des composants externes: Mise à jour composant constance Solution N°2 (retenue): avec validation par l’opérateur
Diagramme d ’états-Transition ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 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 é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)
Modèle Organisationnel de Traitements (MOT) de Merise ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 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
ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001
Modèles Statique et Dynamique ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 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
Relation non réflexive : une classe ne peut dériver d ’elle-même ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 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
GENERALISATION Super-classe Animal Généralisation Spécialisation Chat ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 GENERALISATION Super-classe Animal Généralisation Spécialisation Chat Chien Raton laveur COHERENCE Sous-classe
CLASSES, PAQUETAGES, CAS D'UTILISATION GENERALISATION ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 CLASSES, PAQUETAGES, CAS D'UTILISATION EST UN => GENERALISATION A => COMPOSITION GENERALISATION => HERITAGE COUPLAGE FORT ENTRE CLASSES
GENERALISATION MULTIPLE Tapis Véhicule Super-classe Super-classe ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 GENERALISATION MULTIPLE Tapis Véhicule Super-classe Super-classe Terrestre Aérien Tapis volant Fusion de plusieurs classes en une seule classe Sous-classe
GENERALISATION Véhicule DISCRIMINANT DISCRIMINANT Motorisation Milieu ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 GENERALISATION Véhicule DISCRIMINANT DISCRIMINANT Motorisation Milieu A voile A moteur Terrestre Marin
GENERALISATION Champignon {Exclusif} Agaricus Boletus Pied bleu ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 Champignon {Exclusif} Agaricus Boletus Pied bleu Bolet de loup
GENERALISATION Véhicule Motorisation Milieu {Inclusif} A voile ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 GENERALISATION Véhicule Motorisation Milieu {Inclusif} A voile A moteur Terrestre Marin Pétrolette Mélange des deux dimensions
GENERALISATION Complète Incomplète Cours {Incomplète} Maths Français ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 GENERALISATION Complète Incomplète Cours {Incomplète} Maths Français Géographie
GENERALISATION ... Vue partielle Cours Maths Géographie ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 GENERALISATION Vue partielle Cours Maths Géographie ...
CLASSE ABSTRAITE Classe Abstraite Non instanciable ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 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
Implantation de l ’héritage en relationnel ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 Implantation de l ’héritage en relationnel
Diagramme de Classes Métier ENSGI 2A MSI - UML (2) version 1 du 3 Octobre 2001 Diagramme de Classes Métier