Gestion d’emploi du temps (4/6)
Attention : ce sujet de TP est sur plusieurs séances et demande une approche itérative. Il n’est pas demandé de tout faire d’un seul coup, penser à découper le travail à faire en différentes tâches (voir section 2 pour plus de détail).
Refonte calendrier
Le but de cette séance est de préparer une refonte de l’application afin de prendre en compte de nouveaux besoins.
La nouvelle application pourra permettre de gérer les éléments suivants :
- Créneaux avec :
- heure et date de début (avec une précision de l’heure en quart d’heures) ;
- type de l’enseignement : Cours Magistral (CM), Travaux Dirigés (TD), TP (Travaux Pratiques) ;
- durée (avec une précision en quart d’heures) ;
- formation associée ;
- enseignement associé ;
- salle utilisée ;
- enseignant intervenant pour le créneau ;
- liste des groupes de la formation concernée par le créneau.
- Enseignements avec :
- intitulé de l’enseignement ;
- liste des étudiants inscrits (Inscriptions Pédagogiques) ;
- volume horaire de CM en heures ;
- volume horaire de TD en heures ;
- volume horaire de TP en heures.
- Salle avec :
- nom de la salle ;
- nom du bâtiment ;
- nom du campus ;
- présence ou nom d’un vidéo-projecteur ;
- capacité : nombre d’étudiants maximum autorisé ;
- type de salle : TD, TP ou Amphithéâtre.
- Formation avec :
- type de diplôme : Licence ou Master ;
- année d’étude : 1, 2 ou 3 pour les licences, 1 ou 2 pour les masters ;
- intitulé de la formation ;
- liste des étudiants inscrits (Inscriptions Administratives) ;
- liste des enseignements.
- Groupe avec :
- nom du groupe ;
- liste des étudiants du groupe.
- Étudiant avec :
- nom ;
- prénom ;
- numéro d’étudiant (identifiant) ;
- adresse mail.
- Enseignant avec :
- nom ;
- prénom ;
- adresse mail.
- Calendrier unique de l’année universitaire avec :
- jour de la semaine ouvré (exemple : lundi, mardi, mercredi, jeudi et vendredi)
- semaines ouvrées ;
- jours fériés ;
- heures d’ouverture et de fermeture.
Opérations possibles :
- Édition du calendrier : changement des semaines ouvrées, des dates des jours fériés et des horaires d’ouvertures.
- Création/édition/suppression de créneau ;
- Création/édition/suppression d’étudiant ;
- Création/édition/suppression de formation ;
- Création/édition/suppression d’enseignement ;
- Création/édition/suppression de groupe ;
- Création/édition/suppression d’enseignants ;
- Création/édition/suppression de salle ;
- Association étudiant/formation ;
- Association étudiant/groupe ;
- Association étudiant/enseignement.
Vérifications à faire pour les créneaux :
- disponibilité de la salle pour la durée du créneau ;
- disponibilité de l’enseignant pour la durée du créneau ;
- disponibilité des étudiants pour la durée du créneau ;
- vérification capacité de la salle : nombre d’étudiants inférieur ou égal à la capacité de la salle ;
- vérification type de la salle :
- salle de TD ou Amphithéâtre pour les CM ;
- salle de TD pour les TD ;
- salle de TP pour les TP.
- vérification date : jour ouvré (pas férié et correspondant à un jour ouvrée d’une semaine ouvrée)
- vérification heure : créneau compris entre heure d’ouverture et de fermeture
Travail de planification et modélisation
Le but de n’est pas d’essayer de prendre en compte toutes les
fonctionnalités cette semaine, mais de sélectionner un nombre
raisonnable de fonctionnalités afin de les implémenter pour la semaine
suivante. Avant de se lancer directement dans le code, on vous demande
de réfléchir aux modifications à faire en termes d’architecture sur
l’application (pour le diagramme de classes du client et du serveur
ainsi que pour le schéma de la base de donnée). Vous devez donc créer
des diagrammes (par exemple à l’aide de plantuml) afin de décrire les
changements prévus sur l’application sur le wiki de votre group
(accessible via le menu Plan
-> Wiki
d’etulab).