JPA - Application Bibliothèque Partie 2 Author : Cedric Dumoulin Date : 18 oct. 2016 Rev : 18 Oct. 2016 Application gestion de bibliothèque Vous allez modifier votre application de bibliothèque afin qu’elle puisse gérer des œuvres de différents types : romans, bandes dessinés, journaux, périodiques. Votre application doit permettre de : créer des oeuvres, des auteurs, des lecteurs lister les œuvres par sous-type, ou tous les types d’oeuvres, les auteurs, les lecteurs modifier une oeuvre, un lecteur, un auteur Emprunter des livres ... Architecture de l'application L'architecture peut ressembler à ce qui suit : Réalisation Vous devez réaliser cette application avec JPA. Vous ne réalisez que la partie domaine. Vous ne réalisez pas la partie presentation/client. Pour tester votre application, vous devez utiliser JUnit (voir plus bas) : vous développez plusieurs méthodes de test, chacune testant un scénario de votre application. Quelques conseils Itérations Construisez votre application par itérations successives : d'abord une ou deux classes, puis les autres. Modéles UML Le modèle UML de l'application est disponible et éditable avec le modeleur UML Papyrus. Papyrus est peut être installé sur vos machines (/home/enseign/eclipse/eclipse45-papyrus ou /opt/eclipse-xx-papyrus) . Papyrus permet de générer le squelette des classes Java à partir du modèle UML (si le générateur Java est installé). Client Web Pour des raisons de simplicité, vous n'écrirez pas de client 'web' pour votre application. Tests Vous testerez votre application avec JUnit : Faites des méthodes de tests exécutant des scénarios sur votre application. Exemple: scenario Créer des livres et des auteurs o créer auteur 1, auteur 2, auteur 3, ... o créer livre 1, livre 2, livre 3, ... scenario Afficher les livres o appel Créer des livres o afficher le contenu de la bibliothèque Scenario Créer lecteurs o Créer lecteurs 1, lecteurs 2, lecteurs 3, ... Scenario Afficher les emprunt d'un client o appel créer livres, créer lecteurs o Afficher les emprunts pour chaque lecteur Etc ...