logo

Crowdly

Browser

Add to Chrome

Course 937

Looking for Course 937 test answers and solutions? Browse our comprehensive collection of verified answers for Course 937 at evea-pregrado.ueb.edu.ec.

Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!

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.

View this question

PREGUNTA 11

Observe cuidadosamente el diagrama UML que se muestra en la pantalla inteligente del salón de clases correspondiente a un sistema de notificaciones para una empresa.

Realice un análisis técnico completo del diagrama, explicando detalladamente el propósito y funcionamiento de todos los elementos que forman parte del modelo.

Su explicación debe incluir el papel que desempeña cada clase dentro del sistema, la justificación de los atributos y métodos definidos, el significado y funcionamiento de las relaciones existentes entre las clases, las multiplicidades representadas, las relaciones de herencia o dependencia que puedan identificarse y la forma en que los diferentes componentes colaboran entre sí para cumplir el objetivo del sistema.

Además, explique cómo el diseño representado contribuye a la organización, mantenibilidad y extensibilidad del software, indicando si es posible identificar la aplicación de algún patrón de diseño y justificando su respuesta.

View this question

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