Un projet scolaire
Plûtot que de partir dans une description beaucoup trop longue du projet et des différentes demandes, je vous laisse, si vous avez le courage , regarder le sujet.
En résume l'application devait offrir à l'utilisateur de la possibilitée de :
- Sélectionner les journées de matchs
- Inscrire les équipes participantes
- Générer un calendrier des matchs
- Traiter les informations d’un match (buts, fautes…)
- Maintenir un classement des équipes
- Générer une feuille de match
Le module de compte rendu des matchs devait permettre de :
- Gérer tout un éventail d’action possible (but, entrée, sortie, tir, fautes, exclusion…)
- Sélectionner rapidement une action par le biais de raccourcis
- Visualiser facilement ses saisies, le timer du match, les joueurs présents
- Générer une feuille de match enrichie
L'étude UML
Nous avons commencé l'analyse par la réalisation de diagrammes UML. Le diagramme de cas d'utilisation nous a permis de bien cerner les attentes des utilisateurs ciblés par chaque module.
Le diagramme UML. On voit rapidement quelles sont les fonctionnalités principales et celles qui en découlent.
Nous avons aussi réalisé le classique diagramme de classes, ainsi que les descriptions textuelles. Si cela vous intéresse vous pouvez consulter toute l'analyse.
L'interface
J'ai réalisé l'interface en dessinant tout d'abord des maquettes papier puis en me tournant vers balsamiq un outil pour créer des maquettes interactives, qui a permis de mieux visualiser les enchaînements d'écrans.
Une fois les différents concepts de l'interface validés par l'équipe, j'ai réalisé le design entièrement sous Photoshop.
Le développement
L'application a été codée en Java en suivant le principe MVC (Modèle Vue Contrôleur) qui permet de rendre le code plus modulaire. Nous avons aussi décidé d'utiliser JavaFX pour l'interface (à l'époque, JavaFX était assez récent et nous avions appris à utiliser swing en cours).
Arborescence de fichiers. On voit le découpage des classes suivant le modèle MVC
JavaFX permet de personnaliser l'interface par le biais de style CSS, ce qui offre une assez grande flexibilité. De plus JavaFx propose aussi de base des objets intéressants comme les graphes et un système d’animation simple.
Nous avons aussi utilisé des fichiers YAML pour échanger les fichiers entre les deux modules de l'application.
Quelques détails
J'ai créer pour ce projet un guide d'utilisation que vous pouvre consulter au format pdf.
Vous pouvez aussi aller voir le code directemement depuis le dépôt gitlab.