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

UML (2) aspect dynamique

Présentations similaires


Présentation au sujet: "UML (2) aspect dynamique"— Transcription de la présentation:

1 UML (2) aspect dynamique
Rappel sur le modèle statique : classe / objet Modèle dynamique les diagrammes état - transition les diagrammes de séquences IHM (sous Windows, HTML) 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 : Cohérence du modèle

2 Exemples : Quelques diagrammes
cas d'utilisation : acteur (intéragissant avec VEGA2) Système Message-1 Self -message Message-retour Message-2 Cas d’utilisation une fonctionnalité attendue du système 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).

3 Modèle Statique (rappels)
Diagramme de classes Diagramme d’objets

4 Gestion des commandes client (diagramme de classes 1)
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 0 .. * * Passe une> CalculMontant () ajout article modifier () paye Passe commande () paie commande (cmd) Ligne-Cmd quantité

5 Compaq tabletPC :article
diagramme de classes et d’objets : Gestion des commandes client 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 Compaq tabletPC :article
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)
article num date adresse livraison nom prénom adresse téléphone code postal code désignation prix-U rayon ss-rayon comporte> 1 Passe une> 0 .. * * 1 .. * CalculMontant () 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 la localisation des articles (très utile pour définir les tournées de constitution des commandes)

8 Faut il définir l’appartenance du sous rayon au rayon ??
Gestion des commandes client (diagramme de classes 2) Faut il définir l’appartenance du sous rayon au rayon ?? 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 Passe une> 0 .. * * 1 .. * CalculMontant () ajout article (art, qté) modifier () Paye () contient> 1 Sous rayon Rayon emplacement Implantation comporte Passe commande () paie commande (cmd) Ligne-Cmd Localisation () quantité * Les-Articles () Rôle dans l’association

9 Partage de propriétés et de comportements
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)
article code désignation prix-U rayon ss-rayon Implantation Nom emplacement comporte * Rayon Sous rayon Nom emplacement Rayon emplacement nom 1 contient> * Implantation 1

11 Quand peut on ajouter un article ? Etat des commandes ?
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 ? CalculMontant () 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équences

13 Diagramme d’états-Transition
Description des séquences possibles d’états et d’actions par lesquels 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 Forte analogie au GRAFCET

14 Diagramme d’état-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 lorsqu’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 do / préparer livraison
Diagramme d’état-transition de la classe « commande » commande état initial num date adresse livraison CalculMontant () ajout article (art, qté) 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 Pas de confirmation client après 1 mois Livrée do / attente paiement Payée état final

16 Une implémentation dans MS-Access
un attribut « Etat » de type « liste déroulante » dont le contenu correspond aux valeurs des états du diagramme

17 Une meilleure implémentation dans MS-Access

18 Une meilleure implémentation dans MS-Access

19 Diagramme d ’états-transitions
Diagramme d’état-transition Exemple société n° SIREN nom C.A. Implantation personne En activité do: travailler Etudiant Perte d ’emploi nom prénom age adresse téléphone code postal Plus de 65 ans est employée par> 0..1 * Fin de contrat A la retraite Embauche Stagiaire Plus de 65 ans Au chômage 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 : étudiant, stagiaire, en activité (CDD ou CDI), 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é.

20 Diagramme d’état-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’état-transition peuvent être imbriqués et hiérarchisés (temporalité ou point de vue). 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 éléments du cycle de fonctionnement

21 Diagramme de Séquences
Niveau 1 : diagramme de séquences fonctionnel = = interactions acteur(s) – système dans le cadre d’un use case Niveau 2 : diagramme de séquences technique = = interactions acteur – IHM - objets système ou objets système/ objets système dans le cadre d’un use case Pour chaque cas d’utilisation, un ou plusieurs scénario peut être détaillé 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.

22 Diagramme de Séquences (principes généraux)
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

23 Exemple de Diagramme Niveau 1
Diagramme de Séquences (principes généraux) Exemple de Diagramme Niveau 1 : Interface système 1 Utiliser : Introduire Carte Vérif Carte (carteID) 2 : Message Saisir Code Secret 3 : Taper Code secret Vérif Code (carteID, code) 4 : Message Code Bon Montant demandé ? 5 : Montant demandé (€) Vérif Solde (carteID, code, €€) 6 : Msg Transaction acceptée Retirer carte 7 Utiliser : Retirer Carte 9 : délivrer Argent

24 Diagramme de Séquences (principes généraux)
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)

25 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

26 Exemple de Diagramme Niveau 2
Diagramme de Séquences (principes généraux) Exemple de Diagramme Niveau 2 : Interface système 1 Utiliser : Introduire Carte Vérif Carte (carteID) 2 : Message Saisir Code Secret 3 : Taper Code secret Vérif Code (carteID, code) 4 : Message Code Bon Montant demandé ? 5 : Montant demandé (€) Vérif Solde (carteID, code, €€) 6 : Msg Transaction acceptée Retirer carte 7 Utiliser : Retirer Carte 9 : délivrer Argent

27 Exemple de Diagramme Niveau 2
Diagramme de Séquences (principes généraux) Exemple de Diagramme Niveau 2 : Interface système 1 Utiliser : Introduire Carte Vérif Carte (carteID) 2 : Message Saisir Code Secret 3 : Taper Code secret Vérif Code (carteID, code) 4 : Message Code Bon Montant demandé ? 5 : Montant demandé (€) Vérif Solde (carteID, code, €€) 6 : Msg Transaction acceptée Retirer carte 7 Utiliser : Retirer Carte 9 : délivrer Argent

28 Diagramme de Séquences – cohérence avec les diagramme de classes
Exemple de Diagramme Niveau 2 : Interface système 1 Utiliser : Introduire Carte Vérif Carte (carteID) 2 : Message Saisir Code Secret 3 : Taper Code secret Vérif Code (carteID, code) 4 : Message Code Bon Montant demandé ? 5 : Montant demandé (€) Vérif Solde (carteID, code, €€) 6 : Msg Transaction acceptée Retirer carte 7 Utiliser : Retirer Carte 9 : délivrer Argent

29 Les Interfaces Homme-Machine I.H.M.
sous Windows html étendus

30 Resp de production : supervision d’un process
ou visualisation des plannings de techniciens libres

31 En logistique, les interfaces carto

32 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

33 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

34 GENERALISATION Super-classe Véhicule Généralisation Spécialisation
Véhicule - tourisme Utilitaire 3T5 Semi-remorque COHERENCE Sous-classe

35 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

36 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 accès communs définis dans la classe « implantation »

37 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écursives

38 Exemple de diagramme de Classes Métier

39 UML cohérence des diagrammes
Use cases Diagramme d’état-transition Diagramme de séquences Diagramme de classes Interfaces Homme/Machine.

40

41 do / préparer livraison Pas de confirmation client après 1 mois
cas d'utilisation cas d'utilisation Acteur 1 article code désignation prix-U rayon ss-rayon * contient> 1 Sous rayon emplacement nom Implantation comporte Rayon Nom Display () Number-product cas d'utilisation Acteur 2 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 paiement effectué 10 ans après paiement Pas de confirmation client après 1 mois


Télécharger ppt "UML (2) aspect dynamique"

Présentations similaires


Annonces Google