Шукаєте відповіді та рішення тестів для Course 937? Перегляньте нашу велику колекцію перевірених відповідей для Course 937 в evea-pregrado.ueb.edu.ec.
Отримайте миттєвий доступ до точних відповідей та детальних пояснень для питань вашого курсу. Наша платформа, створена спільнотою, допомагає студентам досягати успіху!
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.
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.