TERCERA ENTREGA OFICIAL • FASES DE INICIO Y ELABORACIÓN

Casos de Uso & Modelado Orientado a Objetos

Diagrama de Casos de Uso, Casos de Uso completos, DSS, Diagrama de Estados, Modelo del Dominio, Contratos de Operación y Modelo de Análisis.

Estándar Académico Craig Larman (Cap. 6 al 13)
CU

Fase de Inicio: Modelo de Casos de Uso

DIAGRAMA 7 (Pág. 26 del TFI)

14. Diagrama de Casos de Uso UML del Sistema VMS

Renderizado Mermaid Vectorial

Un único diagrama general que delimita el contexto del sistema VMS, ubicando a los actores directos a la izquierda, los actores de apoyo externos a la derecha y los casos de uso nucleares con sus relaciones <<include>> y <<extend>>:

flowchart LR subgraph ACTORES_DIRECTOS ["Actores Principales (Directos)"] A_ADM["Empleado Administración y Ventas"] A_LOG["Coordinador de Logística"] A_MNT["Encargado Mantenimiento y Seguridad"] A_GER["Gerente General"] A_CLI["Cliente Anfitrión"] end subgraph LIMITE_SISTEMA ["Límite del Sistema VMS (Elisa Eventos)"] direction TB CU01(["CU-01: Procesar Presupuesto y Confirmar Reserva"]) CU02(["CU-02: Coordinar Logística y Ejecutar Cierre"]) CU03(["CU-03: Gestionar Cancelación o Reprogramación"]) INC_DISP(["Validar Disponibilidad y Aforo"]) INC_SENA(["Validar Pago de Seña"]) INC_ORD(["Generar Orden de Servicio"]) INC_ACTA(["Registrar Acta de Inspección"]) EXT_REINT(["Liquidar Reintegro Parcial - RD-05"]) CU01 -.->|include| INC_DISP CU01 -.->|include| INC_SENA CU02 -.->|include| INC_ORD CU02 -.->|include| INC_ACTA EXT_REINT -.->|extend| CU03 end subgraph ACTORES_APOYO ["Actores de Apoyo"] BANCO["Sistema Bancario / Pasarela de Pagos"] NOTIF["Servicio de Correo / Notificaciones"] end A_CLI --> CU01 A_ADM --> CU01 A_LOG --> CU02 A_MNT --> CU02 A_GER --> CU03 A_ADM --> CU03 INC_SENA --> BANCO CU01 --> NOTIF CU02 --> NOTIF

13. Documentación de Casos de Uso en Formato Completo (Formato Larman)

CU-01: Proceso de Comercialización y Reserva de Evento

Formato Expandido
Actor Principal: Empleado de Administración y Ventas / Cliente
Partes Interesadas: Gerencia General (ingresos), Cliente (reserva garantizada), Cocina (aforo).
Precondiciones: El empleado se encuentra autenticado en el sistema VMS.
Poscondiciones: La fecha y turno quedan bloqueados en el calendario; se emite el Contrato y Recibo Oficial; se registra el cobro de la seña (30%).

Escenario Principal de Éxito (Flujo Básico):

  1. El Cliente solicita cotización indicando fecha deseada, turno (Noche/Tarde), tipo de evento y cantidad estimada de invitados.
  2. El Empleado ingresa los datos en el sistema VMS.
  3. El Sistema valida automáticamente que la fecha y turno se encuentren disponibles y que la cantidad de invitados no supere el aforo máximo de 350 personas (RD-02).
  4. El Empleado selecciona los servicios requeridos (Catering, Barra, DJ, Ambientación).
  5. El Sistema calcula el importe total y determina el monto exacto de la seña mínima obligatoria del 30% (RD-01).
  6. El Empleado emite y entrega el Presupuesto Formal con bloqueo transitorio por 48 horas.
  7. El Cliente efectúa el pago de la seña requerida (Transferencia Bancaria o Efectivo) y presenta el comprobante.
  8. El Empleado registra el pago en el VMS ingresando el número de transacción.
  9. El Sistema valida la acreditación, cambia el estado de la reserva a "Confirmada / Bloqueada" y actualiza el saldo pendiente (70%).
  10. El Sistema emite el Contrato de Reserva y el Recibo Oficial Digital, notificando al cliente y a Gerencia.

