0
Upcoming SlideShare
×

# Diagramme d'activité en UML

27,451

Published on

Introduction aux diagrammes d'activité pour des étudiants en IUT

Published in: Education
1 Comment
4 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• bien clair je vous remercie

Are you sure you want to  Yes  No
Views
Total Views
27,451
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
521
1
Likes
4
Embeds 0
No embeds

No notes for slide
• \n
• \n
• \n
• \n
• \n
• \n
• \n
• PARLER D ACTIONS VERSUS ACTIVITES\n
• You start reading at the initial node, or in Figure 3.17 with the acceptance of the event passenger arrive sat check-in (1), and continue along the arrows of the control flow (2). The subsequent action passenger checks in(3) means that at this point the activity &amp;#x2018;passenger checks in&amp;#x2019; is processed. This is depicted in more detail in another activity diagram as is indicated by the &amp;#x2018;fork&amp;#x2019; in the action&amp;#xA0;symbol:\n\nIf you follow the control flow, next you will come to a conditional branch or decision node (4): if the check-in is OK the next step along the control flow can follow. Otherwise (5), the passenger cannot fly and the task of passenger services is completed. This can be seen at the black dot with border&amp;#x2014;the activity final&amp;#xA0;node.\n57\nAfter successful check-in (7) you come to a black cross bar. All arrows that come from this bar (7) symbolize flows that are processed simultaneously. While the luggage is being loaded onto the airplane (9) the passenger is boarding the airplane (10). Between point (8) and point (11) the flows are independent from one another. At the second cross bar (11) the simultaneously processed flows (9 and 10) are merged, meaning that only when the passenger is on the plane (10) and the luggage has been loaded onto the plane (9), does the control flow continue below the cross bar (11). In our example, one more action (12) and subsequent to that the final state(13) follow, meaning that after the passenger is on the plane (10) and the luggage has been loaded onto the plane (9), the airplane can taxi toward the runway (12). You can see here that the last action airplane taxis toward runway (12) is only defined as a single action, even though this process is very complex and could be described in many other activity diagrams. In our context, however, it is not important to describe this step in&amp;#xA0;detail.\n\nTaxis = verbe disant qu&amp;#x2019;il va vers la piste.\n\n
• The activity diagram in Figure 3.18 is divided into two partitions: passenger (1) and passenger services (2). The passenger, for instance, carries out showing ticket at check-in counter (3), checking luggage (4), and paying fee(i). All other actions are located in the partition (swim lane) of passenger services (2) and are carried out by passenger&amp;#xA0;services.\n
• \n
• \n
• \n
• Nous proposons ci-apr&amp;#xE8;s une classification pour dissocier clairement les objets propres au syst&amp;#xE8;me &amp;#xE0; mod&amp;#xE9;liser et les objets mat&amp;#xE9;riels ou r&amp;#xE9;els qu&amp;#x2019;il peut &amp;#xEA;tre int&amp;#xE9;ressant de faire appara&amp;#xEE;tre dans un workflow (diagramme d&amp;#x2019;activit&amp;#xE9;).\n\nPour notre proposition nous nous inspirons de l&amp;#x2019;exemple de la gestion commerciale pr&amp;#xE9;sent&amp;#xE9; en page 289 de [BRJ-00]. Nous avons ajout&amp;#xE9;, &amp;#xE0; notre syst&amp;#xE8;me, une responsabilit&amp;#xE9; &amp;#xAB;&amp;#xA0;Caisse&amp;#xA0;&amp;#xBB; qui traitera du paiement en liquide des clients. Ce premier diagramme ne montre volontairement que les activit&amp;#xE9;s pour bien fixer le cadre du workflow. \n\nPour &amp;#xE9;viter de surcharger notre mod&amp;#xE8;le, nous avons retir&amp;#xE9; les m&amp;#xE9;canismes de synchronisation et pour des questions de r&amp;#xE9;alisation du support de cours nous avons mis la responsabilit&amp;#xE9; &amp;#xAB;&amp;#xA0;Caisse&amp;#xA0;&amp;#xBB; &amp;#xE0; gauche de l&amp;#x2019;acteur externe &amp;#xAB;&amp;#xA0;Client&amp;#xA0;&amp;#xBB; alors que nous devrions la mettre &amp;#xE0; droite &amp;#xE9;galement.\n
• \n
• \n
• \n
• \n
• \n
• \n
• \n
• \n
• \n
• \n
• Nous proposons ci-apr&amp;#xE8;s une classification pour dissocier clairement les objets propres au syst&amp;#xE8;me &amp;#xE0; mod&amp;#xE9;liser et les objets mat&amp;#xE9;riels ou r&amp;#xE9;els qu&amp;#x2019;il peut &amp;#xEA;tre int&amp;#xE9;ressant de faire appara&amp;#xEE;tre dans un workflow (diagramme d&amp;#x2019;activit&amp;#xE9;).\n\nPour notre proposition nous nous inspirons de l&amp;#x2019;exemple de la gestion commerciale pr&amp;#xE9;sent&amp;#xE9; en page 289 de [BRJ-00]. Nous avons ajout&amp;#xE9;, &amp;#xE0; notre syst&amp;#xE8;me, une responsabilit&amp;#xE9; &amp;#xAB;&amp;#xA0;Caisse&amp;#xA0;&amp;#xBB; qui traitera du paiement en liquide des clients. Ce premier diagramme ne montre volontairement que les activit&amp;#xE9;s pour bien fixer le cadre du workflow. \n\nPour &amp;#xE9;viter de surcharger notre mod&amp;#xE8;le, nous avons retir&amp;#xE9; les m&amp;#xE9;canismes de synchronisation et pour des questions de r&amp;#xE9;alisation du support de cours nous avons mis la responsabilit&amp;#xE9; &amp;#xAB;&amp;#xA0;Caisse&amp;#xA0;&amp;#xBB; &amp;#xE0; gauche de l&amp;#x2019;acteur externe &amp;#xAB;&amp;#xA0;Client&amp;#xA0;&amp;#xBB; alors que nous devrions la mettre &amp;#xE0; droite &amp;#xE9;galement.\n
• Nous proposons ci-apr&amp;#xE8;s une classification pour dissocier clairement les objets propres au syst&amp;#xE8;me &amp;#xE0; mod&amp;#xE9;liser et les objets mat&amp;#xE9;riels ou r&amp;#xE9;els qu&amp;#x2019;il peut &amp;#xEA;tre int&amp;#xE9;ressant de faire appara&amp;#xEE;tre dans un workflow (diagramme d&amp;#x2019;activit&amp;#xE9;).\n\nPour notre proposition nous nous inspirons de l&amp;#x2019;exemple de la gestion commerciale pr&amp;#xE9;sent&amp;#xE9; en page 289 de [BRJ-00]. Nous avons ajout&amp;#xE9;, &amp;#xE0; notre syst&amp;#xE8;me, une responsabilit&amp;#xE9; &amp;#xAB;&amp;#xA0;Caisse&amp;#xA0;&amp;#xBB; qui traitera du paiement en liquide des clients. Ce premier diagramme ne montre volontairement que les activit&amp;#xE9;s pour bien fixer le cadre du workflow. \n\nPour &amp;#xE9;viter de surcharger notre mod&amp;#xE8;le, nous avons retir&amp;#xE9; les m&amp;#xE9;canismes de synchronisation et pour des questions de r&amp;#xE9;alisation du support de cours nous avons mis la responsabilit&amp;#xE9; &amp;#xAB;&amp;#xA0;Caisse&amp;#xA0;&amp;#xBB; &amp;#xE0; gauche de l&amp;#x2019;acteur externe &amp;#xAB;&amp;#xA0;Client&amp;#xA0;&amp;#xBB; alors que nous devrions la mettre &amp;#xE0; droite &amp;#xE9;galement.\n
• Nous proposons ci-apr&amp;#xE8;s une classification pour dissocier clairement les objets propres au syst&amp;#xE8;me &amp;#xE0; mod&amp;#xE9;liser et les objets mat&amp;#xE9;riels ou r&amp;#xE9;els qu&amp;#x2019;il peut &amp;#xEA;tre int&amp;#xE9;ressant de faire appara&amp;#xEE;tre dans un workflow (diagramme d&amp;#x2019;activit&amp;#xE9;).\n\nPour notre proposition nous nous inspirons de l&amp;#x2019;exemple de la gestion commerciale pr&amp;#xE9;sent&amp;#xE9; en page 289 de [BRJ-00]. Nous avons ajout&amp;#xE9;, &amp;#xE0; notre syst&amp;#xE8;me, une responsabilit&amp;#xE9; &amp;#xAB;&amp;#xA0;Caisse&amp;#xA0;&amp;#xBB; qui traitera du paiement en liquide des clients. Ce premier diagramme ne montre volontairement que les activit&amp;#xE9;s pour bien fixer le cadre du workflow. \n\nPour &amp;#xE9;viter de surcharger notre mod&amp;#xE8;le, nous avons retir&amp;#xE9; les m&amp;#xE9;canismes de synchronisation et pour des questions de r&amp;#xE9;alisation du support de cours nous avons mis la responsabilit&amp;#xE9; &amp;#xAB;&amp;#xA0;Caisse&amp;#xA0;&amp;#xBB; &amp;#xE0; gauche de l&amp;#x2019;acteur externe &amp;#xAB;&amp;#xA0;Client&amp;#xA0;&amp;#xBB; alors que nous devrions la mettre &amp;#xE0; droite &amp;#xE9;galement.\n
• Nous proposons ci-apr&amp;#xE8;s une classification pour dissocier clairement les objets propres au syst&amp;#xE8;me &amp;#xE0; mod&amp;#xE9;liser et les objets mat&amp;#xE9;riels ou r&amp;#xE9;els qu&amp;#x2019;il peut &amp;#xEA;tre int&amp;#xE9;ressant de faire appara&amp;#xEE;tre dans un workflow (diagramme d&amp;#x2019;activit&amp;#xE9;).\n\nPour notre proposition nous nous inspirons de l&amp;#x2019;exemple de la gestion commerciale pr&amp;#xE9;sent&amp;#xE9; en page 289 de [BRJ-00]. Nous avons ajout&amp;#xE9;, &amp;#xE0; notre syst&amp;#xE8;me, une responsabilit&amp;#xE9; &amp;#xAB;&amp;#xA0;Caisse&amp;#xA0;&amp;#xBB; qui traitera du paiement en liquide des clients. Ce premier diagramme ne montre volontairement que les activit&amp;#xE9;s pour bien fixer le cadre du workflow. \n\nPour &amp;#xE9;viter de surcharger notre mod&amp;#xE8;le, nous avons retir&amp;#xE9; les m&amp;#xE9;canismes de synchronisation et pour des questions de r&amp;#xE9;alisation du support de cours nous avons mis la responsabilit&amp;#xE9; &amp;#xAB;&amp;#xA0;Caisse&amp;#xA0;&amp;#xBB; &amp;#xE0; gauche de l&amp;#x2019;acteur externe &amp;#xAB;&amp;#xA0;Client&amp;#xA0;&amp;#xBB; alors que nous devrions la mettre &amp;#xE0; droite &amp;#xE9;galement.\n
• Nous proposons ci-apr&amp;#xE8;s une classification pour dissocier clairement les objets propres au syst&amp;#xE8;me &amp;#xE0; mod&amp;#xE9;liser et les objets mat&amp;#xE9;riels ou r&amp;#xE9;els qu&amp;#x2019;il peut &amp;#xEA;tre int&amp;#xE9;ressant de faire appara&amp;#xEE;tre dans un workflow (diagramme d&amp;#x2019;activit&amp;#xE9;).\n\nPour notre proposition nous nous inspirons de l&amp;#x2019;exemple de la gestion commerciale pr&amp;#xE9;sent&amp;#xE9; en page 289 de [BRJ-00]. Nous avons ajout&amp;#xE9;, &amp;#xE0; notre syst&amp;#xE8;me, une responsabilit&amp;#xE9; &amp;#xAB;&amp;#xA0;Caisse&amp;#xA0;&amp;#xBB; qui traitera du paiement en liquide des clients. Ce premier diagramme ne montre volontairement que les activit&amp;#xE9;s pour bien fixer le cadre du workflow. \n\nPour &amp;#xE9;viter de surcharger notre mod&amp;#xE8;le, nous avons retir&amp;#xE9; les m&amp;#xE9;canismes de synchronisation et pour des questions de r&amp;#xE9;alisation du support de cours nous avons mis la responsabilit&amp;#xE9; &amp;#xAB;&amp;#xA0;Caisse&amp;#xA0;&amp;#xBB; &amp;#xE0; gauche de l&amp;#x2019;acteur externe &amp;#xAB;&amp;#xA0;Client&amp;#xA0;&amp;#xBB; alors que nous devrions la mettre &amp;#xE0; droite &amp;#xE9;galement.\n
• \n
• \n
• pas de d&amp;#xE9;but pas de fin .. confusion entre plusieurs &amp;#xE9;v&amp;#xE8;nement ... pas n&amp;#xE9;cessaire de distinguer qui s&amp;#x2019;inscrit ... Absence de liens entre organise et cloture car evenement n&amp;#x2019;apparait pas comme un lien, pas de relation avec s&amp;#x2019;inscrire, ....Mauvaise notaion des gardes, \n
• \n
• \n
• \n
• \n
• \n
• ### Transcript of "Diagramme d'activité en UML"

