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