Professional Documents
Culture Documents
Accueil ALM Java .NET Dv.Web EDI Programmation SGBD Office Solutionsd'entreprise
UML2
Del'apprentissagelapratique
Tabledesmatires
6.Chapitre6Diagrammed'activits(Activitydiagram)
61.Introductionauformalisme
611.Prsentation
Lesdiagrammesd'activitspermettentdemettrel'accentsurlestraitements.Ilssontdonc
particulirementadaptslamodlisationducheminementdeflotsdecontrleetdeflotsde
donnes.Ilspermettentainsidereprsentergraphiquementlecomportementd'unemthodeou
ledroulementd'uncasd'utilisation.
Lesdiagrammesd'activitssontrelativementprochesdesdiagrammesd'tatstransitionsdans
leurprsentation,maisleurinterprtationestsensiblementdiffrente.Lesdiagrammesd'tats
transitionssontorientsversdessystmesractifs,maisilsnedonnentpasunevision
satisfaisanted'untraitementfaisantintervenirplusieursclasseursetdoiventtrecomplts,par
exemple,pardesdiagrammesdesquence.Aucontraire,lesdiagrammesd'activitsnesont
passpcifiquementrattachsunclasseurparticulier.Onpeutattacherundiagramme
d'activitsn'importequellmentdemodlisationafindevisualiser,spcifier,construireou
documenterlecomportementdecetlment.
Ladiffrenceprincipaleentrelesdiagrammesd'interactionetlesdiagrammesd'activitsestque
lespremiersmettentl'accentsurleflotdecontrled'unobjetl'autre,tandisquelesseconds
insistentsurleflotdecontrled'uneactivitl'autre.
612.Utilisationcourante
Danslaphasedeconception,lesdiagrammesd'activitssontparticulirementadaptsla
descriptiondescasd'utilisation.Plusprcisment,ilsviennentillustreretconsoliderla
descriptiontextuelledescasd'utilisation(cf.section2.5.3Descriptiontextuelledescas
d'utilisation).Deplus,leurreprsentationsousformed'organigrammeslesrendfacilement
intelligiblesetbeaucoupplusaccessiblesquelesdiagrammesd'tatstransitions.Onparle
gnralementdanscecasdemodlisationdeworkflow.Onseconcentreicisurlesactivits
tellesquelesvoientlesacteursquicollaborentaveclesystmedanslecadred'unprocessus
http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites 1/12
7/27/2017 UML 2 - de l'apprentissage la pratique
mtier.Lamodlisationduflotd'objetsestsouventimportantedanscetyped'utilisationdes
diagrammesd'activits.
Lesdiagrammesd'activitspermettentdespcifierdestraitementsapriorisquentielset
offrentunevisiontrsprochedecelledeslangagesdeprogrammationimpratifscommeC++
ouJava.Ainsi,ilspeuventtreutilesdanslaphasederalisation,carilspermettentune
descriptionsiprcisedesoprationsqu'elleautoriselagnrationautomatiqueducode.La
modlisationd'uneoprationpeuttoutefoistreassimileuneutilisationd'UMLcomme
langagedeprogrammationvisuelle,cequin'estpassafinalit.Ilnefautdoncpasyavoir
recoursdemaniresystmatique,maislarserverdesoprationsdontlecomportementest
complexeousensible.
62.ActivitetTransition
621.Action(action)
UneactionestlepluspetittraitementquipuissetreexprimenUML.Uneactionaune
incidencesurl'tatdusystmeouenextraituneinformation.Lesactionssontdestapes
discrtespartirdesquellesseconstruisentlescomportements.Lanotiond'actionest
rapprocherdelanotiond'instructionlmentaired'unlangagedeprogrammation(commeC++
ouJava).Uneactionpeuttre,parexemple:
uneaffectationdevaleurdesattributs
unaccslavaleurd'unepropritstructurelle(attributouterminaisond'association)
lacrationd'unnouvelobjetoulien
uncalcularithmtiquesimple
l'missiond'unsignal
larceptiond'unsignal
Nousdcrivonscidessouslestypesd'actionslespluscourantsprdfinisdanslanotation
UML.
Actionappeler(calloperation)
L'actioncalloperationcorrespondl'invocationd'uneoprationsurunobjetdemanire
synchroneouasynchrone.Lorsquel'actionestexcute,lesparamtressonttransmis
l'objetcible.Sil'appelestasynchrone,l'actionesttermineetlesventuellesvaleursde
retourserontignores.Sil'appelestsynchrone,l'appelantestbloqupendantl'excution
del'oprationet,lecaschant,lesvaleursderetourpourronttrerceptionnes.
Actioncomportement(callbehavior)
L'actioncallbehaviorestunevariantedel'actioncalloperationcarelleinvoque
directementuneactivitpluttqu'uneopration.
Actionenvoyer(send)
Cetteactioncreunmessageetletransmetunobjetcible,oellepeutdclencherun
comportement.Ils'agitd'unappelasynchrone(i.e.quinebloquepasl'objetappelant)
bienadaptl'envoidesignaux(sendsignal).
Actionacceptervnement(acceptevent)
L'excutiondecetteactionbloquel'excutionencoursjusqu'larceptiondutype
d'vnementspcifi,quignralementestunsignal.Cetteactionestutilisepourla
rceptiondesignauxasynchrones.
Actionaccepterappel(acceptcall)
Ils'agitd'unevariantedel'actionaccepteventpourlesappelssynchrones.
Actionrpondre(reply)
Cetteactionpermetdetransmettreunmessageenrponselarceptiond'uneactionde
typeacceptcall.
http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites 2/12
7/27/2017 UML 2 - de l'apprentissage la pratique
Actioncrer(create)
Cetteactionpermetd'instancierunobjet.
Actiondtruire(destroy)
Cetteactionpermetdedtruireunobjet.
Actionleverexception(raiseexception)
Cetteactionpermetdeleverexplicitementuneexception.
Graphiquement,lesactionsapparaissentdansdesnudsd'action,dcritssection6.3.1Nud
d'action.
622.Activit(activity)
Uneactivitdfinituncomportementdcritparunsquencementorganisd'unitsdontles
lmentssimplessontlesactions.Leflotd'excutionestmodlispardesnudsrelispardes
arcs(transitions).Leflotdecontrlerestedansl'activitjusqu'cequelestraitementssoient
termins.
Uneactivitestuncomportement(behaviorenanglais)etcetitrepeuttreassociedes
paramtres.
623.Grouped'activits(activitygroup)
Unestuneactivitregroupantdesnudsetdesarcs.Lesnudsetlesarcspeuventappartenir
plusd'ungroupe.Undiagrammed'activitsestluimmeungrouped'activits(cf.figure6.2).
624.Nudd'activit(activitynode)
Figure6.1:Reprsentationgraphiquedesnudsd'activit.Delagaucheversla
droite,ontrouve:lenudreprsentantuneaction,quiestunevaritdenud
excutable,unnudobjet,unnuddedcisionoudefusion,unnudde
bifurcationoud'union,unnudinitial,unnudfinaletunnudfinaldeflot.
http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites 3/12
7/27/2017 UML 2 - de l'apprentissage la pratique
Figure6.2:Exempledediagrammed'activitsmodlisantlefonctionnementd'une
bornebancaire.
Unnudd'activitestuntyped'lmentabstraitpermettantdereprsenterlestapeslelong
duflotd'uneactivit.Ilexistetroisfamillesdenudsd'activits:
lesnudsd'excutions(executablenodeenanglais)
lesnudsobjets(objectnodeenanglais)
etlesnudsdecontrle(controlnodesenanglais).
Lafigure6.1reprsentelesdiffrentstypesdenudsd'activit.Lafigure6.2montrecomment
certainsdecesnudssontutilisspourformerundiagrammed'activits.
625.Transition
Figure6.3:Reprsentationgraphiqued'unetransition.
Lepassaged'uneactivitversuneautreestmatrialisparunetransition.Graphiquementles
transitionssontreprsentespardesflchesentraitspleinsquiconnectentlesactivitsentre
elles(figure6.3).Ellessontdclenchesdsquel'activitsourceesttermineetprovoquent
automatiquementetimmdiatementledbutdelaprochaineactivitdclencher(l'activit
cible).Contrairementauxactivits,lestransitionssontfranchiesdemanireatomique,en
principesansdureperceptible.
Lestransitionsspcifientl'enchanementdestraitementsetdfinissentleflotdecontrle.
63.Nudexcutable(executablenode)
Unnudexcutableestunnudd'activitqu'onpeutexcuter(i.e.uneactivit).Ilpossdeun
gestionnaired'exceptionsquipeutcapturerlesexceptionslevesparlenud,ouundeses
nudsimbriqus.
631.Nudd'action
http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites 4/12
7/27/2017 UML 2 - de l'apprentissage la pratique
Figure6.4:Reprsentationgraphiqued'unnudd'action.
Unnudd'actionestunnudd'activitexcutablequiconstituel'unitfondamentalede
fonctionnalitexcutabledansuneactivit.L'excutiond'uneactionreprsenteune
transformationouuncalculquelconquedanslesystmemodlis.Lesactionssont
gnralementliesdesoprationsquisontdirectementinvoques.Unnudd'actiondoit
avoiraumoinsunarcentrant.
Graphiquement,unnudd'actionestreprsentparunrectangleauxcoinsarrondis(figure
6.4)quicontientsadescriptiontextuelle.Cettedescriptiontextuellepeutallerd'unsimplenom
unesuited'actionsralisesparl'activit.UMLn'imposeaucunesyntaxepourcette
descriptiontextuelle,onpeutdoncutiliserunesyntaxeprochedecelled'unlangagede
programmationparticulieroudupseudocode.
Figure6.5:Reprsentationparticuliredesnoudsd'actiondecommunication.
Certainesactionsdecommunicationontunenotationspciale(cf.figure6.5).
632.Nudd'activitstructure(structuredactivitynode)
Unnudd'activitstructureestunnudd'activitexcutablequireprsenteuneportion
structured'uneactivitdonnequin'estpartageavecaucunautrenudstructur,
l'exceptiond'uneimbricationventuelle.
Lestransitionsd'uneactivitstructuredoiventavoirleursnudssourceetcibledanslemme
nudd'activitstructure.Lesnudsetlesarcscontenusparnudd'activitstructurne
peuventpastrecontenusdansunautrenudd'activitstructur.
Unnudstructurestdnotparlestrotypestructuredetidentifiparunnomunique
dcrivantlecomportementmodlisdansl'activitstructure.
Graphiquement,lecontourd'unnudd'activitstructureestenpointill.Unelignehorizontale
entraitcontinusparelecompartimentcontenantlestrotypestructuredetlenomde
l'activitstructureducorpsdel'activitstructure.
64.Nuddecontrle(controlnode)
http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites 5/12
7/27/2017 UML 2 - de l'apprentissage la pratique
Figure6.6:Exempledediagrammed'activitillustrantl'utilisationdenudsde
contrle.Cediagrammedcritlapriseencompted'unecommande.
Unnuddecontrleestunnudd'activitabstraitutilispourcoordonnerlesflotsentreles
nudsd'uneactivit.
Ilexisteplusieurstypesdenudsdecontrle:
nudinitial(initialnodeenanglais)
nuddefind'activit(finalnodeenanglais)
nuddefindeflot(flowfinalenanglais)
nuddedcision(decisionnodeenanglais)
nuddefusion(mergenodeenanglais)
nuddebifurcation(forknodeenanglais)
nudd'union(joinnodeenanglais).
Lafigure6.6illustrel'utilisationdecesnudsdecontrle.
641.Nudinitial
Unnudinitialestunnuddecontrlepartirduquelleflotdbutelorsquel'activit
enveloppanteestinvoque.Uneactivitpeutavoirplusieursnudsinitiaux.Unnudinitial
possdeunarcsortantetpasd'arcentrant.
Graphiquement,unnudinitialestreprsentparunpetitcercleplein(cf.figure6.6).
642.Nudfinal
Unnudfinalestunnuddecontrlepossdantunouplusieursarcsentrantsetaucunarc
sortant.
642a.Nuddefind'activit
Lorsquel'undesarcsd'unnuddefind'activitestactiv(i.e.lorsqu'unflotd'excutionatteint
unnuddefind'activit),l'excutiondel'activitenveloppantes'achveettoutnudouflot
actifauseindel'activitenveloppanteestabandonn.Sil'activitatinvoqueparunappel
synchrone,unmessage(reply)contenantlesvaleurssortantesesttransmisenretour
l'appelant.
Graphiquement,unnuddefind'activitestreprsentparuncerclevidecontenantunpetit
cercleplein(cf.figure6.6).
642b.Nuddefindeflot
http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites 6/12
7/27/2017 UML 2 - de l'apprentissage la pratique
Lorsqu'unflotd'excutionatteintunnuddefindeflot,leflotenquestionesttermin,mais
cettefindeflotn'aaucuneincidencesurlesautresflotsactifsdel'activitenveloppante.
Graphiquement,unnuddefindeflotestreprsentparuncerclevidebarrd'unX.
Lesnudsdefindeflotsontparticuliersetutiliseravecparcimonie.Dansl'exempledela
figure6.6,lenuddefindeflotn'estpasindispensable:onpeutleremplacerparunnud
d'unionpossdantunetransitionversunnuddefind'activit.
643.Nuddedcisionetdefusion
643a.Nuddedcision(decisionnode)
Unnuddedcisionestunnuddecontrlequipermetdefaireunchoixentreplusieursflots
sortants.Ilpossdeunarcentrantetplusieursarcssortants.Cesdernierssontgnralement
accompagnsdeconditionsdegardepourconditionnerlechoix.Si,quandlenuddedcision
estatteint,aucunarcenavaln'estfranchissable(i.e.aucuneconditiondegarden'estvraie),
c'estquelemodleestmalform.L'utilisationd'unegarde[else]estrecommandeaprsun
nuddedcision,carellegarantitunmodlebienform.Eneffet,laconditiondegarde[else]
estvalidesietseulementsitouteslesautresgardesdestransitionsayantlammesourcesont
fausses.Danslecasoplusieursarcssontfranchissables(i.e.plusieursconditionsdegarde
sontvraies),seull'und'entreeuxestretenuetcechoixestnondterministe.
Graphiquement,onreprsenteunnuddedcisionparunlosange(cf.figure6.6).
643b.Nuddefusion(mergenode)
Unnuddefusionestunnuddecontrlequirassembleplusieursflotsalternatifsentrantsen
unseulflotsortant.Iln'estpasutilispoursynchroniserdesflotsconcurrents(c'estlerledu
nudd'union),maispouraccepterunflotparmiplusieurs.
Graphiquement,onreprsenteunnuddefusion,commeunnuddedcision,parunlosange
(cf.figure6.6).
Graphiquement,ilestpossibledefusionnerunnuddefusionetunnuddedcision,etdonc
d'avoirunlosangepossdantplusieursarcsentrantsetsortants.Ilestgalementpossiblede
fusionnerunnuddedcisionoudefusionavecunautrenud,commeunnuddefindeflot
surlafigure6.6,ouavecuneactivit.Cependant,pourmieuxmettreenvidenceun
branchementconditionnel,ilestprfrabled'utiliserunnuddedcision(losange).
644.Nuddebifurcationetd'union
644a.Nuddebifurcationoudedbranchement(forknode)
Unnuddebifurcation,galementappelnuddedbranchementestunnuddecontrle
quispareunflotenplusieursflotsconcurrents.Untelnudpossdedoncunarcentrantet
plusieursarcssortants.Onappariegnralementunnuddebifurcationavecunnudd'union
pourquilibrerlaconcurrence(cf.figure6.2).
Graphiquement,onreprsenteunnuddebifurcationparuntraitplein(cf.figure6.6).
644b.Nudd'unionoudejointure(joinnode)
Unnudd'union,galementappelnuddejointureestunnuddecontrlequisynchronise
desflotsmultiples.Untelnudpossdedoncplusieursarcsentrantsetunseularcsortant.
Lorsquetouslesarcsentrantssontactivs,l'arcsortantl'estgalement.
Graphiquement,onreprsenteunnudd'union,commeunnuddebifurcation,paruntrait
plein(cf.figure6.2).
Graphiquement,ilestpossibledefusionnerunnuddebifurcationetunnudd'union,etdonc
d'avoiruntraitpleinpossdantplusieursarcsentrantsetsortants(cf.figure6.6).
65.Nudd'objet
http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites 7/12
7/27/2017 UML 2 - de l'apprentissage la pratique
651.Introduction
Jusqu'ici,nousavonsmontrcommentmodliserlecomportementduflotdecontrledansun
diagrammed'activits.Or,lesflotsdedonnesn'apparaissentpasetsontpourtantunlment
essentieldestraitements(argumentsdesoprations,valeursderetour).
Justement,unnudd'objetpermetdedfinirunflotd'objets(i.e.unflotdedonnes)dansun
diagrammed'activits.Cenudreprsentel'existenced'unobjetgnrparuneactiondans
uneactivitetutilispard'autresactions.
652.Pind'entreoudesortie
Figure6.7:Reprsentationdespinsd'entreetdesortiesuruneactivit.
Pourspcifierlesvaleurspassesenargumentuneactivitetlesvaleursderetour,onutilise
desnudsd'objetsappelspins(pinenanglais)d'entreoudesortie.L'activitnepeut
dbuterquesil'onaffecteunevaleurchacundesespinsd'entre.Quandl'activitsetermine,
unevaleurdoittreaffectechacundesespinsdesortie.
Lesvaleurssontpassesparcopie:unemodificationdesvaleursd'entreaucoursdu
traitementdel'actionn'estvisiblequ'l'intrieurdel'activit.
Graphiquement,unpinestreprsentparunpetitcarrattachlabordured'uneactivit(cf.
figure6.7).Ilesttypetventuellementnomm.Ilpeutcontenirdesflchesindiquantsa
direction(entreousortie)sil'activitnepermetpasdeledterminerdemanireunivoque.
653.Pindevaleur
Unpinvaleurestunpind'entrequifournitunevaleuruneactionsansquecettevaleurne
provienned'unarcdeflotd'objets.Unpinvaleuresttoujoursassociunevaleurspcifique.
Graphiquement,unpindevaleursereprsentecommeunpind'entreaveclavaleurassocie
criteproximit.
654.Flotd'objets
Figure6.8:Deuxnotationspossiblespourmodliserunflotdedonnes.
Unflotd'objetspermetdepasserdesdonnesd'uneactivituneautre.Unarcreliantunpin
desortieunpind'entreest,pardfinitionmmedespins,unflotd'objets(enhautdela
figure6.8).Danscetteconfiguration,letypedupinrcepteurdoittreidentiqueouparent(au
sensdelarelationdegnralisation)dutypedupinmetteur.
Ilexisteuneautrereprsentationpossibled'unflotd'objets,plusaxesurlesdonnes
proprementdites,carellefaitintervenirunnudd'objetdtachd'uneactivitparticulire(en
basdelafigure6.8).Graphiquement,untelnudd'objetestreprsentparunrectangledans
lequelestmentionnletypedel'objet(soulign).Desarcsviennentensuitereliercenud
http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites 8/12
7/27/2017 UML 2 - de l'apprentissage la pratique
d'objetdesactivitssourcesetcibles.Lenomd'untat,oud'unelisted'tats,del'objetpeut
treprcisentrecrochetsaprsousousletypedel'objet.Onpeutgalementprciserdes
contraintesentreaccolades,soitl'intrieur,soitendessousdurectangledunudd'objet.
Lafigure6.11montrel'utilisationdenudsd'objetsdansundiagrammed'activits.
Unflotd'objetspeutporterunetiquettestrotypementionnantdeuxcomportements
particuliers:
transformationindiqueuneinterprtationparticuliredeladonnevhiculeparle
flot
selectionindiquel'ordredanslequellesobjetssontchoisisdanslenudpourle
quitter(cf.figure6.10).
655.Nudtamponcentral
Figure6.9:Exempled'utilisationd'unnudtamponcentralpourcentralisertoutes
lescommandesprisespardiffrentsprocds,avantqu'ellessoienttraites.
Unnudtamponcentralestunnudd'objetquiacceptelesentresdeplusieursnuds
d'objetsouproduitdessortiesversplusieursnudsd'objets.Lesflotsenprovenanced'un
nudtamponcentralnesontdoncpasdirectementconnectsdesactions.Cenudmodlise
doncuntampontraditionnelquipeutcontenirdesvaleursenprovenancedediversessourceset
livrerdesvaleursversdiffrentesdestinations.
Graphiquement,unnudtamponcentralestreprsentcommeunnudd'objetdtach(en
basdelafigure6.8)strotypcentralBuffer(cf.figure6.9).
656.Nuddestockagedesdonnes
Figure6.10:Danscettemodlisation,lepersonnel,aprsavoirtrecrutpar
l'activitRecruterpersonnel,eststockdemanirepersistantedanslenudde
stockageBasededonnesduPersonnel.Bienqu'ilsrestentdanscenud,chaque
employquin'apasencorereud'affectation(tiquettestrotypeselection:
personnel.affectation=null)estdisponiblepourtreutilisparl'activitAffecter
personnel.
Unnuddestockagedesdonnesestunnudtamponcentralparticulierquiassurela
persistancedesdonnes.Lorsqu'uneinformationestslectionneparunfluxsortant,
l'informationestdupliqueetnedisparatpasdunuddestockagedesdonnescommece
http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites 9/12
7/27/2017 UML 2 - de l'apprentissage la pratique
seraitlecasdansunnudtamponcentral.Lorsqu'unfluxentrantvhiculeunedonnedj
stockeparlenuddestockagedesdonnes,cettedernireestcraseparlanouvelle.
Graphiquement,unnudtamponcentralestreprsentcommeunnudd'objetdtach(en
basdelafigure6.8)strotypdatastore(cf.figure6.10).
66.Partitions
Figure6.11:Illustrationdel'utilisationdenudsd'objetsetdepartitionsdansun
diagrammed'activits.
Lespartitions,souventappelescouloirsoulignesd'eau(swimlane)dufaitdeleurnotation,
permettentd'organiserlesnudsd'activitsdansundiagrammed'activitsenoprantdes
regroupements(cf.figure6.11).
Lespartitionsn'ontpasdesignificationbienarrte,maiscorrespondentsouventdesunits
d'organisationdumodle.Onpeut,parexemple,lesutiliserpourspcifierlaclasseresponsable
delamiseenuvred'unensembledetches.Danscecas,laclasseenquestionest
responsabledel'implmentationducomportementdesnudsinclusdansladitepartition.
Graphiquement,lespartitionssontdlimitespardeslignescontinues.Ils'agitgnralementde
lignesverticales,commesurlafigure6.11,maisellespeuventtrehorizontalesoumme
courbes.Danslaversion2.0d'UML,lespartitionspeuventtrebidimensionnelles,ellesprennent
alorslaformed'untableau.Danslecasd'undiagrammed'activitspartitionn,lesnuds
d'activitsappartiennentforcmentuneetuneseulepartition.Lestransitionspeuvent,bien
entendu,traverserlesfrontiresdespartitions.
Lespartitionsd'activitstantdescatgoriesarbitraires,onpeutlesreprsenterpard'autres
moyensquandunerpartitiongomtriques'avredifficileraliser.Onpeutainsiutiliserdes
couleursoutoutsimplementtiqueterlesnudsd'activitparlenomdeleurpartition
d'appartenance.
67.Exceptions
Figure6.12:Notationgraphiquedufaitqu'uneactivitpeutsouleveruneexception.
http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites 10/12
7/27/2017 UML 2 - de l'apprentissage la pratique
Uneexceptionestgnrequandunesituationanormaleentraveledroulementnominald'une
tche.Ellepeuttregnreautomatiquementpoursignaleruneerreurd'excution
(dbordementd'indicedetableau,divisionparzro),outresouleveexplicitementparune
action(RaiseException)poursignalerunesituationproblmatiquequin'estpaspriseencharge
parlasquencedetraitementnormale.Graphiquement,onpeutreprsenterlefaitqu'une
activitpeutsouleveruneexceptioncommeunpindesortieornd'unpetittriangleeten
prcisantletypedel'exceptionproximitdupindesortie(cf.figure6.12).
Figure6.13:Lesdeuxnotationsgraphiquesdelaconnexionentreuneactivit
protgeetsongestionnaired'exceptionsassoci.
Ungestionnaired'exceptionsestuneactivitpossdantunpind'entredutypedel'exception
qu'ilgreetlil'activitqu'ilprotgeparunarcenzigzagouunarcclassiqueornd'une
petiteflcheenzigzag.Legestionnaired'exceptionsdoitavoirlesmmespinsdesortiequele
blocqu'ilprotge(cf.figure6.13).
Lesexceptionssontdesclasseurset,cetitre,peuventpossderdescaractristiquescomme
desattributsoudesoprations.Ilestgalementpossibled'utiliserlarelationd'hritagesurles
exceptions.Ungestionnaired'exceptionsspcifietoujoursletypedesexceptionsqu'ilpeut
traiter,touteexceptiondrivantdecetypeestdoncgalementpriseencharge.
Figure6.14:Exempled'utilisationd'ungestionnaired'exceptionspourprotgerune
activitdel'exceptionDivision_par_zerodclencheencasdedivisionparzro.
Lorsqu'uneexceptionsurvient,l'excutiondel'activitencoursestabandonnesansgnrerde
valeurdesortie.Lemcanismed'excutionrecherchealorsungestionnaired'exceptions
susceptibledetraiterl'exceptionleveouunedesesclassesparentes.Sil'activitquialev
l'exceptionn'estpasprotgedecetteexception,l'exceptionestpropagel'activit
englobante.L'excutiondecettedernireestabandonne,sesvaleursdesortienesontpas
gnresetungestionnaired'exceptionestrecherchsonniveau.Cemcanismede
propagationsepoursuitjusqu'cequ'ungestionnaireadaptsoittrouv.Sil'exceptionse
propagejusqu'ausommetd'uneactivit(i.e.iln'yaplusd'activitenglobante),troiscasde
figureseprsentent.Sil'activitatinvoquedemanireasynchrone,aucuneffetnese
produitetlagestiondel'exceptionesttermine.Sil'activitatinvoquedemanire
synchrone,l'exceptionestpropageaumcanismed'excutiondel'appelant.Sil'exceptions'est
propagelaracinedusystme,lemodleestconsidrcommeincompletoumalform.Dans
laplupartdeslangagesorientsobjet,uneexceptionquisepropagejusqu'laracinedu
programmeimpliquesonarrt.Quandungestionnaired'exceptionsadaptattrouvetque
http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites 11/12
7/27/2017 UML 2 - de l'apprentissage la pratique
sonexcutionsetermine,l'excutionsepoursuitcommesil'activitprotges'taittermine
normalement,lesvaleursdesortiefourniesparlegestionnaireremplaantcellequel'activit
protgeauraitdproduire.
Lessourcesprsentessurcettepagesontlibresdedroitsetvouspouvezlesutiliservotre
convenance.Parcontre,lapagedeprsentationconstitueuneuvreintellectuelleprotgeparles
droitsd'auteur.Copyright2013LaurentAUDIBERT.Aucunereproduction,mmepartielle,nepeut
trefaitedecesiteetdel'ensembledesoncontenu:textes,documents,images,etc.sans
l'autorisationexpressedel'auteur.Sinonvousencourezselonlaloijusqu'troisansdeprisonet
jusqu'300000dedommagesetintrts.
ContacterleresponsabledelarubriqueUML
http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites 12/12