Você está na página 1de 12

7/27/2017 UML 2 - de l'apprentissage la pratique

Forums Tutoriels Magazine FAQs Blogs Chat Newsletter Rechercher


tudes Emploi Club Contacts
Developpez.com
Plusde14000coursettutorielseninformatiqueprofessionnelle
consulter,tlchargerouvisionnerenvido.

Accueil ALM Java .NET Dv.Web EDI Programmation SGBD Office Solutionsd'entreprise

Applications Mobiles Systmes ALM Merise UML

ACCUEILUML FORUMUML F.A.QUML TUTORIELSUML LIVRESUML OUTILSUML

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

Nouscontacter Participez Hbergement Informationslgales


Copyright20002017www.developpez.com

http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites 12/12

Você também pode gostar