Chapitre Introduction à jBPM et à la Programmation Orientée Processus
Exercice de modélisation BPMN
Mettre en pratique vos connaissances de BPMN 2.0 en modélisant différents scénarios de processus métier, en identifiant les utilisateurs et les groupes impliqués dans chaque tâche.
Exercice 1 : Demande de Congés
Énoncé : Un employé soumet une demande de congé. Son manager doit approuver ou rejeter la demande. Si la demande est approuvée, le service RH est notifié pour enregistrement. Si elle est rejetée, l'employé est informé.
Instructions : Modélisez ce processus et identifiez les utilisateurs et groupes pour chaque tâche :
- Événement de début: Déclenché par l'employé.
- Tâche utilisateur (Soumission de la demande): Acteur :
employe
- Tâche utilisateur (Approbation/Rejet): Acteur :
manager
- Passerelle exclusive (Décision du manager): Basée sur la décision du manager.
- Tâche système (Notification RH): Automatique, pas d'acteur. Cependant, on peut imaginer un groupe
rh
notifié pour information. - Tâche système (Information employé - rejet): Automatique, destinataire :
employe
- Événement de fin
System.out.println("Demande de congé approuvée pour " + employe + " du " + dateDebut + " au " + dateFin);
// Envoyer une notification au service RH (implémentation spécifique à l'environnement)
Tâche système (Information employé - rejet): Si implémentée comme Script Task:
System.out.println("Demande de congé rejetée pour " + employe);
// Envoyer une notification à l'employé (implémentation spécifique à l'environnement)
Exercice 2 : Gestion de Commande
Énoncé : Un client passe une commande en ligne. Le système vérifie la disponibilité des produits. Si les produits sont disponibles, la commande est traitée et expédiée. Si un produit n'est pas disponible, le client est informé et la commande est annulée.
Instructions : Modélisez ce processus et identifiez les utilisateurs et groupes pour chaque tâche :
- Événement de début: Déclenché par le
client
. - Tâche système (Vérification de disponibilité): Automatique, pas d'acteur.
for (Produit produit : commande.getProduits()) {
if (stock.getQuantite(produit) < produit.getQuantite()) {
commande.setStatut("Indisponible");
return;
}
}
commande.setStatut("Disponible");
- Passerelle exclusive (Disponibilité des produits): Basée sur le résultat de la vérification.
- Tâches système (Traitement et expédition): Automatique. Un groupe
logistique
pourrait être notifié. - Tâche système (Information client - indisponibilité): Automatique, destinataire :
client
.
// Traitement :
commande.setStatut("En cours de traitement");
// ... Logique de traitement ...
commande.setStatut("Traitée");
// Expédition :
commande.setStatut("Expédiée");
// ... Logique d'expédition ...
- Événement de fin
Exercice 3 : Processus d'embauche
Énoncé : Un candidat postule à une offre d'emploi. Le service RH examine sa candidature. Si le profil correspond, le candidat est invité à un entretien. Après l'entretien, le recruteur prend une décision. Si le candidat est retenu, une offre lui est envoyée. Sinon, il est informé du refus.
Instructions : Modélisez ce processus et identifiez les utilisateurs et groupes pour chaque tâche :
- Événement de début: Déclenché par le
candidat
. - Tâche utilisateur (Examen de la candidature): Acteur :
rh
. - Passerelle exclusive (Profil correspondant ?): Basée sur la décision RH.
- Tâche utilisateur (Entretien): Acteurs :
candidat
,recruteur
. - Tâche utilisateur (Décision recruteur): Acteur :
recruteur
. - Passerelle exclusive (Candidat retenu ?): Basée sur la décision du recruteur.
- Tâche système (Envoi de l'offre): Automatique, destinataire :
candidat
. - Tâche système (Notification de refus): Automatique, destinataire :
candidat
. - Événement de fin
Exercice 4 : Recrutement de Développeurs
Énoncé : Une entreprise souhaite embaucher de nouveaux développeurs. Trois services sont impliqués : les Ressources Humaines (RH), l'IT et la Comptabilité. Ces services sont représentés par trois utilisateurs : Katy (RH), Jack (IT) et John (Comptabilité).
Instructions : Modélisez ce processus et identifiez les utilisateurs et groupes pour chaque tâche :
Plus de détails ici.
Conseils
- Utilisez un outil de modélisation BPMN comme jBPM Business Central pour créer vos diagrammes. Lors de la création des tâches utilisateur, spécifiez l'acteur ou le groupe responsable.
- Pensez aux différents rôles et responsabilités impliqués dans chaque processus.
Solutions (Images + Acteurs/Groupes)
(Insérer des captures d'écran des solutions pour chaque exercice, en indiquant clairement les acteurs/groupes associés à chaque tâche.)
Par exemple, sous chaque capture d'écran, vous pouvez ajouter une liste :
Exercice 1 :
- Soumission de la demande :
employe
- Approbation/Rejet :
manager
- Notification RH :
rh
(notification)
Conclusion
Identifier les acteurs et les groupes pour chaque tâche est essentiel pour une modélisation BPMN complète et efficace. Cela permet de clarifier les responsabilités et de faciliter la mise en œuvre du processus.