Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Conception dimensionnelle et implémentation d'une solution permettant de gérer les notes des étudiants d'une école

Par Hanane FILALI Publié le 07/10/2015 à 16:30:49 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Dans le cadre de mes études en M.Sc 1 à SUPINFO Nantes, J’ai été amené à réaliser un projet du module PARTICIPATION TO SUPINFO COMMUNITY, cependant j’ai choisi d’étudier un projet décisionnel complet, de la conception de l’entrepôt de données à la restitution des résultats. Ce projet fait partie intégrante de mon cursus, et doit me permettre d’appliquer mes connaissances théoriques dans un cas réel. En effet, je dois travailler sur l’analyse, la modélisation multidimensionnelle et la réalisation d’un Datawarehouse selon une démarche que j’utiliserais dans mon futur métier.

Ma tâche principale consiste à apprendre et à utiliser des outils décisionnels dans le but la bonne maitrise et à se préparer à mon futur métier, par conséquence avoir une bonne modélisation d’une problématique et fournir un résultat fiable.

Ce rapport indique les démarches de ma solution proposée dont je me suis servie pour entamer le projet. Je vais expliquer ma solution à l’aide de captures d’écran de différentes étapes du projet.

Description du projet

Le projet que j’ai choisi pour réaliser le projet community consiste à mettre en place une solution décisionnelle complète qui traite les notes des étudiants d’une école afin de permettre d’effectuer des statistiques, analyses sur les différentes promotions de l’école.

Je suis parti d’une base de données qui décrit une formation de plusieurs années en informatique. Il s’agit principalement des notes obtenues par les étudiants. Le schéma relationnel normalisé est constitué des trois tables ci-dessous.

Une unité de connaissances (UC) est un ensemble de matières. Les neuf UC sont réparties en cinq groupes nommés de A à E. Les notes sauvegardées dans la base sont les moyennes des étudiants sur chaque UC pour six promotions consécutives (de 1999 à 2005). Les années sont enregistrées en septembre, c’est-à-dire que l’année 2000 par exemple désigne en fait l’année scolaire 2000-2001. Chaque promotion est constituée de quarante étudiants qui passent deux années dans l’établisse- ment de formation. Dans le cadre du mini-projet, les données ne contiennent ni redoublement, ni exclusion. Par contre les étudiants S152 et S280 doivent être exclus de l’entrepôt pour cause de tricherie avérée aux examens.

Travail à réaliser dans le cadre de ce projet community:

Implémenter la chaîne de traitement décisionnelle suivante : 1. Extraction, transformation, et chargement des données de production dans un entrepôt 
de données sous la forme d’un schéma en étoile; 
 2. Création et analyse OLAP d’un agrégat stocké (cube MOLAP); 
 3. Fouille des données de notes. 


Toutes les manipulations de données seront effectuées par l’ETL, c’est-à-dire non seulement la création du schéma en étoile, mais aussi la création du cube et la création de la table à analyser pour la fouille de données.

Pour une note donnée à un étudiant, l’entrepôt devra contenir les notions suivantes : – l’année où la note a été obtenue; – la promotion dans laquelle la note a été obtenue, c’est-à-dire l’année de sortie de l’étudiant; – le niveau où la note a été obtenue, c’est-à-dire "A1" ou "A2" (première ou seconde année).

À l’aide de graphiques, je vais traiter des cas concrets (sous forme de question) avec le cube, comme le ferait un utilisateur métier dans une entreprise: –  Dans quelle promotion les étudiants originaires du lycée Condorcet ont-ils la meilleure moyenne? 
 –  Dans quelle promotion les filles et les garçons ont-ils le plus d’écart de moyenne? 
 –  Dans la promotion 2005, quelle est l’évolution des moyennes entre la première et la 
seconde année pour toutes les UC? 
 –  Quelle est l’évolution des moyennes par promotions dans les UC du groupe B pour les 
étudiants de l’option Economie? 
 –  Quelle est l’évolution des absences par promotions dans les UC du groupe A? 


Modélisation dimensionnelle

Pour réaliser le schéma en étoile, j’ai construit cinq dimensions et la table de faits. Les cinq dimensions sont :
Étudiant
Année Niveau
Unité de connaissances
Promotion
La dimension Étudiant représente toutes les informations concernant les étudiants. La dimension Année indique l’année où la note de l’étudiant a été obtenue. La dimension Niveau indique le niveau c’est-à-dire si la note a été obtenue en première ou deuxième année. La dimension Unité de connaissance stocke toutes les matières avec leurs informations respectives (responsable, groupe, cours etc....). La dimension Promotion indique l’année de sortie du cursus pour les étudiants.
Et enfin la table de fait reprend la clé primaire de chacune des dimensions. On y retrouve en plus les deux faits que l’on cherche à expliquer : les moyennes et les absences.

Les grandes étapes pour effectuer les transformations sont : 􏰀 Extraction : Cette étape permet d’extraire une table de la base de données relationnelle. 􏰀 Sélection valeur : Sélectionne les attributs que l’on souhaite conserver.
􏰀 Tri ligne : Trie les tuples sur un attribut donné.
􏰀 Jointure : Joint deux tables en utilisant une clé de jointure (cette clé doit être triée). 􏰀 Ajout séquence : Ajoute un attribut avec une séquence numérique.
􏰀 Calcul : permet d’effectuer des calculs
􏰀 Dédoublonnage : Retire les doublons d’un attribut
􏰀 Insertion/Mise à jour table : Insère les tuples dans une dimension

Figure 1 : Création de la Dimension Étudiant

Cette figure représente la dimension « Dim Étudiant » alimentée par la table étudiant en ajoutant une clé auto-incrémentale

Figure 2 : Création de Dimension Unité de connaissance

La figure ci-dessus correspond à la dimension « Dim Unité de connaissance », je l’ai alimentée directement de la table Unité en ajoutant une clé auto-incrémentale.

Figure 3: Création de Dimension Promotion

Pour la dimension promotion je l’ai alimenté en utilisant la table et j’ai sélectionné le champ année d’inscription pour y calculer la promotion des étudiants, en l’occurrence j’ai ajouté 1 sur les années d’inscription en éliminant les doublons

Pour créer la dimension Niveau j’ai utilisé une jointure entre la table Étudiant et la table Note, ensuite calculer la différence entre l’année d’inscription de l’étudiant et l’année où la note a été obtenue en y ajoutant 1 pour obtenir 1-> A1 et 2 -> A2.

Figure 4: Création de Dimension Niveau

Figure 5: Création de Dimension Année Obtention

La création de la dimension année d’obtention en se basant sur le champ année de la table note en éliminant les doublons

Figure 6: Création de la table de faits

Création de Cube

Dans cette partie j’explique ma démarche pour la création du cube. En effet j’ai utilisé comme outils MS Analysis Services. Pour cela j’ai généré un script SQL de l’entrepôt de données obtenu avec l’outil Pentaho (Spoon), et avec des modifications du script j’ai implémenté la base de données sous SQL Server 2005, ensuite entamer la partie caractéristique du cube.

La première étape de la création du cube consiste à définir la source de données, j’ai défini les dimensions et la table de faits pour le cube (voir figure ci-dessous)

Figure 7: Définition des Dimensions et Table de faits

La création de cube se fait à l’aide d’un assistant, je le configurai en suivant les étapes de l’assistant. La figure ci-dessous donne une vue de l’architecture du cube à créer, cette étape me permet de vérifier et éventuellement modifier les dimensions et les mesures attribués.

Figure 8: Architecture globale de cube

Une fois le cube est créé, il me reste l’étape la plus importante, est celle du déploiement du cube, pour ce faire Analysis Services traite le cube construit et vérifier s’il n’y pas d’erreur lors de la création, ensuite il le déploie sur le serveur.
Pour vérifier le bon déploiement on lance SQL Server Management Studio en se connectant au serveur Analysis services si tout marche bien on trouve bien le cube avec les dimensions attribués

Figure 9: Traitement et déploiement du cube

