Skip to content

matibapti/Ejercicio-Validador-de-Correlatividades

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Validador de Inscripciones según Correlatividades

Nombre y Apellido: Matias Baptista
Legajo: 156.359-2
Materia: Diseño de Sistemas
Comisión: K3152


📝 Introducción

El presente trabajo consiste en el diseño y desarrollo de un validador de Inscripciones basado en materias correlativas, como es común en carreras universitarias y terciarias.
La idea central es garantizar que un alumno solo pueda inscribirse a materias solo si aprobo todas las materias correlativas requeridas.


🧠 Consigna

En los planes de estudio académicos, algunas materias requieren que el estudiante haya aprobado otras previamente, conocidas como materias correlativas. Este sistema busca validar que un alumno cumple con estas condiciones al momento de su inscripción.

La solución cumple con las siguientes condiciones:

  • La clase principal es Inscripcion, cuyo método boolean aprobada() determina si una inscripción es válida.
  • Una inscripción puede incluir varias materias.
  • La inscripción se considera rechazada si al menos una materia no cumple con sus correlativas.

Restricción:
La solución solo puede utilizar tres clases: Inscripcion, Materia, y Alumno.


📁 Estructura del proyecto

Los puntos de la consigna están resueltos y ubicados de la siguiente manera:

  • Diagrama de clases UML, hecho con PlantUML (diagram.puml)
  • Implementación en Java(Materia.java Inscipcion.java Alumno.java)
  • Tests unitarios con JUnit(InscripcionTest.java)

⚙️ Enfoque y diseño

Para modelar el problema se aplicó el paradigma orientado a objetos, con la siguiente lógica:

  • Alumno representa a un estudiante con una lista de materias aprobadas y es quien procede a realizar la inscripcion.
  • Materia contiene su nombre, código, y la lista de materias que deben aprobarse previamente (correlativas).
  • Inscripcion asocia un alumno con una lista de materias a las que desea inscribirse, y define el método aprobada() que evalúa si todas pueden ser cursadas según sus correlativas.

La lógica de validación está distribuida entre las clases, teniendo en cuenta lo siguiente:

  • Materia sabe cuáles son sus correlativas.
  • Alumno conoce las materias que ya aprobó.
  • Inscripcion consulta a cada materia si puede ser cursada por el alumno(si alguna no cumpliese se rechazaria la inscripcion por completo).

📋 Pruebas Realizadas

Se realizaron diversos tests usando JUnit para verificar el comportamiento esperado del sistema en distintos escenarios. Para lo cual se instancio un alumno base (con algunas materias aprobadas) y diversas materias; algunas de ellas sin correlativas(correspondientes a las iniciales).

En cuanto a los tests realizados:

  • Se probaron tanto casos exitosos (cuando todas las correlativas están aprobadas) como casos fallidos (cuando al menos una correlativa falta).
  • También se cubrió el caso especial donde el alumno intenta inscribirse en materias del primer año las cuales no tienen correlativas, validando que dicho escenario se considere válido.

Este enfoque permite verificar el funcionamiento correcto del método aprobada() de la clase Inscripcion, cumpliendo así con el requerimiento del problema planteado.


About

DDS-K3152

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages