La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

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 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 lhéritage en relationnel (SGBD) Liens entre modèles statique et dynamique.

2 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 2 Cas dutilisation une fonctionnalité attendue du système (VEGA2) par les différents acteurs. : acteur (intéragissant avec VEGA2) Système (VEGA2) 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). Cest une ensemble de messages échangés entre les acteurs et le système, ordonnés chronologiquement. Diagramme de Classes Exemples : Quelques diagrammes

3 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 3 Modèle Statique (rappels) Diagramme de classes Diagramme dobjet

4 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 4 Gestion des commandes client (diagramme de classes 1) commande client Passe une>10.. * nom prénom adresse téléphone code postal Passe commande () paie commande (cmd) num date adresse livraison Montant () ajout article modifier () paye article code désignation prix-U rayon ss-rayon comporte>1.. * * Ligne-Cmd quantité

5 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 5 Gestion des commandes client (diagramme de classes et d objets) commande client Passe une>10.. * article comporte> 1.. * * Ligne-Cmd CMD015 :commande CMD007 :commande CMD003 :commande Jacky Durand :client Pierre Dupond :client Hervé Latour :client 1 : lignecmd 2 : lignecmd 1 : lignecmd Dell Lat400 :article Compaq tabletPC :article RAM 512MO :article Photosmart500 :article Toshiba SD300 :article

6 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 6 Gestion des commandes client (diagramme de classes et d objets) commande client Passe une>10.. * article comporte> 1.. * * Ligne-Cmd CMD015 :commande CMD007 :commande CMD003 :commande Jacky Durand :client Pierre Dupond :client Hervé Latour :client 1 : lignecmd 2 : lignecmd 1 : lignecmd Dell Lat400 :article Compaq tabletPC :article RAM 512MO :article Photosmart50 0 :article Toshiba SD300 :article Diagramme de classe Diagramme d objets Illustre Conceptualise Objet Classe Lien Association

7 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 7 Gestion des commandes client (diagramme de classes 2) commande client Passe une>10.. * nom prénom adresse téléphone code postal Passe commande () paie commande (cmd) num date adresse livraison Montant () ajout article modifier () paye article code désignation prix-U rayon ss-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)

8 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 8 Gestion des commandes client (diagramme de classes 2) commande client Passe une> 10.. * nom prénom adresse téléphone code postal Passe commande () paie commande (cmd) num date adresse livraison Montant () ajout article modifier () paye article code désignation prix-U rayon ss-rayon comporte>1.. ** Ligne-Cmd quantité * contient>1 Sous rayon Rayon emplacement Implantation comporte Rôle dans lassociation On ne définit pas l appartenance du sous rayon au rayon

9 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 9 Gestion des commandes client (diagramme de classes 2) article code désignation prix-U rayon ss-rayon * contient>1 Sous rayon Rayon emplacement nom Implantation comporte Rayon Nom emplacement * 1 Partage de propriétés et de comportements

10 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 10 Gestion des commandes client (diagramme de classes 2) article code désignation prix-U rayon ss-rayon * contient>1 Sous rayon Rayon emplacement nom Implantation comporte Rayon Nom emplacement * 1 Implantation Nom emplacement Généralisation Héritage de propriétés

11 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 11 Gestion des commandes client (diagramme de classes 1) commande client Passe une>10.. * nom prénom adresse téléphone code postal num date adresse livraison Montant () ajout article modifier () paye article code désignation prix-U rayon ss-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

12 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 12 Modèle Dynamique Diagramme détat transition Diagramme de séquence

13 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 13 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 dun objet à un moment donné transition : connexion entre deux états, permettant le passage dun état à lautre

14 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 14 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 dune transition lors de loccurrence dun événement (cas de plusieurs transitions exclusives déclenchées par le même événement) action : opération exécutée pendant que lobjet est dans un état donné ou lorsque une transition est déclenchée (correspondant à des opérations déclarées dans la classe de lobjet destinataire). Une action dun état est dite activité quand lopération associée a un temps dexécution non négligeable (do : nom_opération) (exemple notification)

15 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 15 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 num date adresse livraison Montant () ajout article modifier () paye

