Vous êtes sur la page 1sur 20

Chapitre 6 : La modlisation des activits Squence 1 : Concepts de base

Introduction
Les activits sont utilises pour modliser les aspects dynamiques dun systme. Il s'agit de reprsenter les oprations d'un processus et leurs consquences sur les objets. La modlisation peut tre utilise pour dcrire par exemple le droulement d'un cas d'utilisation ou d'une

mthode.
Un diagramme dactivit est une forme particulire de diagramme dtat (state machine) dans lequel les tats reprsentent lexcution dactions ou de sous-activits, et dont les transitions sont dclenches par la fin de cette excution.

Les termes et les concepts


Les principales notions utilises sont les activits, les actions, les transitions et les objets. Les activits et les actions Dfinition 1 : Activit Une activit reprsente l'excution d'un traitement non atomique. Dfinition 2 : Action Une action reprsente l'excution d'un traitement atomique, cest dire non interruptible. Cette excution se traduit par un changement d'tat du systme ou le retour d'une valeur. Les actions correspondent l'appel d'une opration, l'envoi d'un signal, la cration ou la destruction d'un objet ou encore l'valuation d'une expression. Activit versus action Une activit est un traitement complexe et dcomposable en activits ou en actions. Une activit peut tre interrompue par un vnement. Elle peut faire l'objet d'une description par un diagramme d'activits. Une action est un traitement simple et non dcomposable. Elle ne peut pas tre interrompue. Dfinition 3 : tats d'action et tats d'activit L'excution dune action et dune activit est considre comme un tat du systme. Typologie des tats : Il existe plusieurs types dtats : tat initial tat final tat daction reprsente le dbut d'une excution reprsente la fin modlise l'excution d'une action

tat dactivit modlise l'excution d'une activit

Image-exemple1 : Diagramme dactivit dun distributeur de monnaie

Commentaires : 1) Il ny a pas de diffrence de notation entre les tats daction et les tats dactivits. Cependant un tat dactivit peut tre dcomposable en sous tats, spcifics par des sous automates (dcrits donc par un autre diagramme dactivit ou dtat), avec ou sans actions dentre et de sortie. Les transitions de sortie peuvent tre conditionnes par un vnement. Un tat daction est non dcomposable en sous automate; cest un tat, au sens gnral UML. avec une seule action (dentre), laction raliser. 2) Ltat daction et ltat dactivit ci-dessus appartiennent au diagramme dactivit correspondant au retrait dargent avec une carte bancaire un guichet automatique. 3) Ljection des billets, par exemple, est une action simple alors que la dtermination du montant de retrait peut tre dcompose comme ceci : le systme demande lutilisateur de saisir le montant de retrait lutilisateur saisit le montant le systme contrle le montant demand par rapport au solde hebdomadaire du compte de lutilisateur. Les transitions La modlisation des activits est centre sur leur excution ou leur droulement. On utilise notamment les transitions, la synchronisation et les branchements conditionnels pour modliser cette excution.

Dfinition 1 : Transition Lorsqu'une activit ou une action se termine, l'excution de l'activit ou de l'action suivante peut commencer. Le passage du flux de contrle d'une activit (ou une action) une autre activit (ou action) est spcifi par une transition. Lorsquune activit se termine, la transition est dclenche et lactivit suivante dmarre. Lvnement implicite associ une transition est l'vnement "fin dactivit". Une action ou une activit a au moins une transition de sortie correspondant la fin de son excution. Dfinition 2 : Transition avec condition de garde (ou branchement) Les transitions entre activits peuvent tre dclenches selon certaines conditions. Une transition est dclenche si la condition associe est satisfaite. Ces conditions permettent d'exprimer des chemins alternatifs dans le droulement. Il peut y avoir plusieurs transitions de sorties conditionnes chacune par une condition de garde . Les transitions sortantes peuvent aussi porter une action effectuer, action (atomique) dclenche la compltion de laction principale dcrite lorsque la condition de garde ventuelle est ralise.

crer mission

modifier mission [ > 1 heure avant dpart ] [ parcours incomplet ] estimer parcours

