Java - Diseño UML. Debería ser una clase?

 
Vista:
sin imagen de perfil

Diseño UML. Debería ser una clase?

Publicado por Xavi (21 intervenciones) el 11/12/2021 12:11:08
Hola buenas soy principiante en Java,

Estoy diseñando un diagrama UML para mi programa. El programa debería tener un funcionamiento similar al juego Road Trip FRVR (link: https://roadtrip.frvr.com/).

La información de cada nivel/tablero se obtendrá de un fichero de configuración. Habrá un método encargado de parsear este fichero de configuración -el nombre del cual será indicado en crear el nivel- y rellenar un array 2D que guardara la información del tablero/nivel. El formato de este fichero de configuración será (cada nivel tendrá el fichero):

1
2
3
4
5
6
7
8
9
10
11
12
13
# Level 1
 
# Rows and columns
4
 
# Difficulty
STARTER
 
# Board
F·~·
rlH·
R·Rl
·M·S

El fichero puede contener comentarios de una linea, que se distinguen de los datos porque la linea del comentario empieza con el símbolo #.

El primer número (en verde) indica el número de filas y columnas que tiene el tablero de juego (tablero cuadrado, i.e. 4x4). Si el tamaño del tablero es menor que 3 entonces hay que lanzar una excepción (i.e. "[ERROR] tamaño tablero incorrecto").

El segundo elemento (coloreado en rojo) hace referencia a la dificultad y puede tener los siguientes valores:
STARTER, JUNIOR, EXPERT, MASTER o WIZARD.

Para el nombre del fichero de configuración, el tamaño (#filas x #columnas) y la dificultad, hay que tener alguna forma de consultarlo, desde cualquier lugar, sus valores.

Dado un nivel concreto, tanto el tamaño como la dificultad y el nombre del fichero no pueden ser modificados una vez inicializados.

DISCUSIÓN DIAGRAMA UML


Estoy pensando en el diseño del diagrama UML para los requisitos definidos anteriormente y no tengo claro si debería definir una clase para el fichero de configuración o no. Por ejemplo, creo que debería definir una clase para el nivel/tablero con su correspondiente constructor y que este cogiera los valores a través del método de parseo. Además, también tengo pensado crear una enumeración para los niveles de dificultad.

Al mismo tiempo, se me ocurre definir otra clase para el fichero de configuración, sin embargo, no tengo claro si tiene sentido o no ya que implicaría más procesos de compilación y quizás empeorar el rendimiento.

Finalmente, entre estos requisitos, no tengo claro a qué se refiere con " Para el nombre del fichero de configuración, el tamaño (#filas x #columnas) y la dificultad, hay que tener alguna forma de consultarlo, desde cualquier lugar, sus valores"

Alguna idea?

Muchísimas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder