Ce n'est absolument pas une obligation de modéliser mais pour des projets de plus grande envergure tu comprendras plus tard tout l'intérêt de savoir le faire et de le mettre en place.
Il n'existe pas de petit ou gros projet nécessitant cette méthodologie. Je dirais même que ce jeu de bataille navale doit faire l'objet de ce genre d'approche contrairement à ce que tu pourrais penser !
Voici succinctement en quoi consiste UML :
Déterminer les acteurs :
--> 2 acteurs sont essentiels : le joueur et le jeu
Description : le joueur choisi son coup et joue. Le jeu fait jouer les 2 joueurs à tour de rôle et détermine si la partie est finie.
Déterminer les cas d'utilisation :
--> 2 cas d'utilisation : Jouer et proposer un coup
Déterminer les classes (du point de vue conceptuel) :
Le jeu bataille Navale utilise des pions pour faire s'affronter 2 joueurs. "Bataille Navale" est un jeu qui possède 2 types de règles :
- les actions pour gérer les joueurs l'un après l'autre
- les actions pour gérer les positions sur la grille (coup valide ou partie terminée)
--> 4 classes pour le moment : BatailleNavale, Joueur, Grille, Pion
NB : il faut au fur et à mesure de l'analyse extraire d'éventuelles classe par le biais de l'héritage par exemple....
Déterminer les relations entre les classes :
2 joueurs minimum peuvent participer au jeu (Bataille navale). Le jeu possède une grille commune qui a son tour peut contenir 1 ou plusieurs pions.
Déterminer les propriétés et méthodes de chaque classe (exemple pour la classe joueur, grille et pion) :
La classe joueur peut faire l'objet d'abstraction et ainsi on pourrait obtenir deux autres classes héritées nommées : JoueurHumain et JoueurMachine
La classe Joueur possède la propriété : Couleur et la méthode : Choisir coups
La classe JoueurMachine possède une propriété supplémentaire afin de déterminer le niveau de difficulté (analyse du nombre de coups à l'avance) : PrévoirCoups
La classe grille possède 2 constantes pour déterminer la hauteur et la largeur : GrilleHauteur, GrilleLargeur et une collection qui détermine les pions placés dessus
La classe pion possède 2 propriétés : PionCouleur et PionPosition et 3 méthodes : GetPion(Position et Couleur), GetCouleur, Afficher
Ce qui nous amène à créer une autre classe nommée Position car une position existe même s'il n'y a pas de pion placés dessus !
Donc pour la classe Position il existe 2 propriétés : X et Y et 4 méthodes : GetPosition(X et Y), GetX, GetY, estValide(Jeu;Grille)
la méthode est valide permet de savoir si une position est dans la grille ou non !
.....
etc.............
Tu te rends bien compte que l'analyse est bien plus importante que le codage lui-même (ce dernier étant juste pour le fun

)
A+ et bon projet.
Partager