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

Le Modèle Dynamique 1. EADS Matra Datavision - Confidentiel - 30.03.17.

Présentations similaires


Présentation au sujet: "Le Modèle Dynamique 1. EADS Matra Datavision - Confidentiel - 30.03.17."— Transcription de la présentation:

1 Le Modèle Dynamique 1. EADS Matra Datavision - Confidentiel

2 Le Modèle Dynamique : Plan du chapitre
Définition Message, événement Vue globale sur les interactions du système cas d’utilisation, scénario diagramme de séquence diagramme de collaboration Diagramme d'états Synthèse du modèle dynamique et du modèle objet Diagramme d ’activités 2. EADS Matra Datavision - Confidentiel

3 Le Modèle Dynamique : Définition
Décrit l'évolution au cours du temps du logiciel Description de la vie de chaque objet dans le temps Changement d'états des objets Modification des valeurs des attributs qui caractérise l'objet Modification des liens entre objets Montre le flux de contrôle dans le temps Séquences d'opérations à exécuter en réponse à des événements extérieurs Interactions dans le temps entre objets Envois de messages et réponses aux événements Appels d'opérations 3. EADS Matra Datavision - Confidentiel

4 Le Modèle Dynamique : Les diagrammes
Le modèle dynamique repose sur un ensemble de diagrammes Diagrammes de séquence ou Diagramme de collaboration pour chaque scénario Modéliser la collaboration de plusieurs objets dans un cas d ’utilisation (mais pas la définition de son comportement) Un diagramme d'états pour certaines classes Modéliser le comportement d ’un objet Les diagrammes d'états sont reliés par des événements "partagés" Diagrammes d ’activités pour la description des traitements ou les synoptiques de tâches (workflow) 4. EADS Matra Datavision - Confidentiel

5 Scénario : Définition Une séquence de messages qui correspond à une utilisation du système Les scénarios sont créés pour des cas d ’utilisation du système Les scénarios montrent comment est utilisé le système ce qu'il va faire en réaction à ces messages Eviter les alternatives (séquences conditionnelles) dans un scénario si besoin d'une alternative : faire plutôt deux scénarios 5. EADS Matra Datavision - Confidentiel

6 Exemples de scénarios Appel téléphonique
Scénario : le numéro appelé est occupé L'appelant décroche le téléphone L'appelant commence à composer le numéro L'appelant termine de composer le numéro La tonalité "occupée" commence à sonner L'appelant raccroche le téléphone Scénario : le numéro appelé n'est pas occupé L'appelant commence à taper le numéro L'appelant termine de taper le numéro Le téléphone commence à sonner L'appelé décroche La conversation se déroule L'appelé raccroche le téléphone 6. EADS Matra Datavision - Confidentiel

7 Diagramme de séquence Représentation graphique du scénario montrant
le séquencement des messages (opération, signal) entre objets dans le scénario Modéliser la collaboration de plusieurs objets dans un cas d ’utilisation (mais pas la définition de son comportement) Met en évidence les messages concurrents du scénario L ’envoie d ’un message est atomique insécable la durée de l ’envoie est considérée nulle comparée à la granularité de l ’interaction Un objet est représenté par sa ligne de vie une ligne de vie peut être la vue abstraite d ’un ensemble d ’objets 7. EADS Matra Datavision - Confidentiel

8 Diagramme de séquence: représentation
Un système téléphonique décrocher débuter tonalité composer chiffre(n) débuter tonalité sonnerie sonner arrêter tonalité ... arrêter tonalité sonnerie arrêter sonnerie appelant:Personne :Ligne appelé:Personne connecter raccrocher déconnecter ligne de vie temps L ’envoie d ’un message est toujours horizontal 8. EADS Matra Datavision - Confidentiel

9 obj1:C1 obj2:C2 obj4:C4 obj3:C3 obj5:C5
Période d ’activité. Permet de définir quel objet "à la main" créer mes3(w) mesA(z) [x>0] mes1(x) [x<=0] mes2 mes4 branchement récursion création destruction Met en évidence les processus parallèles 9. EADS Matra Datavision - Confidentiel

