Examen Théorie de fin de formation, session Juin 2011 : Techniques de Développement Informatique (TSDI _ OFPPT)

Dossier 1 : Programmation (10 pts)
On  souhaite  créer  une  application    qui  gère  le  système d’information d’une société de création de
logiciels.  Les  développeurs  sont  caractérisés  en  général  par  un  matricule,  un  nom,  un email.    Par
défaut la majorité des développeurs qui travaillent à la société sont des développeurs externes qui sont
payés  à  l’heure  travaillée.    Le  taux  horaire  appliqué  est  négocié  avec  le  développeur  externe  au
moment de son engagement. Certains  de ces développeurs sont recrutés en permanence par la société.
Ils sont dits des développeurs internes ou permanents. Les développeurs internes perçoivent un salaire
mensuel  dépendant  de  leur  catégorie  (S :  Sénior,  J :  Junior),  les  juniors  touchent  un  salaire  de
5000DH/Mois,  tandis  que  les  séniors  perçoivent  un  salaire  de  8000DH/Mois.  Dans  les  deux  cas  ce
salaire  représente  le  salaire  fixe  du  développeur  interne.  Ils  bénéficient  également    des  heures
supplémentaires payées, à la fin de chaque mois, à un taux de 150DH/Heure pour les juniors et 200DH
pour les séniors. En résumé, le salaire mensuel d’un développeur est calculé selon la règle suivante :
Cas d’un développeur interne :
           Salaire  =  salaire  fixe  (5000  ou  8000)  +  Nb  Heures  supplémentaires  réalisées  *  taux
horaire ;

Cas d’un développeur externe :
          Salaire = Nb Heures réalisées * taux horaire ;

Travail à faire : 
NB : Les propriétés de toutes les classes à créer doivent être déclarées privées.
1- Créer les classes DéveloppeurInterne, DéveloppeurExterne avec un constructeur d’initialisation
et les méthodes d’accès aux propriétés (les deux classes sont en relation d’héritage). (2pts)
2- Ajouter  aux  classes  créées  en  1)  la  méthode Calcul_Salaire qui  reçoit  comme   paramètre le
nombre d’heures à payer  (dans  le  cas  des  développeurs  internes,  ce  nombre  représente  les  heures
supplémentaires travaillées qui doivent être payées en plus du salaire fixe) et qui calcule le salaire
d’un développeur selon les règles de calcul mentionnées ci-dessus. On demande que cette méthode
soit polymorphique. (2pts)
Un  projet  est  caractérisé  par  un  identifiant,  l’intitulé  du  projet  et  la  liste  des  développeurs  qui
participent à la réalisation du projet.



3-  Donner la déclaration de la classe Projet avec un constructeur d’initialisation, et un constructeur
de  copie.  On  exige  que  la  liste  des  développeurs  qui ont  participé  au  projet  soit indexée  par
matricule du développeur. (2pts)
4- Ajouter à la classe Projet une méthode appelée AjoutParticipant qui reçoit comme paramètre un
développeur interne ou externe et l’ajoute à la liste des participants au projet.(1,5pts)
5- Créer une méthode appelée CalSalaireTousParticipant  qui calcule la somme des salaires de tous
les participants au projet, en illustrant l’activation du polymorphisme. (1,5pts)
6- Donner un exemple d’utilisation de ces classes et leurs méthodes. (1pt)
Dossier 2 : Modélisation orientée objet (14 pts)
La  TBOURIDA  ou  Fantasia  est  un  art  équestre  traditionnel  et  fait    partie  de  l’identité culturelle
Marocaine.  Elle  se  pratique,  en  général,  pour  célébrer  certaines  fêtes  nationales  ou  religieuses
annuelles.
On vous propose de développer une application orientée objet permettant de gérer les compétitions qui
se  déroulent  au  cours  de  ce  type  de manifestation.  Une  première  analyse  a  permit  de  dégager  ce  qui
suit :
Plusieurs troupes participent à une manifestation et proviennent des différentes régions du Maroc qui
sont  au  nombre  de  seize.  Chaque  troupe  se  compose  de  plusieurs  cavaliers  et  possède  un  certain
nombre de chevaux.
Les organisateurs des manifestations de la TBOURIDA s’intéressent particulièrement aux races et
âges  des  chevaux  montés  par  les  cavaliers.  En  plus  des  noms,  prénoms  et  dates  de  naissance,  on
s’intéresse également au sexe des cavaliers puisque qu’on assiste, ces dernières années, à de plus de
plus de participations féminines. 
L’application sera exploitée par plusieurs types d’utilisateurs :
  L’administrateur s’occupera de la mise à jour des régions, des races des chevaux, des
