Vous êtes sur la page 1sur 72

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 BPMN.org
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