La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

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


Télécharger ppt "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."

Présentations similaires


Annonces Google