Vous êtes sur la page 1sur 6

FÉDÉRATION EUROPÉENNE DES ÉCOLES

FEDERATION FOR EDUCATION IN EUROPE


OING dotée du statut participatif auprès du Conseil de l’Europe
INGO enjoying participatory status with the Council of Europe

UE D – EXPERTISE PROFESSIONNELLE

Mastère européen Expert IT - Applications intelligentes et big


data

UC D41.2 - Développement et bases de données - Fondamentaux

L’utilisation de la calculatrice est autorisée

Type d’épreuve : Exercices pratiques

Durée : 2 heures

Session : Juin 2021

© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Juin 2021
UC D41.2 - Expert IT - Applications intelligentes et big data - Sujet
UC D41.2 - DÉVELOPPEMENT ET BASES DE DONNÉES - FONDAMENTAUX

BARÈME DE NOTATION

Dossier 1 - Conception d’une base de données 60 points

Dossier 2 - XML, PHP, SQL et Java 90 points

Total 150 points

LISTE DES ANNEXES

Annexe 1 Extrait de la base de données de la société A3CX............................................................ Page 5


Annexe 2 Exemple d’utilisation de la classe technique ArrayList ................................................... Page 6

© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Juin 2021 2/6
UC D41.2 - Expert IT - Applications intelligentes et big data - Sujet
La société A3CX spécialisée dans les offres de services informatiques est aujourd’hui en pleine expansion. Ses
ingénieurs sont qualifiés dans plusieurs domaines notamment la création de sites web, d’applications
mobiles, de solutions métiers, mais aussi la sauvegarde des données et la sécurité des infrastructures
réseaux. Par la diversification des compétences de ses ingénieurs, la société offre des solutions complètes
comblant ainsi le manque de ressources au sein des entreprises.

Constitués en équipes de travail, les ingénieurs de la société travaillent sur les divers projets des clients.
Chaque projet est découpé en plusieurs étapes afin de réaliser des états d’avancement et les exposer aux
clients à des dates fixées dès la réception du projet.
Des ingénieurs peuvent être affectés chez des clients pour des durées fixées et des missions répertoriées.

⇨ Dossier 1 - Conception d’une base de données

Une équipe est définie par un code, un libellé et une couleur. Un ingénieur affecté à une seule équipe est
décrit par un nom, un prénom, une adresse, un salaire, un email, un mot de passe et un téléphone. Une
équipe est dirigée par un ingénieur appelé manager d’équipe.
Un client connu par un nom, une adresse, un email, un mot de passe et un statut peut déposer un ou plusieurs
projets. On enregistre pour un projet une description, une catégorie, un nombre d’heures estimé et un
budget. Le projet est subdivisé en plusieurs étapes, chaque étape est connue par un libellé, une durée en
nombre de semaines, un rapport final et un commentaire client.
Un ingénieur peut être affecté chez plusieurs clients. On enregistre une date de début, une date de fin et la
description de sa mission.

Question 1
Élaborez un modèle conceptuel de données ou un modèle relationnel de la base de données
permettant de modéliser ce système d’information.

Question 2
Réalisez le diagramme de classes du langage UML représentant les classes et les relations
modélisant ce système d’information.

Question 3
Dans un futur proche, la base de données sera installée dans un intranet permettant aux ingénieurs de suivre
l’état de leurs projets, aux clients de voir l’avancement de leurs projets et aux managers des équipes d’affecter
les ingénieurs aux projets en attente.
Un manager a la possibilité de créer une équipe, d’affecter un ingénieur à une équipe, et d’attribuer un projet
à un ingénieur. Il peut aussi affecter un ingénieur à un client pour une mission.
Un ingénieur peut créer des étapes et travailler sur une étape du projet en rédigeant le rapport de celle-ci.
Un client visualise l’avancement de ses projets, observe les rapports des différentes étapes et rédige un
commentaire. Aucune opération citée ici n’est réalisable sur l’intranet sauf si la personne est préalablement
connectée.
Créez le diagramme de cas d’utilisation représentant les différents acteurs cités et leurs cas
d’utilisations.

© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Juin 2021 3/6
UC D41.2 - Expert IT - Applications intelligentes et big data - Sujet
⇨ Dossier 2 - XML, PHP, SQL et Java

Question 1
Rédigez les requêtes SQL permettant la création des deux tables Ingénieur et Equipe données par
le modèle conceptuel de l’annexe 1.

Question 2
Rédigez :
• Une requête permettant d’afficher les libellés des équipes et le nombre d’ingénieurs par
équipe.
• Une requête qui permet d’ajouter 2 % de salaire pour tous les ingénieurs.

Question 3
Écrivez le fichier equipe.xml représentant une instance de la classe équipe avec des données de
votre choix (l’exemple choisi de l’équipe doit contenir au moins deux ingénieurs).

Question 4
Réalisez un script PHP permettant de lire le fichier equipe.xml et d’afficher les données sous forme
d’un tableau avec à la fin le nombre d’ingénieurs de l’équipe.

Question 5
Écrivez les codes des classes Equipe et Ingenieur en Java avec les attributs, les constructeurs et des
méthodes toString (voir annexe 2 pour l’utilisation d’une collection).

Question 6
Dans la classe Equipe, réalisez les trois méthodes ci-dessous.

public void ajoutIngenieur (Ingenieur unIngenieur )


{
//permet d’ajouter un Ingénieur à la collection des ingénieurs contenue dans l’équipe
}

public void retirerIngenieur (String email){


{
//permet de retirer l’ingénieur ayant l’email reçu en entrée de la collection de l’équipe
}

public float getSalaireMoyen ( ){


{
//permet de calculer et retourner le salaire moyen de l’ensemble des ingénieurs de l’équipe
}

© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Juin 2021 4/6
UC D41.2 - Expert IT - Applications intelligentes et big data - Sujet
Annexe 1

Extrait de la base de données de la société A3CX

Modèle relationnel correspondant


Equipe (code, libelle, couleur)
Clé primaire : code

Ingenieur ( idIngenieur, nom, prenom, adresse, email, mdp, tel, #code)


Clé primaire : idIngenieur
Clé étrangère : Equipe (code)

© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Juin 2021 5/6
UC D41.2 - Expert IT - Applications intelligentes et big data - Sujet
Annexe 2

Exemple d’utilisation de la classe technique ArrayList

// Déclaration d'une collection d'instances de la classe Ingénieur


ArrayList< Ingenieur > lesIngenieurs ;

//Instanciation d'une collection d’instances de Ingénieur


lesIngenieurs = new ArrayList< Ingenieur >() ;

Ingenieur unIngenieur = new Ingenieur(…) ;

// Ajout d’un ingénieur dans la collection


lesIngenieurs.add( unIngenieur ) ;

System.out.println( lesIngenieurs.get(0)) ; // Affichage du premier élément


System.out.println( lesIngenieurs.size() ) ; // Affichage du nombre d'éléments

for( Ingenieur unIngenieur : lesIngenieurs )


{
// Parcours de la collection (foreach dans d’autres langages)
System.out.println(unIngenieur.getNom( ) ) ;
// Affichage du nom de l’ingénieur
}

© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Juin 2021 6/6
UC D41.2 - Expert IT - Applications intelligentes et big data - Sujet

Vous aimerez peut-être aussi