Systèmes d information dans les entreprises (MTI515)

Documents pareils
Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Business Process Modeling (BPM)

Cours STIM P8 TD 1 Génie Logiciel

Qu'est-ce que le BPM?

Cours de Génie Logiciel

IFT2255 : Génie logiciel

Les processus métiers : concepts, modèles et systèmes

Le Guide Pratique des Processus Métiers

langage spécifiant un processus sous format XML Business Process Management : gestion de processus.

Urbanisation de système d'information. PLM 4 (Product Lifecycle Management) Préoccupation d'assurance qualité Processus et Procédures

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

CATALOGUE FORMATIONS DOMAINE Bases de données

Rational Unified Process

Magister en Informatique

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Information utiles. webpage : Google+ : digiusto/

IBM Business Process Manager

Cours en ligne Développement Java pour le web

Patrons de Conception (Design Patterns)

Fidélité Type 3 Carte de points et cartes cadeaux avec

Business Process Execution Language

Projet Active Object

CONFIGURATION DES DÉPÔTS LOCAUX GÉRÉS AGENCE DE LA SANTÉ ET DES SERVICES SOCIAUX DE L OUTAOUAIS MARTINE LESTAGE, CHARGÉE DE PROJET RÉGIONAL

Vérifica(on et Valida(on de Business Process. Ang Chen et Levi Lúcio

Mineure Architectures Orientées Services SOA Exécution de processus. Mineure SOA. Exécution de processus

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Chapitre I : le langage UML et le processus unifié

GOL502 Industries de services

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

User stories et Backlog de produit

Métriques de performance pour les algorithmes et programmes parallèles

Développement itératif, évolutif et agile

Les processus métiers : concepts, modèles et systèmes

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Les diagrammes de modélisation

Université du Littoral Côte d Opale THÈSE

Formation : Modélisation avec UML 2.0 et Mise en pratique

CNAM cours NFE107 : Urbanisation et architecture des SI Xavier Godefroy, Rapport sur le BPM, mai Le BPM

Modélisation des processus métiers PowerAMC 16.5

Intégration de l interface graphique de Ptidej dans Eclipse

Ingénierie des Modèles. Méta-modélisation

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

UML est-il soluble dans les méthodes agiles?

SECTION 5 BANQUE DE PROJETS

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Méthodologies de développement de logiciels de gestion

Ma banque, mes emprunts et mes intérêts

Modélisation des processus métiers PowerAMC 16.0

Visual Paradigm Contraintes inter-associations

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Big Data et Graphes : Quelques pistes de recherche

Exécution de processus

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

Exécution de processus

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Tutoriel D utilisation. Du PGI Open line d EBP

FOIRE AUX QUESTIONS ACT! 2009

RAPPORT DE CONCEPTION UML :

DéSIT Démarche d ingénierie pour les Systèmes d Information Transport ambiants, sécurisés et personnalisables

Description de la formation

Université du Québec à Montréal CALCUL AVEC ISO DE LA TAILLE DE LOGICIELS DEVELOPPES SELON RATIONAL UNIFIED PROCESS

Manipulation 4 : Application de «Change».

Icônes des didacticiels. Aliro - le contrôle d accès sur IP sans complication.

Workflow et Service Oriented Architecture (SOA)

Mémoire Master M2 MIAGE

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

GUIDE DU NOUVEL UTILISATEUR

Guide d utilisation des fichiers bonus accompagnant le guide «L Argent est une science exacte»

Introduction aux outils BI de SQL Server Tutoriel sur SQL Server Integration Services (SSIS)

NFP111 Systèmes et Applications Réparties

Projet de développement

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

LES tests d'acceptation

Université de Bangui. Modélisons en UML

Vérifier la qualité de vos applications logicielle de manière continue

Analyse,, Conception des Systèmes Informatiques

Table des matières Sources

BPEL Orchestration de Web Services

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

OCL - Object Constraint Language

Conception, architecture et urbanisation des systèmes d information

Ce document décrit la démarche à suivre pour installer les outils de développement et compiler le projet TANAGRA.

TUTORIAL Microsoft Project 2010 Fonctionalités de base

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

M1 : Ingénierie du Logiciel

Guide d utilisation. Version 1.1

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Bases de données. Chapitre 1. Introduction

Gérer les règles de prix catalogue sur Magento

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Faire du publipostage par mails (mass-mailing) avec VTigerCRM

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

Utilisation du site de retours Lexibook

Transcription:

Systèmes d information dans les entreprises (MTI515) Chargé: JF Couturier Cours # 9 MTI515 Automne 2013 JF Couturier 1

Retour sur le dernier cours L intra Les artéfacts Diagramme d activité Modèle du domaine Diagramme des CU, CU Les stéréotypes de Jacobson Les archétypes Vision et SRS MTI515 Automne 2013 JF Couturier 2

Plan Patrons de flux de travail MTI515 Automne 2013 JF Couturier 3

Workflow patterns Certains auteurs ont identifié des patrons identifiant la plupart des situations. Ressources: Van der Aals Stephen A. White MTI515 Automne 2013 JF Couturier 4

Patron de flux de travail Ce qui est particulièrement intéressant dans ces articles, c est l étude comparative entre UML et BPMN. Vous constaterez que les éléments les plus simples de la notation sont utilisés. MTI515 Automne 2013 JF Couturier 5

Patrons pour représenter un processus d affaires SEQUENCE PARALLEL SPLIT SYNCHRONIZATION EXCLUSIVE CHOICE SIMPLE MERGE MI WITH A PRIORI DESIGN TIME KNOWLEDGE MI WITH A PRIORI RUNTIME KNOWLEDGE MI WITH NO A PRIORI KNOWLEDGE MULTIPLE CHOICE MULTIPLE MERGE DISCRIMINATOR N OUT OF M JOIN SYNCHRONIZING MERGE ARBITRARY CYCLES IMPLICIT TERMINATION MI REQUIRING SYNCHRONIZATION DEFERRED CHOICE INTERLEAVED PARALLEL ROUTING MILESTONE CANCEL ACTIVITY CANCEL CASE MTI515 Automne 2013 JF Couturier 6

SEQUENCE MTI515 Automne 2013 JF Couturier 7

PARALLEL SPLIT MTI515 Automne 2013 JF Couturier 8

SYNCHRONIZATION MTI515 Automne 2013 JF Couturier 9

EXCLUSIVE CHOICE Seulement 1 des flots est exécuté. Les conditions doivent couvrir tous les cas possibles pour éviter que le processus soit bloqué. MTI515 Automne 2013 JF Couturier 10

EXCLUSIVE CHOICE MTI515 Automne 2013 JF Couturier 11

SIMPLE MERGE Dans ce cas-ci, il n y a pas de synchronisation, pas d attente. Un seul jeton est passé lors du choix exclusif. Exemple: Après le paiement ou l accord d un crédit, nous pouvons livrer le produit au client MTI515 Automne 2013 JF Couturier 12

SIMPLE MERGE MTI515 Automne 2013 JF Couturier 13

MULTIPLE CHOICE On souhaite pouvoir exécuter plusieurs alternatives à la fois. Techniquement, aucun flot pourrait ne pas être exécuté, mais c est plutôt embarrassant. Utiliser des conditions qui couvrent tous les aspects du problème ou un chemin par défaut. MTI515 Automne 2013 JF Couturier 14

MULTIPLE CHOICE MTI515 Automne 2013 JF Couturier 15

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. MTI515 Automne 2013 JF Couturier 16

MULTIPLE MERGE Attention figure 18: Équivalent d avoir à gauche un «parallel split» MTI515 Automne 2013 JF Couturier 17

DISCRIMINATOR Permet d accepter le premier jeton arrivé et de détruire tous les autres jetons subséquents. C est une course. La passerelle exclusive fait ce travail. UML est plus faible à ce niveau, il faut ajouter des conditions au contrôle de synchronisation MTI515 Automne 2013 JF Couturier 18

DISCRIMINATOR MTI515 Automne 2013 JF Couturier 19

DISCRIMINATOR Exemple: Pour améliorer le temps de réponse d une 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 MTI515 Automne 2013 JF Couturier 20

N OUT OF M JOIN Dans ce cas-ci, on souhaite autoriser N jetons d un 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 MTI515 Automne 2013 JF Couturier 21

N OUT OF M JOIN MTI515 Automne 2013 JF Couturier 22

N OUT OF M JOIN Exemple: 3 activités roulent en parallèle. 3 CV sont traités à la fois. Dès que j ai 2 CV intéressants, je ferme le poste. MTI515 Automne 2013 JF Couturier 23

SYNCHRONIZING MERGE Un patron compliqué à mettre en place. Souvent à la suite d un choix multiple On veut synchroniser les différents jetons générés, sans savoir à priori combien de jetons ont été créés. MTI515 Automne 2013 JF Couturier 24

SYNCHRONIZING MERGE La différence avec le N of M est que nous n attendons pas un nombre spécifique de jetons pour continuer, mais bien tous les jetons générés par un multi-choix. D une manière ou d une autre, le système doit être en mesure de déterminer combien de jetons ont été créés. Il vaut mieux documenter ce patron MTI515 Automne 2013 JF Couturier 25

SYNCHRONIZING MERGE MTI515 Automne 2013 JF Couturier 26

SYNCHRONIZING MERGE Exemple: Dans l évaluation d un sinistre, je peux contacter la compagnie d assurance ET/OU le département des incendies Seulement après l exécution de l un des deux ou des deux que je peux soumettre mon rapport. MTI515 Automne 2013 JF Couturier 27

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 à d autres notations MTI515 Automne 2013 JF Couturier 28

ARBITRARY CYCLES MTI515 Automne 2013 JF Couturier 29

ARBITRARY CYCLES Exemple: Tant qu il reste des armées, j attaque 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 MTI515 Automne 2013 JF Couturier 30

IMPLICIT TERMINATION Un sous-processus doit s arrêter lorsque le travail est fait. On ne veut pas arrêter les autres activités en cours dans le cas d un ou plusieurs traitements parallèles. Tous les types d évènement de fin de BPMN reproduisent ce fonctionnement sauf le «Terminate». MTI515 Automne 2013 JF Couturier 31

IMPLICIT TERMINATION MTI515 Automne 2013 JF Couturier 32

IMPLICIT TERMINATION Exemple: Après avoir enregistré une vente, on peut envoyer le paquet au client, réduire l inventaire et mettre à jour la comptabilité. Il n y 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. MTI515 Automne 2013 JF Couturier 33

Les instances multiples Les instances multiples représentent conceptuellement plusieurs threads. Cela implique que plusieurs instances de la même activité puissent s exécuter en même temps. MTI515 Automne 2013 JF Couturier 34

Les instances multiples 2 exigences au MI La capacité de lancer plusieurs instances d une activité ou d un sous-processus La capacité de synchroniser/traiter ces instances afin de poursuivre la séquence du processus MTI515 Automne 2013 JF Couturier 35

MI WITH A PRIORI DESIGN TIME KNOWLEDGE Je connais le nombre d instances qui vont êtres créées. Exemple : J ai besoin de 3 autorisations différentes pour gérer du matériel dangereux. MTI515 Automne 2013 JF Couturier 36

MI WITH A PRIORI DESIGN TIME KNOWLEDGE 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 créer d instances On ne sait pas combien de livres ont été achetés par le client On ne sait pas combien d escales aura une destination avant la définition du plan de vol MTI515 Automne 2013 JF Couturier 38

MI WITH A PRIORI RUNTIME KNOWLEDGE MTI515 Automne 2013 JF Couturier 39

MI WITH A PRIORI RUNTIME KNOWLEDGE Une alternative plus «visuelle» MTI515 Automne 2013 JF Couturier 40

MI WITH NO A PRIORI KNOWLEDGE MTI515 Automne 2013 JF Couturier 41

MI WITH NO A PRIORI KNOWLEDGE On ne sait pas combien d instances vont êtres créées La différence avec le patron précédent est que jusqu à avant la fin du sousprocessus, d autres instances peuvent êtres créées. MTI515 Automne 2013 JF Couturier 42

MI WITH NO A PRIORI KNOWLEDGE Exemple: Un client demande l application de son assurance (vol, feu). Plusieurs témoins peuvent être entendus Plusieurs rapports de témoins peuvent être produits et traités D autres rapports peuvent arriver pendant l évaluation des rapports. MTI515 Automne 2013 JF Couturier 43

MI WITH NO A PRIORI KNOWLEDGE MTI515 Automne 2013 JF Couturier 44

MI REQUIRING SYNCHRONIZATION Si vous souhaitez qu il y ait synchronisation de vos MI, annotez votre diagramme pour spécifier le nombre d itérations nécessaires pour continuer le processus. Dans des logiciels plus évolués, ce seront des attributs qu il faudra modifier Voir le détail dans la documentation MTI515 Automne 2013 JF Couturier 45

MI REQUIRING SYNCHRONIZATION MTI515 Automne 2013 JF Couturier 46

Les patrons d états Ces patrons permettent d évaluer des choix selon la réception d un signal Permet de traiter un processus à la suite d un signal extérieure MTI515 Automne 2013 JF Couturier 47

DEFERRED CHOICE Très similaire à un choix exclusif Dans ce cas, ce n est 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 d une passerelle de type évènement. MTI515 Automne 2013 JF Couturier 48

DEFERRED CHOICE MTI515 Automne 2013 JF Couturier 49

DEFERRED CHOICE Exemple: Le moyen de livraison est déterminé selon la disponibilité des ressources. Dès qu une ressource se libère, on va de l avant. C est une course entre les différentes possibilités MTI515 Automne 2013 JF Couturier 50

INTERLEAVED PARALLEL ROUTING Dans un processus, un groupe d activités peut être réalisé dans n'importe quel ordre. L ordre est décidé pendant l exé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. MTI515 Automne 2013 JF Couturier 51

INTERLEAVED PARALLEL ROUTING MTI515 Automne 2013 JF Couturier 52

INTERLEAVED PARALLEL ROUTING 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 réalisés dans un ordre ou un autre. MTI515 Automne 2013 JF Couturier 54

MILESTONE On souhaite débuter un sousprocessus lorsqu une activité particulière est complétée. Plusieurs façons de le mettre en application. MTI515 Automne 2013 JF Couturier 55

MILESTONE MTI515 Automne 2013 JF Couturier 56

MILESTONE MTI515 Automne 2013 JF Couturier 57

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 qu après l exécution de certaines tâches (atteinte d un niveau) MTI515 Automne 2013 JF Couturier 58

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. MTI515 Automne 2013 JF Couturier 59

CANCEL ACTIVITY MTI515 Automne 2013 JF Couturier 60

CANCEL ACTIVITY MTI515 Automne 2013 JF Couturier 61

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 d information, l activité est annulée MTI515 Automne 2013 JF Couturier 62

CANCEL CASE Ce patron est une extension du patron précédent, sauf que cette fois c est le processus en entier qui est annulé MTI515 Automne 2013 JF Couturier 63

CANCEL CASE MTI515 Automne 2013 JF Couturier 64

CANCEL CASE MTI515 Automne 2013 JF Couturier 65

CANCEL CASE MTI515 Automne 2013 JF Couturier 66

CANCEL CASE MTI515 Automne 2013 JF Couturier 67

CANCEL CASE Exemple: MTI515 Automne 2013 JF Couturier 68

La suite BPEL SOA Design Code MTI515 Automne 2013 JF Couturier 69

BPEL Business Process Execution Langage Langage dérivé de XML Permet l exécution des processus de l entreprise À partir d une notation comme BPMN, on peut générer le code BPEL correspondant. MTI515 Automne 2013 JF Couturier 70

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 d IBM MTI515 Automne 2013 JF Couturier 71

Prochain cours DFD MTI515 Automne 2013 JF Couturier 72