Download - Un moyen d’expression des scénarios de cas …selsek.free.fr/eloker/miage/cours M1/uml/UML-Diagrammes-Activite.pdf · Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006 2 Diagrammes

Transcript

Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

UMLUMLDiagrammes dDiagrammes d’’activitéactivité

Un moyen dUn moyen d’’expression des scénariosexpression des scénariosde cas dde cas d’’utilisation complexesutilisation complexes

2 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Diagrammes dDiagrammes d’’activitéactivité

““Activity diagram: a special case of a state machine,Activity diagram: a special case of a state machine,which is used to model processes involving one or morewhich is used to model processes involving one or moreclassifiers. Its primary focus is on the sequence andclassifiers. Its primary focus is on the sequence andconditions for the actions that are taken, rather than onconditions for the actions that are taken, rather than onwhich elements perform those actions.which elements perform those actions.””

La théorieLa théorie Le diagramme dLe diagramme d’’activité est un cas particulier de diagrammeactivité est un cas particulier de diagramme

dd’é’état (cf. suite du cours)tat (cf. suite du cours) Il peut Il peut être attaché à un package, un cas dêtre attaché à un package, un cas d’’utilisation, uneutilisation, une

opération.opération. Il exprime des flots dIl exprime des flots d’’activités (flots de contractivités (flots de contrôle) ôle) de typede type

procédural, sous la forme dprocédural, sous la forme d’’un graphe dun graphe d’’activités.activités.

3 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Flots de contrFlots de contrôleôle

Un modèle à baseUn modèle à base DD’é’étatstats DD’’opérations faisant passer dopérations faisant passer d’’unun

état à un autreétat à un autre De De séquencement séquencement dd’’opérationopération

ÉtatsÉtats Représentés parReprésentés par Des dimensionsDes dimensions Les valeurs dLes valeurs d’’un ensemble deun ensemble de

variablesvariables

Opérations (activités)Opérations (activités) Calcul utilisé pour changer lCalcul utilisé pour changer l’é’étattat

des variablesdes variables Ceux possible dans la machineCeux possible dans la machine

(UAL)(UAL) AffectationAffectation

SéquencementSéquencement Séquence simpleSéquence simple Séauence Séauence conditionnelleconditionnelle Boucles de toutes sortesBoucles de toutes sortes

…… v voir le CVO de Merise/2oir le CVO de Merise/2

4 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Diagrammes dDiagrammes d’’activité pour exprimer lesactivité pour exprimer lesscénarios dscénarios d’’un cas dun cas d’’utilisationutilisation

MotivationMotivation Diagramme de séquence : un scénario particulier dDiagramme de séquence : un scénario particulier d’’un cas dun cas d’’utilisation,utilisation,

une série de choix parmi les alternatives possibles.une série de choix parmi les alternatives possibles. Diagramme dDiagramme d’’activité : scénario complexe, différentes alternatives en unactivité : scénario complexe, différentes alternatives en un

seul modèle.seul modèle.

ParticularitésParticularités Agent effectuant les activités laissé impliciteAgent effectuant les activités laissé implicite

Action de lAction de l’’acteur sur le système?acteur sur le système? Action du système en réponse à lAction du système en réponse à l’’acteur?acteur? Actions opérées ensembles par acteur et système?Actions opérées ensembles par acteur et système?

Multiples acteurs coopérant à un cas dMultiples acteurs coopérant à un cas d’’utilisation : diagramme dutilisation : diagramme d’’activitéactivité««  postéspostés » » (avec des « (avec des «  couloirscouloirs » » d d’’activité).activité).

Le mLe même concept que lême concept que l’’ancien «ancien «  organigrammeorganigramme » »

5 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Composants de baseComposants de baseAction

Actiondécomposée

Transition

État initial

État final

Fourche

Synchronisation

Branchement / Jonction

6 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Exemple AssuranceExemple AssuranceCas dCas d’’utilisation «utilisation «  Déclarer sinistreDéclarer sinistre » »

Action

État initial

État finalFourche

Branchement

Transition

Synchronisation

Actiondécomposée

Jonction

7 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Activités simplesActivités simplesUne activitéUne activité représrepréseente lnte l’’exécutionexécution

d'un mécd'un mécaanisme, le déroulementnisme, le déroulementdd’’un processus.un processus.

