un moyen d’expression des scénarios de cas …selsek.free.fr/eloker/miage/cours...
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é]
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