Databac

Taquin - Mise en place du pattern MVC

Publié le 16/01/2024

Extrait du document

« Table des matières 1 Présentation du projet 1 2 Organisation du projet A Gestion du projet .

.

.

.

.

.

.

. i Gestionnaire de version . ii Compilation .

.

.

.

.

. iii Trello .

.

.

.

.

.

.

.

.

. iv Discord .

.

.

.

.

.

.

.

. B Répartition des fonctionnalités . . . . . . . 2 2 2 2 2 3 4 3 Architecture du projet A Arborescence du projet .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. B Mise en place du pattern MVC .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 5 5 6 4 Aspects techniques A TaquinGrid .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. i Création de la grille .

.

.

.

.

.

.

.

. ii Algorithme de mélange .

.

.

.

.

.

. iii Déplacement d’une case .

.

.

.

.

. iv Déterminer si la partie est terminée B Tests unitaires .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. i Quel outil ? .

.

.

.

.

.

.

.

.

.

.

.

. ii Mise en oeuvre .

.

.

.

.

.

.

.

.

.

. 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8 9 10 11 11 11 Conclusion A Avis général .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 13 13 B 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Éléments à améliorer .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 1 Présentation du projet Le taquin est un jeu de puzzle, constitué d’un rectangle dans lequel se trouve des cases.

Ces cases contenant des lettres de l’alphabet, des nombres ou encore des morceaux d’images, peuvent glisser les unes sur les autres.

Parmi les cases, l’une d’entre elles est vide.

Le but du jeu du taquin consiste à reconstituer le puzzle en formant une image (lorsque les cases forment une image) ou de ranger les nombres par ordre croissant (lorsque les cases contiennent des nombres) en glissant l’un des éléments contigus à la case vide vers celle-ci.

Avec l’interface graphique, l’utilisateur a la possibilité de choisir sa propre image pour le taquin qu’il devra reconstituer. Le but de ce devoir a été de réaliser un taquin sous forme d’une application de jeu, dotée d’une interface graphique (voir image 1.1a) , tout en pouvant être utilisée sans interface graphique (voir image 1.1b) c’est-à-dire être jouable en ligne de commande.

L’application a été intégralement réalisée avec le design pattern MVC, avec un modèle totalement indépendant de l’interface graphique. (a) Image du jeu avec le mode Image | 1 Taquin - Rapport de projet (b) Image du jeu en console 2 Organisation du projet A Gestion du projet Afin de faciliter la communication et le bon déroulement de la conception de notre application, divers moyens ont été mis en œuvre. i Gestionnaire de version Tout d’abord, nous pouvons citer l’utilisation d’un gestionnaire de version afin de permettre la centralisation du code et rendre le travail en équipe bien plus efficace.

Le choix de celui-ci étant imposé (Subversion), il n’est pas nécessaire d’en parler plus longtemps. ii Compilation Nous avons décidé de réutiliser un script de compilation déja créé lors d’un précédent TP noté en Java.

Il s’agit de build.sh.

Celui-ci possède différentes sous-commandes très utiles permettant d’effectuer les tâches courantes sur le projet.

En voici la liste : build Compile le projet clean Supprime tous les dossiers générés (build, doc, dist, ...) deploy Compile et package le projet en un jar exécutable javadoc Génère la Javadoc du projet run Lance le projet.

On peut passer des arguments en utilisant –args "arg0 arg1".

Exemple : ./build.sh –args "10 10" test Lance les différents tests unitaires zip Genère un Zip du projet Le script est facilement adaptable.

Il suffit de modifier les quelques constantes au début de celui-ci. iii Trello Concernant la répartition et le listage du travail à effectuer, nous avons fait le choix d’utiliser Trello, une plateforme qui nous permet d’utiliser des tableaux pour planifier un projet. | 2 Taquin - Rapport de projet Chapitre 2.

Organisation du projet A.

Gestion du projet F IGURE 2.1 – Notre tableau Trello Ainsi, comme nous pouvons le constater, les différentes tâches passent par différents états, "A faire", "En cours", "A vérifier", "Fini et merge".

Enfin, bien que ce ne soit pas visible sur l’image 2.1, il existe un "Backlog" sur la droite qui contient les différentes tâches restantes à accomplir.

Celles-ci peuvent ensuite être déplacées dans la colonne "A faire" au moment où nous jugeons qu’elles peuvent être réalisées. Les colonnes "A verifier" et "Fini et merge" nécessitent quelques précisions, les autres parlant d’ellesmême.

Pour la première, lorsqu’une tâche est terminée, elle est soumise à évaluation et relecture.

Cela permet d’obtenir un avis sur la fonctionnalité et d’éviter d’éventuels bugs par la suite mais aussi de garder une cohérence au travers du code.

Raisons pour lesquelles les personnes qui effectuent cette relecture sont souvent les mêmes.

Enfin, quand celle-ci est vérifiée et validée, nous pouvons alors la déplacer dans la seconde colonne. iv Discord Afin de faciliter la communication au sein du groupe, nous avons utilisé le service de messagerie Discord car tous les membres du groupe l’utilisaient déjà de manière personnelle.

Celui-ci permet de parler par le biais de "serveurs" gratuits dans lesquels nous pouvons ajouter des salons textuels ou des salons vocaux à volonté.

Ainsi, nous avons deux salons de discussion.

L’un nommé "important-taquin" permet de transmettre des messages importants sur ce qui a été fait, sur des changements importants concernant le projet, etc.

L’autre se nommant "dev-taquin", est une discution beaucoup plus générale dans laquelle on peut demander de l’aide, aider des membres en difficulté, ou même de discuter de certains choix à faire. | 3 Taquin - Rapport de projet Chapitre 2.

Organisation du projet B.

Répartition des fonctionnalités F IGURE 2.2 – Notre serveur Discord B | Répartition des fonctionnalités.... »

↓↓↓ APERÇU DU DOCUMENT ↓↓↓

Liens utiles