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
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