Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parRousel Poncet Modifié depuis plus de 10 années
1
UML (2) Rappel sur le modèle statique : classe / objet
ENSGI 2A MSI - UML (2) 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) Liens entre modèles statique et dynamique.
2
Exemples : Quelques diagrammes
ENSGI 2A MSI - UML (2) 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.
3
Modèle Statique (rappels)
ENSGI 2A MSI - UML (2) Modèle Statique (rappels) Diagramme de classes Diagramme d’objet
4
Gestion des commandes client (diagramme de classes 1)
ENSGI 2A MSI - UML (2) Gestion des commandes client (diagramme de classes 1) commande client article num date adresse livraison nom prénom adresse téléphone code postal code désignation prix-U rayon ss-rayon comporte> 1 .. * 1 Passe une> 0 .. * * Montant () ajout article modifier () paye Passe commande () paie commande (cmd) Ligne-Cmd quantité
5
Gestion des commandes client (diagramme de classes et d ’objets)
ENSGI 2A MSI - UML (2) Gestion des commandes client (diagramme de classes et d ’objets) article client commande comporte> 1 Passe une> 0 .. * 1 .. * * Ligne-Cmd Dell Lat400 :article Compaq tabletPC :article RAM 512MO :article Photosmart500 :article Toshiba SD300 :article 1 : lignecmd 2 : lignecmd CMD015 :commande CMD007 :commande CMD003 :commande Jacky Durand :client Pierre Dupond :client Hervé Latour :client
6
Gestion des commandes client (diagramme de classes et d ’objets)
ENSGI 2A MSI - UML (2) Gestion des commandes client (diagramme de classes et d ’objets) Diagramme de classe Diagramme d ’objets article client commande comporte> 1 Passe une> 0 .. * 1 .. * Lien Association * Ligne-Cmd Conceptualise Objet Classe Illustre Photosmart500 :article 1 : lignecmd RAM 512MO :article 1 : lignecmd CMD003 :commande 2 : lignecmd CMD007 :commande Compaq tabletPC :article 1 : lignecmd Pierre Dupond :client CMD015 :commande 1 : lignecmd Dell Lat400 :article Jacky Durand :client Hervé Latour :client Toshiba SD300 :article
7
Gestion des commandes client (diagramme de classes 2)
ENSGI 2A MSI - UML (2) Gestion des commandes client (diagramme de classes 2) commande client article num date adresse livraison nom prénom adresse téléphone code postal code désignation prix-U rayon ss-rayon comporte> 1 .. * 1 Passe une> 0 .. * * Montant () ajout article modifier () paye Passe commande () paie commande (cmd) 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)
8
On ne définit pas l ’appartenance du sous rayon au rayon
ENSGI 2A MSI - UML (2) Gestion des commandes client (diagramme de classes 2) commande client article num date adresse livraison On ne définit pas l ’appartenance du sous rayon au rayon nom prénom adresse téléphone code postal code désignation prix-U rayon ss-rayon 1 0 .. * * comporte> 1 .. * Passe une> Montant () ajout article modifier () paye contient> 1 Sous rayon Rayon emplacement Implantation comporte Passe commande () paie commande (cmd) Ligne-Cmd * quantité Rôle dans l’association
9
Gestion des commandes client (diagramme de classes 2)
ENSGI 2A MSI - UML (2) Gestion des commandes client (diagramme de classes 2) article code désignation prix-U rayon ss-rayon Partage de propriétés et de comportements comporte * Rayon Sous rayon Nom emplacement Rayon emplacement nom 1 contient> * Implantation 1
10
Gestion des commandes client (diagramme de classes 2)
ENSGI 2A MSI - UML (2) Gestion des commandes client (diagramme de classes 2) article Implantation code désignation prix-U rayon ss-rayon Nom emplacement Généralisation Héritage de propriétés comporte * Rayon Sous rayon Nom emplacement Rayon emplacement nom 1 contient> * Implantation 1
11
Gestion des commandes client (diagramme de classes 1)
ENSGI 2A MSI - UML (2) Gestion des commandes client (diagramme de classes 1) commande client article num date adresse livraison nom prénom adresse téléphone code postal code désignation prix-U rayon ss-rayon comporte> 1 .. * 1 Passe une> 0 .. * * Quand peut on ajouter un article ? Etat des commandes ? Montant () ajout article modifier () paye Passe commande () paie commande (cmd) Comportement des objets Ligne-Cmd quantité Nécessité de définir et spécifier un modèle dynamique
12
Modèle Dynamique Diagramme d’état transition Diagramme de séquence
ENSGI 2A MSI - UML (2) Modèle Dynamique Diagramme d’état transition Diagramme de séquence
13
Diagramme d ’états-Transition
ENSGI 2A MSI - UML (2) 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
14
Diagramme d ’états-Transition
ENSGI 2A MSI - UML (2) 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)
15
Diagramme d ’états-Transition de la classe « commande »
ENSGI 2A MSI - UML (2) Diagramme d ’états-Transition de la classe « commande » commande num date adresse livraison Montant () ajout article modifier () paye Confirmée do / préparer livraison En préparation do / ajout article Confirmation client [Si solvable] Livraison effectuée paiement effectué 10 ans après paiement état initial état final Pas de confirmation client après 1 mois Livrée do / attente paiement Payée état final
16
Diagramme d ’états-Transition Diagramme d ’états-transitions
ENSGI 2A MSI - UML (2) Diagramme d ’états-Transition Exemple personne En activité do: travailler société Plus de 60 ans nom prénom age adresse téléphone code postal est employée par> n° SIREN nom C.A. Implantation * 0..1 Perte d ’emploi A la retraite Embauche Au chômage Plus de 60 ans 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é.
17
Diagramme d ’états-Transition
ENSGI 2A MSI - UML (2) 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
18
Diagramme de Séquences
ENSGI 2A MSI - UML (2) 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.
19
Diagramme de Séquences (principes)
ENSGI 2A MSI - UML (2) Diagramme de Séquences (principes) Objet 1 Objet 2 1 : [condition A] message 2 : message synchrone 3 : message de création Objet 3 Evénement / Communication entre objets 4 : message 5 : message 6 : [condition B] message 7 : message réflexif Période d’activité de l’objet : ligne de vie 9 : message asynchrone 8 : message de destruction
20
Diagramme de Séquences (principes)
ENSGI 2A MSI - UML (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 3 3 : 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)
21
Diagramme de Séquences (principes)
ENSGI 2A MSI - UML (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 3 3 : 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
22
Diagramme de Séquences (principes)
ENSGI 2A MSI - UML (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 3 3 : 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 »)
23
ENSGI 2A MSI - UML (2)
24
ENSGI 2A MSI - UML (2)
25
ENSGI 2A MSI - UML (2) Nouvelle mission
26
Gestion des commandes client (diagramme de séquences 1)
ENSGI 2A MSI - UML (2) Gestion des commandes client (diagramme de séquences 1)
27
Diagramme de Séquences
ENSGI 2A MSI - UML (2) Diagramme de Séquences Exemple Appelant Ligne téléphonique Appelé décroche tonalité numérotation sonnerie indication de sonnerie allô
28
Gestion des composants externes: Création composant constance
ENSGI 2A MSI - UML (2) Gestion des composants externes: Création composant constance
29
Gestion des composants externes: Mise à jour composant constance
ENSGI 2A MSI - UML (2) Gestion des composants externes: Mise à jour composant constance Solution N°1 (non retenue): Avec validation par l’opérateur
30
Gestion des composants externes: Mise à jour composant constance
ENSGI 2A MSI - UML (2) Gestion des composants externes: Mise à jour composant constance Solution N°2 (retenue): avec validation par l’opérateur
31
Modèle Organisationnel de Traitements (MOT) de Merise
ENSGI 2A MSI - UML (2) 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 ?)
32
ENSGI 2A MSI - UML (2)
33
ENSGI 2A MSI - UML (2)
34
Modèles Statique et Dynamique
ENSGI 2A MSI - UML (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
35
Relation non réflexive : une classe ne peut dériver d ’elle-même
ENSGI 2A MSI - UML (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
36
GENERALISATION Super-classe Animal Généralisation Spécialisation Chat
ENSGI 2A MSI - UML (2) GENERALISATION Super-classe Animal Généralisation Spécialisation Chat Chien Raton laveur COHERENCE Sous-classe
37
CLASSES, PAQUETAGES, CAS D'UTILISATION
GENERALISATION ENSGI 2A MSI - UML (2) CLASSES, PAQUETAGES, CAS D'UTILISATION EST UN => GENERALISATION A => COMPOSITION GENERALISATION => HERITAGE COUPLAGE FORT ENTRE CLASSES
38
GENERALISATION MULTIPLE Tapis Véhicule Super-classe Super-classe
ENSGI 2A MSI - UML (2) GENERALISATION MULTIPLE Tapis Véhicule Super-classe Super-classe Terrestre Aérien Tapis volant Fusion de plusieurs classes en une seule classe Sous-classe
39
GENERALISATION Véhicule DISCRIMINANT DISCRIMINANT Motorisation Milieu
ENSGI 2A MSI - UML (2) GENERALISATION Véhicule DISCRIMINANT DISCRIMINANT Motorisation Milieu A voile A moteur Terrestre Marin
40
GENERALISATION Champignon {Exclusif} Agaricus Boletus Pied bleu
ENSGI 2A MSI - UML (2) Champignon {Exclusif} Agaricus Boletus Pied bleu Bolet de loup
41
GENERALISATION Véhicule Motorisation Milieu {Inclusif} A voile
ENSGI 2A MSI - UML (2) GENERALISATION Véhicule Motorisation Milieu {Inclusif} A voile A moteur Terrestre Marin Pétrolette Mélange des deux dimensions
42
GENERALISATION Complète Incomplète Cours {Incomplète} Maths Français
ENSGI 2A MSI - UML (2) GENERALISATION Complète Incomplète Cours {Incomplète} Maths Français Géographie
43
GENERALISATION ... Vue partielle Cours Maths Géographie
ENSGI 2A MSI - UML (2) GENERALISATION Vue partielle Cours Maths Géographie ...
44
CLASSE ABSTRAITE Classe Abstraite Non instanciable
ENSGI 2A MSI - UML (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
45
Implantation de l ’héritage en relationnel
ENSGI 2A MSI - UML (2) Implantation de l ’héritage en relationnel Principe : 1 classe = 1 table 1 association n - m = 1 table Implantation Nom emplacement Table Implantation ID-implant : entier Nom : string Emplacement : string Table Rayon ID-rayon : entier Table Sous-Rayon ID-ss-rayon : entier Rayon : entier Rayon Sous rayon * 1 On ne factorise pas les attributs (Nom, emplacement) Il faudra coder 3 fois les acces communs définis dans la classe « implantation »
46
Implantation de l ’héritage en relationnel
ENSGI 2A MSI - UML (2) Implantation de l ’héritage en relationnel * 1 Implantation Nom emplacement type : {rayon ; ss-rayon} Implantation Principe : 1 table pour toutes les classes 1 association n - m = 1 table Nom emplacement Table Implantation ID-implant : entier Nom : string Emplacement : string Type : {rayon ; ss-rayon} Rayon : entier Rayon Sous rayon * 1 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
47
Diagramme de Classes Métier
ENSGI 2A MSI - UML (2) Diagramme de Classes Métier
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.