Flujos Alternativos / Extensiones Significativas:

3a. La fecha ya se encuentra reservada o el aforo supera 350 personas: El sistema rechaza la operación, muestra alerta de conflicto y ofrece fechas alternativas.

6a. El cliente no abona la seña dentro de las 48 horas: El sistema libera automáticamente la reserva temporal y la fecha vuelve a figurar "Disponible".

8a. El importe abonado es inferior al 30% reglamentario (RD-01): El sistema bloquea la confirmación de la reserva y emite un recibo provisional por "Pago Parcial Insuficiente", manteniendo la fecha en estado condicional.

CU-02: Proceso de Coordinación Logística, Ejecución y Cierre de Evento

Formato Expandido
Actor Principal: Coordinador de Logística / Encargado de Mantenimiento
Precondiciones: La reserva existe en estado "Confirmada" con saldo del 70% abonado o programado.
Poscondiciones: Layout de mesas guardado; Orden de Servicio distribuida; Acta de inspección firmada; Evento marcado "Finalizado".

Escenario Principal de Éxito:

  1. El Coordinador de Logística accede a la ficha del evento reservado 10 días antes de la fecha.
  2. Carga el diagrama de distribución de mesas (layout) y registra comensales con dietas especiales (celíacos, veganos).
  3. Registra a los proveedores externos contratados por el cliente (DJ, fotógrafos) validando sus pólizas de seguro de ART (RD-04).
  4. El Sistema genera la Orden de Servicio Interna consolidada y la distribuye digitalmente a Cocina y Mantenimiento (CO-6).
  5. El día del evento, el Coordinador supervisa la ejecución y el cumplimiento de los tiempos acordados.
  6. Finalizada la fiesta, el Encargado de Mantenimiento realiza la recorrida e inspección de instalaciones en el VMS.
  7. Registra el estado del inventario (mobiliario, mantelería, luces, sanitarios) y consigna si hubo daños o faltantes.
  8. El Sistema calcula la restitución o deducción sobre el Depósito en Garantía (RD-07) y emite el Acta de Inspección y Cierre.
  9. El evento pasa a estado "Finalizado" y el salón queda habilitado para el siguiente turno.
OO

Fase de Elaboración: Modelado Estructural y Dinámico

DIAGRAMA 18 (Pág. 36 del TFI)

18. Modelo del Dominio UML (Clases Conceptuales)

¡CERO CLASES DE SOFTWARE!

Representación conceptual del negocio de Elisa Eventos. Según la regla metodológica de la cátedra de ASI, no se incluyen artefactos de software (bases de datos, ventanas, controladores). Cada clase representa un concepto del mundo real con sus atributos semánticos y multiplicidades formales:

classDiagram direction TB class Cliente { +int idCliente +string nombreCompleto +string dniCuit +string telefono +string email +string direccion } class Presupuesto { +string nroPresupuesto +date fechaEmision +date fechaValidez +decimal montoTotal +decimal montoSeñaRequerida +string estadoPresupuesto } class Reserva { +string nroReserva +date fechaReserva +date fechaEvento +string turno +decimal montoPactado +decimal saldoPendiente +string estadoReserva } class Evento { +string nroEvento +string tipoEvento +int cantidadInvitados +time horaInicio +time horaFin +string estadoEvento } class Pago { +string nroComprobante +date fechaPago +decimal monto +string metodoPago +string tipoPago } class Servicio { +string codServicio +string nombreServicio +string descripcion +decimal tarifaBase } class ProveedorExterno { +string cuit +string razonSocial +string rubro +string nroPolizaART +date fechaVencimientoART } class Mesa { +int nroMesa +int capacidadSillas +string sectorUbicacion +string menuEspecialDietas } class OrdenServicio { +string nroOrden +datetime fechaHoraEmision +string observacionesCocina +string cronogramaMontaje } class ActaInspeccion { +string nroActa +datetime fechaInspeccion +string detalleDañosRoturas +decimal montoDeduccionGarantia +string estadoDevolucionGarantia } Cliente "1" -- "0..*" Presupuesto : solicita > Presupuesto "0..1" -- "1" Reserva : origina > Cliente "1" -- "0..*" Reserva : concierta > Reserva "1" -- "1" Evento : planifica > Reserva "1" -- "1..*" Pago : registra > Reserva "1" -- "1..*" Servicio : incluye > Evento "1" -- "0..*" ProveedorExterno : acredita > Evento "1" -- "1..*" Mesa : distribuye > Evento "1" -- "1" OrdenServicio : genera > Evento "1" -- "1" ActaInspeccion : formaliza cierre >

15. Diagramas de Secuencia del Sistema (DSS)

DSS-01: Proceso de Cotización y Reserva (CU-01)

Interacciones caja negra entre el Empleado y el Sistema VMS para crear el presupuesto y registrar la seña obligatoria.

sequenceDiagram autonumber actor Empleado as Empleado Adm. participant Sistema as Sistema VMS Empleado ->> Sistema: solicitarCotizacion(fecha, turno, cantInvitados, tipoEvento) Sistema -->> Empleado: verificarDisponibilidadYAforo(disponible, max350) Empleado ->> Sistema: seleccionarServicios(serviciosIds) Sistema -->> Empleado: calcularTotalesYSeña(montoTotal, seña30Porc) Empleado ->> Sistema: emitirPresupuestoFormal() Sistema -->> Empleado: presupuestoGenerado(nroPresupuesto, PDF) Empleado ->> Sistema: registrarPagoSeña(nroPresupuesto, nroTransferencia, monto) Sistema -->> Empleado: validarAcreditacion(confirmado) Sistema -->> Empleado: contratoEmitido(nroReserva, reciboDigital)

DSS-02: Coordinación Logística y Cierre (CU-02)

Operaciones del Coordinador de Logística y Encargado de Mantenimiento para layout, ART y acta final.

sequenceDiagram autonumber actor Coord as Coordinador Log. participant Sistema as Sistema VMS actor Mant as Encargado Mant. Coord ->> Sistema: cargarLayoutMesas(nroEvento, distribucionMesas, dietasEspeciales) Sistema -->> Coord: layoutGuardadoInmutable() Coord ->> Sistema: registrarProveedorART(nroEvento, cuit, nroPoliza, vtoPoliza) Sistema -->> Coord: proveedorAcreditado() Coord ->> Sistema: emitirOrdenServicio(nroEvento) Sistema -->> Coord: ordenServicioDistribuida(Cocina, Logística) Mant ->> Sistema: registrarInspeccion(nroEvento, estadoMobiliario, roturas) Sistema -->> Mant: calcularRestitucionGarantia(montoReintegro, deducciones) Mant ->> Sistema: emitirActaInspeccionCierre(nroEvento) Sistema -->> Mant: actaCierreFirmada(eventoFinalizado)
DIAGRAMA 14 (Pág. 32 del TFI)

17. Diagrama de Estados UML del Ciclo de Vida de una Reserva

Renderizado Mermaid Vectorial

Ciclo de vida completo del objeto Reserva en Elisa Eventos, desde la solicitud de cotización hasta el cierre definitivo tras la inspección técnica:

stateDiagram-v2 [*] --> DISPONIBLE: Fecha Libre en Calendario DISPONIBLE --> PRESUPUESTADA: emitirPresupuesto (Bloqueo 48hs) PRESUPUESTADA --> DISPONIBLE: timeout 48hs sin seña PRESUPUESTADA --> CANCELADA: cliente desiste PRESUPUESTADA --> CONFIRMADA: acreditarPagoSeña (Seña mín. 30% - RD-01) CONFIRMADA --> COORDINADA: cargarLayoutYProveedores (10 días antes - RD-06 y RD-04) CONFIRMADA --> CANCELADA: solicitarCancelacion (Aplica política RD-05) COORDINADA --> EN_EJECUCION: cancelarSaldoCompleto (70% previo a fiesta - RD-03) EN_EJECUCION --> EN_INSPECCION: finalizacionFiesta EN_INSPECCION --> FINALIZADA: registrarActaCierre (Garantía restituida - RD-07) FINALIZADA --> [*] CANCELADA --> [*]
CONTRATOS FORMALES DE OPERACIÓN (UP LARMAN CAP. 11)

19. Contratos de las Operaciones del Sistema (CO-01 a CO-07)

7 Contratos

CO-01: crearPresupuesto(fecha, turno, cantInvitados, tipoEvento, serviciosIds)

CU-01

Responsabilidades: Calcular el importe total del evento y determinar el monto de seña obligatoria (30%). Bloquear temporalmente la fecha por 48 horas.

Poscondiciones: Se creó una instancia p:Presupuesto. Se asoció p con el Cliente y los Servicios seleccionados. El estado de la fecha pasa a "Presupuestada".

CO-02: registrarPagoSeña(nroPresupuesto, montoAbonado, nroComprobante, metodoPago)

CU-01 / RD-01

Responsabilidades: Validar que el monto abonado cubra el 30% obligatorio (RD-01). Registrar el pago en la cuenta de la reserva.

Poscondiciones: Se creó una instancia pago:Pago con tipo "Seña". El saldo de la reserva se redujo al 70% restante pactado.

CO-03: confirmarReserva(nroPresupuesto)

CU-01 / RD-01

Responsabilidades: Consolidar la reserva definitiva en el calendario. Emitir el Contrato Oficial firmado digitalmente.

Poscondiciones: Se creó una instancia r:Reserva y e:Evento. El atributo r.estado cambió a "Confirmada". Se generó el Contrato Oficial.

CO-04: registrarLayoutMesas(nroEvento, distribucionMesas, detalleDietas)

CU-02 / RD-06

Responsabilidades: Asignar capacidad de comensales y comensales por mesa, registrando dietas de celíacos y veganos.

Poscondiciones: Se crearon las instancias m:Mesa asociadas a e:Evento. Se fijó la inmutabilidad logística según RD-06 (7 días antes).

CO-05: acreditarProveedorART(nroEvento, cuit, nroPoliza, vtoPoliza)

CU-02 / RD-04

Responsabilidades: Verificar vigencia de cobertura de accidentes personales o ART de proveedores externos contratados.

Poscondiciones: Se asoció la instancia prov:ProveedorExterno a e:Evento con estado "Acreditado y Habilitado para Ingreso".

CO-06: emitirOrdenServicio(nroEvento)

CU-02

Responsabilidades: Consolidar minuta de tiempos, menú para Cocina, asignación de mesas y requerimientos técnicos en un documento unificado.

Poscondiciones: Se creó una instancia os:OrdenServicio vinculada a e:Evento y distribuida a los jefes de sector.

CO-07: registrarActaInspeccion(nroEvento, estadoInstalaciones, detalleRoturas)

CU-02 / RD-07

Responsabilidades: Liquidar las roturas o faltantes contra el Depósito en Garantía ($300.000) y dar por finalizado el evento formalmente.

Poscondiciones: Se creó una instancia acta:ActaInspeccion. e.estado pasó a "Finalizado". El salón queda disponible para limpieza y el siguiente turno.

DIAGRAMA DE ROBUSTEZ (ESTÁNDAR ICONIX / LARMAN)

20. Modelo de Análisis: Robustez del CU-01

Frontera • Control • Entidad

Puente metodológico entre los Casos de Uso y el Diseño Orientado a Objetos. Muestra la interacción entre objetos Frontera (Interfaz de Usuario), Controladores del Sistema y Entidades del Dominio:

flowchart LR subgraph ACTOR ["Actor"] EMPLEADO["Empleado Adm. y Ventas"] end subgraph FRONTERA ["Objetos Frontera (Boundary)"] UI_COT["UI_FormularioCotizacion"] UI_PAGO["UI_RegistroCobroSeña"] UI_REC["UI_VisorContratoRecibo"] end subgraph CONTROL ["Objetos Control (Control)"] CTRL_VMS["GestorReservasController"] CTRL_PAG["ValidadorPagosController"] end subgraph ENTIDAD ["Objetos Entidad (Entity)"] ENT_CLI[("Entidad: Cliente")] ENT_PRE[("Entidad: Presupuesto")] ENT_RES[("Entidad: Reserva")] ENT_PAG[("Entidad: Pago")] end EMPLEADO --> UI_COT UI_COT --> CTRL_VMS CTRL_VMS --> ENT_CLI CTRL_VMS --> ENT_PRE EMPLEADO --> UI_PAGO UI_PAGO --> CTRL_PAG CTRL_PAG --> ENT_PAG CTRL_PAG --> CTRL_VMS CTRL_VMS --> ENT_RES CTRL_VMS --> UI_REC
← 2ª Entrega: Visión & FURPS+ 4ª Entrega: Viabilidad & Cierre →