Vous êtes sur la page 1sur 2

1ère année cycle ingénieur

2020-2021

• Contrôle final : génie logiciel – JAVA (09/06/2021)


• Document autorisé : le mémento de syntaxe
• Durée : 2h

Questions de cours (3pt)

1. Expliquez brièvement comment peut-on intégrer le driver d’une BD dans un projet JAVA.
2. Expliquez le rôle d’un singleton de connexion à la BD. (1pt)
3. Est-ce qu’on peut établir une connexion à deux bases des données à partir de la même
application JAVA ? (Vrais ou faux, justifiez votre réponse) (1pt)

Exercice 1

Nous souhaitons développer une application pour la gestion des contacts d’une association de
donneurs du sang. Cette application facilitera la classification des donneurs selon leur groupe sanguin
et de les triés selon la date du dernier don réalisé. Cette application supporte deux profils utilisateurs
« Administrateur » qui dispose de tous les droits de gestion et le profil « Assistant » qui a le droit de
consulter la liste des donneurs enregistrés et de faire des recherches.
Règles de gestion

• Tous les utilisateurs sont enregistrés dans la table TBL_USER


• TBL_USER (#idUser (PK auto-inc), login, password, profil (Admin/assistant) )
• Singleton de connexion est donné (bd: env_BD, user : root, pwd : 1234)
• Classe « User.java » est donnée avec constructeurs, getters, setters et toString()

Partie 1 - Questions (8pt) :

1. Donnez le code nécessaire pour enregistrer un nouvel utilisateur dans la base de données.
Public boolean ajouterUser(String login, String password, String profil ) (2pt)
2. Donnez le code java (JDBC) nécessaire pour l’authentification d’un utilisateur et qui permet de
récupérer son profil (Admin = 0 et Assistant = 1).
Public static int authentification (String login, String password). (2pt)
3. Donnez le code java de l’action d’authentification avec redirection selon le profil de l’utilisateur
vers deux fenêtres « HomeAdmin.java » ou « HomeAssistant.java ». (1pt) (le formulaire
d’authentification est donné).

4. Donnez le code JAVA nécessaire (action et JDBC) pour supprimer un utilisateur de la BD.
L’utilisateur à supprimer est sélectionné à partir de la JTable. (3pt) voir la figure suivante :

1
Partie 2 (5pt)

Pour gérer les informations des donneurs de sang et les dons effectués, nous proposons l’utilisation
des deux tables suivantes :
Contraintes :

• TBL_DONNEUR (#idDonneur (pk auto-inc), nom, numTel, groupeSangin (O, B, …))


• TBL_DON (#idDon (PK auto-inc), dateDon, description, idDonneur (FK))
• Les class « Donneur.java » et « Don.java » sont déjà implémentés avec les constructeurs,
getters, setters et la méthode toString().
• La méthode qui permet de récupérer la liste des donneurs est implémentée, sa signature est :
public static LinkedList<Donneur> listerDonneur ()
Questions :
1. Donnez le code nécessaire pour remplir la combobox avec les noms des donneurs. Utilisez
(Hashmap/HashTable). (2pt)
2. A quel événement doit-on associer le remplissage de la combobox des donneurs. (1pt)
3. Donnez le code nécessaire pour afficher la liste des dons réalisés par un donneur sélectionné à
partir de la JCombobox. (2pt)

Partie 3 (4pt)

Nous souhaitons créer un dashboard qui permettra à l’administrateur de consulter les indicateurs pour
faire le suivi des activités réalisés et de faciliter les relances des donneurs :
1. Donnez le code nécessaire pour consulter le nombre de donneur existants par type de groupe
sanguin et afficher le bilan comme suite : (2pt)

2. Donnez le code de la méthode pour récupérer la liste des donneurs éligibles. Un donneur est
éligible si la date de son dernier don dépasse 3 mois. (2pt)

Bonne chance

Vous aimerez peut-être aussi