Réserver une Démo
Pré. Proc.

Processus de réparation automobile

Cet exemple simule le flux de processus d'un atelier de réparation automobile. La configuration de BPSim :

  • Utilise un paramètre de propriété initialisé par la distribution pour générer un nombre aléatoire de problèmes pour chaque client
  • Applique la probabilité pour simuler :
    - Acceptation ou non du devis initial
    - Si de nouveaux problèmes seront détectés lors de la réparation
  • Incrémente ou décrémente la valeur du paramètre de propriété dans chaque tâche
  • Utilise la valeur du paramètre de propriété sur les conditions des séquences sortant des passerelles
  • Simule les arrivées des clients pour un début et une durée donnés

Créer Modèle BPMN

Créer le processus principal

Example Business Process diagram for simulation in Sparx Systems Enterprise Architect

  1. Créez un événement Démarrer Le client arrive.
  2. Ajoutez une Flux séquence à une tâche abstraite cible Activité Créer une estimation.
  3. Ajouter une Flux séquence à une cible Passerelle Exclusive Acceptée ?.
  4. Ajoutez des flux Séquence à :
    - Une cible Événement final Estimation initiale non acceptée
         - Un sous-processus cible Réparation de voiture
  5. À partir de Réparation de voiture , ajoutez une Flux séquence à une tâche abstraite cible Activité Accepter le paiement.
  6. Ajoutez une Flux séquence à un événement final cible Le client quitte la boutique.

Créer le sous-processus Réparation de voiture

Example Business Process diagram for simulation in Sparx Systems Enterprise Architect

  1. Créer un événement Démarrer Démarrer les réparations.
  2. Ajoutez une Flux séquence à une Passerelle exclusive cible convergente Gateway1.
  3. Ajoutez une Flux séquence à une tâche abstraite. Activité Inspecter pour détecter un problème.
  4. Ajoutez une Flux séquence à une Passerelle exclusive Passerelle converge2.
  5. Ajoutez une Flux séquence à un nouveau numéro exclusif Passerelle . Vous l'avez trouvé ?
  6. Ajoutez des flux Séquence à :
    - Une tâche abstraite cible Activité Gérer un nouveau problème détecté , puis ajouter un
    Flux séquence retour pour converger vers Gateway2
          - Une tâche abstraite cible Réparer le problème , puis ajouter une Flux séquence à un
    cible Passerelle exclusive Vous avez d'autres problèmes ?
  7. Depuis la Passerelle Vous avez d'autres problèmes ? Ajoutez Séquence Flows à :
    - L'événement final cible Réparations terminées
         - converger Gateway1

Configurer BPSim

Tâche

Description

Artefact et Paquetage

  1. Ouvrez la fenêtre Configurer BPSim ('Simuler > Analyse de Processus > BPSim > Ouvrir BPSim Manager').
  2. Créez un artefact Simulation Processus Métier nommé Scénario 1 : Flux principal.
  3. Sélectionnez le Paquetage contenant le modèle BPMN 2.0 correspondant.

Démarrer et Durée

Nous allons simuler les processus dans un garage dont les horaires d'ouverture sont de 9h00 à 17h00, soit une période de 8 heures. Nous supposons également qu'un client entrant après 16h50 ne sera pas servi ce jour-là. Par conséquent, l'heure Démarrer de la simulation est 9h00 et la durée est de 7 heures et 50 minutes.

Sur le diagramme « Réparation automobile », cliquez sur l'artefact Simulation Processus Métier nommé Scénario 1 : Flux principal et, dans la fenêtre Configurer BPSim, mettez à jour ces paramètres de scénario :

  • Démarrer - remplacez le champ « Valeurs » par n'importe quelle date (au format jj/mm/aaaa) et remplacez la section horaire par « 9 h 00 »
  • Durée - cliquez sur le bouton Browse. dans le champ « Valeurs » et définissez-le sur une durée constante de « 0 07:50:00 »

Le client arrive

Nous allons simuler un client arrivant toutes les 24 minutes.

