florianG37 / GestionPortDePlaisance

Logiciel de gestion d'un port de plaisance

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logiciel de gestion d'un port de plaisance

Auteurs : Florian GIGOT & Quentin LEVIEUX

Introduction

Réalisation d'une application permettant à un chef de port de gérer son port de de plaisance.

Via cette application, un responsable de port peut gérer facilement ses quais, ses emplacements de bateau, ses bateaux et les propriétaires de bateau.

Temps pour développer le projet : 1 semaine
Langage : JAVA (avec librairies JDBC et Hibernate)
Interface : SWING
Base de données : mySQL

Informations pour lancer le projet

Les étapes à réaliser pour que cela fonctionne, à faire la premiere fois :

  • Veuillez créer une BDD se nommant "port"
  • Ajouter le pilote au projet (mysql-connector-java-8.0.18.jar) et les librairies Hibernate
  • Retirer les balises de commentaire à la ligne 16 du fichier persistence.xml
  • Exécuter le main de la classe MainBDD, qui ajoutera des éléments dans la BDD
  • Remettre en commentaire la ligne 16 du fichier persistence.xml
  • Executer le main de la classe Main, qui lance l'application
Pour exécuter le projet : dans Package Main se trouve main.java

Spécifications techniques

MCD de la base de données

MCD

MLD de la base de données

mld

Modèle Général de l’architecture MVC du logiciel

mvc

  • X représente le nom d’une classe dans le modèle
  • XControleur représente la classe qui fera l’interaction entre le modèle et la vue
  • XDAO représente la classe qui gérera les requêtes vers la BDD
  • XPatron représente la classe qui gérera les JTables de la vue
  • XView représente la classe qui définira la vue

Modèle UML du logiciel

Diagramme classe

Explications annotations hibernate

Les choix des annotations hibernate ont été choisi de façon à correspondre au plus proche à la base de donnée que nous souhaitions réaliser.

Pour ce qui est de l’héritage nous sommes parti sur une stratégie SINGLE_TABLE, afin de n’avoir qu’une seule table Bateau dans notre base de donnée. Certes il y aura des valeurs à NULL pour certain champs, mais cette stratégie nous permet d’éviter des jointures inutiles entre plusieurs tables. De plus, vu le peu d’attributs des classes filles cela s’y prête bien, dans un autre contexte nous aurions peut être utiliser une stratégie différente.

Au niveau des relations @OneToOne, @OneToMany, @ManyToOne nous avons utilisé les attributs FetchType.LAZY et orphanRemoval=true. Respectivement leur rôle sont : de ne pas charger immédiatement les données liées à l’entité, dans le but de gagner en performance. Et de détecter les entités dites orphelines pour les effacer de la base de donnée.

Informations complémentaires

L’application permet la gestion des quais d’un port de plaisance. Cette gestion passe par la gestion des propriétaires de bateau, des bateaux, des emplacements des bateaux et des quais du port.

Pour utiliser les boutons Modifier et Supprimer veuillez cliquer sur un item avant de cliquer sur le bouton.

Page principale

Détails

  • Dans cette onglet, le manager du port peut choisir quel quai il veut gérer et à action à un large panel d’action tel que l’accès aux pages Gestion des quais, Gestion des propriétaires, Gestion des emplacements et Recherche sur voilier.
  • Le manager peut également ajouter, supprimer et/ou modifier un bateau via cette page. Un bateau est associé à un unique propriétaire et à un unique emplacement. Un bateau ne peut pas changer d’emplacement directement depuis le bouton modifier, pour effectuer cette opération supprimer le bateau et recréer le.
  • Des informations pratiques telles que le nombre d’emplacement occupé par des bateaux, le nombre de voilier et le de bateau à moteur sur le quai sélectionné sont disponibles.
  • La liste des bateaux du quai sélectionné est disponible pour une meilleure visualisation des données.

Prévisualisation

GestionPort

Page de gestion des quais

Détails

  • Dans cette onglet, le manager du port peut créer des quais et supprimer des quais dans l’application.
  • Une liste de quai est disponible pour la visualisation des quais.
  • Prévisualisation

    GestionQuais

    Page gestion des propriétaires

    Détails

  • Dans cette onglet, le manager du port peut ajouter, modifier et supprimer des propriétaires de bateau. Un propriétaire peut posséder plusieurs bateaux.
  • Une liste de propriétaire est disponible pour la visualisation des propriétaires.
  • Prévisualisation

    GestionProprio

    Page de gestion des emplacements

    Détails

  • Dans cette onglet, le manager du port peut ajouter, modifier et supprimer des emplacements de bateau. A noter, le quai impose une limite de nombre d’emplacement.
  • Une information pratique indique le nombre d’emplacement créé et le nombre d’emplacement que le quai peut contenir.
  • Une liste d’emplacement est disponible pour la visualisation des emplacements de bateau créé.
  • Prévisualisation

    GestionEmplacement

    Page de recherche sur voilier

    Détails

  • Demande à l’utilisateur une taille de voile et retourne la liste des voiliers avec une surface de supérieur à la valeur entrée. Une information sur le nombre de résultat est également disponible.
  • Prévisualisation

    voilier1

    voilier2

    About

    Logiciel de gestion d'un port de plaisance


    Languages

    Language:Java 100.0%