Développeurs Java EE
Maîtrise de la POO en Java
Mettre en application les connaissances acquises dans le cadre d'un projet d'envergure.
Cette mise en situation a pour objectif de permettre aux stagiaires de mettre en application les connaissances acquises dans le cadre d’un projet d’envergure.
Une application bureau permettant de gérer le catalogue de formations, les sessions, les inscriptions de stagiaires à ces sessions ainsi que les formateurs intervenants sur les différentes sessions.
Chaque élément disposera d’un écran dédié.Fonctionnalités de l'application:
Il faut modéliser les différents objets nécessaires à la réalisation de l’application.Formation: une formation correspond à un contenu de cours dispensé par l’organisme de formation.Elle est caractérisée par un titre, une référence, une durée, des objectifs, un prix HT.Formateur: un formateur est la personne qui dispensera le contenu de la formation lors d’une session. Il est caractérisé par une civilité, un nom, un prénom, un matricule.Stagiaire: un stagiaire est une personne qui assistera à la session de formation. Elle est caractérisée par une civilité, un nom, un prénom, un type de prise en charge (Pole Emploi, OPCA, Individuel, Société), une société.Session: une session de formation est l’entité qui regroupe un formateur, une formation et des stagiaires.Elle est caractérisé par une date de début (la date de fin sera en fonction de la durée de formation) et un lieu.NB: la description des objets n’est pas exhaustive, le rajout d’autres propriétés est possible si vous le jugez nécessaire.
1) Remise accordée
2) Unicité des stagiaires
3) Dépassement de capacité
4) Persistance des données
Description des écrans:1) Gestion du catalogue de formation et des sessions:Cet écran affiche sous forme d’arborescence les formations au catalogue de l’organisme de formation avec les sessions organisées pour ces formations. Un filtre est possible pour n’afficher que les sessions à venir.Fonctionnalités: création, visualisation, modification de formation ou de session, débranchement vers l’écran de gestion de session2) Gestion des formateurs:Cet écran affiche sous forme d’arborescence les formateurs de l’organisme de formation avec les formations qu’il a déjà dispensées.Fonctionnalités: création, visualisation, modification de formateur, affichage des sessions affectées à un formateur lors de la sélection, débranchement vers l’écran de gestion de session, un filtre est possible pour n’afficher que les sessions à venir.3) Gestion des stagiaires:Cet écran affiche sous forme de liste les stagiaires référencés par l’organisme de formation.Fonctionnalités: création, visualisation, modification de stagiaire, affichage des sessions auxquelles le stagiaire va assister ou a déjà assisté, débranchement vers l’écran de gestion de session, fonction de recherche par nom, société, type de prise en charge. Un filtre est possible pour n’afficher que les sessions à venir.4) Gestion des sessions de formations:Cet écran affiche sous forme d’arborescence les formations au catalogue de l’organisme de formation avec les sessions organisées pour ces formations.Fonctionnalités: lors de la sélection d’une session, affichage des détails de session et formation support, des stagiaires inscrits, du formateur affecté. Affichage du montant global de la session en tenant compte des remises éventuelles. Affectation/suppression du formateur, inscription/modification/suppression de stagiaires.Lors de l’inscription, possibilité de création d’un nouveau stagiaire si non existant dans ceux déjà référencés.5) Paramétrage:Cet écran permet de spécifier des valeurs par défaut pour certaines valeurs particulières: taux de TVA, valeurs des remises en fonction du type de prise en charge, nombre de stagiaires déclenchant une remise de session. Ces valeurs seront stockées dans un fichiers de propriétés.Charte graphique / présentation:Les écrans proposés devront utiliser le gestionnaire de positionnement le plus adapté.Les écrans principaux seront composés d’une zone de liste/arborescence (Jtree, Jlist,...) sur la partie gauche, d’une zone de filtre sur la partie haute et d’une zone de détails/données (JTable) en partie principale.Les écrans de création/modification seront des boites de dialogues, qui utiliseront des composants Swing de bases (Button, CheckBox, ComboBox,...).La définition de composants graphiques personnalisés est vivement encouragée.
Bases de donnéesL’accès à la base de données se basera sur le patron de conception DAO, afin de renforcer la maintenabilité et la réutilisation de ces composants.Mise en oeuvreLa solution proposée doit mettre en oeuvre les différents concepts objets comme le polymorphisme, l’encapsulation, l’héritage ou bien les interfaces. Les méthodes fonctionnelles doivent être couvertes par des tests unitaires.Technologies:
Ce dernier n'interviendra pas sur vos codes sources (mise en place ou autre) Il est disponible pour des questions techniques ou des bugs bloquants (indication de résolution dans la plupart des cas sans correction). Aucun rappel de cours théorique ne sera présenté pour ne pas amputer le délai de réalisation.
Une démonstration de votre travail (même incomplet) devra être effectuée.
Méthodologie basée sur l'Active Learning : 75% de pratique minimum. Chaque point théorique est systématiquement suivi d'exemples et exercices.
Contrôle continu
Attestation de fin de stage mentionnant le résultat des acquis