ReprésentationReprésentation graphiquegraphique(pas d(pas d’’unicité sur les noms)unicité sur les noms)

Granularité des activitésGranularité des activitésLes différentes activités dLes différentes activités d’’unun

diagramme ddiagramme d’’activité doivent activité doivent êtreêtrede mde même niveau dême niveau d’’abstraction, deabstraction, degranularité.granularité.

ActivitésActivités Activités décomposéesActivités décomposéesUne activité décomposée représenteUne activité décomposée représente

un graphe dun graphe d’’activité lui-mactivité lui-même.ême.

ReprésentationReprésentation graphiquegraphique StandardStandard

ObjecteeringObjecteering

8 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

TransitionsTransitions

Transitions automatiquesTransitions automatiquesElles expriment la succession entreElles expriment la succession entre

deux activitésdeux activités Représentation graphiqueReprésentation graphique

Transitions et activitésTransitions et activitésUne activité aUne activité a exactement uneexactement une

transition en entrée et au moinstransition en entrée et au moinsune en sortie.une en sortie.

Transitions gardéesTransitions gardéesLa transition peut La transition peut être soumise à uneêtre soumise à une

garde (condition)garde (condition)

Représentation graphiqueReprésentation graphique

NBNBSS’’applique surtout entre unapplique surtout entre un

branchement et des activitésbranchement et des activités

9 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

AlternativesAlternatives

BranchementsBranchementsChoix dChoix d’’un flot dun flot d’’activitéactivité

suivantsuivant desdes gardesgardesLesLes gardes dgardes d’’un branchementun branchement

sont exclusives et totales.sont exclusives et totales.Une garde «Une garde «  elseelse  » peut» peut

compléter les autrescompléter les autresgardes.gardes.

JonctionsJonctionsRegroupement de flotsRegroupement de flots

séparés parséparés par desdesbranchements.branchements.

Représentations graphiquesReprésentations graphiques

10 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

ParallélismeParallélisme

Fourche («Fourche («  forkfork  »)»)Lancement dLancement d’’activités enactivités en

parallèle.parallèle.

Synchronisation («Synchronisation («  joinjoin  »)»)Synchronisation dSynchronisation d’’activitésactivités

lancées en parallèle.lancées en parallèle.

Attention : Attention : tout «tout «  forkfork  » doit» doitêtre résolu par unêtre résolu par un ««  joinjoin  »»sous peine dsous peine d’ê’être à jamaistre à jamaisparallèleparallèle……

11 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

État initial : uniqueÉtat initial : unique État final :État final :

a priori uniquea priori uniqueplusieurs possiblesplusieurs possibles si fin dans des états différents,si fin dans des états différents,pas forcément dpas forcément d’é’état final (processus infini)tat final (processus infini)

Activité décomposée et états initiaux - finals.Activité décomposée et états initiaux - finals.Transition versTransition vers une activité décomposéeune activité décomposéeVers lVers l’’extérieur : transition vers son état initialextérieur : transition vers son état initialVers lVers l’’intérieur : transition vers une activité interneintérieur : transition vers une activité interne

Transition depuis une activité décomposéeTransition depuis une activité décomposéeDepuisDepuis ll’’extérieur : sextérieur : s’’applique à tous les états finalsapplique à tous les états finalsDepuisDepuis ll’’intérieur : sintérieur : s’’applique à lapplique à l’é’état finaltat final spécifiéspécifié

InitialisationInitialisation et état de finet état de fin

12 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

ComposantsComposants supplémentairessupplémentaires

Flux d’objet

Signal sortant

Signal entrant

Couloirs de poste

ATTENTION : a priori a ne

pas utiliser pour les scénarios

de cas d’utilisation

13 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Couloirs de postesCouloirs de postes ((swimlanesswimlanes))

MotivationMotivationExplicitation de lExplicitation de l’’agent effectuantagent effectuant

les activitésles activités

UtilisationUtilisationVue externe classique :Vue externe classique :

cas dcas d’’utilisation utilisation multi-acteursmulti-acteursVue interne systémique :Vue interne systémique :

distribution de ldistribution de l’’activité duactivité dusystèmesystème dans les sous-systèmesdans les sous-systèmes

