ERP ET SYSTÈMES D’INFORMATIONS INTÉGRÉS PDF
Document Details
Uploaded by MerryLongBeach
Institut Supérieur d'Informatique
2024
Dr. Sahbi Zahaf
Tags
Summary
This document is about ERP and Information Systems Integration. Chapter 3 focuses on the design of business processes and the infrastructure within a system.
Full Transcript
ERP ET SYSTÈMES D’INFORMATIONS INTÉGRÉS CHAPITRE 3 : PHASE CONCEPTION : INFRASTRUCTURE MÉTIER DU SIE 2ème CS DR. SAHBI ZAHAF A.U03/05/2024 : 2023 - 2024 1 Approche Descendente ou « T...
ERP ET SYSTÈMES D’INFORMATIONS INTÉGRÉS CHAPITRE 3 : PHASE CONCEPTION : INFRASTRUCTURE MÉTIER DU SIE 2ème CS DR. SAHBI ZAHAF A.U03/05/2024 : 2023 - 2024 1 Approche Descendente ou « Top-Down » Infrastructure Métier Vue Métier Processus métier Métier Vue Fonctionnelle Fonctions & Flux Vue Applicative Technique Applications & Logiciels Vue Physique Infrastructure Matérielle Infrastructure Technique 03/05/2024 2 NOTION DE PROCESSUS EN GÉNÉRAL 03/05/2024 3 PROCÉDURE VS PROCÉDÉ VS PROCESSUS Décrit les étapes successives I Procédure nécessaires pour la réalisation S d’une activité spécifique O Utilisé dans la fabrication de - Procédé Produits à partir des Matières 9 Premières 0 0 Décrit l’enchaînement Processus d’activités aboutissant à un 1 résultat 03/05/2024 4 Entrées Enchaînement Sorties d’activités Un Processus est un ensemble ordonné d’activités ou de sous-processus corrélés et interactifs qui transforment des éléments d’entrée en éléments de sortie 03/05/2024 5 Contraintes Entrées Enchaînement Sorties d’activités RessourcesRessources Méthodes Humaines Outils Procédés Un Processus est exploité dans Environnement spécifique, il est soumis à des Contraintes et consomme des Ressources Un Processus est déclenché par au moins un événement 03/05/2024 6 PROCESSUS MÉTIER DE L’ENTREPRISE 03/05/2024 7 OBJECTIF : AUTOMATISER LES PROCESSUS MÉTIER Légende : Activité Activité Début Processus Activité Intermédiaire Processus Activité Fin Processus 03/05/2024 8 EXEMPLE DE PROCESSUS : PROCESSUS DE CONGÉ (1) Description textuelle du Processus demande de congé des salariés dans une Entreprise La demande est émise par le salarié à son chef de service, qui la signe et la transmet au service RH Le service RH valide ou pas la demande, décompte les congés pour la demande validée et réalise le payement En fin de compte, le service RH transmet la nouvelle modification au service sécurité pour mettre-à-jour l’accès du salarié 03/05/2024 9 EXEMPLE DE PROCESSUS : PROCESSUS DE CONGÉ (2) Acteurs Processus Demande De Congé Saisie de Salarié Demande Chef de Envoi de la Service Demande Non Service Réception de Validation de Oui Décompte la Demande la Demande des Congés Payement RH Service Mise-à-jour Sécurité des Accès 03/05/2024 10 PROCESSUS FABRICATION À LA COMMANDE Achats Production Bureau Client D’étude Études Appel Techniques D’Offre Devis Réponse à Délai de Livraison l’Appel d’Offre Besoins Matières Planification de fabrication Commande Ordre d’Achats 03/05/2024 11 Traitement des Ordre d’Achats issus de la Planification de la Production Fournisseur(s) Service Comptabilité Achats Réception Demande de Prix Consultation et de Délai Choix du Offres Fournisseur Passation de Commande Commande Bordereaux de Expédition réception Entrées en stock Contrôle de la Facture Facture Paiement de la Règlement Facture 03/05/2024 12 Déclencheur(s) Enchaînements d’Activités Entrées Acteur 1 Sorties Acteur 2 Résultat(s) : Produits ou Acteur 3 Services Un Processus Métier « Business Process » est un enchaînement d’activités liées les unes aux autres pour atteindre collectivement un objectif métier en définissant les rôles et les interactions fonctionnelles au sein d’une structure organisationnelle 03/05/2024 13 CONCEPTION SIE : NIVEAU MÉTIER INTÉGRITÉ – INTEROPÉRABILITÉ – FLEXIBILITÉ Intégrité – Le SIE doit couvrir la totalité des Processus Métier exploités par l’Entreprise Interopérabilité – Le SIE doit assurer la communication entre les différents Processus Métier de l’Entreprise Exemple : Le Processus Métier « Commande Client » peut déclencher automatiquement un autre Processus Métier « fabrication » Flexibilité – Le SIE doit mettre-à-jour les Processus Métier déjà définis et les étendre éventuellement selon le besoin par de nouveaux Processus 03/05/2024 14 POURQUOI MODÉLISER UN PROCESSUS? 03/05/2024 15 POURQUOI MODÉLISER LES PROCESSUS MÉTIER ? Exécution d‘un Processus – Cela nécessite la collaboration entre des acteurs de différents départements intra et inter- entreprises Évolution d’un Processus – Cela exige une certaine mise-à-jour par rapport à ses anciennes versions La standardisation et la normalisation des Processus – C’est la préoccupation actuelle et majeure des divers intervenants dans le monde business 03/05/2024 16 MODÉLISATION PROCESSUS MÉTIER INTÉGRITÉ – INTEROPÉRABILITÉ – FLEXIBILITÉ Intégrité – La Modélisation doit couvrir la totalité des activités métiers de l’Entreprise Interopérabilité – Le Langage de Modélisation choisi doit être un standard et doit supporter la collaboration intra et interprocessus Flexibilité – Le Langage de Modélisation choisi doit favoriser la mise-à-jour, l’extension et l’évolution des différentes versions des Processus 03/05/2024 17 CHOIX DU LANGAGE DE MODÉLISATION DES PROCESSUS MÉTIER (1) Langages de Modélisation des Processus Métier – Existence de plusieurs Langages – On s’intéresse aux formalismes qui proposent des notations graphiques (Business Process Diagram) Les analystes métier (équipes métier) qui définissent les Processus ne sont pas forcément des informaticiens La notation graphique est vivement recommandée → elle facilite la lisibilité et donc la compréhension du Processus 03/05/2024 18 CHOIX DU LANGAGE DE MODÉLISATION DES PROCESSUS MÉTIER (2) UML 2.0 (Unified Modelling Language) – UML est un standard proposé par l’OMG (Object Management Group) – UML offre la possibilité à ses utilisateurs de réaliser une modélisation graphique au travers un ensemble de neuf Diagrammes – Le Diagramme d’activités d’UML permet de modéliser les Processus Métier 03/05/2024 19 CHOIX DU LANGAGE DE MODÉLISATION DES PROCESSUS MÉTIER (3) YAWL (Yet Another Workflow Language) – YAWL est une extension des réseaux de Pétri – YAWL est doté d’un moteur d’exécution permettant ainsi la simulation des Processus 03/05/2024 20 CHOIX DU LANGAGE DE MODÉLISATION DES PROCESSUS MÉTIER (4) BPMN (Business Process Modeling Notation) – BPMN est un standard graphique pour la modélisation des Processus Métier – BPMN permet de décrire un Processus Métier compréhensible pour tous ses intervenants (analystes métier et développeurs) – BPMN permet de distinguer les informations métier des informations techniques, et fournit une correspondance vers les Langages d’exécution 03/05/2024 21 CHOIX DU LANGAGE DE MODÉLISATION DES PROCESSUS MÉTIER (5) BPMN (Business Process Modeling Notation) 03/05/2024 22 CHOIX DU LANGAGE DE MODÉLISATION DES PROCESSUS MÉTIER (6) [ZAHAF, 2014] UML 2.0 BPMN 2.0 YAWL Fonctionnel + ++ + Comportemental + ++ ++ Intégrité Informationnel ++ ++ - Organisationnel + ++ - Opérationnel + ++ + Conception + ++ + Flexibilité Changement - - - Extension ++ ++ - Intraprocessus + ++ - Interopérabilité Interprocessus - + - 03/05/2024 23 BPMN : LANGAGE STANDARD DE MODÉLISATION DES PROCESSUS MÉTIER 03/05/2024 24 STANDARD BPMN (BUSINESS PROCESS MODELING NOTATION) Besoin : Standard Graphique de notation pour Modéliser les Processus Métier Solution : Standard BPMN 2.0 (Janvier 2011) Proposé par Standard pour OMG (Object Standard Standard les éléments Management Sémantique d’exécution Graphiques Group) 03/05/2024 25 OUTILS DE MODÉLISATION BPMN 2.0 : BIZAGI PROCESS MODELER 03/05/2024 26 EXEMPLE DE MODÉLISATION AVEC BPMN 2.0 03/05/2024 27 Flux de Séquence Flux de Message Association Début Intermédiaire Fin Évènements Connecteurs Branchement Branchement Branchement Tâche Sous-Processus Exclusif Parallèle Inclusif Activités Passerelles Objet de Magasin de Annotation Group Données Données Processus / Acteurs Artefacts 28 SYMBOLES DE BASE (1) : OBJETS DE FLUX Symboles Événement de Départ / Déclencheur Exemple : Facture Fournisseur arrive Événement de Fin / Résultat Exemple : Facture Fournisseur payée Événement Intermédiaire Exemple : Attendre 1 heure, Arrivée de l’annulation d’une Commande 03/05/2024 29 SYMBOLES DE BASE (2) : OBJETS DE FLUX Symboles Branchement Exclusif Exemple : Décision Oui/Non Branchement Parallèle Exemple : Lancement obligatoire de toutes les Tâches en Parallèles Branchement Inclusive Exemple : Lancement éventuel des Tâches en Parallèles 03/05/2024 30 SYMBOLES DE BASE (3) : OBJETS DE FLUX Symboles Activité / Tâche / Activité Élémentaire Exemple : Contrôler la réception des marchandises Sous-Processus / Activité Composite - Représenensemblete un de Tâches ou un Processus qui n’est pas nécessaire de détailler dans le Processus en cours - Le symbole « + » décrit la présence d’un Sous-Processus 03/05/2024 31 SYMBOLES DE BASE (4) : OBJETS DE CONNEXION : FLUX DE SÉQUENCES Symboles Flux de Séquence Détermine l’ordre d’exécution des Activités Flux de Séquence par Défaut Détermine l’ordre d’exécution par Défaut des Activités 03/05/2024 32 SYMBOLES DE BASE (5) : OBJETS DE CONNEXION : FLUX DE MESSAGES Symboles Flux de Message Modèle Collaboratif (échange d’Informations entre Processus) 03/05/2024 33 SYMBOLES DE BASE (6) : OBJETS D’ORGANISATION : SWIMLANES Symboles Processus (Groupement - Pool) Précise les limites du Processus Couloirs / Bandes Définit les Acteurs 03/05/2024 34 SYMBOLES DE BASE (7) : OBJETS D’ORGANISATION : SWIMLANES Symboles Étape / Milestone 03/05/2024 35 SYMBOLES DE BASE (8) : OBJETS DE DONNÉES Symboles Objets de Données / Data Object Décrit le manuel d’utilisation des documents (électroniques ou non), des données et éventuellement d’autres objets qui sont nécessaires durant l’exécution du Processus Magasins de Données Décrit les Bases de Données (Classeurs, etc.) utilisées en modes (Lecture /Ecriture) par les acteurs du Processus. Le contenu de ces Bases persiste même à la fin du Processus 03/05/2024 36 RÈGLES DE BASES Sens Lecture /Écriture Sens de Lecture/Écriture – Gauche → Droite Un seul évènement de Départ de Type « Blanc » par Processus – Plusieurs événements de Départ peuvent être utilisés si leur type est spécifié Une (ou plusieurs) Fin(s) – Chaque Branche du Flux se termine par un évènement de Fin Principe de Jeton (token) 03/05/2024 37 RÈGLES DE BASES : PRINCIPE DE JETON Jeton L’événement de Départ émet un jeton 03/05/2024 38 RÈGLES DE BASES : PRINCIPE DE JETON Jeton L’événement de Départ émet un jeton Une Tâche s’exécute quand elle reçoit un jeton 03/05/2024 39 RÈGLES DE BASES : PRINCIPE DE JETON Jeton L’événement de Départ émet un jeton Une Tâche s’exécute quand elle reçoit un jeton Une fois que la Tâche termine son exécution elle libère le jeton Cas particuliers : – Branchement Parallèle – Événements intermédiaires 03/05/2024 40 RÈGLES DE BASES : PRINCIPE DE JETON Jeton L’événement de Départ émet un jeton Une Tâche s’exécute quand elle reçoit un jeton Une fois que la Tâche termine son exécution elle libère le jeton Cas particuliers : – Branchement Parallèle – Événements intermédiaires L’événement de Fin absorbe le (ou tous les) jeton(s) 03/05/2024 41 RÈGLES DE BASES : BRANCHEMENT : INTÉRÊT ? Symboles Branchement : – Le symbole Branchement (Passerelle) est utilisé pour contrôler les divergences et les convergences aux niveaux des flux séquentiels d’activités dans un Processus Branchement : indique qu’il y a un mécanisme qui autorise ou qui refuse le passage du Jeton au niveau de la Passerelle – SI le flux n’a pas besoin d’être contrôlé ALORS il n’est pas utile d’utiliser un Branchement Divergence Convergence 03/05/2024 42 MODÈLE VS INSTANCES Modèle Instances 3 instances du Modèle pour ce cas 03/05/2024 43 BPMN : LANGAGE STANDARD DE MODÉLISATION DES PROCESSUS MÉTIER Symboles Événements 03/05/2024 44 TYPES D’ÉVÉNEMENTS Le symbole évènement représente quelques chose qui se produit dans le cours normal de la réalisation d’un Processus – Évènement de Départ (Déclencheur) Ce type d’évènement permet de déclencher un Processus ou Sous-Processus – Évènement de Fin (Résultant) Ce type d’évènement matérialise la fin du Processus – Évènement Intermédiaire Ce type d’évènement permet de contrôler le flux séquentiel à l’intérieur du Processus 03/05/2024 45 ÉVÉNEMENTS : SÉMANTIQUES INTERRUPTION / LANCEMENT / RÉCEPTION Les évènements modifient les cours d’un Processus : – En interrompant le Processus (interruption) – En provoquant un évènement (lancement) – Ou en indiquant qu’un évènement doit se produire (réception) Évènement Interrupteur – Un évènement interrupteur permet d’interrompre le cours normal d’un flux séquentiel Évènement de Lancement – Un évènement de lancement peut signifier que les conditions sont remplies pour exécuter immédiatement l’action reliée à l’évènement Évènement Récepteur – Un évènement Récepteur peut signifier que l’évènement doit se produire pour poursuivre le flux séquentiel 03/05/2024 46 ÉVÉNEMENTS : RÈGLES Les évènements déclencheurs sont des évènements récepteurs Les évènements résultants sont des évènements de lancement Les évènements intermédiaires – SI ils sont positionnés dans le flux séquentiel ALORS ils peuvent signifier le lancement ou la réception de l’évènement Lancement d’un Message Réception d’un Message – SI ils sont positionnés à la frontière d’une activité ALORS ils signifient la réception de l’évènement et peuvent interrompre ou non le flux séquentiel du Processus Sans Avec Interruption Interruption 03/05/2024 47 EXEMPLE : ÉVÉNEMENTS MESSAGES (1) Symboles Événement Déclencheur Le Processus est déclenché par la réception d’un Message Événement Intermédiaire Interrupteur La Tâche 1 ne peut pas être complétée et le flux séquentiel est interrompu suite à la réception du Message Événement Intermédiaire Non-Interrupteur La Tâche 1 est complétée et le flux séquentiel n’est pas interrompu même suite à la réception du Message 03/05/2024 48 EXEMPLE : ÉVÉNEMENTS MESSAGES (2) Symboles Événement Intermédiaire de Lancement Le Message doit être envoyé afin de poursuivre le flux séquentiel Événement Intermédiaire de Réception Le Message doit être reçu afin de poursuivre le flux séquentiel Événement Résultant Le Message est envoyé lorsque le Processus est complété 03/05/2024 49 EXEMPLE : ÉVÉNEMENTS MESSAGES (3) Événement Intermédiaire SI au cours de l’exécution de la Tâche 1 Interrupteur le Message est reçu ALORS la Tâche 1 est interrompue, la Tâche 2 ne sera pas exécutée ET la Tâche 3 est lancée SINON la Tâche 2 est lancée suite à la fin de la Tâche 1 Remarque : SI le Message est reçu après la fin de la Tâche 1 ALORS il sera ignoré SI au cours de l’exécution de la Tâche 1 Événement Intermédiaire le Message est reçu Non-Interrupteur ALORS la Tâche 1 ne sera pas interrompue, la Tâche 2 s’exécute suite à la fin de la Tâche 1 ET la Tâche 3 est lancée SINON la Tâche 2 est lancée suite à la fin de la Tâche 1 Remarque : SI le Message est reçu après la fin de la Tâche 1 ALORS il sera ignoré 03/05/2024 50 ÉVÉNEMENTS : SYNTHÈSE Type Lancement Réception d’événement Interrompt N’Interrompt pas Début Intermédiaire dans le flux séquentiel Intermédiaire dans la Frontière d’une Activité Fin 03/05/2024 51 ÉVÉNEMENTS DÉCLENCHEURS : SYMBOLES (1) Symboles Basic Ce type est utilisé lorsque la cause de déclenchement de Processus n’est pas spécifiée Message Ce type est utilisé lorsque un Message provenant d’un participant extérieur déclenche le Processus Temporisateur (Timer) Ce type est utilisé lorsque une période spécifique est programmée pour déclencher le Processus 03/05/2024 52 ÉVÉNEMENTS DÉCLENCHEURS : SYMBOLES (2) Symboles Signal Ce type est utilisé lorsqu’un Signal provenant d’un autre Processus déclenche le Processus courant Règle (Conditionnel) Ce type est utilisé lorsque le Processus est déclenché suite à la validation de certaines conditions 03/05/2024 53 ÉVÉNEMENTS DÉCLENCHEURS : SYMBOLES (3) Symboles Multiple Ce type signifie qu’il y a plusieurs déclencheurs au Processus SI ( un des déclencheurs qui se produit) ALORS le Processus est déclenché Parallèle Multiple Ce type signifie qu’il y a plusieurs déclencheurs au Processus SI (tous les déclencheurs se produisent) ALORS le Processus est déclenché 03/05/2024 54 ÉVÉNEMENTS DÉCLENCHEURS : SYNTHÈSE Caractéristiques d’un événement déclencheur – Attend qu’un événement arrive pour lancer le Processus Création d’une Instance du Processus – Émet un Jeton – Plusieurs événements déclencheurs peuvent être utilisés si leur type est spécifié Un seul événement de départ de type basique par Processus – N’a qu’un seul flux de séquence sortant et pas de flux de séquence entrant Le premier jour Au déclenchement A l’arrivé du mois de l’alarme incendie d’un émail 03/05/2024 55 ÉVÉNEMENTS INTERMÉDIAIRES : SYMBOLES (1) Symboles Basic Ce type est utilisé pour définir un changement non défini dans l’état du Processus Message : Lancement Ce type signifie l’envoi d’un Message Message : Réception Ce type signifie la réception d’un Message 03/05/2024 56 ÉVÉNEMENTS INTERMÉDIAIRES : SYMBOLES (2) Symboles Temporisateur (Timer) Ce type est utilisé lorsque une Contrainte temps s’avère nécessaire dans la séquence du Processus Signal : Lancement Ce type est utilisé pour indiquer l’envoi d’un Signal Signal : Réception Ce type est utilisé pour indiquer la réception d’un Signal 03/05/2024 57 ÉVÉNEMENTS INTERMÉDIAIRES : SYMBOLES (3) Symboles Règle (Conditionnel) Ce type est utilisé lorsque la suite du Processus nécessite la validation de certaines conditions Lien de Sortie / Lien d’Entrée Ces 2 types sont utiles lorsque on veut lier 2 points du flux éloignés sans utiliser un flux de séquence (flèche) Lien de Sortie Remarques : - Les 2 Liens sont complémentaires - On définit d’abord le Lien de Sortie - On définit ensuite le Lien d’Entrée Lien d’Entrée (Voir un Exemple d’utilisation dans la suite) 03/05/2024 58 ÉVÉNEMENTS INTERMÉDIAIRES : SYMBOLES (4) Symboles Multiple : Lancement Ce type signifie qu’il y a plusieurs déclencheurs pour la suite du Processus SI ( un des déclencheurs qui se produit) ALORS il sera lancé pour la suite de l’exécution du Processus Multiple : Réception Ce type signifie qu’il y a plusieurs déclencheurs pour la suite du Processus SI (il y a eu la réception de l’un des déclencheurs) ALORS l’exécution du Processus se poursuit 03/05/2024 59 ÉVÉNEMENTS INTERMÉDIAIRES : SYMBOLES (5) Symboles Parallèle Multiple Ce type signifie qu’il y a plusieurs déclencheurs nécessaires pour la suite de l’exécution du Processus SI (tous les déclencheurs se produisent) ALORS le Processus poursuit son exécution 03/05/2024 60 ÉVÉNEMENTS INTERMÉDIAIRES : SYMBOLES LIENS : UTILITÉ (1) Problème : La Tâche 2 est suivie de la Tâche 6 qui doit être exécutée par l’Acteur 1 → le flux de séquence qui en traverse (en rouge) peut compliquer la lisibilité du Processus 03/05/2024 61 ÉVÉNEMENTS INTERMÉDIAIRES : SYMBOLES LIENS : UTILITÉ (2) Solution : Utiliser les Symboles Liens avec le même nom (« A » dans notre cas), « un qui lance » et « l’autre qui reçoit » selon le sens de la flèche 03/05/2024 62 ÉVÉNEMENTS INTERMÉDIAIRES : SYNTHÈSE Caractéristiques d’un événement intermédiaire – Ne déclenche pas une nouvelle Instance du Processus en cours – Se produit durant l’exécution du Processus en cours Les symboles au fond noir indiquent un évènement de lancement Les symboles au fond blanc indiquent un évènement de réception – N’a qu’un seul flux de séquence entrant et un seul flux de séquence sortant Émetteur / Récepteur – Émetteur d’événement (Lancement) Quand le Jeton arrive à l’événement, celui-ci, émet l’événement et continu le flux – Récepteur d’événement (Réception) Quand le Jeton arrive à l’événement, celui-ci, attend que l’événement se produit et continu le flux Symbole clair = Réception Symbole foncé = Émission Message reçu Message envoyer 03/05/2024 63 ÉVÉNEMENTS INTERMÉDIAIRES : FRONTIÈRE D’UNE ACTIVITÉ (1) Durant une Activité, des événements peuvent également se produire. Quand ceux-ci arrivent : – Ils peuvent lancer une nouvelle branche de flux (flux d’exception) – Ils peuvent également interrompre ou pas l’Activité en cours (flux normal) L’événement intermédiaire à la frontière d’une Activité n’est que Récepteur Bord en Pointillées = Activité Continue Bord en Trait Plein = Activité Interrompu 1 heure après le début Erreur → N’interrompt pas → Interrompt 03/05/2024 64 ÉVÉNEMENTS INTERMÉDIAIRES : FRONTIÈRE D’UNE ACTIVITÉ (2) Événements Intermédiaires à la frontière d’une Activité – Avec interruption : le flux normal s’interrompt suite au déclenchement de l’événement et uniquement le flux « d’exception » continu – Sans interruption : le flux normal continu même suite au déclenchement de l’événement et le flux « d’exception » démarre Interrompt N’Interrompt pas 03/05/2024 65 ÉVÉNEMENTS INTERMÉDIAIRES : FRONTIÈRE D’UNE ACTIVITÉ (3) Événement Intermédiaire SI au cours l’exécution de la Tâche Interrupteur l’évènement est déclenché ALORS Interruption (Tâche & Flux normal) Flux normal ET (Flux d’exception) est lancé SINON (Flux normal) est lancé suite à la fin de la Tâche Flux d’exception Remarque : SI l’événement est déclenché après la fin de la Tâche ALORS il sera ignoré Événement Intermédiaire SI au cours de l’exécution de la Tâche Non-Interrupteur l’évènement est déclenché ALORS (Flux normal) s’exécute suite à la fin Flux normal de la Tâche ET (Flux d’exception) est lancé SINON (Flux normal) est lancé suite à la fin de la Tâche Flux d’exception Remarque : SI l’événement est déclenché après la fin de la Tâche ALORS il sera ignoré 03/05/2024 66 SI au cours de l’exécution de la Tâche 1 Événement Intermédiaire l’évènement est déclenché Interrupteur ALORS la Tâche 1 est interrompue, la Tâche 2 ne sera pas exécutée (Flux normal) ET la Tâche 3 est lancée (Flux d’exception) SINON la Tâche 2 est lancée suite à la fin de la Tâche 1 (Flux normal) Remarque : SI l’événement est déclenché après la fin de la Tâche 1 ALORS il sera ignoré SI au cours de l’exécution de la Tâche 1 Événement Intermédiaire l’évènement est déclenché Non-Interrupteur ALORS la Tâche 1 ne sera pas interrompue, la Tâche 2 s’exécute suite à la fin de la Tâche 1 (Flux normal) ET la Tâche 3 est lancée (Flux d’exception) SINON la Tâche 2 est lancée suite à la fin de la Tâche 1 (Flux normal) Remarque : SI l’événement est déclenché après la fin de la Tâche 1 ALORS il sera ignoré 03/05/2024 67 ÉVÉNEMENTS INTERMÉDIAIRES : FRONTIÈRE D’UNE ACTIVITÉ (4) Événement Temporisateur dans la frontière de l’Activité SI 1Heure après le début de la Tâche 1 elle n’a pas terminée son exécution ALORS la Tâche 1 s’arrête ET la Tâche 2 est lancée SINON la Tâche 2 ne sera pas lancée Événement Temporisateur dans la flux de séquence La Tâche 4 débute 1 Heure après la fin de la Tâche 3 03/05/2024 68 ÉVÉNEMENTS FINS : SYMBOLES (1) Symboles Basic Ce type est utilisé lorsque la terminaison n’entraîne aucune action Message Ce type indique qu’un Message est envoyé lorsque le Processus sera terminé Signal Ce type indique qu’un Signal est envoyé lorsque le Processus sera terminé 03/05/2024 69 ÉVÉNEMENTS FINS : SYMBOLES (2) Symboles Multiple Ce type indique qu’il y a plusieurs conséquences ou résultats reliés à la fin du Processus Fin Précipitée Ce type indique que toutes les Activités du Processus doivent se terminer immédiatement Annulation Ce type indique que le Processus se termine suite à l’annulation d’une Transaction Remarque : Le Type Annulation est utilisé uniquement lorsqu’un événement intermédiaire d’Annulation est présent dans le Processus 03/05/2024 70 EXEMPLE : FIN PRÉCIPITÉ SI 1Heure après le début de la Tâche 1 elle n’a pas terminée son exécution ALORS la Tâche 1 ne sera pas interrompue, la Tâche 3 s’exécute suite à la fin de la Tâche 1 (Flux normal) ET la Tâche 2 est lancée (Flux d’exception) SINON la Tâche 2 ne sera pas lancée Remarque : (Dans le cas où Tâche 1 n’a pas terminé son exécution avant 1 Heure) SI la Tâche 2 termine son exécution ALORS le Processus sera immédiatement terminé sans même attendre la fin des autres Tâches (Tâche 3 et Tâche 4) 03/05/2024 71 EXEMPLE : ANNULATION 03/05/2024 72 ÉVÉNEMENTS FINS : SYNTHÈSE Caractéristiques d’un événement de finalisation – Termine une (ou plusieurs) branches du Processus – N’a qu’un seul flux de séquence entrant et pas de flux de séquence sortant – Absorbe le Jeton Cas particulier : Terminaison (précipitée) : tous les Jetons de l’instance du flux en cours sont consommés et toutes les Activités cessent Système piraté Mail envoyé Annulation Commande Au Client d’une Commande D’Achat validée 03/05/2024 73 BPMN : LANGAGE STANDARD DE MODÉLISATION DES PROCESSUS MÉTIER Branchements (Passerelles) 03/05/2024 74 BRANCHEMENT EXCLUSIF (1) Symboles Principe : Le Branchement Exclusif consiste à choisir un seul chemin parmi plusieurs flux sortants possibles selon une Condition précise SI (la 1ère valeur == Vraie) ALORS le Processus va OU poursuivre automatiquement cette voie sans considérer les autres possibilités Remarques : - Une valeur doit être associée à chaque flux sortant - Il est recommandé de modéliser un flux par défaut, en cas qu’aucune valeur ne soit remplie 03/05/2024 75 BRANCHEMENT EXCLUSIF (2) Symboles OU OU 03/05/2024 76 BRANCHEMENT EXCLUSIF (3) Symboles Divergence OU SI (Valeur 1 == Vraie) ALORS (Tâche 2==Active) SINON SI (Valeur 2 == Vraie) ALORS (Tâche 3==Active) SINON SI (Valeur 3 == Vraie) ALORS (Tâche 4==Active) SINON (Tâche 2==Active) // Valeur par Défaut 03/05/2024 77 BRANCHEMENT EXCLUSIF (4) Symboles Convergence OU SI (Tâche 2==Fin) ALORS (Tâche 5==Active) SINON SI (Tâche 3==Fin) ALORS (Tâche 5==Active) SINON SI (Tâche 4==Fin) ALORS (Tâche 5==Active) 03/05/2024 78 BRANCHEMENT EXCLUSIF (5) Symboles Remarque Importante : Le Branchement Exclusif ne peut pas être Convergeant et Divergent en même temps Problème Solution OU 03/05/2024 79 BRANCHEMENT PARALLÈLE (1) Symboles Principe : Le Branchement Parallèle est utilisé pour éclater et synchroniser les chemins parallèles Remarques : - Chaque flux sortant reçoit un signal d’exécution des Activités - Le Branchement Parallèle attend que tous les flux entrants soient complétés afin de poursuivre le Processus 03/05/2024 80 BRANCHEMENT PARALLÈLE (2) Symboles Éclatement SI (Tâche 1==Fin) ALORS (Tâche 2==Active) ET (Tâche 3==Active) ET (Tâche 4==Active) 03/05/2024 81 BRANCHEMENT PARALLÈLE (3) Symboles Synchronisation SI (Tâche 2==Fin) ET (Tâche 3== Fin) ET (Tâche 4== Fin) ALORS (Tâche 5==Active) 03/05/2024 82 BRANCHEMENT PARALLÈLE (4) Symboles Remarque Importante : Le Branchement Parallèle ne peut pas supporter l’éclatant et la synchronisation en même temps Problème Solution 03/05/2024 83 BRANCHEMENT PARALLÈLE (5) Symboles Attention : Certaines Situations peuvent mener à un Blocage La Tâche 4 ne pourra jamais être Active 03/05/2024 84 BRANCHEMENT INCLUSIF (1) Symboles Principe : Le Branchement Inclusif permet d’évaluer tous les flux sortants possibles selon une Condition précise Remarques : - Une valeur doit être associée à chaque flux sortant - Il est recommandé de modéliser un flux par défaut, en cas qu’aucune valeur ne soit remplie - Une valeur remplie du 1er flux sortant n’exclut pas l’évaluation des autres flux (contrairement au Branchement Exclusif) 03/05/2024 85 BRANCHEMENT INCLUSIF (2) ≡ 03/05/2024 86 BRANCHEMENT INCLUSIF (3) Symboles Divergence SI (Valeur 1 == Vraie) ALORS (Tâche 2==Active) SI (Valeur 2 == Vraie) ALORS (Tâche 3==Active) SI (Valeur 3 == Vraie) ALORS (Tâche 4==Active) SINON (Tâche 2==Active) // Valeur par Défaut 03/05/2024 87 BRANCHEMENT INCLUSIF (4) Symboles Convergence SI (Tâche 2==Fin) SI (Tâche 3==Fin) SI (Tâche 4==Fin) ALORS (Tâche 5==Active) 03/05/2024 88 BRANCHEMENT BASÉ SUR LES ÉVÉNEMENTS (1) Symboles Principe : Le Branchement basé sur les événements indique que les flux sortants reposent sur des événements plutôt que sur l’évaluation de conditions Un événement intermédiaire est placé sur chaque flux sortant Remarques : Ce Branchement émet un jeton sur chaque flux sortant - Chaque jeton arrive sur l’événement intermédiaire et attend son déclenchement - Le 1er événement qui se déclenche « gagne » et laisse continuer son jeton, les autres jetons en attente sur les autres événements disparaissent 03/05/2024 89 BRANCHEMENT BASÉ SUR LES ÉVÉNEMENTS (2) Symboles Divergence SI (Événement 1 survient avant Événement 2 et Événement 3) ALORS (Tâche 2==Active) SINON SI (Événement 2 survient avant Événement 1 et Événement 3) ALORS (Tâche 3==Active) SINON SI (Événement 3 survient avant Événement 1 et Événement 2) ALORS (Tâche 4==Active) 03/05/2024 90 BRANCHEMENT BASÉ SUR LES ÉVÉNEMENTS (3) : EXEMPLE LOG ON 03/05/2024 91 BRANCHEMENT BASÉ SUR LES ÉVÉNEMENTS (4) 03/05/2024 92 BRANCHEMENT DÉCLENCHEUR ÉVÉNEMENTS PARALLÈLES (1) Symboles Principe : Le Branchement Déclencheur événements Parallèles est utilisé pour déclencher un Processus Le Processus démarre quand tous les événements surviennent Remarque : - Une seule instance d’un Processus qui démarre suite à différents événements 03/05/2024 93 BRANCHEMENT DÉCLENCHEUR ÉVÉNEMENTS PARALLÈLES (2) Symboles Exemple : La Sous-Processus « Gagner un Téléphone » ne se déclenche que si tous les événements déclencheurs auront lieu Une seule instance qui démarre 03/05/2024 94 BRANCHEMENT DÉCLENCHEUR ÉVÉNEMENTS PARALLÈLES (3) ≠ Une seule instance de Processus qui Chaque événement de début crée démarre suite au déclenchement une nouvelle instance de Processus simultané des 3 événements de → Dans ce cas 3 instances de début Processus démarrent 03/05/2024 95 BRANCHEMENT DÉCLENCHEUR ÉVÉNEMENT EXCLUSIF (1) Symboles Principe : Le Branchement Déclencheur événement Exclusif est utilisé pour déclencher un Processus Le Processus démarre quand un des événements survient 03/05/2024 96 BRANCHEMENT DÉCLENCHEUR ÉVÉNEMENT EXCLUSIF (2) Symboles Exemple : La Sous-Processus « Gagner un Téléphone » ne se déclenche que si un des événements déclencheurs aura lieu 03/05/2024 97 BRANCHEMENT DÉCLENCHEUR ÉVÉNEMENT EXCLUSIF (3) = Une seule instance de Processus qui Une seule instance de Processus qui démarre suite au déclenchement de démarre suite au déclenchement de l’un des 3 événements de début l’un des 3 événements de début 03/05/2024 98 BPMN : LANGAGE STANDARD DE MODÉLISATION DES PROCESSUS MÉTIER Activités et Sous-Processus 03/05/2024 99 ACTIVITÉ : C’EST QUOI? Un terme générique utilisé pour représenter une Action (une unité de travail) réalisée au cours d’un Processus avec un début et une fin bien identifiés – Consomme du Temps et des Ressources – Exige un ou plusieurs objets intrants, et produit un ou plusieurs objets extrants Niveaux d’abstraction : 2 Types d’Activités – Activité Atomique ou Tâche – Activité Composite ou Sous-Processus 03/05/2024 100 ACTIVITÉ : SYMBOLES DE BASE Symboles - Une Tâche correspond à une Activité Atomique qui ne peut pas être décomposée - Une Tâche peut être réalisée par un Acteur Humain, et/ou par une Application ou même par une Machine Un Sous-Processus est une Activité composée, c’est-à-dire, une Activité qui peut elle-même être décrite suivant une séquence d’activités Remarque : il n’y a pas de limites dans le nombre d’imbrications, cependant, il vaut mieux se limiter à 2 ou 3 niveaux pour favoriser la bonne gestion du modèle 03/05/2024 101 TYPES DE TÂCHES : SYMBOLES ÉTENDUS (1) Symboles Tâche Service Elle se réalise automatiquement avec une Application informatique sans aucune intervention Humaine Tâche Script Elle est utilisée dans le cas où on a la possibilité d’exploiter un moteur d’exécution pour la Gestion du Processus. C’est donc une Tâche automatisée Remarque : Différence entre Tâche Service et Tâche Script les Tâches Script permettent d’écrire le code informatique directement dans la tâche, alors que les Tâches Services doivent faire appel à une fonction, un code ou un web service existant 03/05/2024 102 TYPES DE TÂCHES : SYMBOLES ÉTENDUS (2) Symboles Tâche Manuelle Elle se réalise manuellement par un acteur Humain sans l’aide d’une Application informatique Remarque : la Tâche manuelle ne fait l’objet d’aucune traçabilité dans le SIE Tâche Utilisateur Elle indique qu’un acteur Humain accomplisse cette Tâche en interagissant avec une Application informatique 03/05/2024 103 TYPES DE TÂCHES : SYMBOLES ÉTENDUS (3) Symboles Tâche d’Envoi Elle spécifie qu’on doit envoyer un message à un participant externe au Processus. La Tâche se termine une fois que le message est envoyé Tâche de Réception Elle a pour unique action d’attendre un message d’un participant externe au Processus. La Tâche se termine une fois que le message est reçu 03/05/2024 104 TYPES DE TÂCHES : SYMBOLES ÉTENDUS (4) Symboles Tâche Règle Métier Elle est utilisée pour indiquer que l’action de la Tâche est d’appliquer une Règle Métier ou de prendre une décision Remarque : Ce type de Tâche a pour objectif de faire le lien avec un Moteur de Règle Métier. En effet, le Processus envoi des données au Moteur qui fournit en retour des résultats. Pour cela, l’OMG propose un standard complémentaire à BPMN appelé DMN (Decision Model and Notation) 03/05/2024 105 SOUS-PROCESSUS : VERSION RÉDUITE 03/05/2024 106 SOUS-PROCESSUS : VERSION ÉTENDUE 03/05/2024 107 EXEMPLE : PROCESSUS « SERVICE AU CLIENT » DANS UN RESTAURANT 03/05/2024 108 EXEMPLE : PROCESSUS « SERVICE AU CLIENT » DANS UN RESTAURANT Convention : La Préparation de la Commande - Le libellé d’une Tâche commence par un verbe est en fait un Sous-Processus - Le libellé d’un Sous-Processus commence par un nom 03/05/2024 109 EXEMPLE : PROCESSUS « SERVICE AU CLIENT » DANS UN RESTAURANT Remarque : – Les Sous-Processus sont utilisés lorsqu’il est nécessaire de décrire le comportement d’une Activité à un niveau plus fin de détail 03/05/2024 110 SOUS-PROCESSUS : UTILITÉ Simplifier le Processus pour une meilleure visibilité – Objectif : Pouvoir visualiser le Processus du début à la fin sur un même diagramme en minimisant le niveau de détail Modéliser les Processus dans une Approche Top- Down, c’est-à-dire, avec un affinement progressif du niveau de détail Modéliser une séquence d’Activités impactée par le même événement – Voir Exemple suivant : utilisation d’un événement intermédiaire à la frontière du Sous-Processus aura un impact sur l’ensemble de la séquence composant ce Sous-Processus 03/05/2024 111 EXEMPLE : PROCESSUS « SERVICE AU CLIENT » DANS UN RESTAURANT Le départ d’un Client durant le Sous-Processus « Préparation de la Commande » interrompt le Processus Principal 03/05/2024 112 TYPES DE SOUS-PROCESSUS : SYMBOLES ÉTENDUS (1) Symboles Sous-Processus Réutilisable - Un Sous-Processus fait partie d’un Processus parent - Dans certains cas, il est possible qu’on ait besoin d’utiliser une même séquence d’activités dans plusieurs Processus - Afin d’éviter de modéliser des Processus requis dans différents Processus, BPMN propose d’utiliser le concept de Sous-Processus Réutilisable - Le Sous-Processus Réutilisable est indépendant du Processus Principal, on dit qu’il est appelé - On distingue un Sous-Processus Réutilisable d’un Sous-Processus Classique par une bordure épaisse 03/05/2024 113 - Exemple : On peut définir un Processus « Encaissement » qui pourrait être Réutilisé non seulement dans notre Processus du « Service au Client » mais également dans d’autres Processus (« Vente à emporter », etc.) - Le Sous-Processus « Encaissement » serait alors décrit indépendamment du Processus « Service au Client » et appelé au moment du paiement 03/05/2024 114 TYPES DE SOUS-PROCESSUS : SYMBOLES ÉTENDUS (2) Symboles Sous-Processus Parallèle - Un Sous-Processus Parallèle est un type de Sous- Processus sans événement de départ ni événement de fin - Un Sous-Processus Parallèle est composé d’un ensemble d’Activités qui sont déconnectées les unes aux autres (i.e. elles ne sont pas reliées par un Flux de Séquences) - Toutes les Activités de ce Sous-Processus démarrent en Parallèle et peuvent être réalisées dans n’importe quel ordre, cependant elles doivent être toutes achevées pour terminer le Sous-Processus - Remarque : Pas de marqueur spécifique pour ce type de Sous-Processus 03/05/2024 115 Exemple : – La Tâche 1, la Tâche 2, la Tâche 3, la Tâche 4 et le Sous- Processus démarrent en Parallèle – La Tâche 1, la Tâche 2, la Tâche 3, la Tâche 4 et le Sous- Processus doivent tous terminer pour sortir de ce Sous- Processus Parallèle 03/05/2024 116 TYPES DE SOUS-PROCESSUS : SYMBOLES ÉTENDUS (3) Symboles Sous-Processus Ad-hoc - Un Sous-Processus Ad-hoc dispose des mêmes caractéristiques que le Sous-Processus Parallèle - Un Sous-Processus Ad-hoc est composé d’un ensemble d’Activités qui sont déconnectées les unes aux autres (i.e. elles ne sont pas reliées par un Flux de Séquences) - Toutes les Activités n’ont pas besoin d’être réalisées pour terminer le Sous-Processus. En effet, ce Sous- Processus se termine lorsque l’Acteur qui l’exécute décide de le terminer - Remarque : Le « ~ » est un marqueur spécifique pour ce type de Sous-Processus 03/05/2024 117 Exemple : – La Tâche 1, la Tâche 2, la Tâche 3, la Tâche 4 et le Sous- Processus démarrent en Parallèle – La Tâche 1, la Tâche 2, la Tâche 3, la Tâche 4 et le Sous- Processus ne doivent pas obligatoirement tous terminer pour sortir de ce Sous-Processus Ad-hoc – L’Acteur exécutant de ce Sous-Processus peut décider à tout moment de l’arrêter 03/05/2024 118 BPMN : LANGAGE STANDARD DE MODÉLISATION DES PROCESSUS MÉTIER Activités Boucles et Multi- instances 03/05/2024 119 BOUCLE & MULTI-INSTANCES Besoin : – Lorsqu’on modélise un Processus on peut avoir besoin d’exécuter plusieurs fois la même Activité Solution : – Il est possible d’utiliser une Passerelle permettant de revenir sur une Activité précédente Au lieu d’utiliser cette configuration, BPMN propose deux types d’Activités spécifiquement dédiés à ce type de comportement : – Activité Boucle – Activité Multi-instances 03/05/2024 120 ACTIVITÉ BOUCLE CONDITION Continuer Jusqu’à / TANT QUE Ex : Max = 5 Une Activité de Type Boucle permet de spécifier une répétition basée sur la vérification d’une Condition SI condition vraie ALORS l’Activité sera répétée SINON on continu sur la suite du flux de séquence Remarque : – Pour éviter d’avoir une Boucle infinie il est possible de spécifier un nombre maximum d’itérations 03/05/2024 121 ACTIVITÉ BOUCLE : EXEMPLE La Tâche « Saisir Commande » sera exécutée en boucle jusqu’à ce que toutes les personnes à la table aient commandés 03/05/2024 122 ACTIVITÉ MULTI-INSTANCES CONDITION CONDITION Nombre Défini Nombre Défini Une Activité de Type Multi-instances permet d’exécuter une Activité en nombre d’instances défini – Remarque : À la différence de la Boucle qui se base sur une condition pour ré-exécuter l’Activité Les instances peuvent s’exécuter en Parallèle ou d’une manière Séquentielle 03/05/2024 123 ACTIVITÉ MULTI-INSTANCES : EXEMPLE La Tâche « Saisir Commande » sera exécutée en séquence pour chaque personne de la table, l’une après l’autre – Remarque : Dans ce cas on n’exprime pas une condition mais un nombre d’instances défini par le nombre de personnes présents La Tâche « Préparer Commande » qui concerne chaque personne peut être exécutée en Parallèle 03/05/2024 124 SOUS-PROCESSUS : BOUCLE & MULTI-INSTANCES Même principe aux niveaux règles d’exécution que celui des Tâches correspondantes 03/05/2024 125 BPMN : LANGAGE STANDARD DE MODÉLISATION DES PROCESSUS MÉTIER Flux de Messages 03/05/2024 126 FLUX DE SÉQUENCES VS FLUX DE MESSAGES Flux de Séquences – Permet d’orchestrer les activités, les événements et les passerelles au sein du pool d’un Processus – Ne permet pas de modéliser les échanges entre les différents Processus – Représentation : Flux de Messages – Représente la collaboration entre les Processus – Ne permet pas de modéliser les échanges à l’intérieur d’un même Processus – Modélise les échanges entre 2 pools ou plus → C’est ce qu’on appelle Diagramme de Collaboration – Représentation : 03/05/2024 127 FLUX DE SÉQUENCES : RÈGLE IMPORTANTE Flux de Séquences ne peut pas sortir à l’extérieur d’un Pool 03/05/2024 128 FLUX DE MESSAGES : EXPLOITATION Émetteur Récepteur Événements Tâche / Sous- Processus Processus « Vide » 03/05/2024 129 EXEMPLE : PROCESSUS « SERVICE AU CLIENT » (1) Détaillons maintenant la collaboration du Processus « Service Au Client » Le Pool du « Client » est représenté comme une boîte noire, il s’agit d’un participant externe à l’organisation 03/05/2024 130 EXEMPLE : PROCESSUS « SERVICE AU CLIENT » (2) 1 2 Lorsque le serveur demande au Client s’il possède une Carte de fidélité, celui-ci envoi un message 1 et attend une Réponse 2 de la part du Client 03/05/2024 131 EXEMPLE : PROCESSUS « SERVICE AU CLIENT » (3) 3 4 5 La Réponse du client est ensuite analysée 3 et une fois que le client procède au paiement 4 on lui donne son Reçu 5 03/05/2024 132 EXEMPLE : PROCESSUS « SERVICE AU CLIENT » (4) Dans le cas où on veut représenter le Processus « Client » la modélisation devient ainsi jointe 03/05/2024 133 FLUX DE MESSAGE : CONSTATATIONS En BPMN un message est considéré comme un échange et non quelque chose de matériels comme un courrier ou un émail Les Jetons ne circulent pas à travers les Flux de Messages 03/05/2024 134 BPMN : LANGAGE STANDARD DE MODÉLISATION DES PROCESSUS MÉTIER Objets de Données & Magasins de Données 03/05/2024 135 EXPLOITATION DES DONNÉES BPMN permet de représenter des objets physiques, documents, données qui sont utilisés durant l’exécution des Processus Objet de Données – Représente les données nécessaires uniquement durant l’exécution du Processus – Sa porté n’a plus de sens une fois que le Processus est terminé Magasin de Données – Représente les données qui persistent même en dehors de l’instance du Processus – Sa porté persiste même si le Processus est terminé → on peut l’exploiter dans d’autres Processus 03/05/2024 136 EXEMPLE : PROCESSUS « SERVICE AU CLIENT » (1) La réalisation de l’activité « Saisir Commande » utilise une Base de Données contenant la liste des plats et les prix Remarque : Sens de la flèche du lien de l’Association (Magasin de Données → Activité) : il s’agit d’une consultation 03/05/2024 137 EXEMPLE : PROCESSUS « SERVICE AU CLIENT » (2) L’activité « Saisir Commande » va générer un Objet de Données « Commande » dans un état « En cours » Remarque : Sens de la flèche du lien de l’Association (Activité → Objet de Données) : il s’agit d’une Ajout ou d’une Modification 03/05/2024 138 EXEMPLE : PROCESSUS « SERVICE AU CLIENT » (3) L’ Objet de Données « Commande » est utilisé ensuite en entrée de l’activité « Préparer Commande » (sous forme de consultation) En sortie de cette activité l’Objet de Données « Commande » passe dans l’état « Préparée » 03/05/2024 139 EXEMPLE : PROCESSUS « SERVICE AU CLIENT » (4) L’activité « Encaisser Commande » consulte l’ Objet de Données « Commande », ainsi que la Base de Données contenant la liste des prix pour calculer le montant de l’addition 03/05/2024 140 EXEMPLE : PROCESSUS « SERVICE AU CLIENT » (5) L’ Objet de Données « Commande » passe enfin dans l’état « Payée » 03/05/2024 141