10 Définir les contraintes temporelles d'exécution
appelant:Personne :Ligne appelé:Personne {b - a < 1 sec.} signifie {b.receiveTime - a.sendTime < 1 sec.} a: décrocher b: débuter tonalité c: composer chiffre(n) arrêter tonalité {c - b < 10 sec.} composer chiffre(n) ... d: composer chiffre(n) L ’appel est « routé » à travers le réseau. {e - d < 5 sec.} e: débuter tonalité sonnerie sonner décrocher arrêter tonalité sonnerie arrêter sonnerie connecter connecter raccrocher déconnecter déconnecter raccrocher 10. EADS Matra Datavision - Confidentiel

11 Diagramme de séquence : options de présentation
Numérotation des messages Utilisé surtout quand il y a des activités concurrentes Message asynchrone Invocation d ’une procédure obj1:C1 obj2:C2 obj1 garde son activité après l ’envoie du message mes obj1:C1 obj2:C2 l ’activité passe de C1 à C2 jusqu ’à la terminaison de l ’activité de C2 mes 11. EADS Matra Datavision - Confidentiel

12 Message avec délai de propagation
quelque chose peut se produire (un message dans le sens opposé) Itération appelant:Personne :Ligne composer chiffre(n) router flèche oblique descendante débuter tonalité sonnerie obj1:C1 obj2:C2 mes condition d ’itération [x<10] 12. EADS Matra Datavision - Confidentiel

13 Exercice UML MD0 13. EADS Matra Datavision - Confidentiel

14 Diagramme de collaboration
Représenter du point de vue structurel et dynamique les objets impliqués dans la mise en oeuvre “d’un but” Modèle expliquant la coopération entre les objets utilisés pour la réalisation d’une opération ou d’un cas d’utilisation Contient Collaboration Contexte structurel des participants: objets, classes, liens, associations, attributs Interaction Séquence de messages échangés entre les objets Numérotés Informations de contrôle du diagramme de séquence sont applicables 14. EADS Matra Datavision - Confidentiel

15 Diagramme de collaboration:numérotation simple
objet :Passager message 1: appuyer() 2: mémoriser requête() réquisition pilote :Bouton étage :Contrôleur ascenseur 3: allumer() pilote pilote rôle 7: éteindre() lien 4: déplacer() 9: fermer() 8: ouvrir() 5: étage atteint() 6: immobiliser() séquencement :Ascenseur :Porte Collaboration en réponse à l ’appuie sur le bouton de réquisition d ’un ascenseur 15. EADS Matra Datavision - Confidentiel

16 Diagramme de collaboration: numérotation décimale
:Passager 1: appuyer() 1.1: mémoriser requête() variante de notation du rôle b/réquisition:Bouton étage ctrl/pilote:Contrôleur ascenseur 1.1.1: allumer() 1.1.4: éteindre() 1.1.2: déplacer() 1.1.6: fermer() 1.1.5: ouvrir() : étage atteint() 1.1.3: immobiliser() séquencement :Ascenseur :Porte 16. EADS Matra Datavision - Confidentiel

17 Diagramme de collaboration: objet multiple, valeur retournée
Ensemble d ’objets du coté 0..* d ’une association Montrer qu ’un message concerne tous les objets de l ’ensemble 1: punir() :Elève Instituteur Elève :Instituteur * valeur retournée 1: unServeur := trouver(specs) :Serveur :Client serveurs 2: traiter(requête) unServeur :Serveur 17. EADS Matra Datavision - Confidentiel

18 Diagramme de collaboration: objet actif
Objet possédant son propre flot de contrôle Peut initier des activités de contrôle Exemple: un processus ou une tâche Un objet passif encapsule des données mais ne peut initier un flot de contrôle objet actif {local} travail :Gestionnaire Usine tâcheCourante:PassageTâche travail le message « achevé » est envoyé lorsque les envois A2 et B2 ont été satisfaits :ProgrammeurUsine 1: débuter(travail) A2,B2 / 2: achevé(travail) :GestionnaireTâches 1 / B1: débuter(travail) B2: achevé 1 / A1: débuter(travail) A2: achevé Collaboration lors du processus de travail dans une usine :Robot :Four 18. EADS Matra Datavision - Confidentiel