Sur cette figure le déploiement a été bien effectué avec succès sur le bas à gauche de l’écran avec le sigle en vert « Le déploiement est terminé ». Par conséquence il est possible d’accéder à la base Anaylysis Services via SQL Server Management Studio, création d’un nouveau projet Integration Services ou encore un nouveau projet Anaylysis Services ou Reporting Services pour traiter tout ce qui concerne le reporting

Caractéristiques du cube

Dans cette partie du projet j’ai utilisé MS Reporting Services pour réaliser les différents cas concrets et les représenter sous forme graphique

Dans quelle promotion les étudiants originaires du lycée Condorcet ont-ils la meilleure moyenne ?

Figure 10: La moyenne des étudiants originaires du lycée Condorcet par promotion

Dans quelle promotion les filles et les garçons ont-ils le plus d’écart de moyenne ?

Figure 11: L’écart de moyenne des filles et des garçons par promotion

Dans la promotion 2005, quelle est l’évolution des moyennes entre la première et la seconde année pour toutes les UC?

Figure 12: L’évolution des moyennes entre la première et la seconde année pour toutes les UC Dans la promotion 2005

Quelle est l’évolution des moyennes par promotions dans les UC du groupe B pour les étudiants de l’option Economie ?

Figure 13: L’évolution des moyennes par promotions dans les UC du groupe B pour les étudiants de l’option Economie

Quelle est l’évolution des absences par promotions dans les UC du groupe A?

Figure 14: L’évolution des absences par promotions dans les UC du groupe A

Fouille de données de notes

Dans la partie fouille de données j’ai travaillé avec l’outil Tanagra pour réaliser les différentes étapes du dataminig.

Le tableau de données est composé de 18 (V1, V2,..., V18) variables en colonnes et de 238 individus en ligne, tel que :

Figure 15: Tableau de données

Analyse en composantes principales.

Figure 16: Liste des Valeurs propres

Ce tableau montre la valeur propre associée à chaque axe, ainsi que la quantité d’information portée par chaque axe, en effet le but est de d’obtenir une représentions approché du nuage de la totalité de individus dans un espace de dimension plus faible sans avoir une grande perte d’information; dans le cas traité on peut passer de la 18ème dimension à la 10ème dimension avec une perte de 13,84%.

Cercle des corrélations et variables illustratives quantitatives. Le cercle de corrélations est un outil graphique qui permet de comprendre la nature des axes. Il sert à interpréter les axes. Il est généralement dévolu au positionnement des variables actives. Mais il est possible de lui associer également les variables illustratives pour en préciser l’interprétation.

Figure 17:cercle de corrélation

On remarque une forte corrélation des variables qui présentent la même matière {ANGLAIS_A1, avec, ANGLAIS_A2} ...
Une forte corrélation entre les matières informatiques (le rectangle en bas à droite), les matières scientifiques {MATH_A1, MATH_A2} (le rectangle en haut à droite)

Bilan

La partie ETL : Pentaho
J’ai travaillé sur cette partie avec l’outil Pentaho et avec la base de données sous MySQL. Ce denier est open source mas il n’est pas stable, il se plantait plusieurs fois, j’ai même perdu toute la partie ETL que j’ai créé du coup j’ai été obligé de refaire encore une fois toute cette partie avec Pentaho

La partie Cube : MS Analysis Services
J’ai commencé cette partie en utilisant le schéma workbench de la suite Pentaho BI, par contre cet outil m’a généré beaucoup de problèmes particulièrement pour se connecter à la base de données. J’ai donc utilisé MS Analysis Service pour implémenter la partie cube et j’ai migré la base de données créée sous MySQL vers SQL Server 2005.

La partie requêtes : MS Reporting Services
J’ai utilisé l’outil MSRS pour entamer cette partie afin de répondre aux différents cas définis lors du début du projet, j’ai eu quelque problèmes au niveau de la construction des requêtes et l’utilisation des graphiques à cause d’un bug généré lors de l’attribution des champs pour les visualisés

La partie Fouille de données : TANAGRA
J’ai travaillé avec Tanagra pour réaliser le dataminig, ce choix était pris suite à la performance de l’outil.

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels