Centre National de l'Évaluation et des Examens Examen National du Brevet de Tec

Centre National de l'Évaluation et des Examens Examen National du Brevet de Technicien Supérieur Session 2020 - Sujet - Page 1 10 Filière : Développement des Systèmes d’Information - DSI Durée : 4 heures Épreuve : Développement des Applications Informatiques - DAI Coefficient : 45 consignes Le sujet comporte 3 dossiers ; Chaque dossier (sous dossier) doit être traité dans une feuille séparée. Barème de notation DOSSIER I : RÉCUPÉRATION DES INFORMATIONS D’UNE FORMATION SOUS DOSSIER 1-1 : STRUCTURE DE DONNÉES 14 points SOUS DOSSIER 1-2 : ARCHITECTURE CLIENT/SERVEUR 08 points DOSSIER II : PLANIFICATION DES FORMATIONS. 10 points DOSSIER III : GESTION DES FORMATIONS. 08 points Total 40 points Il sera pris en considération la qualité de la rédaction lors de la correction. Aucun document n’est autorisé. Sujet de l’Examen National du Brevet de Technicien Supérieur - Session 2020 - Filière : DSI Épreuve : DAI Page 2 10 ÉTUDE DE CAS : Association des personnes porteuses de trisomie 21 ATRI-21 (Association d’aide au handicap Trisomiques 21), a pour but non lucratif affiliée à l'NUPH (Nations Unies pour les Personnes Handicapées). Elle œuvre en faveur des droits des personnes porteuses de trisomie 21 (T21) et de leurs familles, en favorisant leur insertion sociale et professionnelle. L’ATRI-21 gère plusieurs Établissements d'accueils, d’Hébergements et d'Aide pour Travail (EHAT). Ces établissements permettent aux personnes T21 qui n'ont pas acquis suffisamment d'autonomie pour travailler en milieu ordinaire, d'exercer une activité professionnelle dans un milieu protégé. Chaque établissement EHAT dispose d'un ou plusieurs ateliers, par exemple : - Un atelier de fabrication de produits cosmétiques ; - Un atelier restauration-traiteur ; - Un atelier espaces verts ; - etc. Chaque atelier offre des formations au profil des bénéficiaires (personnes porteuses de trisomie 21). L’ATRI-21 dispose de plusieurs services de gestion des formations : - Service de planification des formations : Application Desktop en VB.NET ; - Service pour consulter les informations d’une formation : Application client/serveur en JAVA ; - Service de gestion des formations : Application Web. Figure 1 : Schéma structurel des services de l’association Sujet de l’Examen National du Brevet de Technicien Supérieur - Session 2020 - Filière : DSI Épreuve : DAI Page 3 10 DOSSIER I : RÉCUPÉRATION DES INFORMATIONS D’UNE FORMATION ❖ SOUS DOSSIER 1-1 : STRUCTURE DE DONNÉES (14 pts) Pour assurer cette tâche, on exploite plusieurs objets dont la structure est illustrée par le diagramme de classes suivant : Figure 2 : Diagramme de classe 1. Implémentation de la classe « Formation » : public class Formation implements Serializable{ private String codef, libelle; private Date dateDebut, dateFin; public Formation(...) {...} //----------------------------------------------------------- @Override public boolean equals(Object ob) { ... } //----------------------------------------------------------- @Override public String toString() { ... } } a) Définir un constructeur avec 4 arguments pour initialiser les attributs de cette classe. (1 pt) b) Redéfinir la méthode « equals » qui compare deux formations selon leurs codes (la comparaison est insensible à la casse). (1 pt) c) Redéfinir la méthode « toString », afin de retourner une chaine porteuse d’informations sur une formation sous la forme : (1 pt) Code : xxxx, Libellé : xxxx effectuée entre : jj/mm/aaaa et jj/mm/aaaa 2. Implémentation de la classe « FormationTheorique » : public class FormationTheorique extends Formation { private String nomFormateur; private String salle; //----------------------------------------------------------- public FormationTheorique(...) { ... } //----------------------------------------------------------- @Override public String toString() { ... } } Sujet de l’Examen National du Brevet de Technicien Supérieur - Session 2020 - Filière : DSI Épreuve : DAI Page 4 10 a) Définir un constructeur de 6 arguments pour initialiser tous les attributs de cette classe. (1,5 pt) b) Donner la définition de la méthode « toString », afin de retourner une chaine porteuse d’informations sur une formation théorique sous-forme : (1,5 pt) Code : xxxx, Libelle : xxxx effectuée entre : jj/mm/aaaa et jj/mm/aaaa Formateur : xxxx, salle : xxxx 3. Implémentation de la classe « Beneficiaire » : public class Beneficiaire{ private String codeB; private String nom, prenom; private String ville; private Date dateNais; private ArrayList<Formation> listeFormations; public Beneficiaire(...) { ... } //------------------------------------------------------- public boolean addFormation(Formation F){... } //------------------------------------------------------- public Formation delFormation(int index){ ... } //------------------------------------------------------- public boolean delFormation(Formation F){ ... } //------------------------------------------------------- public Formation setFormation(int index, Formation F) { ... } //------------------------------------------------------- @Override public String toString(){ ... } //------------------------------------------------------- public void saveFormations(String file){ ... } } Donner le code des méthodes suivantes : a- Un constructeur avec 5 arguments qui initialise les 5 premiers attributs de la classe « Beneficiaire » et instancie la collection « listeFormations » ; (1 pt) b- addFormation(…) : permet d’ajouter à la collection une nouvelle formation et retourne l’état de l’opération ; (1 pt) c- delFormation(int) : permet de supprimer une formation de la collection en se basant sur un index et retourne la formation qui vient d’être supprimée. La vérification de la validité de l’index est indispensable ; (1 pt) d- delFormation(Formation ..) : permet de supprimer une formation de la collection en se basant sur un objet « Formation » et retourne l’état de la suppression ; (1 pt) e- setFormation(…) : permet de modifier une formation déjà existante, la vérification de la validité de l’index est indispensable, elle retourne la formation avant sa modification ; (1 pt) f- toString ( ) : retourne une chaine de caractères porteuse de toutes les informations d’un bénéficiaire sous-forme : (1 pt) Code Ben : xxxx, Nom complet : xxxx ayant bénéficié des formations : 1- Code : xxxx, Libellé : xxxx effectuée entre : jj/mm/aaaa et jj/mm/aaaa 2- Code : xxxx, Libellé : xxxx effectuée entre : jj/mm/aaaa et jj/mm/aaaa … g- saveFormations (String f) : permet de sauvegarder toutes les formations théoriques dans un fichier d’objet ; (2 pts) Sujet de l’Examen National du Brevet de Technicien Supérieur - Session 2020 - Filière : DSI Épreuve : DAI Page 5 10 ❖ SOUS-DOSSIER 1-2 : ARCHITECTURE CLIENT/SERVEUR (8 pts) Afin qu’un responsable de l’association puisse récupérer des informations d’une formation, une architecture client/serveur est mise en place. Son schéma est donné par la figure suivante : Figure 3 : Architecture client/serveur 1. S’agit-il d’une architecture 2 tiers ou 3 tiers ? justifier votre réponse. (0,5 pt) 2. Donner le modèle de Gartner-group correspondant à cette architecture. (1 pt) 3. Classe : Client TCP (3 pts) Figure 4 : Classe Client TCP Implémenter la classe « client » qui contient : ✓ 3 attributs ; ✓ Un constructeur avec 2 arguments qui crée un socket et initialise les objets d’entrée/sortie in et out ; ✓ Une méthode demandeFormation qui envoie au serveur TCP le code d’une formation, reçoit et retourne l’objet « formation » correspondant à ce code. 4. Classe : Serveur TCP (3,5 pts) Figure 5 : Classe Serveur TCP public class Client { private Socket sc=null; private ObjectInputStream in = null; private PrintWriter out=null; public Client(String IP, int Port){...} public Formation demandeFormation(String cf) {...} } Sujet de l’Examen National du Brevet de Technicien Supérieur - Session 2020 - Filière : DSI Épreuve : DAI Page 6 10 Compléter la méthode « startServer » de la classe Serveur de telle manière :  Dans la partie [1] : - Instancier l’objet « ServerSocket » avec un port d’écoute : 2000 ; - Accepter une demande de connexion du client TCP ; - Préparer les objets d’entrée/sortie : in et out.  Dans la partie [2] : - Lire le code de la formation envoyé par le client TCP ; - Faire appel à la méthode « getFormation » pour récupérer l’objet Formation correspondant au code de la formation ; - Envoyer cet objet Formation au client TCP. DOSSIER II : PLANIFICATION DES FORMATIONS. (10 pts) Afin de gérer l’attribution des formations aux bénéficiaires, on utilise une application Desktop connectée à une base de données sous SQL-Server. Les caractéristiques de ce serveur sont : - IP du serveur : 192.168.1.200 ; - Nom de la base de données : db_Formation ; - Authentification de Windows. Le MLDR de cette base de données est le suivant : Figure 6 : Modèle logique de données relationnel public class Serveur { private ServerSocket ss; private Socket sc=null; private BufferedReader in = null; private ObjectOutputStream out= null; public void startServer() { try{ ... [1] while(true) { ... [2] } }catch(Exception ex) { } } public Formation getFormation(String cf) { /* code non demandé */} } Sujet de l’Examen National du Brevet de Technicien Supérieur - Session 2020 - Filière : DSI Épreuve : DAI Page 7 10 L’IHM de cette application est illustrée par la figure suivante : Figure 7 : IHM des attributions des formations TRAVAIL DEMANDÉ Remarque : Vous avez le choix d’utiliser le mode connecté ou non connecté. 1) Dans un module, déclarer les objets de connexion et créer la procédure « Connexion() » pour établir une connexion avec le serveur de base de données. Il faut gérer les exceptions. (1,5 pt) Signature de la procédure Public Sub Connexion() ... End Sub 2) Dans la classe de l’IHM, Écrire uploads/s1/ dai-sujet-1-bts-2020.pdf

  • 39
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mai 02, 2022
  • Catégorie Administration
  • Langue French
  • Taille du fichier 0.8399MB