Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parBerdine Baudoin Modifié depuis plus de 10 années
1
Département de génie logiciel et des TI Systèmes dinformation dans les entreprises (GTI515) Chargé: JF Couturier Cours # 9 GTI515 Automne 2011 JF Couturier 1
2
Département de génie logiciel et des TI Retour sur le dernier cours Lintra Les artéfacts Diagramme dactivité Modèle du domaine Diagramme des CU, CU Les stéréotypes de Jacobson Les archétypes Vision et SRS GTI515 Automne 2011 JF Couturier 2
3
Département de génie logiciel et des TI Plan Patrons de flux de travail GTI515 Automne 2011 JF Couturier 3
4
Département de génie logiciel et des TI Workflow patterns Certains auteurs ont identifié des patrons identifiant la plupart des situations. Ressources: Van der Aals Stephen A. White GTI515 Automne 2011 JF Couturier 4
5
Département de génie logiciel et des TI Patron de flux de travail Ce qui est particulièrement intéressant dans ces articles, cest létude comparative entre UML et BPMN. Vous constaterez que les éléments les plus simples de la notation sont utilisés. GTI515 Automne 2011 JF Couturier 5
6
Département de génie logiciel et des TI Patrons pour représenter un processus daffaires SEQUENCE PARALLEL SPLIT SYNCHRONIZATION EXCLUSIVE CHOICE SIMPLE MERGE MULTIPLE CHOICE MULTIPLE MERGE DISCRIMINATOR N OUT OF M JOIN SYNCHRONIZING MERGE ARBITRARY CYCLES IMPLICIT TERMINATION MI WITH A PRIORI DESIGN TIME KNOWLEDGE MI WITH A PRIORI RUNTIME KNOWLEDGE MI WITH NO A PRIORI KNOWLEDGE MI REQUIRING SYNCHRONIZATION DEFERRED CHOICE INTERLEAVED PARALLEL ROUTING MILESTONE CANCEL ACTIVITY CANCEL CASE GTI515 Automne 2011 JF Couturier 6
7
Département de génie logiciel et des TI SEQUENCE GTI515 Automne 2011 JF Couturier 7
8
Département de génie logiciel et des TI PARALLEL SPLIT GTI515 Automne 2011 JF Couturier 8
9
Département de génie logiciel et des TI SYNCHRONIZATION GTI515 Automne 2011 JF Couturier 9
10
Département de génie logiciel et des TI EXCLUSIVE CHOICE Seulement 1 des flots est exécuté. Les conditions doivent couvrir tous les cas possibles pour éviter que le processus soit bloqué. GTI515 Automne 2011 JF Couturier 10
11
Département de génie logiciel et des TI EXCLUSIVE CHOICE GTI515 Automne 2011 JF Couturier 11
12
Département de génie logiciel et des TI SIMPLE MERGE Dans ce cas-ci, il ny a pas de synchronisation, pas dattente. Un seul jeton est passé lors du choix exclusif. Exemple: Après le paiement ou laccord dun crédit, nous pouvons livrer le produit au client GTI515 Automne 2011 JF Couturier 12
13
Département de génie logiciel et des TI SIMPLE MERGE GTI515 Automne 2011 JF Couturier 13
14
Département de génie logiciel et des TI MULTIPLE CHOICE On souhaite pouvoir exécuter plusieurs alternatives à la fois. Techniquement, aucun flot pourrait ne pas être exécuté, mais cest plutôt embarrassant. Utiliser des conditions qui couvrent tous les aspects du problème ou un chemin par défaut. GTI515 Automne 2011 JF Couturier 14
15
Département de génie logiciel et des TI MULTIPLE CHOICE GTI515 Automne 2011 JF Couturier 15
16
Département de génie logiciel et des TI MULTIPLE MERGE Un peu particulier Les jetons ne sont pas contrôlés et pour chaque jeton, une instance des activités qui suivent est créée. Peut être perturbant pour un analyste Exemple: pour 2 activités distinctes, je veux réaliser une activité spécifique 2 fois. GTI515 Automne 2011 JF Couturier 16
17
Département de génie logiciel et des TI MULTIPLE MERGE GTI515 Automne 2011 JF Couturier 17 Attention figure 18: Équivalent davoir à gauche un « parallel split »
18
Département de génie logiciel et des TI DISCRIMINATOR Permet daccepter le premier jeton arrivé et de détruire tous les autres jetons subséquents. Cest une course. La passerelle exclusive fait ce travail. UML est plus faible à ce niveau, il faut ajouter des conditions au contrôle de synchronisation GTI515 Automne 2011 JF Couturier 18
19
Département de génie logiciel et des TI DISCRIMINATOR GTI515 Automne 2011 JF Couturier 19
20
Département de génie logiciel et des TI DISCRIMINATOR Exemple: Pour améliorer le temps de réponse dune requête très complexe, on interroge 2 BD sur Internet. La première qui répond permet la poursuite du processus. Toute autre réponse est ignorée GTI515 Automne 2011 JF Couturier 20
21
Département de génie logiciel et des TI N OUT OF M JOIN Dans ce cas-ci, on souhaite autoriser N jetons dun total de M est nécessaire pour continuer. Synchronisation partielle. Tous les autres jetons sont détruits. Dans les deux cas, ce sont des conditions programmées GTI515 Automne 2011 JF Couturier 21
22
Département de génie logiciel et des TI N OUT OF M JOIN GTI515 Automne 2011 JF Couturier 22
23
Département de génie logiciel et des TI N OUT OF M JOIN Exemple: 3 activités roulent en parallèle. 3 CV sont traités à la fois. Dès que jai 2 CV intéressants, je ferme le poste. GTI515 Automne 2011 JF Couturier 23
24
Département de génie logiciel et des TI SYNCHRONIZING MERGE Un patron compliqué à mettre en place. Souvent à la suite dun choix multiple On veut synchroniser les différents jetons générés, sans savoir à priori combien de jetons ont été créés. GTI515 Automne 2011 JF Couturier 24
25
Département de génie logiciel et des TI SYNCHRONIZING MERGE La différence avec le N of M est que nous nattendons pas un nombre spécifique de jetons pour continuer, mais bien tous les jetons générés par un multi-choix. Dune manière ou dune autre, le système doit être en mesure de déterminer combien de jetons ont été créés. Il vaut mieux documenter ce patron GTI515 Automne 2011 JF Couturier 25
26
Département de génie logiciel et des TI SYNCHRONIZING MERGE GTI515 Automne 2011 JF Couturier 26
27
Département de génie logiciel et des TI SYNCHRONIZING MERGE Exemple: Dans lévaluation dun sinistre, je peux contacter la compagnie dassurance ET/OU le département des incendies Seulement après lexécution de lun des deux ou des deux que je peux soumettre mon rapport. GTI515 Automne 2011 JF Couturier 27
28
Département de génie logiciel et des TI ARBITRARY CYCLES Ce patron permet de répéter une section particulière du processus un certain nombre de fois. Loop, Iteration… Intéressant, car on visualise mieux comparativement à dautres notations GTI515 Automne 2011 JF Couturier 28
29
Département de génie logiciel et des TI ARBITRARY CYCLES GTI515 Automne 2011 JF Couturier 29
30
Département de génie logiciel et des TI ARBITRARY CYCLES Exemple: Tant quil reste des armées, jattaque le pays adverse (à Risk) Jeter les dés Comparer les résultats –Combien de dés le défenseur a jetés? Enlever les armées GTI515 Automne 2011 JF Couturier 30
31
Département de génie logiciel et des TI IMPLICIT TERMINATION Un sous-processus doit sarrêter lorsque le travail est fait. On ne veut pas arrêter les autres activités en cours dans le cas dun ou plusieurs traitements parallèles. Tous les types dévènement de fin de BPMN reproduisent ce fonctionnement sauf le « Terminate ». GTI515 Automne 2011 JF Couturier 31
32
Département de génie logiciel et des TI IMPLICIT TERMINATION GTI515 Automne 2011 JF Couturier 32
33
Département de génie logiciel et des TI IMPLICIT TERMINATION Exemple: Après avoir enregistré une vente, on peut envoyer le paquet au client, réduire linventaire et mettre à jour la comptabilité. Il ny a rien à faire après chacune de ces 3 activités faites en parallèle. Nous pouvons généralement contourner ce patron avec une seule terminaison. GTI515 Automne 2011 JF Couturier 33
34
Département de génie logiciel et des TI Les instances multiples Les instances multiples représentent conceptuellement plusieurs threads. Cela implique que plusieurs instances de la même activité puissent sexécuter en même temps. GTI515 Automne 2011 JF Couturier 34
35
Département de génie logiciel et des TI 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 séquence du processus GTI515 Automne 2011 JF Couturier 35
36
Département de génie logiciel et des TI MI WITH A PRIORI DESIGN TIME KNOWLEDGE Je connais le nombre dinstances qui vont êtres créées. Exemple : Jai besoin de 3 autorisations différentes pour gérer du matériel dangereux. GTI515 Automne 2011 JF Couturier 36
37
Département de génie logiciel et des TI MI WITH A PRIORI DESIGN TIME KNOWLEDGE GTI515 Automne 2011 JF Couturier 37
38
Département de génie logiciel et des TI MI WITH A PRIORI RUNTIME KNOWLEDGE Dans ce cas-ci, on ne sait pas au moment du design combien nous allons créer dinstances On ne sait pas combien de livres ont été achetés par le client On ne sait pas combien descales aura une destination avant la définition du plan de vol GTI515 Automne 2011 JF Couturier 38
39
Département de génie logiciel et des TI MI WITH A PRIORI RUNTIME KNOWLEDGE GTI515 Automne 2011 JF Couturier 39
40
Département de génie logiciel et des TI MI WITH A PRIORI RUNTIME KNOWLEDGE GTI515 Automne 2011 JF Couturier 40 Une alternative plus « visuelle »
41
Département de génie logiciel et des TI MI WITH NO A PRIORI KNOWLEDGE GTI515 Automne 2011 JF Couturier 41
42
Département de génie logiciel et des TI MI WITH NO A PRIORI KNOWLEDGE On ne sait pas combien dinstances vont êtres créées La différence avec le patron précédent est que jusquà avant la fin du sous- processus, dautres instances peuvent êtres créées. GTI515 Automne 2011 JF Couturier 42
43
Département de génie logiciel et des TI MI WITH NO A PRIORI KNOWLEDGE Exemple: Un client demande lapplication de son assurance (vol, feu). Plusieurs témoins peuvent être entendus Plusieurs rapports de témoins peuvent être produits et traités Dautres rapports peuvent arriver pendant lévaluation des rapports. GTI515 Automne 2011 JF Couturier 43
44
Département de génie logiciel et des TI MI WITH NO A PRIORI KNOWLEDGE GTI515 Automne 2011 JF Couturier 44
45
Département de génie logiciel et des TI MI REQUIRING SYNCHRONIZATION Si vous souhaitez quil y ait synchronisation de vos MI, annotez votre diagramme pour spécifier le nombre ditérations nécessaires pour continuer le processus. Dans des logiciels plus évolués, ce seront des attributs quil faudra modifier Voir le détail dans la documentation GTI515 Automne 2011 JF Couturier 45
46
Département de génie logiciel et des TI MI REQUIRING SYNCHRONIZATION GTI515 Automne 2011 JF Couturier 46
47
Département de génie logiciel et des TI Les patrons détats Ces patrons permettent dévaluer des choix selon la réception dun signal Permet de traiter un processus à la suite dun signal extérieure GTI515 Automne 2011 JF Couturier 47
48
Département de génie logiciel et des TI DEFERRED CHOICE Très similaire à un choix exclusif Dans ce cas, ce nest pas une donnée qui détermine le chemin à prendre, mais un évènement Lorsque lévènement se produit, les autres choix de chemin sont désactivés Utilisation dune passerelle de type évènement. GTI515 Automne 2011 JF Couturier 48
49
Département de génie logiciel et des TI DEFERRED CHOICE GTI515 Automne 2011 JF Couturier 49
50
Département de génie logiciel et des TI DEFERRED CHOICE Exemple: Le moyen de livraison est déterminé selon la disponibilité des ressources. Dès quune ressource se libère, on va de lavant. Cest une course entre les différentes possibilités GTI515 Automne 2011 JF Couturier 50
51
Département de génie logiciel et des TI INTERLEAVED PARALLEL ROUTING Dans un processus, un groupe dactivités peut être réalisé dans n'importe quel ordre. Lordre est décidé pendant lexécution. Les activités sont réalisées séquentiellement (malgré le nom) Voilà pourquoi on ne peut régler ce cas avec un traitement parallèle. GTI515 Automne 2011 JF Couturier 51
52
Département de génie logiciel et des TI INTERLEAVED PARALLEL ROUTING GTI515 Automne 2011 JF Couturier 52
53
Département de génie logiciel et des TI INTERLEAVED PARALLEL ROUTING GTI515 Automne 2011 JF Couturier 53
54
Département de génie logiciel et des TI INTERLEAVED PARALLEL ROUTING Un employeur demande de passer un test de santé et un test psychologique. Les deux tests peuvent êtres réalisés dans un ordre ou un autre. GTI515 Automne 2011 JF Couturier 54
55
Département de génie logiciel et des TI MILESTONE On souhaite débuter un sous- processus lorsquune activité particulière est complétée. Plusieurs façons de le mettre en application. GTI515 Automne 2011 JF Couturier 55
56
Département de génie logiciel et des TI MILESTONE GTI515 Automne 2011 JF Couturier 56
57
Département de génie logiciel et des TI MILESTONE GTI515 Automne 2011 JF Couturier 57
58
Département de génie logiciel et des TI MILESTONE Exemple: Un client peut récupérer son argent jusquà 2 jours précédents la livraison. Un client peut exiger ses airs miles jusquà 6 mois après un vol. Certaines options ne sont disponibles quaprès lexécution de certaines tâches (atteinte dun niveau) GTI515 Automne 2011 JF Couturier 58
59
Département de génie logiciel et des TI CANCEL ACTIVITY Une activité active est désactivée, annulée. Lorsque plusieurs activités mènent une course, le vainqueur désactive les autres activités. GTI515 Automne 2011 JF Couturier 59
60
Département de génie logiciel et des TI CANCEL ACTIVITY GTI515 Automne 2011 JF Couturier 60
61
Département de génie logiciel et des TI CANCEL ACTIVITY GTI515 Automne 2011 JF Couturier 61
62
Département de génie logiciel et des TI CANCEL ACTIVITY Exemples: On annule une activité normalement planifiée (revue du code) pour entrer dans les temps du projet. Si un client annule sa requête de demande dinformation, lactivité est annulée GTI515 Automne 2011 JF Couturier 62
63
Département de génie logiciel et des TI CANCEL CASE Ce patron est une extension du patron précédent, sauf que cette fois cest le processus en entier qui est annulé GTI515 Automne 2011 JF Couturier 63
64
Département de génie logiciel et des TI CANCEL CASE GTI515 Automne 2011 JF Couturier 64
65
Département de génie logiciel et des TI CANCEL CASE GTI515 Automne 2011 JF Couturier 65
66
Département de génie logiciel et des TI CANCEL CASE GTI515 Automne 2011 JF Couturier 66
67
Département de génie logiciel et des TI CANCEL CASE GTI515 Automne 2011 JF Couturier 67
68
Département de génie logiciel et des TI CANCEL CASE Exemple: GTI515 Automne 2011 JF Couturier 68
69
Département de génie logiciel et des TI La suite… BPEL SOA Design Code GTI515 Automne 2011 JF Couturier 69
70
Département de génie logiciel et des TI BPEL Business Process Execution Langage Langage dérivé de XML Permet lexécution des processus de lentreprise À partir dune notation comme BPMN, on peut générer le code BPEL correspondant. GTI515 Automne 2011 JF Couturier 70
71
Département de génie logiciel et des TI Ressources Van der Aalst Stephen A. White OMG – BPMN.org Livre sur BPMN Site sur BPEL Site sur les patrons de flux de travail Tutoriel dIBM GTI515 Automne 2011 JF Couturier 71
72
Département de génie logiciel et des TI Prochain cours DFD GTI515 Automne 2011 JF Couturier 72
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.