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

Processus de réparation de voiture

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

  • Utilise un paramètre de propriété initialisé par 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 valeur dans chaque tâche
  • Utilise la valeur du paramètre de valeur 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 un 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ébut Le client arrive.
  2. Ajoutez une Flux séquence à une tâche abstraite cible Activity Make Estimate.
  3. Ajouter une Flux séquence à une cible Passerelle exclusive acceptée ?.
  4. Ajouter Séquence flux de séquence à :
    - Une estimation initiale de l'événement final cible n'est pas acceptée
         - Une voiture de réparation de sous-processus cible
  5. À partir de Repair Car , ajoutez une Flux séquence à une tâche abstraite cible Activity Accept Payment.
  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ébut Début Réparations.
  2. Ajouter une Flux séquence à une cible Passerelle exclusive converge Gateway1.
  3. Ajouter une Flux séquence à une activité de tâche abstraite Inspecter le problème.
  4. Ajouter une Flux séquence à une Passerelle convergente exclusive Gateway2.
  5. Ajouter une Flux séquence à un nouveau numéro Passerelle Exclusif Trouvé ?.
  6. Ajouter Séquence flux de séquence à :
    - Une tâche abstraite cible Activity Handle New Found Issue , puis ajoutez une
    Retour de la séquence de flux pour converger Flux séquence
          - Une tâche abstraite cible Repair Issue , puis ajouter une Flux séquence à une
    target Exclusive Passerelle Vous avez d'autres problèmes ?
  7. De la Passerelle Vous avez d'autres problèmes ? ajouter Séquence flux de séquence à :
    - La cible End Event Repairs Completed
         - 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 de Simulation Processus Métier nommé Scénario 1 : Flux principal.
  3. Sélectionnez le Paquetage contenant le modèle BPMN 2.0 correspondant.

Début et Durée

Nous allons simuler les processus dans un atelier de réparation automobile dont les heures 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 de Début de la simulation est de 9h00 et la durée est de 7 heures et 50 minutes.

Sur le diagramme 'Car Repair', cliquez sur l'Artefact de Simulation Processus Métier nommé Scenario 1: Main Flow et, sur la fenêtre Configure BPSim, mettez à jour ces ScenarioParameters :

  • Début - écrasez le champ 'Valeurs' avec n'importe quelle date (au format jj/mm/aaaa) et changez la section d'heure en '9:00 AM'
  • Durée - cliquez sur le bouton Browse. dans le champ 'Valeurs' et réglez-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 'Car Repair' , cliquez sur l'élément Début Event Customer Arrives , et dans la fenêtre Configure 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 propriété

Nous supposons que la voiture de chaque client peut initialement avoir 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 pour répondre à vos besoins.

Dans cet exemple, nous utilisons une distribution normale tronquée pour initialiser la propriété noOfIssues. Les tâches Repair Issue et Handle New Found Issue décrémenteront et incrémenteront respectivement la valeur de noOfIssues valeur

  1. Sur le diagramme 'Car Repair' , cliquez sur Début Event Customer Arrives .
  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 boîte de 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 valeur , 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 du test avec é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 boîte de dialogue 'Edit Property Parameters' . 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 d'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 boîte de dialogue 'Configure 'noOfIssues' for 'Repair Issue'' 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 le nouveau problème trouvé .
  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 boîte de 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 de Séquence

Nous estimons qu'un client sur trois n'acceptera pas le devis initial pour les réparations 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 pour les trois réparations restantes, aucun nouveau problème ne sera détecté.

Sur le diagramme 'Car Repair', se référer à l'élément Passerelle Accepté ? . Clique sur le:

  • Initial Estimate Accepted Flux séquence et dans la fenêtre Configure BPSim cliquez sur la flèche déroulante New Parameter , et créez un paramètre Control appelé ' Probabilité ' ; dans le champ 'Valeurs' tapez '0.67'
  • Initial Estimate Not Accepted Flux séquence , et dans la fenêtre Configure BPSim cliquez sur la flèche déroulante New Parameter , et créez un paramètre Control appelé ' Probabilité ' ; dans le champ 'Valeurs' tapez '0.33'
Sur le diagramme 'Car Repair', reportez-vous à l'élément Passerelle Nouveau problème trouvé ? . Clique sur le:
  • Plus de problèmes pour réparer la 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'
  • More Issues to Repair 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 de 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 ? Elément Passerelle . Clique sur le:

  • Plus de problèmes pour réparer la 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 la 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 saisiriez pas {noOfIssues} > 10 et {noOfIssues} < 5 comme expressions de condition, car les valeurs comprises dans la plage [5, 10] ne seront pas traitées par les flux de Séquence sortants.

Exécuter Simulation

  1. Dans la fenêtre Configure BPSim, cliquez sur l'onglet 'Execute' et sur l'icône dans la barre d'outils.
  2. Lorsque la simulation est terminée, l'onglet Exécuter fournit des résultats similaires à ceux-ci :

Analyse des jetons

  • 20 clients sont arrivés, correspondant au nombre que nous avons calculé manuellement (voir Le client arrive dans le tableau Configurer BPSim )
  • 8 clients sur 20 n'ont pas accepté le devis initial, tandis que 12 sur 20 ont accepté et ont fait réparer leur voiture ; ces chiffres correspondent approximativement aux probabilités 1/3 et 2/3
  • 64 tokens ont passé la Passerelle New Issue Trouvé ? , dont 19 avaient de nouveaux problèmes et 45 n'en avaient pas; 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 boîte de dialogue « BPSim PropertyParameter Values ». Comme il y a 20 clients (tokens), vous pouvez entrer une valeur entre 0 et 19 dans le champ 'Token Number' et cliquer sur le bouton Query pour faire une analyse :

  • Ce client n'a pas accepté l'estimation initiale, comme indiqué dans l'onglet "Regrouper 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é trouvés 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) ; passer à l'onglet 'Grouper par élément' :