[ rserve entame ] [ pas d'anomalie ]

afficher rserve entame

valider mission

[ annulation ] [ dpart mission ]

imprimer bordereau

Dbranchement Jonction Les transitions simples et les transitions avec conditions sont les plus usuelles. Elles permettent de modliser des droulements squentiels. Il est cependant possible de modliser des flots de contrle parallle en utilisant le dbranchement et la jonction. Dfinition 1 : Dbranchement Un dbranchement comporte une seule transition entrante et plusieurs transitions sortantes. A partir dun dbranchement, toutes les transitions sortantes sont empruntes en parallle et il ny a pas dordre. Dfinition 2 : Jonction Une jonction comporte plusieurs transitions entrantes et une seule transition sortante. La transition sortante nest emprunte que lorsque toutes les activits entrantes sont termines. A tout dbranchement doit correspondre une (ou plusieurs ?) jonctions qui runit les activits des flots de contrle lances par celui-ci . Reprsentation On utilise le mme symbole pour reprsenter un dbranchement et une jonction. Ce symbole est la barre de synchronisation. Une barre de synchronisation permet douvrir et de fermer des branches parallles.

On peut trouver plusieurs transitions entrantes et sortantes. Dans ce cas, la barre de synchronisation joue la fois le rle de dbranchement et de jonction : Toutes les transitions sortantes sont empruntes (en parallle ) lorsque toutes les transitions entrantes sont termines. Remarque : il ny a pas dordre pour lexcution des activits situes entre deux jonctions. En consquence la reprsentation ci-dessous est incorrecte puisquil y a un ordre entre les deux activits Appuyer sur embrayage et Enclencher 1 re vitesse .

La notation
Les diagrammes dactivits permettent de reprsenter les activits et les flots de contrle entre les activits. Il existe plusieurs variantes des diagrammes dactivits : Les diagrammes dactivits avec traves Les diagrammes dactivits avec branchement Les diagrammes dactivits avec objets Les diagrammes dactivits avec niveaux dabstraction

Les diagrammes dactivit avec traves Les activits peuvent tre regroupes en traves pour montrer les diffrentes responsabilits au sein dune organisation, chaque activit est alloue une trave donne.

Illustration

Commentaires : Les activits montrent ce qui doit tre ralis mais elles ne montrent pas qui les ralise, ce que permettent au contraire dindiquer les traves. Chaque trave reprsente les responsabilits dune classe ou dun service particulier comme dans lexemple ci-dessus. Les traves sont intressantes car elles combinent la faon dont les diagrammes dactivits dcrivent la logique des traitements avec celle des diagrammes dinteraction qui reprsentent les responsabilits.

Les diagrammes dactivits avec branchements

Les diagrammes dactivits avec objets Il est possible de faire apparatre explicitement les objets dans un diagramme dactivits, soit au sein des traves dactivits, soit indpendamment de celles-ci.

Client

Ventes

Entrep t

Commander Produit

Traiter Commande Sortir articles c : Commande [En cours] Exp dier Commande

Recevoir Commande

Facturer Client

c : Commande [Trait e]

Payer Facture

f : Facture [due]

f : Facture [pay e]

Cl turer Commande

Commentaires : Comme le montre la figure prcdente, dans le workflow du traitement dune commande, le vocabulaire du domaine comporte galement des classes telles que Commande et Facture. Les instances de ces deux classes sont produites par certaines activits. Par exemple, lactivit Traiter Commande cre un objet Commande dans ltat en cours . Dautres activits peuvent modifier ces objets, par exemple, Expdier Commande change ltat de

lobjet Commande en trait . Diagrammes d'activits avec Niveaux dabstraction Un tat dactivit peut tre associ un diagramme dactivits ou tre dcompos en sousactivits. On ne peut reprsenter que le super tat dans le diagramme Parent (illustration 1), ou bien reprsenter le super tat et son comportement interne (illustration 2). Illustration 1

Recevoir Commande

Livraison
[ commande rapide] [ sinon ]

Pr parer Commande

Envoyer Facture

Livraison Express

Livraison Standard

Livraison

Recevoir Paiement

Cl turer Commande

Illustration 2

Si ces quatre modes de prsentation, qui apportent chacun un lment nouveau pour dcrire le systme ont t prsents successivement en tant que notations, il est bien vident quun diagramme peut tre une combinaison de plusieurs notations en mme temps. Cest dj le cas dans lexemple avec ajout des objets un diagramme en traves, dans la gestion de commandes. Du point de vue de la notation, il faut essentiellement tre attentif une chose : faire des diagrammes lisibles et pas trop chargs car alors ils ne jouent plus leur rle qui est de servir communiquer de linformation sur le systme. Cest une des raisons pour laquelle le sous diagramme de lactivit livraison serait plutt prsent suivant lillustration 1 plutt que 2.

Squence 2 : Contextes dutilisation


Objectifs : Savoir utiliser les diagrammes dactivits dans diffrents contextes Mots cls : Diagramme dactivits, cas dutilisation

Introduction
Les diagrammes dactivits sont utiliss pour modliser les aspects dynamiques dun systme, dun sous-systme, dune opration, dune classe ou dun cas dutilisation. Cette squence prsente trois exemples dutilisation de diagrammes dactivits : la modlisation de processus mtier, la description dun algorithme dopration et la description dun cas dutilisation.

Modlisation des processus


Les diagrammes dactivits sont trs utiles pour comprendre un processus mtier, lanalyser et ventuellement lamliorer. Cette reprsentation permet de mettre en vidence les communications, les collaborations et les coordinations. Les diffrentes variantes des diagrammes dactivits sont utiles pour montrer les responsabilits (diagrammes dactivits avec couloirs), pour visualiser les activits diffrents niveaux dabstraction ainsi que les flux entre acteurs. La modlisation des flots dobjet peut aussi tre intressante dans la reprsentation des processus. Illustration : Workflow du traitement dune commande Ce type dutilisation a du sens, particulirement dans la phase danalyse et de conception dun systme.

Description dalgorithme dopration


On peut aussi, utiliser un diagramme dactivits pour reprsenter une opration lorsque celle-ci est complexe et donc difficile comprendre si lon ne dispose que du code. Cette utilisation des diagrammes correspond la phase de conception ralisation et la descrption pourra ventuellement tre prise en compte dans les gnrateurs automatiques de code (Java, c++). Illustration : un diagramme dactivits qui reprsente lopration dintersection de deux lignes, cette opration est dfinie sur la classe Ligne .

[ pente = l.pente ] Retourner Point (0,0) sinon x = ( l.delta delta ) / ( pente l.pente );

y = (pente * x) + delta ;

Retourner Point (x,y)

Commentaires : Soient l, un paramtre de la classe Ligne et Point(x,y) une valeur de retour dune mthode la classe Point. Soient Pente et Delta, 2 attributs de Ligne. Delta reprsente le dplacement de la ligne par rapport lorigine. Lalgorithme vrifie si la pente de la ligne actuelle est la mme que la pente du paramtre l. Si cest le cas, les lignes ne se croisent pas et un Point de coordonnes (0,0) est fourni en retour. Sinon, Lopration calcule le point dintersection (x,y) fourni en retour.

Description de cas dutilisation


On peut galement lier les diagrammes dactivits aux cas dutilisation pour modliser lensemble des scnarios dun cas dutilisation Illustration On considre un cas dutilisation avec son scnario nominal, ses scnarios alternatifs et ses scnarios dexception Description du cas dutilisation

Titre : Rsum : banque,

Retirer de largent avec une carte Visa. ce cas dutilisation permet un porteur de carte Visa qui nest pas client de la

de retirer de largent, si son crdit hebdomadaire le permet. Acteurs : porteur de carte Visa et le systme dautorisation Visa. Pr-conditions : La carte du GAB est alimente Aucune carte bancaire ne se trouve dans le lecteur Scnario nominal : on spare les actions des acteurs et du systme en deux colonnes.

1. Le porteur de CB Visa introduit sa carte Visa 2. Le du Guichet Automatique de Banque (GAB) dans le lecteur de cartes Visa du Guichet vrifie que la carte introduite est bien une Visa. Automatique de Banque (GAB). 3. Le GAB demande au porteur de CB Visa de saisir son code didentification. 4. Le porteur de CB Visa saisit son code didentification. 5. Le GAB compare le code didentification avec celui qui est cod sur la puce de la carte. 6. Le GAB demande une autorisation au systme dautorisation Visa. 7. Le systme dautorisation Visa donne son accord et indique le solde hebdomadaire 9. Le porteur de CB Visa saisit le montant dsir du retrait. 8. Le GAB demande au porteur de CB Visa de saisir le montant dsir du retrait. 10. Le GAB contrle le montant demand par rapport au solde hebdomadaire. 11. Le GAB demande au porteur de CB Visa sil veut un ticket.

12. Le porteur de CB Visa demande un ticket. 14. Le porteur de CB Visa reprend sa carte. 16. Le porteur de CB Visa prend les billets et le ticket.

13. Le GAB rend sa carte au porteur de CB Visa. 15. Le GAB dlivre les billets et un ticket.

Enchanements alternatifs : A1 : code didentification provisoirement erron Lenchanement A dmarre au point 5 du scnario nominal. Le GAB indique au client que le code est erron, pour la premire ou deuxime fois. Le GAB enregistre lchec sur la carte. Le scnario nominal reprend au point 3. A2 : montant demand suprieur au solde hebdomadaire. Lenchanement A2 dmarre au point 10 du scnario nominal.

Le GAB indique au client que le montant demand est suprieur au solde hebdomadaire. Le scnario nominal reprend au point 3. A3 : ticket refus Lenchanement A3 dmarre au point 11 du scnario nominal. Le porteur de CB Visa refuse le ticket. Le GAB rend sa carte au porteur de CB Visa. Le porteur de CB Visa reprend sa carte. Le GAB dlivre les billets. Le porteur de CB Visa prend les billets.

Enchanements dexception : E1 : carte non-valide Lenchanement E1 dmarre au point 2 du scnario nominal. Le GAB indique au porteur que la carte nest pas valide (illisible, prime, etc.), la confisque ; Le cas dutilisation est termin. E2 : code didentification dfinitivement erron Lenchanement E2 dmarre au point 5 du scnario nominal . Le GAB indique au client que le code est erron, pour la troisime fois. Le GAB confisque la carte. Le systme dautorisation Visa est inform ; le cas dutilisation est termin. E3 : retrait non autoris Lenchanement E3 dmarre au point 6 du scnario nominal. Le systme dautorisation Visa interdit tout retrait. Le GAB jecte la carte : le cas dutilisation est termin. E4 : carte non reprise Lenchanement E4 dmarre au point 13 du scnario nominal. 14. Au bout de 15 secondes, le GAB confisque la carte. 15. Le systme dautorisation Visa est inform ; le cas dutilisation est termin. E5 : billets non pris Lenchanement E5 dmarre au point 15 du scnario nominal. 16. Au bout de 30 secondes, le GAB reprend les billets. Le systme dautorisation Visa est inform ; le cas dutilisation est termin.

Post-conditions La caisse du GAB contient moins de billets quau dbut du cas dutilisation (le nombre de billets manquants est fonction du montant du retrait). Le diagramme dactivit ci-dessous fournit la description du cas dutilisation avec ses diffrents scnarios.

Squence 3 : Exercices

Exercice 1 : Expression dun algorithme


Enonc : Soit lalgorithme du tri bulles : j :=1 Rpter BienRang :=vrai Pour i de 1 n-j faire Si t[i]>t[i+1] alors tmp :=t[i] t[i] :=t[i+1] t[i+1] :=tmp j:=j+1 Jusqu BienRang

Question : Dcrire cet algorithme par un diagramme dactivits

Exercice 2
Enonc : Recette de la mousse au chocolat Les ingrdients : 200 g de chocolat 100 g de beurre 4 ufs 4 cuillers soupe de sucre 1 cuillre soupe de caf fort ( facultatif ) La prparation : Battre les jaunes dufs avec le sucre jusqu ce quils blanchissent Faire fondre le chocolat au bain-marie dans une casserole Adjoindre le beurre au chocolat par petites quantits en mlangeant jusqu ce que le mlange soit bien lisse Ajouter en remuant bien le chocolat fondu la prparation Parfumer ventuellement la crme avec le caf Battre les blancs dufs en neige trs ferme

Incorporer dlicatement les blancs en neige la crme Laisser reposer le tout au moins deux heures au rfrigrateur Question : Raliser le diagramme dactivits de la prparation de la mousse au chocolat

Exercice 3
Enonc : Une entreprise souhaite modliser le processus de formation de ses employs afin que quelques-unes des tches de la gestion des formations soient informatises. Le processus de formation dmarre lorsque le responsable de la formation reoit une demande de formation de la part dun employ. Cette demande est traite par le responsable qui value ladquation de la demande avec la politique de formation de lentreprise et transmet son accord ou son dsaccord lintress. En cas daccord, le responsable recherche dans les catalogues des formations agres un stage qui correspond la demande. Il informe lemploy du contenu de la formation et lui propose une liste des prochaines sessions. Lorsque lemploy a fait son choix, le responsable formation inscrit le participant la session auprs de lorganisme de formation concern. Lemploy peut aussi ne pas donner suite car les propositions ne lui conviennent pas. Il peut alors rengocier avec le responsable formation pour mieux adapter la proposition. Cette ngociation na lieu quune seule fois par demande. En cas dempchement, lemploy doit informer le responsable de formation au plus tt pour annuler linscription ou la demande. A la fin de sa formation, lemploy doit remettre au responsable formation une apprciation sur le stage quil a effectu, ainsi quun document justificatif de sa prsence. Ce document lui est remis par le responsable formation lors de son inscription, il doit tre contresign par les formateurs lors du stage. Le responsable formation contrle par la suite la facture que lorganisme de formation lui a adresse avant de la transmettre au comptable qui la solde. Question 1: Dcrire la dynamique du processus de formation au moyen dun diagramme dactivits en utilisant les couloirs dactivits pour affecter les responsabilits aux acteurs et mettant en vidence les principaux objets changs et leur tat selon les tapes. Question 2 : Proposer une volution du systme dinformation o lessentiel des changes soit fait par lintranet de l entreprise en offrant aux employs davantage dautonomie dans le processus de choix par: - consultation par les employs des catalogues en ligne, - transmission des demandes par intranet en fournissant au responsable, les souhaits de contenu de formation et de stage ainsi quune priode prfrentielle, - transmission de laccord ou du refus par intranet, avec dfinition du stage accept. - confirmation ou refus par lemploy. En cas de ngociation complmentaire, celle-ci demeure une entrevue. - transmission intranet des documents de suivi de stage, des refus, absences ou impossibilits de prsence

Exercice 4
nonc : Systme de rservation de sjours touristiques dans une agence de voyages

Exercice 6 Deux processus de la gestion de restaurants scolaires


nonc : La gestion de la cantine dans une commune comportant plusieurs coles comporte au moins deux processus qui impliquent les familles. Processus dinscription Un enfant est inscrit dans le site correspondant lcole quil frquente en dbut danne scolaire, soit pour tous les jours, soit seulement certains jours. Si seul un de ses parent travaille, il peut tre inscrit au plus deux jours dcole non conscutifs par semaine (lundi - jeudi, ou mardi - vendredi).Ce calendrier de frquentation est tabli lors de linscription. Celle-ci na lieu quaprs tablissement du quotient familial qui conditionne la tarification. Un enfant peut aussi, aprs demande au service, tre inscrit de manire exceptionnelle selon les places disponibles pour une prsence en dehors des jours prvus au calendrier. Enfin, il peut tre absent un jour o il tait prvu au planning. Si le service est prvenu la veille avant 17h, le repas est annul et non factur, sinon il est d. Il faut donc prvoir un processus dadaptation des inscriptions et des prsences au jour le jour, par rponse tlphonique du service ou par interaction directe des parents grce une connexion Internet. On a besoin denregistrer lheure de dclaration dabsence. Processus de facturation La facturation est mensuelle et individuelle cependant les expditions de factures aux familles sont familiales. La facture est tablie en fonction des repas prvus et non annuls dans les dlais du mois prcdent. Le quotient familial appliqu est celui enregistr linscription sauf modification demande par les parents en cas dincident majeur (chmage) la carte ayant alors t modifie par le service social. Les factures des enfants, enregistrs comme appartenant une mme famille (mme adresse de facturation), sont dites squentiellement (par ge) et un document rcapitulatif est dit. Le tout est envoy aux parents. Ceux-ci peuvent payer en totalit ou demander en cas de ncessit des talements de payement sur 3 mois. Chaque payement qui arrive au service est enregistr, un rappel est envoy aprs un mois de retard. Le payement est familial. Question a) Modliser chacun de ces processus par deux diagrammes dactivit mettant en vidence les responsabilits des acteurs et les principaux flux de donnes entre les activits. b) Etudier le gain de lisibilit si lensemble des deux processus, qui est ce que les familles voient du systme de gestion de la restauration, est dcrit dans un seul diagramme en crant une activit

suivre la prsence au quotidien laquelle on affectera un sous-diagramme spcifique.

Exercice 7
nonc : Traitement dun dossier sinistre dans une compagnie dassurance

Exercice 8 : Transformation dun MCT MERISE en diagramme dactivits


Dfinir des rgles de correspondance entre le formalisme du diagramme dactivits UML et le formalisme du MCT Merise.