Rapport projet JAVA : Cette Application est réalisée dans le cadre des
projets de Module Programmation avancée
Java,
Le projet en générale c’est une application
desktop pour la gestion du matériel de l’UCA
(gestion partie empruntes)
projet github : https://github.com/AbderrahmaneAhmam/Loan-management-system
Rapport mini projet JAVA du module Programmation avancée Java
1. 1
Cette Application est réalisée dans le cadre des
projets de Module Programmation avancée
Java, à la suite de la demande de Prof
R.HANNANE.
Le projet en générale c’est une application
desktop pour la gestion du matériel de l’UCA
(gestion partie empruntes)
REALISER PAR
AHMAM Abderrahmane
RAHHAOUI Abdessamad
Rapport mini
projet JAVA
2. 2
Table des matières
Environnement de travaille........................................................................................4
Communication .....................................................................................................4
DevOps ..................................................................................................................5
Méthode de développement..................................................................................5
Logiciel de gestion de versions ...............................................................................6
Analyse et conception................................................................................................7
UML.......................................................................................................................7
Diagramme de cas d’utilisation ..........................................................................7
Diagramme de classe..........................................................................................8
Diagramme de séquence....................................................................................9
Merise .................................................................................................................11
MCD.................................................................................................................11
MLD .................................................................................................................11
Les outils utilisés......................................................................................................12
Langages & Technologies .....................................................................................12
Libraires...............................................................................................................12
Les architectures utilisées........................................................................................13
MVC.....................................................................................................................13
Observable pattern..............................................................................................14
Projet structure .......................................................................................................15
Lancement de projet................................................................................................15
Documentation........................................................................................................15
Thèmes................................................................................................................15
Thème Sombre.................................................................................................16
Thème Claire....................................................................................................17
Globale Interface .................................................................................................18
3. 3
Interface Main .....................................................................................................19
Ajouter un client ..............................................................................................19
Ajouter une emprunte......................................................................................20
Consulter clients, Log Client, Retards ...................................................................20
Interface Retours de prêts....................................................................................21
5. 5
Nous utilisons Google meeting pour nos réunions concernant le partage
d’avancement, la validation des taches.
DevOps
Nous utilisons Azure DevOps pour gérer notre projet d’une manière professionnelle
Nous choisissons Azure pour les avantages cote gestion de projet par ce qu’il support
plusieurs méthode de développement comme Agile Scrum
Méthode de développement
Nous utilisons pour la gestion de projet la méthodologie Scrum par ce qu’il est
flexible a ce genre des projets et par ce que Azure il support ce genre des méthodes
6. 6
Avec Azure Boards pour le partage et la gestion des taches
Logiciel de gestion de versions
Pour le logiciel de gestion de versions nous préfèrent de travailler avec GIT parce
qu’il est simple a utilisé, est supporter par Azure DevOps.
7. 7
Analyse et conception
UML
Diagramme de cas d’utilisation
<<include>>
administrateur
Client
emprunt
rendre ses emprunt
cree compte client
consulter les
materiels
disponibles
Consultation des
compte client
enregistrer les
retours
Ajouter emprunt
historique retard
8. 8
Diagramme de classe
Loans
-
-
-
-
-
-
id
loanDate
backDate
duration
material
user
: int
: Date
: Date
: int
: material
: user
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
LoansModel(int id) ()
LoansModel(int id, Date loanDate,
Date backDate, int duration,
Material m, User u) ()
getId ()
setId(int id) ()
getLoanDate ()
setLoanDate(Date loanDate) ()
getBackDate ()
setBackDate(Date backDate) ()
getDuration ()
setDuration(int duration) ()
getMaterial ()
setMaterial(MaterialModel material) ()
getUser ()
setUser(UserModel user) ()
getDelay ()
...
: int
: void
: Date
: void
: Date
: void
: int
: void
: Materiel
: void
: User
: void
: int
User
-
-
-
-
id
firstName
lastName
email
: int
: String
: String
: String
+
+
+
+
+
+
+
+
+
User(int id, String firstName,
String lastName, String email) ()
getId ()
setId(int id) ()
getFirstName ()
setFirstName(String firstName) ()
getLastName() ()
setLastName(String lastName) ()
getEmail() ()
setEmail(String email) ()
: int
: void
: String
: void
: String
: void
: String
: void
Material
-
-
-
id
name
picture
: int
: String
: String
+
+
+
+
Materaial(int id,String name,
String picture) ()
getId ()
getName ()
getPicture ()
: int
: String
: String
9. 9
Diagramme de séquence
Ajouter Client
creation valide
email existant
verification
Saisir information (prenom,nom,email)
afficher information client
administrateur
Système:
[email existe]
loop
creation valide
email existant
verification
Saisir information (prenom,nom,email)
afficher information client
10. 10
Ajouter une emprunt
Ajout de l'emprunt valide
Ajout de l'emprunt valide
Verification
Saisir les donnees
demande les informations(duration,email
du client)
choisir le materiel
afficher les materiels disponible
Ouvrir l'application
Administrateur
Système:
[ Client exist ]
[ Client not exist ]
alt
ref
Ajouter Client()
Ajout de l'emprunt valide
Ajout de l'emprunt valide
Verification
Saisir les donnees
demande les informations(duration,email
du client)
choisir le materiel
afficher les materiels disponible
Ouvrir l'application
12. 12
Les outils utilisés
Langages & Technologies
• Langage de programmation : JAVA
• Graphique : Swing
• Base de donne : MySQL
• Data Base connexion : JDBC
Libraires
FlatLaf : est une libraire de design multiplateforme open source moderne pour les
applications de bureau Java Swing.
JFreeChart : est une API Java permettant de créer des graphiques et des diagrammes
de très bonne qualité
15. 15
Projet structure
Lancement de projet
• La class DBManager il contient les informations de connexion avec la base de
donne
• Nom de la base de donne : loansmanager
• Exécuter le scripte SQL dans MySQL
• Ajouter les dépendances qui existe dans le dossier libs
• Exécuter le projet
Documentation
Thèmes
Le projet il support deux type des thèmes Clair et Sombre
Pour change il se fait de sélectionner le thème à partir du menu
Dark->Sombre le thème par default
Light->Claire