16 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 16 Perte d emploi société personne est employée par> 0..1* nom prénom age adresse téléphone code postal n° SIREN nom C.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 classesDiagramme d états-transitions En activité do: travailler Au chômage A la retraite Embauche Plus de 60 ans

17 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 17 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 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 18 Diagramme de Séquences Pour chaque cas dutilisation, 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 dutilisation.

19 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 19 Diagramme de Séquences (principes) Objet 1Objet 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 dactivité de lobjet : ligne de vie

20 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 20 Diagramme de Séquences (principes) Objet 1Objet 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 lappelé ait fini de traiter le message (message 1) message asynchrone: lémetteur nest 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 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 21 Diagramme de Séquences (principes) Objet 1Objet 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 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 22 Diagramme de Séquences (principes) Objet 1Objet 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 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 23

24 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 24

25 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 25 Nouvelle mission

26 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 26 Gestion des commandes client (diagramme de séquences 1)

27 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 27 Diagramme de Séquences Exemple Appelant Ligne téléphonique Appelé décroche tonalité numérotation sonnerieindication de sonnerie décroche allô

28 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 28 Gestion des composants externes: Création composant constance

29 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 29 Gestion des composants externes: Mise à jour composant constance Solution N°1 (non retenue): Avec validation par lopérateur

30 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 30 Gestion des composants externes: Mise à jour composant constance Solution N°2 (retenue): avec validation par lopérateur

31 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 31 Modèle Organisationnel de Traitements (MOT) de Merise Enchaînement des opérations ou taches condition denchaînement acteur affecté (qui ?) période de traitement (quand ?)

32 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 32

33 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 33

34 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 34 Modèles Statique et Dynamique Concept de généralisation et dhéritage Implantation de lhéritage en relationnel Méta - modélisation UML

35 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 35 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 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 36 GENERALISATION Animal ChatChienRaton laveur Généralisation Spécialisation COHERENCE Super-classe Sous-classe

37 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 37 GENERALISATION CLASSES, PAQUETAGES, CAS D'UTILISATION EST UN => GENERALISATION A => COMPOSITION GENERALISATION => HERITAGE COUPLAGE FORT ENTRE CLASSES

38 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 38 GENERALISATION Véhicule Tapis volant AérienTerrestre Tapis MULTIPLE Fusion de plusieurs classes en une seule classe Sous-classe Super-classe

39 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 39 GENERALISATION Véhicule A voileTerrestreA moteurMarin MotorisationMilieu DISCRIMINANT

40 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 40 GENERALISATION Champignon Bolet de loup BoletusAgaricus Pied bleu {Exclusif}

41 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 41 GENERALISATION Véhicule A voileTerrestreA moteurMarin Pétrolette MotorisationMilieu {Inclusif} Mélange des deux dimensions

42 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 42 GENERALISATION Cours MathsFrançaisGéographie {Incomplète} Complète Incomplète

43 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 43 GENERALISATION Cours MathsGéographie Vue partielle...

44 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 44 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 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 45 Implantation de l héritage en relationnel Sous rayonRayon * 1 Implantation Nom emplacement Principe : 1 classe = 1 table 1 association n - m = 1 table Table Implantation ID-implant : entier Nom : string Emplacement : string Table Rayon ID-rayon : entier Nom : string Emplacement : string Table Sous-Rayon ID-ss-rayon : entier Nom : string Emplacement : string Rayon : entier On ne factorise pas les attributs (Nom, emplacement) Il faudra coder 3 fois les acces communs définis dans la classe « implantation »

46 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 46 Implantation de l héritage en relationnel Sous rayonRayon * 1 Implantation Nom emplacement Principe : 1 table pour toutes les classes 1 association n - m = 1 table Table Implantation ID-implant : entier Nom : string Emplacement : string Type : {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 * 1 Implantation Nom emplacement type : {rayon ; ss-rayon}

47 Michel Tollenaere version 1.1 du 7 Octobre 2003 ENSGI 2A MSI - UML (2) 47 Diagramme de Classes Métier


Télécharger ppt "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."

Présentations similaires


Annonces Google