19 Diagramme de collaboration: flot de messages
Envoi d ’un message d ’un objet à l ’autre Implémentation appel de procédure, signal entre threads actifs, l ’occurence d ’un événement Notation du type de flot appel de procédure ou imbrication : flot plat indiquant le séquencement - normalement asynchrone - : flot asynchrone; pour montrer explicitement l ’asynchronisme entre deux objets dans une séquence synchrone : 19. EADS Matra Datavision - Confidentiel

20 3: pression := calculer(température)
message simple 4: afficher(x, y) message imbriqué 1.2.1: afficher(x, y,z) message simple avec valeur retournée 3: pression := calculer(température) message conditionnel [âge >= 18ans] 2.1: voter() synchronisation avec d ’autres flots 4.A,B.6 / C.1: allumer() itération simple 1*: laver() itération avec clause d ’itération 1*[i:=1..n]: laver() envoi parallèle - diffusion - A2,A1 /1 *||[i:=1..n]: éteindre() 20. EADS Matra Datavision - Confidentiel

21 Diagramme de collaboration vs Diagramme de séquence
Emphase sur le séquencement : ordre évident des messages Simplicité Mais si ajout de conditions/alternatives/boucles perd sa lisibilité Collaboration Emphase sur la structure : indique comment les objets sont liés Lequel ? dépend du goût du développeur A propos des comportements conditionnels Intégrer les conditions dans le même diagramme ? ou Un diagramme séparé pour chaque conditions (chaque scénarios) ? Les diagrammes de séquence sont optimums quand le comportement est simple 21. EADS Matra Datavision - Confidentiel

22 Synthèse des messages Consolide l'ensemble des messages entre objets
Ne montre pas le séquencement Intègre tous les scénarios Synthèse des dépendances dynamiques entre objets. décrocher composer chiffre(n) raccrocher appelant:Personne :Ligne débuter tonalité arrêter tonalité débuter tonalité sonnerie arrêter tonalité sonnerie connecter débuter sonnerie occupée sonner arrêter sonnerie connecter déconnecter décrocher raccrocher appelé:Personne 22. EADS Matra Datavision - Confidentiel

23 Diagramme d'Etats Un diagramme d'états est associé à une classe
Il est valable pour tous les objets de cette classe toutes les instances se comporteront de la même façon Il contient tous les scénarios possibles dans lesquels la classe est considérée Un scénario correspond à un chemin dans un diagramme d'état 23. EADS Matra Datavision - Confidentiel

24 Exemple simple de diagramme d'états
Diagramme d'états d'un Menu Fantôme (popup) bouton droit enfoncé menu inactif menu visible déplacement curseur bouton droit levé 24. EADS Matra Datavision - Confidentiel

25 Evénement : Définition
Représente un moyen pour transmettre de l'information Se produit à un instant donné N'a pas de durée (par rapport à la durée de l'état) Peut être : Le déclenchement d'une action du système Un signal externe: l'envoi d'un message par un objet Une condition sur un ou plusieurs attributs 25. EADS Matra Datavision - Confidentiel

26 Evénement : Exemples Actions sur le système
"Sauvegarder", "Copier", "Coller" ... Signal externe "time-out", "bouton appuyé", "bouton levé"... Condition "Seuil dépassé", "valeur illégale"... Diagramme d'états d'un réveil-matin veille heure atteinte désactiver time-out alarme sommeil 26. EADS Matra Datavision - Confidentiel

27 Etat d'un objet Contexte pendant lequel l'objet est susceptible de traiter des événements reçus Un état est caractérisé par des valeurs d'attributs et/ou de liens Un objet répond ou non à un événement en fonction de son état Diagramme d'états d'une porte automatique Etat s'ouvrant porte ouverte bouton ouverture Etat initial fermée ouverte bouton ouverture bouton fermeture porte fermée se fermant 27. EADS Matra Datavision - Confidentiel

28 Transition entre états
Un événement est instantané, un état a une durée L'objet passe d'un état à un autre en réponse à un événement Diagramme d'états d'un Menu Fantôme (popup) menu inactif menu visible bouton droit enfoncé bouton droit levé déplacement curseur Evénement Transition quitter Etat final 28. EADS Matra Datavision - Confidentiel

29 Transition conditionnelle
Nord Sud Ouest Est Transition accompagnée d'une condition s'effectue si condition vraie time-out [N/S occupé] Axe Nord/Sud ouvert Nord/Sud gauche ouvert Feux N/S : Vert Flèches gauche N/S : Rouge Feux E/O : Rouge Flèches gauche E/O : Rouge Feux N/S : Rouge Flèches gauche N/S : Vert Feux E/O : Rouge Flèches gauche E/O : Rouge time-out [N/S libre] Diagramme d'états d'un système de feux de carrefour avec détection d'occupation time-out time-out Est/Ouest gauche ouvert time-out [E/O libre] Axe Est/Ouest ouvert Feux N/S : Rouge Flèches gauche N/S : Rouge Feux E/O : Rouge Flèches gauche E/O : Vert Feux N/S : Rouge Flèches gauche N/S : Rouge Feux E/O : Vert Flèches gauche E/O : Rouge time-out [E/O occupé] 29. EADS Matra Datavision - Confidentiel

30 entry/ positionnerDébut
Action Traitement instantané et non interruptible sa durée n'est pas significative Associée à un événement et exécutée lors de la transition (formalisme de Mealy issu de SA/RT) Associée à un état et exécutée en entrant ou en sortant afficherMenu est l'action qui s'exécute pendant cette transition positionnerDebut est l'action qui s'exécute en entrant dans cet état bouton droit enfoncé / afficherMenu menu inactif menu visible entry/ positionnerDébut bouton droit levé / effacerMenu déplacement curseur / positionnerItem 30. EADS Matra Datavision - Confidentiel

31 Activité Traitement de durée finie ou non
Interruptible par un événement Exécutée durant un état (formalisme de Moore issu de OOA de Shlaer/Mellor) Diagramme d'états d'une ligne téléphonique (partiel) Connexion en cours do/ trouverConnexion composition du numéro numéro valide connexion faite faireSonner est l'activité qui s'exécute pendant cet état sonnerie do/ faireSonner connecté l'appelé décroche 31. EADS Matra Datavision - Confidentiel

32 Diagramme d'états : notations
classe externe concernée par l'état de l'objet Agence Transporteur événement généré par l'activité événement généré pendant la transition envoyerHoraire réserverOption Proposition Réservation do/ imprimerContrat do/ trouverHoraire entry / débuterTrans exit / finirTrans proposer( horaire, trajet) [prix accepté] / emettreOption Evénement avec paramètres, condition et action Action en fin et en début d'état. Autre syntaxe possible : - proposer(horaire, trajet)[prix accepté] ^réserverOption : Transporteur / emettreOption Evénement avec paramètres, condition, événement généré et action Vue partielle d ’une borne interactive de réservation 32. EADS Matra Datavision - Confidentiel

33 Variables d'états Attributs manipulés dans un diagramme d'états
Leurs valeurs déterminent chaque état du diagramme Paramètres du diagramme d'états Les opérations (actions et activités) du diagramme d'états ont pour variables et arguments : Les variables d'états Les arguments des événements Axe Nord/Sud ouvert Description des états du système de feux de carrefour avec 4 variables d'état. Feux N/S : Vert Flèches gauche N/S : Rouge Feux E/O : Rouge Flèches gauche E/O : Rouge 33. EADS Matra Datavision - Confidentiel

34 Exercice UML/MD1 34. EADS Matra Datavision - Confidentiel

35 Diagramme d'états structuré : objectifs
Structurer les diagrammes d'états dans un système complexe Eviter l'explosion combinatoire des transitions Assemblage d'états Décomposition en sous-diagrammes Généralisation d'états regroupement des états au comportement commun, dans un super-état Possibilité d'y associer une généralisation d'événements. 35. EADS Matra Datavision - Confidentiel

36 Assemblage d'états Assemblage d'états ou diagrammes imbriqués
Structurer le diagramme en sous-diagrammes avec un minimum de communication entre eux A partir d'un diagramme de haut niveau, chaque état peut être redétaillé par un sous-diagramme Un sous-diagramme est nommé possède obligatoirement un état initial et un état final son événement de sortie est le seul visible à niveau supérieur. 36. EADS Matra Datavision - Confidentiel

37 Exemple d'un assemblage d'états
Diagramme d'états de niveau supérieur inactif décrocher composition Numéro numéro composé connexion Sous-Diagramme pour l'état composition Numéro composition Numéro nom du sous-diagramme Evénement généré [numéro valide] ^numéro composé tonalité do/jouer composer chiffre(n) do/ EnregisterNuméro entrée du sous-diagramme composer chiffre(n) 37. EADS Matra Datavision - Confidentiel

38 Généralisation d'états
Généralisation d'états en un super-état Généralisation d'états aux caractéristiques communes L'état de l'objet peut être l'un des sous-états du super-état Les sous-états héritent des transitions du super-état Un super-état peut avoir un état initial et/ou un état final 38. EADS Matra Datavision - Confidentiel

39 Exemple d'une généralisation d'états
Diagramme d'états d'une boîte de transmission automatique passer marche-arrière point-mort arrière passer point-mort passer point-mort passer marche-avant Transitions généralisées à tous les états dérivés Super-état "avant" avant plus plus première seconde troisième stop moins moins Transition généralisée Bilan des transitions généralisées passer marche-avant depuis l'état "point mort" fait transiter dans le super-état "avant", sous-état "première". stop fait transiter tous les sous-états de l'état "avant" dans le sous-état "première". passer point-mort fait transiter tous les sous-états de l'état "avant" dans l'état "point-mort" 39. EADS Matra Datavision - Confidentiel

40 Diagramme d'états et agrégat
L'état d'un objet agrégat est l'union des états de ses composants Les composants concurrents changent d'état indépendamment les uns des autres Diagramme d'états et agrégat de classes Un diagramme d'état pour un objet agrégat est l'ensemble des diagrammes d'états de ses composants Un état de l'objet assemblé est un assemblage d'états de ses "parties". Les états composants ne sont plus concurrents lorsqu'une transition s'exprime par une condition dépendante d'un autre composant Agrégat Voiture Relation d'agrégat du modèle objet Composant Transmission Allumage Accélération 40. EADS Matra Datavision - Confidentiel

41 Exemple d'un diagramme d'états assemblés
Un état de Voiture est composée d'un état de Accélération d'un état de Transmission d'un état d'allumage Accélération Off appuyée levée On Transmission passer marche-arrière Allumage point-mort arrière Off passer point-mort tourner clé [transmission au point mort] passer point-mort passer marche-avant avant tourner clé pour arrêter plus plus première seconde troisième On Démarrage stop moins moins lâcher clé 41. EADS Matra Datavision - Confidentiel

42 Diagramme d'état et généralisation de classe
Un diagramme d'états est hérité Héritage des états, des transitions, de la réponse aux événements Diagramme d'états supplémentaire d'une classe dérivée Utilisent des attributs différents de la super-classe Surcharge du diagramme d'états Permet d'exprimer une spécialisation par restriction 42. EADS Matra Datavision - Confidentiel

43 Diagramme d'états et concurrence intra-objet
Concurrence à l'intérieur d'un état d'un objet Divisions des attributs et des liens en sous-ensembles Chaque sous-ensemble a un comportement dynamique propre Un sous-diagramme d'états par sous-ensemble L'état de l'objet est composé d'un état de chaque sous-diagramme Un même événement peut provoquer des transitions dans plusieurs sous-diagrammes 43. EADS Matra Datavision - Confidentiel

44 Exemple d'un diagramme de concurrence intra-objet
Affichage de l'heure, de la température et de la température cible par un thermostat Un état du thermostat est composé des états 1) "affichage heure" ou "affichage température" 2) "affichage température cible" Les états 1 et 2 sont concurrents Sous-diagramme d'états Interface utilisateur d'un thermostat En fonctionnement 2 seconde do/ Afficher Heure do/ Afficher Température 2 seconde concurrence démarrer édition( température) / changerTempératureCible Affichage Température cible do/ Afficher Température cible 44. EADS Matra Datavision - Confidentiel

45 Synchronisation d'activités intra-objet concurrentes
Plusieurs événements sont pris en compte à partir d'un même état L'ordre d'arrivée de ces événements est quelconque (simultané ou séquentiel) Le changement d'état n'a lieu que lorsque tous les événements sont pris en compte L'objet doit avoir des activités simultanées Sous-diagramme d'états pour un Distributeur de monnaie Accordé Emission do/ émettre carte do/ émettre argent prêt do/ fermerPanneau carte prise argent pris ^fin finir Transaction synchronisation: la carte et l'argent doivent être pris pour activer fermerPanneau Les 2 activités sont concurrentes (donc indépendantes) 45. EADS Matra Datavision - Confidentiel

46 Synthèse du modèle dynamique et du modèle objet
Diagramme d'états = comportement des instances Actions et activités = opérations Transitions peuvent correspondre à des opérations Nom de l'événement = nom de l'opération Arguments de l'événement = signature Un diagramme d'états par classe Variables d'états = attributs ou liens 46. EADS Matra Datavision - Confidentiel

47 Synthèse entre modèle objet et modèle dynamique : Exemple
bouton droit enfoncé / afficher menu inactif menu visible entry / positionnerDébut bouton droit levé / effacer déplacement curseur / positionnerItem positionItem : integer actif : boolean afficher effacer positionnerDebut positionnerItem( dc : DeplacementCurseur) Menu Variables d'état Opérations du diagramme d'états 47. EADS Matra Datavision - Confidentiel

48 Exercice UML/MD2 48. EADS Matra Datavision - Confidentiel

49 Diagramme d ’activités: diagramme d ’états, traitement
Représenter l ’état de l ’exécution d ’un mécanisme déroulement d ’étapes regroupées séquentiellement dans des branches parallèles de flot de contrôle Diagramme d ’états particulier la majorité des états représentent un traitement la majorité des transitions sont tirées à la terminaison du traitement de l ’état source Traitement action traitement atomique; typiquement l ’invocation d ’une opération activité traitement qui a une durée constitué d ’un ensemble de traitements auxquels on peut associer un sous-diagramme d ’activités 49. EADS Matra Datavision - Confidentiel

50 Diagramme d ’activités:transitions, modèle
tirées par les événements suivants: terminaison du traitement de l ’état précédent, ou disposition d ’un objet dans un certain état, ou l ’occurence d ’un signal, ou la satisfaction d ’une condition Un modèle d ’activités peut décrire principalement un cas d ’utilisation, une opération mais aussi un acteur, un noeud, un paquetage une classe un composant 50. EADS Matra Datavision - Confidentiel

51 Personne::préparer boisson
chercher boisson [café non trouvé] [soda non trouvé] synchronisation: ouverture branche parallèle décision: plusieurs transitions possibles dépendantes de conditions [soda trouvé] [café trouvé] mettre café dans filtre ajouter eau dans réservoir prendre tasse prendre canette soda mettre filtre dans machine synchronisation : fusion branche parallèle - pas de transition interne - pas de transition de sortie étiquetée par un événement allumer cafetière filtrer café verser café boire Personne::préparer boisson au moins une transition de sortie sur la complétude de l ’activité 51. EADS Matra Datavision - Confidentiel

52 Diagramme d ’activités: classes
Couloir d ’activité Distribution des activités sur des classes montrer les différentes responsabilités au sein d ’un traitement ou d ’une organisation Dans le business modeling, correspond à des départements différents Client Service ventes Réserve demander service équivalent à la ligne de vie dans le diagramme de séquence prendre commande payer remplir commande livrer commande percevoir commande 52. EADS Matra Datavision - Confidentiel

53 Diagramme d ’activités: relation traitement et objet
Les activités s ’opèrent sur des objets ou par des objets objets responsables d ’un traitement objets dont les valeurs sont utilisées ou déterminées par le traitement Catégories d ’objets responsable d ’un traitement possède un couloir correspondant à sa ligne de vie chaque couloir représente un objet distinct flot objet en entrée ou sortie d ’un traitement en état fréquemment, le même objet est manipulé par plusieurs activités apparaît plusieurs fois: chaque apparition dénotant un point différent de sa vie 53. EADS Matra Datavision - Confidentiel

54 Diagramme d ’activités: exemple relation traitement et objet
Client Service ventes Réserve demander service objet flot :Commande [passée] objet en sortie état de l ’objet (notation aussi utilisable dans diagramme de collaboration) prendre commande :Commande [enregistrée] payer objet en entrée remplir commande :Commande [remplie] livrer commande :Commande [livrée] percevoir commande 54. EADS Matra Datavision - Confidentiel

55 Diagramme d ’activités: icônes de contrôle
Spécifier des informations sur les transitions Pas nécessaire mais peu aider allumer cafetière récepteur du signal signal envoyé :Cafetière allumée envoyeur du signal filtrer café signal reçu lumière éteinte verser café 55. EADS Matra Datavision - Confidentiel

56 Diagramme d ’activités: événement différé
Evénement différé pour utilisation ultérieure normalement un événement non capté est perdu Revient à avoir une transition interne qui capte l ’événement le met dans une file d ’attente jusqu’à ce qu ’il soit captable ou détruit Une liste d’événement à différer par état Si une transition dépend de cet événement est tirée immédiatement s’il est encore dans la file d ’attente Si plusieurs transitions sont possibles, le premier événement arrivé est prioritaire allumer cafetière verser café allumée lumière éteinte filtrer café lumière éteinte/ defer prendre tasse 56. EADS Matra Datavision - Confidentiel

57 Diagramme d ’activités: utilisation
Utile pour le workflow les traitements parallèles Interprétation dépend de la perspective Conception c ’est une tâche qui doit être faite (par un humain ou un ordinateur) Analyse/Implémentation c ’est une méthode de classe Permet de choisir l ’ordre des choses spécifier les règles de séquencement Business modeling encourage le parallélisme Concurrence spécifie graphiquement le thread courant et quand la synchronisation à lieu 57. EADS Matra Datavision - Confidentiel

58 Diagramme d ’activités: points forts et points faibles
Force Supporte et encourage le parallélisme bon outil pour le workflow et multithreading Faiblesse Ne fait pas le lien direct entre activités et objets Indique ce qu ’il se passe mais ne dit pas qui le fait le couloir de vie est là pour empêcher ça Quand Analyser un cas d ’utilisation comprendre les actions qui doivent être prises Etude du workflow entre cas d ’utilisation lorsque les cas d ’usage interagissent ensemble Gérer du multithreading 58. EADS Matra Datavision - Confidentiel

59 Diagramme d ’activités: points forts et points faibles
Ne pas utiliser pour Modéliser la collaboration entre les objets utiliser un diagramme d ’interaction (séquence ou collaboration) Modéliser comment un objet se comporte au cours de sa vie utiliser un diagramme d ’états 59. EADS Matra Datavision - Confidentiel


Télécharger ppt "Le Modèle Dynamique 1. EADS Matra Datavision - Confidentiel - 30.03.17."

Présentations similaires


Annonces Google