Systmes dinformation dans les entreprises (MTI515)
Charg: JF Couturier Cours # 9
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
Retour sur le dernier cours
Lintra Les artfacts
Diagramme dactivit Modle du domaine Diagramme des CU, CU Les strotypes de Jacobson Les archtypes Vision et SRS
MTI515 Automne 2013 JF Couturier
2
Dpartement de gnie logiciel et des TI
Plan
Patrons de flux de travail
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
Workflow patterns
Certains auteurs ont identifi des patrons identifiant la plupart des situations. Ressources:
Van der Aals Stephen A. White
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
Patron de flux de travail
Ce qui est particulirement intressant dans ces articles, cest ltude comparative entre UML et BPMN. Vous constaterez que les lments les plus simples de la notation sont utiliss.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
Patrons pour reprsenter un processus daffaires
SEQUENCE PARALLEL SPLIT SYNCHRONIZATION EXCLUSIVE CHOICE SIMPLE MERGE MULTIPLE CHOICE MULTIPLE MERGE
MI WITH A PRIORI DESIGN TIME KNOWLEDGE MI WITH A PRIORI RUNTIME KNOWLEDGE MI WITH NO A PRIORI KNOWLEDGE MI REQUIRING SYNCHRONIZATION
DISCRIMINATOR
N OUT OF M JOIN SYNCHRONIZING MERGE ARBITRARY CYCLES
DEFERRED CHOICE
INTERLEAVED PARALLEL ROUTING MILESTONE CANCEL ACTIVITY CANCEL CASE
6
IMPLICIT TERMINATION
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
SEQUENCE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
PARALLEL SPLIT
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
SYNCHRONIZATION
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
EXCLUSIVE CHOICE
Seulement 1 des flots est excut. Les conditions doivent couvrir tous les cas possibles pour viter que le processus soit bloqu.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
10
EXCLUSIVE CHOICE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
11
SIMPLE MERGE
Dans ce cas-ci, il ny a pas de synchronisation, pas dattente. Un seul jeton est pass lors du choix exclusif.
Exemple:
Aprs le paiement ou laccord dun crdit, nous pouvons livrer le produit au client
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
12
SIMPLE MERGE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
13
MULTIPLE CHOICE
On souhaite pouvoir excuter plusieurs alternatives la fois. Techniquement, aucun flot pourrait ne pas tre excut, mais cest plutt embarrassant. Utiliser des conditions qui couvrent tous les aspects du problme ou un chemin par dfaut.
MTI515 Automne 2013 JF Couturier
14
Dpartement de gnie logiciel et des TI
MULTIPLE CHOICE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
15
MULTIPLE MERGE
Un peu particulier Les jetons ne sont pas contrls et pour chaque jeton, une instance des activits qui suivent est cre.
Peut tre perturbant pour un analyste
Exemple: pour 2 activits distinctes, je veux raliser une activit spcifique 2 fois.
MTI515 Automne 2013 JF Couturier
16
Dpartement de gnie logiciel et des TI
MULTIPLE MERGE
Attention figure 18: quivalent davoir gauche un parallel split
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
17
DISCRIMINATOR
Permet daccepter le premier jeton arriv et de dtruire tous les autres jetons subsquents. Cest une course. La passerelle exclusive fait ce travail.
UML est plus faible ce niveau, il faut ajouter des conditions au contrle de synchronisation
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
18
DISCRIMINATOR
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
19
DISCRIMINATOR
Exemple:
Pour amliorer le temps de rponse dune requte trs complexe, on interroge 2 BD sur Internet. La premire qui rpond permet la poursuite du processus. Toute autre rponse est ignore
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
20
N OUT OF M JOIN
Dans ce cas-ci, on souhaite autoriser N jetons dun total de M est ncessaire pour continuer. Synchronisation partielle. Tous les autres jetons sont dtruits. Dans les deux cas, ce sont des conditions programmes
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
21
N OUT OF M JOIN
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
22
N OUT OF M JOIN
Exemple: 3 activits roulent en parallle. 3 CV sont traits la fois. Ds que jai 2 CV intressants, je ferme le poste.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
23
SYNCHRONIZING MERGE
Un patron compliqu mettre en place. Souvent la suite dun choix multiple On veut synchroniser les diffrents jetons gnrs, sans savoir priori combien de jetons ont t crs.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
24
SYNCHRONIZING MERGE
La diffrence avec le N of M est que nous nattendons pas un nombre spcifique de jetons pour continuer, mais bien tous les jetons gnrs par un multi-choix.
Dune manire ou dune autre, le systme doit tre en mesure de dterminer combien de jetons ont t crs. Il vaut mieux documenter ce patron
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
25
SYNCHRONIZING MERGE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
26
SYNCHRONIZING MERGE
Exemple:
Dans lvaluation dun sinistre, je peux contacter la compagnie dassurance ET/OU le dpartement des incendies Seulement aprs lexcution de lun des deux ou des deux que je peux soumettre mon rapport.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
27
ARBITRARY CYCLES
Ce patron permet de rpter une section particulire du processus un certain nombre de fois. Loop, Iteration
Intressant, car on visualise mieux comparativement dautres notations
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
28
ARBITRARY CYCLES
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
29
ARBITRARY CYCLES
Exemple:
Tant quil reste des armes, jattaque le pays adverse ( Risk)
Jeter les ds Comparer les rsultats
Combien de ds le dfenseur a jets?
Enlever les armes
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
30
IMPLICIT TERMINATION
Un sous-processus doit sarrter lorsque le travail est fait. On ne veut pas arrter les autres activits en cours dans le cas dun ou plusieurs traitements parallles. Tous les types dvnement de fin de BPMN reproduisent ce fonctionnement sauf le Terminate .
MTI515 Automne 2013 JF Couturier
31
Dpartement de gnie logiciel et des TI
IMPLICIT TERMINATION
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
32
IMPLICIT TERMINATION
Exemple:
Aprs avoir enregistr une vente, on peut envoyer le paquet au client, rduire linventaire et mettre jour la comptabilit. Il ny a rien faire aprs chacune de ces 3 activits faites en parallle.
Nous pouvons gnralement contourner ce patron avec une seule terminaison.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
33
Les instances multiples
Les instances multiples reprsentent conceptuellement plusieurs threads. Cela implique que plusieurs instances de la mme activit puissent sexcuter en mme temps.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
34
Les instances multiples
2 exigences au MI
La capacit de lancer plusieurs instances dune activit ou dun sous-processus La capacit de synchroniser/traiter ces instances afin de poursuivre la squence du processus
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
35
MI WITH A PRIORI DESIGN TIME KNOWLEDGE
Je connais le nombre dinstances qui vont tres cres. Exemple : Jai besoin de 3 autorisations diffrentes pour grer du matriel dangereux.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
36
MI WITH A PRIORI DESIGN TIME KNOWLEDGE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
37
MI WITH A PRIORI RUNTIME KNOWLEDGE
Dans ce cas-ci, on ne sait pas au moment du design combien nous allons crer dinstances On ne sait pas combien de livres ont t achets par le client On ne sait pas combien descales aura une destination avant la dfinition du plan de vol
MTI515 Automne 2013 JF Couturier
38
Dpartement de gnie logiciel et des TI
MI WITH A PRIORI RUNTIME KNOWLEDGE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
39
MI WITH A PRIORI RUNTIME KNOWLEDGE
Une alternative plus visuelle
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
40
MI WITH NO A PRIORI KNOWLEDGE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
41
MI WITH NO A PRIORI KNOWLEDGE
On ne sait pas combien dinstances vont tres cres La diffrence avec le patron prcdent est que jusqu avant la fin du sousprocessus, dautres instances peuvent tres cres.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
42
MI WITH NO A PRIORI KNOWLEDGE
Exemple:
Un client demande lapplication de son assurance (vol, feu). Plusieurs tmoins peuvent tre entendus
Plusieurs rapports de tmoins peuvent tre produits et traits Dautres rapports peuvent arriver pendant lvaluation des rapports.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
43
MI WITH NO A PRIORI KNOWLEDGE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
44
MI REQUIRING SYNCHRONIZATION
Si vous souhaitez quil y ait synchronisation de vos MI, annotez votre diagramme pour spcifier le nombre ditrations ncessaires pour continuer le processus.
Dans des logiciels plus volus, ce seront des attributs quil faudra modifier
Voir le dtail dans la documentation
MTI515 Automne 2013 JF Couturier
45
Dpartement de gnie logiciel et des TI
MI REQUIRING SYNCHRONIZATION
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
46
Les patrons dtats
Ces patrons permettent dvaluer des choix selon la rception dun signal Permet de traiter un processus la suite dun signal extrieure
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
47
DEFERRED CHOICE
Trs similaire un choix exclusif Dans ce cas, ce nest pas une donne qui dtermine le chemin prendre, mais un vnement
Lorsque lvnement se produit, les autres choix de chemin sont dsactivs
Utilisation dune passerelle de type vnement.
MTI515 Automne 2013 JF Couturier
48
Dpartement de gnie logiciel et des TI
DEFERRED CHOICE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
49
DEFERRED CHOICE
Exemple: Le moyen de livraison est dtermin selon la disponibilit des ressources. Ds quune ressource se libre, on va de lavant. Cest une course entre les diffrentes possibilits
MTI515 Automne 2013 JF Couturier
50
Dpartement de gnie logiciel et des TI
INTERLEAVED PARALLEL ROUTING
Dans un processus, un groupe dactivits peut tre ralis dans n'importe quel ordre. Lordre est dcid pendant lexcution.
Les activits sont ralises squentiellement (malgr le nom)
Voil pourquoi on ne peut rgler ce cas avec un traitement parallle.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
51
INTERLEAVED PARALLEL ROUTING
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
52
INTERLEAVED PARALLEL ROUTING
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
53
INTERLEAVED PARALLEL ROUTING
Un employeur demande de passer un test de sant et un test psychologique. Les deux tests peuvent tres raliss dans un ordre ou un autre.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
54
MILESTONE
On souhaite dbuter un sousprocessus lorsquune activit particulire est complte. Plusieurs faons de le mettre en application.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
55
MILESTONE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
56
MILESTONE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
57
MILESTONE
Exemple:
Un client peut rcuprer son argent jusqu 2 jours prcdents la livraison. Un client peut exiger ses airs miles jusqu 6 mois aprs un vol. Certaines options ne sont disponibles quaprs lexcution de certaines tches (atteinte dun niveau)
MTI515 Automne 2013 JF Couturier
Dpartement de gnie logiciel et des TI
58
CANCEL ACTIVITY
Une activit active est dsactive, annule. Lorsque plusieurs activits mnent une course, le vainqueur dsactive les autres activits.
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
59
CANCEL ACTIVITY
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
60
CANCEL ACTIVITY
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
61
CANCEL ACTIVITY
Exemples:
On annule une activit normalement planifie (revue du code) pour entrer dans les temps du projet. Si un client annule sa requte de demande dinformation, lactivit est annule
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
62
CANCEL CASE
Ce patron est une extension du patron prcdent, sauf que cette fois cest le processus en entier qui est annul
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
63
CANCEL CASE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
64
CANCEL CASE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
65
CANCEL CASE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
66
CANCEL CASE
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
67
CANCEL CASE
Exemple:
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
68
La suite
BPEL SOA Design Code
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
69
BPEL
Business Process Execution Langage Langage driv de XML Permet lexcution des processus de lentreprise
partir dune notation comme BPMN, on peut gnrer le code BPEL correspondant.
MTI515 Automne 2013 JF Couturier
70
Dpartement de gnie logiciel et des TI
Ressources
Van der Aalst Stephen A. White
OMG [Link]
Livre sur BPMN Site sur BPEL
Site sur les patrons de flux de travail
Tutoriel dIBM
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
71
Prochain cours
DFD
Dpartement de gnie logiciel et des TI
MTI515 Automne 2013 JF Couturier
72