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

Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Présentations similaires


Présentation au sujet: "Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique."— Transcription de la présentation:

1 Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel Le Modèle Dynamique

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

3 Conseil, Services et Solutions pour lIndustrie 3. EADS Matra Datavision - Confidentiel Le Modèle Dynamique : Définition n Décrit l'évolution au cours du temps du logiciel u 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 n Montre le flux de contrôle dans le temps u Séquences d'opérations à exécuter en réponse à des événements extérieurs n Interactions dans le temps entre objets u Envois de messages et réponses aux événements u Appels d'opérations

4 Conseil, Services et Solutions pour lIndustrie 4. EADS Matra Datavision - Confidentiel Le Modèle Dynamique : Les diagrammes n Le modèle dynamique repose sur un ensemble de diagrammes u 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) u 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" u Diagrammes d activités pour la description des traitements ou les synoptiques de tâches (workflow)

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

6 Conseil, Services et Solutions pour lIndustrie 6. EADS Matra Datavision - Confidentiel Exemples de scénarios n Appel téléphonique u 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 u Scénario : le numéro appelé n'est pas occupé L'appelant décroche le téléphone 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

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

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

9 Conseil, Services et Solutions pour lIndustrie 9. EADS Matra Datavision - Confidentiel 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

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

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

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

13 Conseil, Services et Solutions pour lIndustrie 13. EADS Matra Datavision - Confidentiel Exercice n UML MD0

14 Conseil, Services et Solutions pour lIndustrie 14. EADS Matra Datavision - Confidentiel Diagramme de collaboration n Représenter du point de vue structurel et dynamique les objets impliqués dans la mise en oeuvre dun but u Modèle expliquant la coopération entre les objets utilisés pour la réalisation dune opération ou dun cas dutilisation n Contient u Collaboration Contexte structurel des participants: –objets, classes, liens, associations, attributs u Interaction Séquence de messages échangés entre les objets –Numérotés –Informations de contrôle du diagramme de séquence sont applicables

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

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

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

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

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

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

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

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

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

24 Conseil, Services et Solutions pour lIndustrie 24. EADS Matra Datavision - Confidentiel Exemple simple de diagramme d'états menu inactifmenu visible bouton droit enfoncé bouton droit levé déplacement curseur Diagramme d'états d'un Menu Fantôme (popup)

25 Conseil, Services et Solutions pour lIndustrie 25. EADS Matra Datavision - Confidentiel Evénement : Définition n Représente un moyen pour transmettre de l'information n Se produit à un instant donné n N'a pas de durée (par rapport à la durée de l'état) u 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

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

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

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

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

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

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

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

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

34 Conseil, Services et Solutions pour lIndustrie 34. EADS Matra Datavision - Confidentiel Exercice n UML/MD1

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

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

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

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

39 Conseil, Services et Solutions pour lIndustrie 39. EADS Matra Datavision - Confidentiel Exemple d'une généralisation d'états point-mort Diagramme d'états d'une boîte de transmission automatique arrière première seconde troisième stop avant plus moins passer point-mort passer marche-avant passer point-mort passer marche-arrière Super-état "avant" Transitions généralisées à tous les états dérivés plus 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"

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

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

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

43 Conseil, Services et Solutions pour lIndustrie 43. EADS Matra Datavision - Confidentiel Diagramme d'états et concurrence intra-objet n Concurrence à l'intérieur d'un état d'un objet u 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 u L'état de l'objet est composé d'un état de chaque sous-diagramme u Un même événement peut provoquer des transitions dans plusieurs sous-diagrammes

44 Conseil, Services et Solutions pour lIndustrie 44. EADS Matra Datavision - Confidentiel Exemple d'un diagramme de concurrence intra-objet u 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 concurrence démarrer do/ Afficher Heure do/ Afficher Température 2 seconde Affichage Température cible do/ Afficher Température cible édition( température) / changerTempératureCible Sous-diagramme d'états Interface utilisateur d'un thermostat En fonctionnement

45 Conseil, Services et Solutions pour lIndustrie 45. EADS Matra Datavision - Confidentiel Synchronisation d'activités intra-objet concurrentes n Plusieurs événements sont pris en compte à partir d'un même état u L'ordre d'arrivée de ces événements est quelconque (simultané ou séquentiel) n Le changement d'état n'a lieu que lorsque tous les événements sont pris en compte n 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)

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

47 Conseil, Services et Solutions pour lIndustrie 47. EADS Matra Datavision - Confidentiel Synthèse entre modèle objet et modèle dynamique : Exemple menu inactif menu visible entry / positionnerDébut bouton droit enfoncé / afficher 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

48 Conseil, Services et Solutions pour lIndustrie 48. EADS Matra Datavision - Confidentiel Exercice n UML/MD2

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

50 Conseil, Services et Solutions pour lIndustrie 50. EADS Matra Datavision - Confidentiel Diagramme d activités:transitions, modèle n Transitions u 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 n Un modèle d activités peut décrire u principalement un cas d utilisation, une opération u mais aussi un acteur, un noeud, un paquetage une classe un composant

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

52 Conseil, Services et Solutions pour lIndustrie 52. EADS Matra Datavision - Confidentiel Diagramme d activités: classes n Couloir d activité u Distribution des activités sur des classes montrer les différentes responsabilités au sein d un traitement ou d une organisation u Dans le business modeling, correspond à des départements différents demander servicepayerprendre commanderemplir commandelivrer commandepercevoir commande RéserveService ventes Client équivalent à la ligne de vie dans le diagramme de séquence

53 Conseil, Services et Solutions pour lIndustrie 53. EADS Matra Datavision - Confidentiel Diagramme d activités: relation traitement et objet n Les activités s opèrent sur des objets ou par des objets u objets responsables d un traitement u objets dont les valeurs sont utilisées ou déterminées par le traitement n Catégories d objets u responsable d un traitement possède un couloir correspondant à sa ligne de vie chaque couloir représente un objet distinct u flot objet en entrée ou sortie d un traitement u 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

54 Conseil, Services et Solutions pour lIndustrie 54. EADS Matra Datavision - Confidentiel Diagramme d activités: exemple relation traitement et objet demander servicepayerprendre commanderemplir commandelivrer commandepercevoir commande RéserveService ventesClient :Commande [passée] :Commande [enregistrée] :Commande [remplie] :Commande [livrée] objet flot objet en sortie objet en entrée état de l objet (notation aussi utilisable dans diagramme de collaboration)

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

56 Conseil, Services et Solutions pour lIndustrie 56. EADS Matra Datavision - Confidentiel Diagramme d activités: événement différé n Evénement différé pour utilisation ultérieure u normalement un événement non capté est perdu n Revient à avoir une transition interne qui capte l événement u le met dans une file d attente jusquà ce qu il soit captable ou détruit n Une liste dévénement à différer par état n Si une transition dépend de cet événement u est tirée immédiatement sil est encore dans la file d attente n 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 lumière éteinte/ defer

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

58 Conseil, Services et Solutions pour lIndustrie 58. EADS Matra Datavision - Confidentiel Diagramme d activités: points forts et points faibles n Force u Supporte et encourage le parallélisme bon outil pour le workflow et multithreading n Faiblesse u 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 n Quand u Analyser un cas d utilisation comprendre les actions qui doivent être prises u Etude du workflow entre cas d utilisation lorsque les cas d usage interagissent ensemble u Gérer du multithreading

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


Télécharger ppt "Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique."

Présentations similaires


Annonces Google