logo

Crowdly

PREGUNTA 12 Analice cuidadosamente el siguiente fragmento de código: def cr...

✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.

PREGUNTA 12

Analice cuidadosamente el siguiente fragmento de código:

def crear_reserva(self, docente, laboratorio, fecha, hora_inicio, hora_fin):

print("\n[GESTOR DE RESERVA]")

print("El gestor inicia el proceso de creación de la reserva.")

reserva = Reserva(

id_reserva=len(self.repositorio.reservas) + 1,

docente=docente,

laboratorio=laboratorio,

fecha=fecha,

hora_inicio=hora_inicio,

hora_fin=hora_fin

)

disponible = self.validar_disponibilidad(

laboratorio,

fecha,

hora_inicio,

hora_fin

)

if laboratorio.verificar_disponibilidad(disponible):

reserva.confirmar()

laboratorio.ocupar()

else:

reserva.cancelar()

self.repositorio.guardar_reserva(reserva)

print("\n[ETAPA 6] Proceso finalizado")

print(f"Estado final de la reserva #{reserva.id_reserva}: {reserva.estado}")

return reserva

Responda:

a) Explique cómo se distribuyen las responsabilidades entre los objetos que aparecen en el fragmento. En su respuesta debe analizar el papel que cumplen GestorReserva, Reserva, Laboratorio y RepositorioReserva dentro del proceso de creación de una reserva.

b) Suponga que se elimina la línea:

laboratorio.ocupar()

sin modificar ninguna otra parte del código.

Explique qué efecto tendría esta eliminación sobre el comportamiento del sistema y sobre la coherencia entre el estado de la reserva y la disponibilidad del laboratorio.

c) Suponga que se elimina la línea:

self.repositorio.guardar_reserva(reserva)

y no se realiza ninguna otra modificación en el sistema.

Explique qué consecuencias tendría esta decisión sobre el comportamiento del sistema y sobre las responsabilidades asignadas a los objetos dentro del modelo de diseño.

More questions like this

Want instant access to all verified answers on evea-pregrado.ueb.edu.ec?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!

Browser

Add to Chrome