1. 1. Plan Problèmes du développement logiciel Histoire brève jusqu’aux limites de la programmation structurée Du bidouillage au Génie logiciel Introduction à UML Un peu d’histoire Survol Présentation du Module : démarche générale03/11 1
2. 2. Diagramme d’activité Sur la base de :http://www.isys.ucl.ac.be/etudes/cours/geti2101/tutorialslides/GETI_2101_activity_diagrams.ppt et UML par la pratique Mireille Blay-Fornarino* IUT Nice-Sophia Antipolis blay@polytech.unice.fr http://www.polytech.unice.fr/~blay Site web du module : http://anubis.polytech.unice.fr/iut/ 2
3. 3. Le but du diagramme d’activité Diagramme d’activité est utilisé pour: Modéliser un workﬂow dans un use case ou entre plusieurs use cases. Spéciﬁer une opération (décrire la logique d’une opération) Le diagramme d’activité est le plus approprié pour modéliser la dynamique d’une tâche ou d’un processus métier.03/11 3
4. 4. Notion du diagramme d’activité Diagramme d’activité = Ensemble de noeuds Des actions (peut faire appel à une autre activité, attente et émission d’événements, Des contrôles (conditions, synchronisation, ...) Des objets (données) Départ et terminaison Transitions entre les noeuds Swimlanes ou Partitions: représentent le responsable des actions.03/11 4
5. 5. Notion du diagramme d’activité •Etat de départ •Etat de terminaison •Transition [ ] [ ] •Transition Alternative03/11 5
6. 6. Notion du diagramme d’activité Synchronisation disjonctive et conjonctive03/11 6
7. 7. Notion du diagramme d’activité Itération03/11 7
8. 8. Notion du diagramme d’activité Swimlanes/ Partitions03/11 8
9. 9. http://sourcemaking.com/uml/ modeling-business-systems/ external-view/activity-diagrams Savoir lire un D.A.03/11 9
10. 10. http://sourcemaking.com/uml/ modeling-business-systems/ external-view/activity-diagrams Savoir lire un D.A.03/11 9
11. 11. http://sourcemaking.com/uml/ modeling-business-systems/ external-view/activity-diagrams Savoir lire un D.A.03/11 10
12. 12. Construction un diagramme d’activité 1. Identiﬁez la portée (« scope ») du diagramme dactivité Commencez en identiﬁant ce que vous allez modéliser. Un seul use case? Une partie dun use case ? Un « workﬂow » qui inclut plusieurs use cases ? Une méthode de classe ? 2. Ajouter l’état de départ et de terminaison 3. Ajouter les actions Si vous modélisez un « workﬂow », introduisez une activité pour chaque processus principal, souvent un use case. Enﬁn, si vous modélisez une méthode, il est souvent nécessaire d’avoir une action pour chaque grand étape de la méthode. 4. Ajouter des transitions (séquentielles), des transitions alternatives (conditionnelles), des synchronisations entre des actions, des itérations. 5. Identiﬁer des partitions et répartir des actions identiﬁées dans ces partitions.03/11 11
13. 13. Exercice la recette de cuisine• Commencer par Casser le chocolat en morceaux, puis le faire fondre.• En parallèle, casser les oeufs en séparant les blancs des jaunes.• Quand le chocolat est fondu, ajouter les jaunes doeuf.• Battre les blancs en neige jusquà ce quils soient bien fermes.• Les incorporer délicatement à la préparation chocolat sans les briser.• Verser dans des ramequins individuels.• Mettre au frais au moins 3 heures au réfrigérateur avant de servir 12
14. 14. Exercice la recette de cuisineAction sur événement temporel 13
15. 15. Exercice la recette de cuisineAction sur événement temporel 14
16. 16. Exercice la recette de cuisineLe chef et son assistanttravaille à nous régaler....Qui fait quoi? Action sur événement temporel 15
17. 17. Partitions représentant les entités responsables des actions Exercice la recette de cuisineavec assistant visible 16
18. 18. Partitions représentant les entités responsables des actions Exercice la recette deQuels sont les ingrédients cuisinemanipulés? avec assistant visible 16
19. 19. Exercicela recette de cuisine etFlots d’objets Objets [état] 17
20. 20. Exercice la recette de cuisine et Flots d’objets Objets [état]Plusieurs ramequins? 17
21. 21. Exercice la recette de cuisine et Boucle d’expansion sur le remplissage Mélange des ramequinsramequin 18
22. 22. Exercice la recette de cuisine et Boucle d’expansion sur le remplissage Mélange des ramequins ramequinTous les jaunes sont-ilsbien séparés des blancs ? 18
23. 23. ExerciceEléments de l’itération la recette de cuisine et gestion des itérationsDécision fin de flot 19
24. 24. Et si le chocolat brûle ? ExerciceEléments de l’itération la recette de cuisine et gestion des itérationsDécision fin de flot 19
25. 25. Zone d’activité interruptible ExerciceEvénement la recette de cuisine et gestion des erreurs Récupération d’erreur 20
26. 26. Exercice: Commander un produit• Construire un diagramme d’activité pour modéliser le processus de commande d’un produit. Le processus concerne les acteurs suivants: – Client: qui commande un produit et qui paie la facture – Caisse: qui encaisse l’argent du client – Vente: qui s’occupe de traiter et de facturer la commande du client – Entrepôt: qui est responsable de sortir les articles et d’expédier la commande. 21
27. 27. Commander un Produit: Solution possible 22
28. 28. Commander un Produit: Solution possible Pendant que le service des ventes traite la commande, l’entrepôt se charge de l’expédition. La facture est envoyée au client indépendamment de l’expédition de la commande. 23
29. 29. Commander un Produit: Solution possible Pendant que le service des ventes traite la commande, l’entrepôt se charge de l’expédition. La facture est envoyée au client indépendamment de l’expédition de la commande.La facture doit être payée avantl’expédition au client 23
30. 30. Commander un Produit: Solution possible Pendant que le service des ventes traite la commande, l’entrepôt se charge de l’expédition. La facture est envoyée au client indépendamment de l’expédition de la commande.La facture doit être payée avantl’expédition au clientUne commande est close quelorsqu’elle a été expédiée. 23
31. 31. Commander un Produit: Solution possible Pendant que le service des ventes traite la commande, l’entrepôt se charge de l’expédition. La facture est envoyée au client indépendamment de l’expédition de la commande.La facture doit être payée avantl’expédition au clientUne commande est close quelorsqu’elle a été expédiée. Si la commande est urgente, elle est expédiée en collisimo. 23
32. 32. Commander un Produit: Solution possible Pendant que le service des ventes traite la commande, l’entrepôt se charge de l’expédition. La facture est envoyée au client indépendamment de l’expédition de la commande.La facture doit être payée avantl’expédition au clientUne commande est close quelorsqu’elle a été expédiée. Si la commande est urgente, ell est expédiée en collisimo. Une commande est close que si elle a été livrée. 24
33. 33. Connexion telnetDécrire la connexion dun client à un serveur telnet. On considère troisprotagonistes: le client, le démon telnet (i.e. le serveur logiciel) et lamachine serveur. Une fois la connexion établie entre le client et leserveur, le démon demande un mot de passe au client, ce dernier disposede trois tentatives avant que la connexion ne soit rompue. Les tentativesinfructueuses sont enregistrées dans un ﬁchier sur le serveur. Une foislidentiﬁcation faite, un terminal est ouvert et lutilisateur peut alors saisirdes commandes qui sont interprétées par le démon et exécutées sur leserveur. La commande exit déconnecte le client du serveur. http://www.nawouak.net/?doc=exercises.uml+ch=activity+lang=fr 25
34. 34. Connexion telnet 26http://www.nawouak.net/?doc=exercises.uml+ch=activity+lang=fr
35. 35. Trouver les erreurs ... 27
1. #### A particular slide catching your eye?

Clipping is a handy way to collect important slides you want to go back to later.