Chapitre Introduction à jBPM et à la Programmation Orientée Processus
Modélisation d'un emprunt bancaire avec BPMN 2.0
Dans cet exercice , nous allons mettre en pratique nos connaissances de BPMN 2.0 en modélisant un scénario de demande de prêt bancaire.
Dernière modification : Dec 08 , 2024
Modélisation du processus
Les acteurs
Pour modéliser ce processus, nous allons avoir besoin de ces différents acteurs :
- Le client qui réalise une demande de prêt immobilier
- Le notaire qui confirme que le client a fait une proposition d'achat d'un bien immobilier
- Le conseiller bancaire du client qui recoit sa demande de prêt immobilier, crée la demande de dossier d'emprunt et donne son avis pour l'acceptation du prêt immobilier
- Le directeur régional de la banque qui évalue l'avis du conseiller bancaire et retourne son accord de prêt
- le service financier qui recoit la demande de prêt complètement validée par le conseiller bancaire et le directeur de la banque. Le service financier passe la demande de prêt à un logiciel pour évaluer les risques et les garanties ainsi que le taux d'intérêt final
Les groupes
Voici les groupes d'utilisateur :
- le groupe Financier qui est en charge d'évaluer les demandes de prêt immobilier
- le groupe conseiller bancaire
- le groupe directeur bancaire
Les services
Les services informatiques suivants sont nécessaires pour l'implémentation du scénario :
- un service de stockage de la demande de prêt
- un service de signature de la demande de prêt qui prend le nom du signataire, le process instance id et un commentaire.
- un service de notification quand les signatures sont obtenues ou rejetées qui prennent un nom et un message
- un service d'envoi de l'argent
- un service d'évaluation de la demande de prêt qui retourne un booléen si accepté ou non
Les activités
Nous envisageons les activités suivantes :
- la demande de prêt
- la signature de la demande par le conseiller bancaire
- la notification que le prêt est accepté
- la notification que le prêt est rejeté
- l'envoi de l'argent
- l'évaluation de la demande par le service financier
Optimisations
- Utilisation d'un sous processus pour la partie financière
- Comment tuer le process s'il prend plus de 30 jours ?
- Comment tuer le process si nous ne recevons pas de validation du notaire sous 15 jours ?
Création des Data Objects
Pour cet exercice, nous allons utiliser un DataObject pour représenter la demande du crédit.
Pour commencer, créons une classe qui contient les conditions financières.
public class ConditionsFinancieres {
private Integer montantDemande;
private Integer nombreAnnees;
private Integer revenuDemandeur;
private Integer mensualite;
private Float interest;
// Getters et Setters
}
Puis créons une classe qui contient les différentes validations :
public class ValidationStatus {
private Boolean notaireValidation = false;
private Boolean conseillerValidation = false;
private Boolean directeurValidation = false;
private Boolean riskAssessmentValidation = false;
private Boolean serviceFinancierValidation = false;
private Boolean regleEmpruntVerifiee = false;
// Getters et Setters
}
Enfin créons le data object qui reprsente le prêt immobilier.
public class PretImmobilier {
private ConditionsFinancieres conditionsFinancieres;
private ValidationStatus validationStatus;
// Autres champs (ex. : ID du prêt, nom du demandeur, etc.)
}