Le premier client arrive à 9h00 et le dernier arrive à 16h36 (le client arrivant à 17h00 ne sera pas servi aujourd'hui car cela est limité par le paramètre « Durée »).

Avec un stylo et du papier, nous pouvons calculer qu'il y a 20 clients servis (9h00 à 16h36 = 456 minutes ; le nombre de clients est 456/24 + 1 = 19 + 1 = 20). Nous vérifierons cela avec le résultat de la simulation plus tard.

Sur le diagramme 'Réparation automobile', cliquez sur l'élément Démarrer Event Arrivée du client , et dans la fenêtre Configurer BPSim :

  1. Cliquez sur la flèche déroulante Nouveau paramètre et sélectionnez « Contrôle ».
  2. Cliquez sur la flèche déroulante « Paramètre » et sélectionnez « InterTriggerTimer ».
  3. Dans le champ « Valeurs », cliquez sur le bouton Browse. et définissez une valeur numérique constante de « 24 minutes ». Cliquez sur le bouton OK et sur l'icône Enregistrer de la barre d'outils.

Paramètres de la propriété

Nous supposons que le véhicule de chaque client peut initialement présenter un nombre différent de problèmes. Cela pourrait être reflété à l'aide d'un générateur de nombres aléatoires. BPSim fournit un certain nombre de distributions adaptées à vos besoins.

Dans cet exemple, nous utilisons une distribution normale tronquée pour initialiser la propriété noOfIssues. Les tâches Réparer le problème et Gérer le nouveau problème détecté décrémenteront et incrémenteront respectivement la valeur de noOfIssues .

  1. Sur le diagramme 'Réparation auto', cliquez sur l'événement Démarrer Arrivée client .
  2. Dans l'onglet « Configurer » de la fenêtre Configurer BPSim, cliquez sur la flèche déroulante Nouveau paramètre et créez un paramètre de propriété appelé noOfIssues.
  3. Dans le champ « Valeurs », cliquez sur le bouton Browse. ; la dialogue « Configurer « noOfIssues » pour « CustomerArrives » s'affiche.
  4. Cliquez sur l'onglet « Distribution » et sélectionnez « TruncatedNormal » ; dans les champs :
    - 'Moyenne', tapez '2'
    - « Écart type », tapez « 1 »
    - 'Min', tapez '1'
    - 'Max', tapez '1000'
Note importante : les distributions telles que « TruncatedNormal » renvoient une valeur à virgule flottante, mais la propriété est utilisée comme un integer . La définition du type de la propriété est importante, en particulier dans les expressions de condition lors des tests d'égalité. Par exemple, l'expression de condition getProperty('noOfIssues') = 0 ne sera presque jamais satisfaite, car noOfIssues a été initialisé par une distribution à virgule flottante.

Conseil : Comment personnaliser le type d'un bien

Après avoir créé la propriété et défini une valeur , cliquez sur l'icône dans la barre d'outils, puis cliquez sur l'icône pour afficher la dialogue « Modifier les paramètres de la propriété ». Dans le champ « Type » de la propriété, cliquez sur la flèche déroulante et sélectionnez la valeur « int » au lieu de la valeur par défaut « double ».

  1. Sur le diagramme « Réparer la voiture », cliquez sur le problème de réparation de l'activité.
  2. Dans l'onglet « Configurer » de la fenêtre Configurer BPSim, cliquez sur la flèche déroulante Nouveau paramètre et créez un paramètre de propriété appelé noOfIssues.
  3. Dans le champ « Valeurs », cliquez sur le bouton Browse. . La dialogue « Configurer « noOfIssues » pour « Réparer le problème » s'affiche.
  4. Cliquez sur l'onglet 'Expression' et, dans le champ 'Expression', tapez {noOfIssues} -1 ; cliquez sur le bouton OK .
  5. Sur le diagramme « Réparer la voiture », cliquez sur l'activité Gérer les nouveaux problèmes détectés .
  6. Dans l'onglet « Configurer » de la fenêtre Configurer BPSim, cliquez sur la flèche déroulante Nouveau paramètre et créez un paramètre de propriété appelé noOfIssues.
  7. Dans le champ « Valeurs », cliquez sur le bouton Browse. . La dialogue « Configurer « noOfIssues » pour « Gérer les nouveaux problèmes détectés » s'affiche.
  8. Cliquez sur l'onglet 'Expression' et, dans le champ 'Expression', tapez {noOfIssues} +1 ; cliquez sur le bouton OK .

Probabilité sur les flux Séquence

Nous estimons qu'un client sur trois n'acceptera pas le devis initial de réparation et que les deux autres l'accepteront. Nous estimons également que pour une réparation sur quatre, de nouveaux problèmes seront détectés et que pour les trois réparations restantes, aucun nouveau problème ne sera détecté.

Sur le diagramme 'Réparation automobile', référez-vous à l'élément Passerelle Accepté ? . Clique sur le:

  • Flux séquence estimation initiale acceptée et dans la fenêtre Configurer BPSim, cliquez sur la flèche déroulante Nouveau paramètre et créez un paramètre de contrôle appelé « Probabilité » ; dans le champ 'Valeurs', tapez '0.67'
  • Flux séquence d'estimation initiale non acceptée , et dans la fenêtre Configurer BPSim, cliquez sur la flèche déroulante Nouveau paramètre et créez un paramètre de contrôle appelé « Probabilité » ; dans le champ 'Valeurs', tapez '0.33'
Sur le diagramme 'Réparation automobile', référez-vous à l'élément Passerelle Nouveau problème trouvé ? . Clique sur le:
  • Plus de problèmes pour réparer Flux séquence et dans la fenêtre Configurer BPSim, cliquez sur la flèche déroulante Nouveau paramètre et créez un paramètre de contrôle appelé « Probabilité » ; dans le champ 'Valeurs', tapez '0,75'
  • Plus de problèmes à réparer dans Flux séquence et dans la fenêtre Configurer BPSim, cliquez sur la flèche déroulante Nouveau paramètre et créez un paramètre de contrôle appelé « Probabilité » ; dans le champ 'Valeurs', tapez '0,25'

Condition sur les flux Séquence

Nous utilisons une expression pour renvoyer une valeur booléenne comme condition d'une Flux séquence , qui joue un rôle clé dans la logique du flux.

Sur le diagramme « Réparer la voiture », reportez-vous à la section Avez-vous d'autres problèmes ? Élément Passerelle . Clique sur le:

  • Plus de problèmes à réparer dans Flux séquence et dans la fenêtre Configurer BPSim, cliquez sur la flèche déroulante Nouveau paramètre et créez un paramètre de contrôle appelé « Condition » ; dans le champ 'Valeurs' cliquez sur le bouton Browse. , cliquez sur l'onglet 'Expression' et tapez {noOfIssues} != 0 dans le champ 'Expression'
  • Plus de problèmes pour réparer Flux séquence et dans la fenêtre Configurer BPSim, cliquez sur la flèche déroulante Nouveau paramètre et créez un paramètre de contrôle appelé « Condition » ; dans le champ 'Valeurs' cliquez sur le bouton Browse. , cliquez sur l'onglet 'Expression' et tapez {noOfIssues} = 0 dans le champ 'Expression'
Note : Toutes les transitions sortantes d'une Passerelle doivent inclure 100% de la logique ; par exemple, vous ne devez pas saisir {noOfIssues} > 10 et {noOfIssues} < 5 comme expressions de condition, car les valeurs comprises dans la plage [5, 10] ne seront gérées par aucun flux Séquence sortant.

Exécuter Simulation

  1. Dans la fenêtre Configurer BPSim, cliquez sur l'onglet « Exécuter » et sur l'icône dans la barre d'outils.
  2. Une fois la simulation terminée, l’onglet Exécuter fournit des résultats similaires à ceux-ci :

Analyse des jetons

  • 20 clients sont arrivés, ce qui correspond au nombre que nous avons calculé manuellement (voir Arrivée du client dans le tableau Configurer BPSim )
  • 8 clients sur 20 n'ont pas accepté le devis initial, tandis que 12 sur 20 l'ont accepté et ont fait réparer leur voiture ; ces chiffres correspondent approximativement aux probabilités 1/3 et 2/3
  • 64 jetons ont passé la Passerelle New Issue Found ? , dont 19 ont eu de nouvelles émissions et 45 non ; ces chiffres correspondent approximativement aux probabilités 1/4 et 3/4

Analyse sur les clients individuels

Cliquez sur le bouton de la barre d'outils pour ouvrir la dialogue « Valeurs PropertyParameter BPSim ». Comme il y a 20 clients (jetons), vous pouvez saisir une valeur entre 0 et 19 dans le champ « Numéro de jeton » et cliquer sur le bouton Query pour effectuer une analyse :

  • Ce client n'a pas accepté l'estimation initiale, comme indiqué dans l'onglet « Grouper par propriété » :
  • La voiture de ce client n'avait qu'un seul problème, qui a été résolu :
  • La voiture de ce client avait trois problèmes connus et trois autres problèmes ont été découverts lors de la réparation, donc au total six problèmes ont été résolus (il s'agit peut-être d'une très vieille voiture) ; en passant à l'onglet « Grouper par élément » :