Nous continuons de modifier l’étude de cas pour en faire une solution logicielle professionnelle. Notre prochaine étape sera d’ajouter des objets métiers à notre solution. Comme notre objectif est des créer un solution logicielle professionnelle pour une institution d’études supérieures au Québec, l’admission et l’inscription des étudiants sont deux processus d’affaires parmi les plus importants. Nous allons donc les ajouter en premier.
Qu’est-ce que des objets métiers (business) ?
Les objets business sont les processus d’affaires qui agiront sur les objets du modèle. Par exemple, un système d’information pour le registraire d’une université aura comme processus : l’admission des étudiants, l’inscription des étudiants, l’envoi des relevés de notes et l’étude de dossiers pour déterminer l’éligibilité au diplôme.
Un objet métier (business) est une classe Java qui concentre la logique métier et les règles de calcul de l’application (ex. validation des seuils de réussite, application des pondérations). L’admission et l’inscription des étudiants par exemple. La sanction des études est un autre exemple de processus d’affaires.
Les objets business servent à transformer et traiter les données pour répondre aux besoins d’affaires. Ils doivent rester indépendants de l’interface utilisateur et de la persistance des données.
Rôle dans l’architecture logicielle
Il sert d’intermédiaire entre la couche de présentation (ou de service) et les objets du modèle en garantissant l’intégrité des règles métiers. Et par ricochet, l’intégrité des données dans la base de données.
En isolant les règles de calcul dans des objets dédiés, il devient très simple d’effectuer des tests unitaires automatisés sans dépendre d’une base de données ou d’une interface web.
Les objets métiers (business)
Installation et utilisation du dépôt GitHub
- Créer une branche basé sur la branche Bac à sable sur ExemplesEtudianteProfessionnelleTI
- Cloner cette nouvelle branche sur votre ordinateur ou laptop
- Ajouter votre code pour chaque exercice
- Faire un commit & push dans votre nouvelle branche
Exercise 1 : Créez une classe métier (business) Admission contenant les méthodes permettant de garder une liste en mémoire d’étudiant(s) qui ont été admis à un programme. Le contenu de la liste devrait grossir avec le nombre d’étudiants. On devrait pouvoir lister les code permanents des étudiants admis.
Cette classe devra contenir une function pour admettre une étudiant avec le code du programme et un objet ÉtudiantCours (un objet modèle avec un objet Étudiant, son code permanent, son nom et son code de programme. Cette fonction retournera un objet modèle de type ÉtudiantCours. Les paramètres de cette fonction seront :
- String : code de programme
- Un objet modèle EtudiantCours
// créé et géré par le processus métier Admission et Inscription
private String codePermanent;
public String nom;
private String codeProgramme;
private String codeCours;
private Etudiant etudiant;
Exercise 2 : Créez une classe métier (business) Inscription. Cette classe devra vérifier que le code permanent est dans la liste d’étudiants admis. Si le code permanent est dans cette liste, votre code devra l’ajouter à la liste des étudiants inscrits. Vous pourrez obtenir la liste d’étudiants admis via la classe métier Admission. Si le code permanent est dans la liste d’étudiant, ajoutez l’étudiant à la liste d’étudiants inscrits. Sinon, envoyez un message d’erreur à la console.
La classe métier Inscription devra contenir une fonction inscrire avec comme paramètres : le code de programme, le code du cours et l’objet EtudiantCours.
Cette fonction retournera l’objet EtudiantCours avec le code de cours pour l’inscription.
EXERCICE 3 : créer une classe métier Gestionprogrammesetudes. Cete classe devra pêrmettre la création d’un programme d’etudes avec code de programme, domaine d’études, cours prérequis, cours obligatoires, cours optionnels et cours libres.
Une institution d’études supérieures aillant un catalogue des programmes offerts ainsi que le curriculum requis pour obtenir le diplôme.
// pour gérer le catalogue des cours et leurs prérequis
// pour que l'étudiant puisse consulter les cours et leurs prérequis et
// s'inscrire
static GestionCoursProgrammesEtudes instance = null;
static ArrayList<CoursPremierCycle> coursObligatoires = new ArrayList<CoursPremierCycle>();
static ArrayList<CoursPremierCycle> coursOptionnels = new ArrayList<CoursPremierCycle>();
static ArrayList<CoursPremierCycle> coursLibres = new ArrayList<CoursPremierCycle>();
static ArrayList<CoursPremierCycle> coursPrerequis = new ArrayList<CoursPremierCycle>();
Cette classe métier sera en charge de créer un objet modèle ProgrammeEtudesPremierCycle contenant
// créé et géré par le processus métier GestionProgrammeEtudes
private String codeProgramme;
private String nomProgramme;
private String domaineEtudes;
private GestionProgrammeEtudes.CycleEnum cycle;
private HashMap<String, CoursPremierCycle> prerequis;
private HashMap<String, CoursPremierCycle> obligatoires;
private HashMap<String, CoursPremierCycle> optionnels;
private HashMap<String, CoursPremierCycle> libres;
La solution sera présentée dans un prochain article.
Cet article fait partie d’une série consacrée aux exercices du livre D’étudiante à professionnelle TI : Du code académique aux solutions logicielles professionnelles. Restez à l’affût des prochaines parutions.
Laisser un commentaire