utilisateurs et de leurs rôles.
  Le responsable des inscriptions introduit les troupes, leurs cavaliers et leurs chevaux.
  La manifestation se déroule sur plusieurs journées et le responsable de la programmation
dresse  le  planning  de  la  manifestation  en  spécifiant  pour  chaque  troupe,  les  cavaliers  et
leurs montures. Il faut noter que les cavaliers peuvent changer de monture d’une journée à
une autre.
  Les  internautes  peuvent  consulter  toutes  les  informations  relatives  aux  troupes  et  au
planning de déroulement de la manifestation.
Travail à faire :
a.  Donner le diagramme des cas d’utilisation. (5 pts)
b.  Développer le diagramme de séquence du cas d’utilisation « saisir le planning ». (4pts)
c.  Construire le diagramme de classes. (5 pts)



Dossier 3 : BASES DE DONNEES - SQL (10 pts)
Soit  le  modèle  logique  de  données  suivant  représentant  les  chaînes  numériques  diffusées  via  des
satellites au niveau de certains pays :



Une chaîne donnée peut être diffusée par un ou plusieurs satellites avec une ou plusieurs langues pour
un ou plusieurs pays.
1.  Ecrire le code de création de la table « emettre ». (2 pts)
2.  Ecrire la requête SQL permettant d’ajouter la contrainte d’intégrité référentielle reliant la table
« Chaine » à la table « Pays ». (2 pts)
3.  Développer les requêtes SQL permettant de trouver :
a.  la liste des chaines du satellite qui porte le nom « HOTBIRD ». (1 pt)
b.  le nombre de chaines par satellite. (1 pt)
c.  la liste des chaines ayant été lancées il y a moins de quinze jours. (2 pts)
d.  le ou les pays ayant le plus grand nombre de chaines. (2 pts)

Dossier 4 : Questions (6 pts)
a)  Expliquer le rôle de la couche session du modèle OSI. (1 pt)
b)  Donner la définition de la méthode d’accès CSMA/CD au réseau Ethernet. (1 pt)
c)  En terme de transmission de données dans un réseau, comparer les médias de transmission de
type fibre optique et de type câble torsadé catégorie 5. (1 pt)
d)  Quelle est la différence entre un concentrateur (Hub) et un commutateur (Switch) ?  (1 pt)
e)  Expliquer  en  quoi  peut  être  utile  un  diagramme  GANTT  dans  la  gestion  d’un  projet
informatique. (1 pt)
f)  Quel est le rôle du diagramme PERT ? (1 pt)
Barème de notation :
Dossier 1 : (10 points)

Question  Note
1.  2
2.  2
3.  2
4.  1,5
5.  1,5
6.  1

Dossier 2 : (14 pts)



Dossier 3 : (10 pts)

Question  Note
1.  2
2.  2
3.a  1
3.b  1
3.c  2
3.d  2

Dossier 4 : (6 pts)

Question  Note
4.a  1
4.b  1
4.c  1
4.d  1
4.e  1
4.f  1
                                                                                                                                
Question  Note
a.  5
b.  4
c.  5 



By blog.votrecodeur.com