2_Requerimientos - CarlosEGM11/TP_2026_1_P2 GitHub Wiki
Requerimientos funcionales
-
El sistema debe permitir registrar nuevos usuarios con nombre, edad, y objetivos de entrenamiento.
-
El sistema debe permitir registrar entrenadores con su nombre y especialidad.
-
El sistema debe permitir crear ejercicios con su nombre, repeticiones, numero de series y tiempo de descanso.
-
El sistema debe permitir crear rutinas de entrenamiento (nombre, ejercicios, duración).
-
El sistema debe permitir asignar una rutina y un entrenador a un usuario específico.
-
El sistema debe permitir mostrar qué entrenador está asignado a cada usuario.
-
El sistema debe permitir buscar usuarios, entrenadores y rutinas por su nombre.
Requerimientos no funcionales
-
La interfaz debe ser de línea de comandos (consola), clara y amigable.
-
El código debe estar estructurado siguiendo principios SOLID.
-
El sistema debe ser fácilmente extensible para futuras funcionalidades (como monitoreo de progreso).
-
Debe incluir pruebas unitarias para los casos principales.
Entradas y Salidas
| Elemento | Entradas esperadas | Salidas esperadas |
|---|---|---|
| Usuario | Nombre, edad, objetivo | Asignación de rutina, Objeto Usuario |
| Ejercicio | Nombre, repeticiones, series, descanso | Objeto ejercicio |
| Rutina | Nombre, duración, lista de ejercicios | Agregar Ejercicios, Obtener Lista de Ejercicios |
| Entrenador | Nombre, especialidad | Crear Lista de usuarios asignados, Obtener Lista de Usuarios Asignados |
| Sistema | Comandos del administrador (registro de usuarios, registro de entrenadores, asignación de rutinas, asignación de entrenadores, búsqueda de usuarios, entrenadores y rutinas) | Mensajes de éxito y reportes por consola |