Examen de passage à la 3ème année - Cours du Soir Session Juillet 2012. | Exam-Lib
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
Welcome to our Education website, plz like our page facebook to support us. Thank You and wish you good navigation

Examen de passage à la 3ème année - Cours du Soir Session Juillet 2012.

abdelouafiOct 9, 2018

    1. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      643
      Likes Received:
      14
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      Examen de passage à la 3ème année - Cours du Soir
      Session Juillet 2012.
      Filière : Techniques de Développement Informatique
      Epreuve : Théorique
      Niveau : Technicien Spécialisé
      Durée : 4 h 00
      Barème : 20 Pts




      Dossier 1 (10 pts)

      Il s'agit de concevoir une application permettant la gestion et le suivi de l’avancement des modules dans un établissement de formation.

      Une formation possède les informations suivantes : code, intitulé, date de début, date de fin, état (en cours ou clôturé).

      Une formation est décomposée en modules, chaque module se caractérise par : code du module, objectif, masse horaire, date de début, date de fin, l'état de réalisation (terminé ou non), nombre d’heures réalisées, un formateur qui enseigne ce module, EFM (réalisé ou non), date prévue de l’EFM, date de réalisation de l’EFM, PV des notes (livré ou non).

      Le responsables de la formation sont des personnes dont chacune possède : un matricule, un nom et prénom, une date de naissance, un numéro de téléphone, un email, un grade (directeur, directeur pédagogique ou formateur).

      Le directeur a la responsabilité de Gestion du personnel (recruter (ajouter), licencier (supprimer) ou redéployer le personnel (modifier)) et consulter l’état d’avancement des modules de chaque formation.

      Le directeur pédagogique possède les droits suivants : ajouter des formations, ajouter des modules, affecter un module à un formateur, modifier les informations d’un module, consulter l’état d’avancement des modules.

      Le formateur possède le droit de modifier la masse horaire réalisée des modules qu’il enseigne.

      Au démarrage de chaque formation, le directeur pédagogique crée la formation et les modules et affecte chaque module à un formateur. Au cours de l’exécution de la formation, le formateur met à jour la masse horaire réalisée après chaque séance de cours ou de TP. Chaque module est sanctionné par un EFM noté et des contrôles continus. A la fin de chaque module, le formateur prépare une proposition d’EFM qui doit être validée par le directeur pédagogique. Après la validation, le directeur pédagogique fixe une date de réalisation d’EFM et après la réalisation, l’EFM sera marqué comme réalisé et le module sera terminé. Le formateur doit corriger les examens et livre le PV des notes finales à la direction pédagogique.

      Après la livraison de tous le PV des modules par les formateurs, la formation sera clôturée.

      1 - Etablir le diagramme de cas d’utilisation. (2,5 pts)

      2- Etablir Le diagramme de séquence « Consulter l’état d’avancement des modules». (2,5 pts)


      3- Etablir un diagramme des classes. (2,5 pts)

      4- Déduire le modèle conceptuel de donnée (MCD) et le modèle logique de données (MLD). (2,5 pts)


      Dossier 2 (10 pts)
      Soit le diagramme des classes suivant :

      upload_2018-10-9_10-31-13.png
      1. Implémenter, dans un langage de programmation orienté objet, les classes du diagramme ci-dessus. (1,5pts)
      2. Implémenter les liens de composition sous forme d’une structure de données (table ou collection). (1pt)
      3. Implémenter la méthode abstraite « getNombreDeFormateur » dans les classes ISTA, Unité mobile et EFP en prison, sachant que : (1,5 pts)
        1. ISTA et EFP en prison : la méthode « getNombreDeFormateur » retourne la valeur de l’attribut nombre des formateurs.
        2. Unité mobile : retourne « 1 ».
      4. Ajouter une méthode « getNombreDeFormateur » dans la classe « Complexe de formation » qui retourne le nombre de formateurs de ce complexe (c’est à dire la somme des nombres de formateurs dans les EFP de ce complexe). (2 pts)
      5. Ajouter une méthode « getNombreDeFormateur » dans la classe « Direction régionale » qui retourne le nombre de formateurs de cette direction (c’est à dire la somme des nombres de formateurs dans les complexes de formation de cette direction). (2 pts)
      6. Ajouter une méthode « getNombreDeFormateur » dans la classe « OFPPT» qui retourne le nombre de formateurs de toutes les directions régionales (c’est à dire la somme des nombres de formateurs dans toues des directions régionales). (2 pts)
       

      Attached Files:

      Last edited: Oct 9, 2018
      Loading...
      Dossier 1 (10 pts)

      1 - Etablir le diagramme de cas d’utilisation. (2,5 pts)

      [​IMG]

      2- Etablir Le diagramme de séquence « consulter l’état d’avancement des modules ». (2,5 pts)
      [​IMG]

      3- Etablir un diagramme des classes. (2,5 pts)
      [​IMG]

      4- Déduire le modèle conceptuel de donnée (MCD) et le modèle logique de données (MLD). (2,5 pts)
      [​IMG]

      Dossier 2 (10 pts)


      Code:
      import java.util.*;
      public class Ofppt {
         private String nom;
         private String adresse;
         private String telephone;
         private String email;
      
         public Vector<DirectionRegionale> Direction;
      
          public Ofppt(String nom, String adresse, String telephone, String email) {
              this.nom = nom;
              this.adresse = adresse;
              this.telephone = telephone;
              this.email = email;
          }
        public int getNombreDeFormateur(){
             int nb=0;
        
          for (DirectionRegionale dr : Direction) {
              nb +=dr.getNombreDeFormateur();
          }
          return nb;
         }
      

      Code:
      import java.util.*;
      public class DirectionRegionale {
         private int id;
         private String nom;
         private String directeurRegional;
         private String adresse;
         private String telephone;
        
         public Vector<ComplexeDeFormation> Complexe;
      
          public DirectionRegionale(int id, String nom, String directeurRegional, String adresse, String telephone) {
              this.id = id;
              this.nom = nom;
              this.directeurRegional = directeurRegional;
              this.adresse = adresse;
              this.telephone = telephone;
          }
      public  int getNombreDeFormateur(){
          int nb=0;
        
          for (ComplexeDeFormation complexeDeFormation : Complexe) {
              nb +=complexeDeFormation.getNombreDeFormateur();
          }
         return nb;
      }
      }
      
      Code:
      import java.util.*;
      public abstract class Efp {
         private int id;
         private int nom;
         private int adresse;
         private int ville;
         private int telephone;
         private int nombreDesStagiaires;
      
          public Efp(int id, int nom, int adresse, int ville, int telephone, int nombreDesStagiaires) {
              this.id = id;
              this.nom = nom;
              this.adresse = adresse;
              this.ville = ville;
              this.telephone = telephone;
            
              this.nombreDesStagiaires = nombreDesStagiaires;
          }
      public abstract int getNombreDeFormateur();
      
      }
      
      Code:
      import java.util.*;
      public class ComplexeDeFormation {
         private int id;
         private String nom;
         private String directeur;
         public Vector<Efp> efps;
        
         public  int getNombreDeFormateur(){
         int nb=0;
             for (Efp efp : efps) {
                 nb+=efp.getNombreDeFormateur();
             }
         return nb;
         }
         }
      

      Code:
      import java.util.*;
      public class Ista extends Efp {
         private int nombreDesFormateurs;
         private int nombreDesGroupes;
          public Ista(int nombreDesFormateurs, int nombreDesGroupes, int id, int nom, int adresse, int ville, int telephone, int nombreDesStagiaires) {
              super(id, nom, adresse, ville, telephone, nombreDesStagiaires);
              this.nombreDesFormateurs = nombreDesFormateurs;
              this.nombreDesGroupes = nombreDesGroupes;
          }
         public int getNombreDeFormateur() {
            return nombreDesFormateurs;
         }
      }
      

      Code:
      import java.util.*;
      public class EfpEnPrison extends Efp {
         private String nomDeResponsableDeFormation;
         private String nomDePrison;
         private int nombreDesFormateurs;
         public EfpEnPrison(String nomDeResponsableDeFormation, String nomDePrison, int nombreDesFormateurs, int id, int nom, int adresse, int ville, int telephone, int nombreDesStagiaires) {
              super(id, nom, adresse, ville, telephone, nombreDesStagiaires);
              this.nomDeResponsableDeFormation = nomDeResponsableDeFormation;
              this.nomDePrison = nomDePrison;
              this.nombreDesFormateurs = nombreDesFormateurs;
          }
            public int getNombreDeFormateur() {
            return nombreDesFormateurs;
         }
      }
      

      Code:
      import java.util.*;
      public class UniteMobile extends Efp {
         private String nomDeFormateur;
          public UniteMobile(String nomDeFormateur, int id, int nom, int adresse, int ville, int telephone, int nombreDesStagiaires) {
              super(id, nom, adresse, ville, telephone, nombreDesStagiaires);
              this.nomDeFormateur = nomDeFormateur;
          }
         public int getNombreDeFormateur() {
              return 1;
         }}
      

Share This Page

Share