Projet UML / Java - 2016 Gestion des emplois du temps Expression

publicité
IUT des Pays de l’Adour - RT2
Module M4207C - Application informatique dédiée aux R&T
Projet UML / Java - 2016
Gestion des emplois du temps
Version 8 février 2016 (11:54)
Expression des besoins
On désire gérer par des moyens informatiques (par exemple une application Java issue d’un projet de
génie logiciel utilisant UML. . . ) les emplois du temps de l’IUT. Cette organisation est constituée de plusieurs
départements (R&T, BIO, SGM, GTE et STID). Les étudiants de chaque département sont répartis en
plusieurs promotions. Dans le cas du dpt R&T par exemple, nous avons les RT1, les RT2, les RT2_Alt, les
LP_ASUR, les LP_ARM, les LP_CART et les LP_THD. Chaque promotion est ensuite détaillée en groupes
de TD et de TP. Les emplois du temps seront constitués de créneaux (date, heure de début, heure de fin) de
différents types (ex : Cours, TD, TP, Projet Tutoré). Chaque créneau concerne une matière (du référentiel)
et un seul enseignant (de la liste des enseignants). Il nous faut en outre connaître la salle (également choisie
dans une liste) où se déroule le créneau.
Les usagers de ce système seront organisés en trois catégories : les étudiants (consultation des EdT
uniquement), les enseignants (consultation et modification des EdT), et les administratifs qui auront accès
à des fonctionnalités spécifiques (ex : enregistrement d’étudiants, enregistrement d’un enseignant, création
d’une salle, création d’un cours, service ETD 1 d’un enseignant).
La consultation des EdT se fera par semaine et, au choix, par promotion, par enseignant ou par salle.
Dans un premier temps, l’affichage pourra se faire sous forme de liste (chronologique). Si vous le souhaitez,
vous pouvez envisager un affichage sous forme de semainier 2 .
Du point de vue infrastructure, il serait "souhaitable" d’avoir une application client/serveur, c’est-à-dire
d’avoir un serveur d’EdT auquel se connectent (via RMI 3 par exemple) différentes applications clientes (une
pour la consultation, une pour les mises à jour,. . . ). À voir si vous disposerez du temps nécessaire. . . ,
Travail à réaliser
1. Vous développerez cette application dans les règles de l’art du génie logiciel.
a) À partir des besoins exprimés ci-dessus, à vous d’analyser et concevoir une solution fonctionnelle.
Vous vous aiderez pour cela du langage UML pour conceptualiser les différentes facettes de votre
projet. NB : Bien entendu, cela ne vous dispense pas de la rédaction de documentations. . . Un
cycle de vie en spirale (prototypes successifs) pourrait être un bon choix. . .
b) Vous développerez ensuite la solution proposée en utilisant le langage Java (vu au cours du module
M2207 intitulé "consolidation des bases de le programmation"). Le développement se fera sous
l’environnement Eclipse vu au 1er TP. Les communications réseau entre les différents composants
se feront via le mécanisme des RMI.
c) Avant de livrer votre solution, vous prendrez bien évidemment soin de réaliser les tests nécessaires
pour s’assurer de son bon fonctionnement.
1. ETD : Équivalent TD, c’est-à-dire qu’1h de cours compte pour 1h30 ETD, 1h de TD compte pour 1h ETD, et 3h de TP
comptent pour 2h ETD.
2. Mais sous forme de tableaux c’est un peu plus compliqué vu que les créneaux n’ont pas tous la même "taille". . .
3. RMI : Remote Method Invocation
1
Évaluation
Pour ce projet vous travaillerez en binôme afin de simuler une équipe de développement. Toute décision
devra faire l’objet d’une discussion et d’un choix argumenté (consigné par écrit). Votre évaluation sur le
module M4207C pour ce projet se fera en deux parties : une évaluation finale du projet terminé (lors de la
dernière séance) et un suivi de l’avancement de votre projet au fur et à mesure des séances.
Pour ce projet vous disposez de 13 séances de TD/TP d’1h30. Le projet se déroulant en trinôme, cela
vous fait donc environ 58 heures-hommes. Le planning (prévisionnel) de travail, et donc des évaluations,
sera le suivant, sachant qu’il vous est tout à fait possible de prendre de l’avance si vous travaillez de manière
assidue et si vous vous répartissez "convenablement" le travail :
(25/01 → MM) Initiation Eclipse (3h)
1. (27/01 → MM) Diagramme des cas d’utilisation et quelques scénarii.
2. (27/01 → MM) Petit à petit, détailler les scénarii en diagrammes de séquence et commencer à identifier
les principaux composants de votre projet.
3. (27/01 → MM) Diagramme de classes.
4. (27/01 → MM) Commencer à (essayer de) développer les 1ères classes en Java.
5. (27/01 → MM) Retour sur le diagramme de classes. Réfléchir aux diagrammes de collaboration, de
déploiement (⇒ identifier les communications RMI). S’aider de diagrammes états-transitions et d’activités pour "fixer" les idées (ex : états d’un créneau lors de la modification de l’EdT).
6. (03/02 → MM) Développement Java.
7. (04/02 → MM) Développement Java.
8. (08/02 → MM) 1ers tests du système. Réfléchir aux "plannings" qu’il faudra calculer : A-t-on les
informations nécessaire ? Quels algorithmes pour calculer les plannings par promo, par enseignant, par
salle,. . . ? ⇒ Formalisation de toutes ces "idées" sur les différents diagrammes UML.
9. (09/02 → MM) Développement Java.
10. (09/02 → MM) Développement Java.
11. (10/02 → MM) Développement Java.
12. (10/02 → MM) Tests & correction des bugs.
13. (10/02 → MM) Séance d’évaluation du projet réalisé : produit livré (démo du projet) + réponse à des
questions sur le développement et/ou le fonctionnement du projet.
2
Liens utiles
— UML
▷ Support de cours M4207C (MM)
http://web.univ-pau.fr/~munier/temp/M4207C/M4207C-MM-2016.pdf
▷ Unified Modeling Language à l’OMG
http://uml.org/
▷ Logiciel UMLet
http://www.umlet.com/
http://web.univ-pau.fr/~munier/temp/M4207C/umlet_13.1.zip
— Java
▷ Support de cours M2207 (MM)
http://web.univ-pau.fr/~munier/temp/M2207/M2207-MM-2016.pdf
▷ Java Platform, API Specification (version 7u45)
http://web.univ-pau.fr/~munier/temp/jdk-7u45-apidocs/api/index.html
▷ Tutorial sur les RMI (MM)
http://web.univ-pau.fr/~munier/temp/I6/rmi.pdf
— Eclipse
▷ Introduction à l’utilisation d’Eclipse
http://www.enseignement.polytechnique.fr/informatique/profs/Julien.Cervelle/eclipse/
▷ Comment créer un projet et son premier programme avec Eclipse sous Windows/Linux
http://www.math-info.univ-paris5.fr/~cloppet/POOAvancee/ManuelEclipse_2015.pdf
▷ Sujet de TP "Initiation à Java et Eclipse"
http://web.univ-pau.fr/~munier/temp/M4207C/TP1%20Intro%20Eclipse.pdf
3
Téléchargement