Vue externe systémique :Vue externe systémique :modélisation de lmodélisation de l’’activitéactivitédomaine/métierdomaine/métier

14 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Interaction avec lInteraction avec l’’extérieurextérieur

MotivationMotivationReprésenter les interactions dReprésenter les interactions d’’une activitéune activité

avec lavec l’’extérieurextérieur Signal sortantSignal sortantRéception par une activité dRéception par une activité d’’un signalun signal

extérieurextérieur SignalSignal entrantentrantEmission dEmission d’’un signal vers lun signal vers l’’extérieur par uneextérieur par une

activitéactivité Flux dFlux d’’objetobjetTransmission dTransmission d’’un objet entre deux activitésun objet entre deux activités

sur une transition.sur une transition.LL’é’état [état] de ltat [état] de l’’objet peut objet peut être précisé.être précisé.

15 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Exemple Assurance avec fluxExemple Assurance avec fluxInitialisationDéclaration

EntrerNoPoliceEntrerNomPrénom

RechercheAssuré(Nom,prénom)

ChoixAssuré

RechercheAssuré(NoPolice)

SaisieDétailsDéclaration

FicheAssuré:

ListeAssurés:

Nom, prénom:NoPölice:

DéclarationCréée:

SaisieVéhicule SaisieCirconstances

[Aucun assuré correspondant]

[AssuréNonTrouvé]

[NoPoliceConnu]

[NoPoliceOK]

[NoPoliceInconnu]

[NoPoliceInconnu] [OK]

[AssuréTrouvé]

Flux

16 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Interfaces des scénarios externesInterfaces des scénarios externes

MotivationMotivation Décrire pour chaque scénario de cas dDécrire pour chaque scénario de cas d’’utilisation le principe et lesutilisation le principe et les

formes générales des interfaces entre le système et les acteursformes générales des interfaces entre le système et les acteurs

Acteurs humainsActeurs humains InterfaceInterface personne système (IHM)personne système (IHM) : interactif: interactif Un Un interacteur interacteur (en entrée ou en sortie)(en entrée ou en sortie)

Pour chaque interaction du diagramme de séquencePour chaque interaction du diagramme de séquence Pour chaque activité du diagramme dPour chaque activité du diagramme d’’activitéactivité Pour chaque branchement du diagramme dPour chaque branchement du diagramme d’’activitéactivité

Acteurs système artificielsActeurs système artificiels Définition des APIDéfinition des API : fonctions de communication et données transmises.: fonctions de communication et données transmises.

17 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Exemple assuréExemple assurédiagramme activité + IHMdiagramme activité + IHM

InitialisationDéclaration

EntrerNoPoliceEntrerNomPrénom

RechercheAssuré(Nom,prénom)

ChoixAssuré

RechercheAssuré(NoPolice)

SaisieDétailsDéclaration

FicheAssuré:

ListeAssurés:

Nom, prénom:NoPölice:

DéclarationCréée:

SaisieVéhicule SaisieCirconstances

[Aucun assuré correspondant]

[AssuréNonTrouvé]

[NoPoliceConnu]

[NoPoliceOK]

[NoPoliceInconnu]

[NoPoliceInconnu] [OK]

[AssuréTrouvé]

18 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

19 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Fenêtre accueilFenêtre accueil

20 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Fenêtre choix type saisieFenêtre choix type saisie

21 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Fenêtre saisie nom prénomFenêtre saisie nom prénom

22 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Fenêtre affichage liste assurésFenêtre affichage liste assurés

GrenobleGrenoble15 avenue du15 avenue duGrésivaudanGrésivaudan

CyrilleCyrilleDesmoulinsDesmoulins

GrenobleGrenoble3 rue des3 rue desLilasLilas

CyrilleCyrilleDesmoulinsDesmoulins

VilleVilleAdresseAdressePrénomPrénomNomNom

23 Cyrille Desmoulins © Cours UML IUP MIAGE 3. 2005-2006

Fenêtre choix assuréFenêtre choix assuré

GrenobleGrenoble15 avenue du15 avenue duGrésivaudanGrésivaudan

CyrilleCyrilleDesmoulinsDesmoulins

GrenobleGrenoble3 rue des3 rue desLilasLilas

CyrilleCyrilleDesmoulinsDesmoulins

VilleVilleAdresseAdressePrénomPrénomNomNom