Sistema e-Commerce — Diagramas de Secuencia UML

Tipos:
Simple
Síncrono
Asíncrono
Retorno
DS-01 Pago seguro
DS-02 Inicio de sesión
DS-03 Carrito y variante
DS-04 Inventario y despacho

DS-01 — Procesar transacción de pago seguro (CU-01)

Cliente · Sistema · PayPal API — simple, síncrono, asíncrono y retorno

:Cliente :Sistema :PayPal API simple confirmarCarrito() síncrono iniciarPago(monto, datos) tokenTransaccion asíncrono autorizarPago(token) registrarOrden() ordenRegistrada asíncrono enviarCorreoConfirmacion() reciboDigital + carrito vacío
Simple: confirmar carrito (no espera procesamiento) · Síncrono: iniciar/registrar pago (bloquea hasta respuesta) · Asíncrono: autorizar pago / enviar correo (no bloquea flujo) · Retorno: línea punteada

DS-02 — Iniciar sesión (autenticación de usuario)

Administrador / Usuario · Sistema · Base de datos — fragmento combinado: alt

:Admin / Usuario :Sistema :Base de datos simple login(usuario, contraseña) síncrono consultarCredenciales() alt [usuario válido] usuarioValido = true [credenciales incorrectas] error: acceso denegado accesoPermitido / accesoNegado
alt: fragmento con dos caminos alternativos · [usuario válido]: BD devuelve token de sesión activo · [credenciales incorrectas]: BD devuelve error, acceso denegado

DS-03 — Selección de variante y gestión del carrito

Cliente · Sistema · Variante · Carrito — fragmento combinado: opt

:Cliente :Sistema :Variante :Carrito simple verProducto(idProducto) cargarVariantes() lista 12 Casas / 30 diseños mostrarOpciones() opt [sin variante seleccionada] bloquearAgregarCarrito() asíncrono seleccionarVariante(idVariante) agregarItem(producto, variante) itemAgregado resumenCarrito(variante exacta)
opt: fragmento opcional, solo si se cumple la condición · [sin variante seleccionada]: sistema bloquea el botón agregar · agregarItem: síncrono, espera confirmación antes de continuar

DS-04 — Gestión de inventario y despacho de órdenes

Administrador · Panel Admin · Base de Datos — fragmento combinado: opt

:Administrador :Panel Admin :Base de Datos simple accederPanel(rolSuperusuario) consultarInventario() stockActual(productos) listaStock() opt [stock menor a 3 unidades] asíncrono alertaStockBajo(producto) simple actualizarStock(id, nuevaCantidad) persistirCambio() cambioRegistrado stockActualizado()
opt: alerta de stock solo si hay menos de 3 unidades · persistirCambio: síncrono, Panel Admin espera confirmación de BD · stockActualizado: retorno final confirmando el cambio