Mise en situation Java Back-End

Formation inter-entreprise

À qui s'adresse la formation?

Développeurs Java EE

Durée

3,00 jour(s)

Langues(s) de prestation

EN FR

Prochaine session

Prérequis

Maîtrise de la POO en Java

Objectifs

Mettre en application les connaissances acquises dans le cadre d'un projet d'envergure.

Contenu

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.

Besoin:

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:

  • Gestion du catalogue de formations
  • Gestion des sessions organisées
  • Gestion des stagiaires
  • Gestion des formateurs
Description fonctionnelle:

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.

Règles de gestion:

1) Remise accordée

  • selon le type de prise en charge d’un stagiaire, une remise est automatiquement accordée. Cette remise sera exprimée en pourcentage sur le prix TTC de la formation. Dans un premier temps, seule la prise en charge par Pole Emploi donne droit à une remise de 20%
  • à titre exceptionnel, une remise peut être accordée à un stagiaire. Dans ce cas, la remise prise en compte est la plus importante entre celle calculée automatiquement et celle accordée gracieusement.
  • si une session comporte exclusivement plus de 3 stagiaires issus de la même société, une remise de 15% est automatiquement accordée.
  • à titre exceptionnel, une remise peut être effectuée sur une session. Dans ce cas, la remise prise en compte est la plus importante entre celle calculée automatiquement et celle accordée gracieusement.

2) Unicité des stagiaires

  • un stagiaire ne peut pas être inscrit plusieurs fois à la même session. Deux stagiaires ayant le même nom, le même prénom et la même civilité sont considérés comme étant la même personne.

3) Dépassement de capacité

  • le nombre de places disponibles par session est de 8. Il est cependant possible de modifier cette valeur. Il faut tenir compte de cette capacité lors de l’inscription de stagiaires.

4) Persistance des données

  • les données sont sauvegardées en base de données. Prévoir un traitement périodique en tâche de fond qui vérifie la disponibilité du SGBD. En cas d’indisponibilité de la base, sauvegarder dans un/des fichiers XML.

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 session
2) 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ées
L’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 oeuvre
La 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:

  • Java/Swing/JDBC
  • SGBD: MySQL ou autre
  • JUnit
Organisation du projet:
  • Le formateur en charge d'encadrer le projet procédera à son lancement par une présentation du contenu. Il répondra à vos éventuelles questions sur les fonctionnalités souhaitées.

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.

  • Le projet doit être réalisé individuellement pour évaluer les compétences de développement à la fin de votre cursus
  • Le code source documenté du projet doit être remis à la fin pour être archivé.

Une démonstration de votre travail (même incomplet) devra être effectuée.

Méthodes pédagogiques

Méthodologie basée sur l'Active Learning : 75% de pratique minimum. Chaque point théorique est systématiquement suivi d'exemples et exercices.

Évaluation

Contrôle continu

Certificat, diplôme

Attestation de fin de stage mentionnant le résultat des acquis

Contact pour cette formation

Dawan - Service commercial

Ces formations pourraient vous intéresser