4.
Conception du système
● Architecture générale
Description de l’architecture logicielle (niveaux, composants, interfaces)
● Modélisation des données
○ Présentation du Modèle Conceptuel de Données (MCD)
○ Dictionnaire de données:
Entité : USER
Entité : USER
Attribut Type Description Contraintes / Remarques
idUser Entier Identifiant unique de Clé primaire (PK), auto-incrémenté.
l’utilisateur.
nom Chaîne Nom de l’utilisateur. Champ obligatoire.
(50)
prénom Chaîne Prénom de l’utilisateur. Champ obligatoire.
(50)
rôle Chaîne Rôle de l’utilisateur dans le Champ obligatoire, définit le profil
(30) système (ex. : "Étudiant", et les droits associés à l'utilisateur.
"Professeur", "Secrétaire",
"Directeur pédagogique",
"Administrateur").
téléphone Chaîne Numéro de téléphone de Format marocain (ex. :
(20) l’utilisateur. +212XXXXXXXXX ou
0XXXXXXXXX), peut inclure
espaces ou tirets.
mot de Chaîne Mot de passe de l’utilisateur Doit être haché et non stocké en
passe (255) clair.
date Date/ Date et heure de création du Format spécifique
création Heure compte, au format (heure_jour_mois_année),
00:00:00_jj_mm_aaaa. généralement défini lors de
l'insertion.
statut Chaîne(20) Statut de l’utilisateur (par Permet de savoir si le compte est
exemple : "actif" ou "inactif"). actif ou inactif, valeur non nulle.
Entité : Admin
Entité : Admin
Attribut Type Description Contraintes / Remarques
idAdmin Entier Identifiant unique de l'administrateur. Clé primaire (PK).
Cette clé primaire est spécifique à
l'entité Admin.
(hérité) – Tous les attributs de l'entité USER L’héritage garantit que chaque
(login, mot de passe, nom, prénom, Admin possède toutes les
rôle, téléphone, date création, statut). informations définies dans
l’entité User.
Entité : Directeur Pédagogique
Attribut Type Description Contraintes /
Remarques
idDP Entier Identifiant unique du Directeur Clé primaire (PK) de
Pédagogique. Il permet de l'entité Directeur
distinguer cet utilisateur dans son Pédagogique.
rôle spécifique.
datePriseFonction Date Date à laquelle le Directeur Format standard (ex.
Pédagogique a pris ses fonctions. jj/mm/aaaa).
dateFinMandat Date Date de fin du mandat du Peut-être NULL si le
Directeur Pédagogique. Cette date mandat est en cours.
peut être renseignée à l'approche
de la fin du mandat.
bureau Chaîne Indique le bureau ou le local Exemple : "Bureau 101",
(50) attribué au Directeur "Local A3", etc.
Pédagogique.
(hérité de USER) – Tous les attributs de l’entité L’héritage permet
USER (login, mot de passe, nom, d'éviter la duplication et
prénom, rôle, téléphone, date de centraliser la gestion.
création, statut).
Entité : Professeur
Attribut Type Description Contraintes / Remarques
idProf Entier Identifiant unique du Clé primaire (PK) spécifique
professeur. Cet identifiant à l'entité Professeur.
permet de distinguer chaque
professeur dans le système.
adresse Chaîne Adresse postale du Taille à adapter selon les
(100) professeur, pour identifier son besoins ; peut inclure rue,
lieu de résidence ou son ville, code postal, etc.
contact administratif.
matricule Chaîne Numéro matricule attribué au Doit être unique si
(50) professeur par l’établissement le requiert.
l’établissement.
grade Chaîne Grade académique ou Permet de hiérarchiser ou de
(30) fonction (ex. : Maître de catégoriser les professeurs.
Conférences, Professeur
Titulaire, etc.).
régimeEmploi Chaîne Type de contrat ou régime Valeur définie par la politique
(30) d’emploi du professeur (ex. : de l’école.
Vacataire, Permanent,
Contractuel, etc.).
datePriseFonction Date Date à laquelle le professeur Format standard (ex.
a pris ses fonctions dans jj/mm/aaaa).
l’établissement.
spécialité Chaîne Spécialité ou domaine Permet d’orienter
(50) d’expertise du professeur (ex. l’affectation des cours et de
: Mathématiques, regrouper les compétences.
Informatique, Physique, etc.).
affiliation Chaîne Nom de l’établissement Permet de préciser l'école ou
(100) auquel le professeur est l'institution d’affiliation.
rattaché en tant que
permanent (utile en cas de
collaboration ou d'affiliation
externe).
photoIdentite Chaîne Chemin ou URL vers la photo Permet l'affichage de la
(255) d'identité du professeur. photo dans l'interface,
stockage en externe
recommandé (pour ne pas
surcharger la BD).
(hérité de USER) – Tous les attributs de l’entité L’héritage assure la
USER (login, mot de passe, centralisation des
nom, prénom, rôle, téléphone, informations
date création, statut). d’authentification et de
gestion du compte
utilisateur.
Entité : Elève
Attribut Type Description Contraintes / Remarques
idEleve Entier Identifiant unique de l'élève. Clé primaire (PK), auto-
incrémenté.
dateNaissance Date Date de naissance de l'élève. Format standard
(jj/mm/aaaa).
adresse Chaîne Adresse postale de l'élève. Peut inclure rue, ville, code
(100) postal, etc.
matricule Chaîne Identifiant administratif attribué à Unique, utile pour le suivi
(50) l'élève. administratif.
niveau Chaîne Indique le niveau d'études de Permet de suivre l'évolution
(20) l'élève. Peut prendre les valeurs : académique de l'élève et de
"JM1", "JM2", "JM3", distinguer le passage en
"Spécialisation" (pour la 4ème et spécialisation ou l'obtention
5ème année en France) ou du diplôme.
"Diplômé".
spécialité Chaîne Précise la spécialité de l'élève. Pour JM1 et JM2, la
(20) Pour JM1 et JM2, la valeur sera spécialité est fixée à "Tronc
"Tronc commun", pour JM3 elle commun". Pour JM3, elle
pourra être "HEI" ou "ISEN". indique la filière choisie.
dateInscription Date Date d'inscription de l'élève dans Format standard
l'école. (jj/mm/aaaa).
photoIdentite Chaîne Chemin ou URL vers la photo Permet l'affichage de la
(255) d'identité de l'élève. photo dans l'interface,
stockage en externe
recommandé (pour ne pas
surcharger la BD).
(hérités de – Tous les attributs de l’entité L'héritage évite la duplication
USER) USER (login, mot de passe, nom, des informations communes
prénom, rôle, téléphone, date à tous les utilisateurs
création, statut etc.). (sécurité, identification, etc.).
Entité : Unité d’enseignement (U.E.)
Attribut Type Description Contraintes /
Remarques
idUE Entier Identifiant unique de l’Unité Clé primaire (PK),
d’Enseignement. généralement auto-
incrémenté.
intitulé Chaîne (100) Nom complet de l’unité Obligatoire, permet
d’enseignement (ex. : d’identifier l’unité de
"Sciences fondamentales", façon explicite.
"Sciences du numérique").
type Chaîne (50) Catégorie de l’unité. Les Peut être implémenté
valeurs possibles peuvent via une énumération
être : "transversale", "power pour limiter les valeurs
skills", "soft skills", acceptées.
"langues", etc.
niveauScolaire Chaîne (20) Niveau académique auquel
l’unité est destinée. Par
exemple : "JM1", "JM2" ou
"JM3".
code Chaîne (20) Code abrégé permettant Doit être unique ou
d’identifier rapidement respecté dans le
l’unité d’enseignement. Ce contexte d’un niveau
code peut contenir des pour faciliter les
informations pertinentes, références dans les
par exemple en bulletins et les rapports.
décomposant le type et le
niveau (ex. : "SF-JM1” pour
Sciences Fondamentales
en JM1).
description Texte Description détaillée de Peut être utilisé pour
l’unité d’enseignement, fournir des indications
précisant ses objectifs, ses sur la finalité ou les
contenus et ses buts compétences visées
pédagogiques. par l’unité.
dateCréation Date/Heure Date et heure de création Format par exemple
de l’unité d’enseignement 00:00:00_jj_mm_aaa
dans le système. a. Cette date permet
d’assurer la traçabilité
et la gestion historique.
dateFin Date/Heure Date de fin d’utilisation de Peut être NULL si
l’unité dans le processus de l’unité est toujours
génération des bulletins active. Format
(date de désactivation).Elle identique à
indique quand l’unité n’est dateCréation. Indique
plus active dans la la date de suppression
génération des bulletins, logique de l’unité du
tout en restant présente composant bulletin
dans la base pour sans la supprimer de la
l’archivage. BD.
Entité : Matière
Attribut Type Description Contraintes /
Remarques
idMatière Entier (PK) Identifiant unique de la matière. Clé primaire (PK),
généralement auto-
incrémenté.
intitulé Chaîne Nom complet de la matière (ex. : Doit être renseigné.
(100) "Mathématiques",
"Programmation en C",
"Résistance des Matériaux").
Volume Entier ou Nombre d'heures consacrées à la
Horaire Décimal matière.
syllabus Texte ou Description détaillée du contenu Permet de préciser les
Chaîne pédagogique de la matière ou lien objectifs pédagogiques et
(255) vers le document de référence le programme de la
(syllabus). matière.
Crédits ECTS Décimal (ou Nombre de crédits ECTS attribués Permet d’évaluer la
Entier) à la matière. charge de travail et la
reconnaissance
académique au niveau
européen.
filière Chaîne (50) Indique la filière à laquelle la Ce champ permet de
matière est rattachée (ex. : "HEI", distinguer les matières
"ISEN"). Pour JM1 et JM2, cette spécifiques aux filières
valeur pourra être "Nulle" ou vide, dans le cas de JM3, tout
puisque la filière n’est applicable en restant vide pour les
qu’en JM3. tronc communs.
date_création Date/Heure Date et heure de création de la Format standard (ex.
matière dans le système. 00:00:00_jj_mm_aaaa).
date_fin Date/Heure Date à laquelle la matière cesse Ne correspond pas à la
d'appartenir à une Unité suppression de la
d'Enseignement dans le matière, mais à sa
processus de génération du désaffectation dans le
bulletin. contexte du bulletin. Peut-
être NULL.
est_validante Booléen ou Indique si la matière est validante 1 = matière comptabilisée
Entier (1) ou non (0) dans le calcul de la pour la validation, 0 =
note de l’unité d’enseignement et matière non validante.
la validation finale.
code Chaîne (20) Code abrégé de la matière, Doit être unique ou suivre
permettant une identification une convention pour
rapide (ex. : "MAT 101"). faciliter la recherche.
description Texte Description détaillée de la Permet de mieux
matière, exposant les objectifs, comprendre la finalité
contenus et compétences visées. pédagogique de la
matière.
Association : Occuper
Attribut Type Description Contraintes / Remarques
appréciation Chaîne Appréciation ou évaluation Facultatif (cardinalité 0,1 dans
(255) qualitative fournie par le Directeur chaque sens), permet de
Pédagogique au nom de la consigner le retour qualitatif sur
direction, concernant le la performance du professeur.
professeur.
Association : Groupe Langue
Attribut Type Description Contraintes / Remarques
langue Chaîne (20) Indique la langue et la session La valeur doit être choisie
du groupe. Les valeurs parmi l'ensemble défini.
possibles sont : "Français 1",
"Français 2", "Anglais 1",
"Anglais 2". Le chiffre 1
correspond à la session S1 et
le chiffre 2 à la session S2.
niveau Chaîne (20) Niveau de compétence dans la Doit respecter un ensemble de
langue pour ce groupe (ex. : valeurs (ex. débutant,
"débutant", "intermédiaire", intermédiaire, avancé).
"avancé").
dateDébut Date/Heure Date de début de Format standard
l'appartenance de l'élève à ce (00:00:00_jj_mm_aaaa),
groupe de langues. indique le début de la période
d'inscription au groupe.
dateFin Date/Heure Date de fin de l'appartenance Format standard
de l'élève à ce groupe de (00:00:00_jj_mm_aaaa),
langues. peut être NULL si la période est
toujours en cours.
Association : assurer
Attribut Type Description Contraintes /
Remarques
dateDébut Date/Heure Date et heure à partir de Format standard (ex.
laquelle le professeur 00:00:00_jj_mm_a
commence à assurer la aaa).
matière.
dateFin Date/Heure Date et heure à laquelle le Peut-être NULL si la
professeur cesse période est toujours
d'assurer la matière. en cours.
appréciation Chaîne (255) Appréciation ou évaluation Optionnel, permet de
qualitative concernant consigner un retour
l'enseignement assuré par d'évaluation.
le professeur pour cette
matière.
volumeHoraireEffectif Décimal/Entier Volume horaire Exprimé en heures,
effectivement dispensé correspond à la
par le professeur pour quantité réelle
cette matière, tel que d'enseignement
consigné dans le système dispensée.
de suivi pédagogique.
Association : évaluation
Attribut Type Description Contraintes / Remarques
date Date/Heure Date (et heure) à laquelle Format standard (ex.
l'évaluation a eu lieu. 00:00:00_jj_mm_aaaa).
type Chaîne (50) Type de l'évaluation réalisée. Les Doit être choisi parmi un
valeurs possibles incluent : ensemble prédéfini de types
"Devoir surveillé", "Examen final", d'évaluations.
"Quiz", "Rattrapage".
note Décimal Note obtenue par l'élève lors de Peut être NULL si l'élève est
l'évaluation. absent ou si la note n'est pas
encore saisie.
présence Booléen ou Indique si l'élève était présent à Valeur binaire, indispensable
Entier (0,1) l'évaluation (1 pour présent, 0 pour interpréter la note (ex.
pour absent). absence implique
généralement pas de note).
Association : composer
Attribut Type Description Contraintes / Remarques
semestre Chaîne Indique le semestre durant lequel la La valeur doit être choisie
(20) matière fait partie de l'unité parmi un ensemble
d'enseignement. Par exemple, "S1" pour prédéfini (par exemple
le premier semestre, "S2" pour le "S1", "S2").
deuxième.
Association : Inscription
Attribut Type Description Contraintes /
Remarques
annéeUniversitaire Chaîne Année universitaire pendant laquelle Doit respecter le
(15) l'inscription est réalisée, au format format spécifié.
"aaaa/aaaa+1" (ex. : "2023/2024").
○ Discussion sur les choix de modélisation (remplacement de l’entité Module par
Unité d’Enseignement, gestion des Groupes de Niveau, intégration de l’entité
ANNEE_SCOLAIRE, etc.)
○ Diagrammes UML complémentaires (diagrammes de classes, séquence, etc.)
● Choix techniques et justifications
Explications sur la sélection des technologies et outils, ainsi que les compromis adoptés
5. Réalisation / Implémentation
● Présentation de l’implémentation
○ Architecture détaillée du code
○ Organisation du projet (modules, répertoires, outils de versioning)
● Développement des fonctionnalités clés
○ Gestion des bulletins et des évaluations (incluant la gestion des rattrapages via
une approche distincte ou par attribut « type_session »)
○ Interface utilisateur et ergonomie
○ Exemples d’implémentation de cas spécifiques (ex. : regroupement des étudiants
de niveaux différents pour les matières de langues)
● Démonstrations et captures d’écran
Illustrations des principales interfaces et fonctionnalités
6. Tests et validation
● Stratégie de tests
○ Tests unitaires, tests d’intégration, tests système
○ Méthodologie de validation et critères d’acceptation
● Résultats des tests
Présentation des résultats obtenus, retours des utilisateurs pilotes (si applicable)
● Analyse des performances et des éventuels dysfonctionnements
Discussion sur la robustesse et les améliorations possibles
7. Bilan et perspectives
● Bilan du projet
○ Points forts et apports du système développé
○ Difficultés rencontrées (ex. : adaptation du MCD aux spécificités des niveaux et
filières)
● Perspectives d’évolution
○ Améliorations envisagées (nouvelles fonctionnalités, adaptations aux évolutions
pédagogiques, etc.)
○ Évolutions technologiques et potentielles intégrations futures
Conclusion
● Récapitulatif des principaux résultats et enseignements du projet
● Ouverture sur de futurs travaux ou recherches dans le domaine
Bibliographie
● Liste des références bibliographiques utilisées (articles, livres, documentations
techniques)
Annexes
● Documents complémentaires (diagrammes détaillés, extraits de code, questionnaires,
documents du cahier des charges, etc.)
● Transcriptions ou copies des entretiens ou réunions (le cas échéant)
Cette structure détaillée vous permettra de couvrir l’ensemble des aspects attendus pour un
projet de fin d’études en développement logiciel, en mettant particulièrement en avant la rigueur
de l’analyse, la pertinence du choix de conception (notamment en ce qui concerne le MCD et
l’organisation académique) et la qualité de l’implémentation.