El flujo principal describe el camino normal de un caso de uso, pero en la práctica no todos los usuarios siguen exactamente el mismo recorrido. A veces el actor toma una decisión diferente, elige otra opción válida o el sistema ofrece una variante del proceso.
Los flujos alternativos documentan esas variantes válidas. No son errores necesariamente; son caminos diferentes que pueden completar el objetivo o llegar a un resultado aceptable.
Documentarlos permite que el equipo comprenda mejor el comportamiento esperado y evita que solo se diseñe y pruebe el camino ideal.
Un flujo alternativo es una secuencia de pasos que se aparta del flujo principal en un punto determinado, porque ocurre una condición válida o una decisión del usuario, y luego puede volver al flujo principal o finalizar con otro resultado aceptado.
Por ejemplo, en Solicitar turno, el flujo principal puede buscar turnos por especialidad. Un flujo alternativo podría permitir buscar directamente por profesional.
Un flujo alternativo describe una variante esperada y válida. Una excepción describe una situación problemática, de error o interrupción que impide continuar normalmente o requiere recuperación.
Ejemplo de alternativa: el paciente busca por profesional en lugar de buscar por especialidad. Ejemplo de excepción: el turno seleccionado ya no está disponible al momento de confirmar.
Un flujo alternativo debe indicar desde qué paso del flujo principal se activa, qué condición lo produce y qué ocurre después. Puede regresar al flujo principal o terminar con un resultado propio.
Muchas alternativas aparecen porque el usuario puede decidir entre opciones válidas. En esos casos, la especificación debe mostrar qué cambia según la decisión tomada.
Ejemplos:
También pueden existir flujos alternativos activados por condiciones del sistema que no son errores. Por ejemplo, si el paciente ya tiene datos completos, el sistema puede avanzar directamente; si faltan datos administrativos, puede solicitar completarlos antes de continuar.
La clave es identificar si la condición representa una variante normal del negocio o una situación excepcional.
Conviene nombrar cada flujo alternativo con una frase breve que explique la variante. Algunos ejemplos:
El nombre debe ayudar a reconocer rápidamente qué diferencia introduce el flujo.
Un flujo alternativo puede documentarse con esta estructura:
En el caso de uso Solicitar turno, el flujo principal puede indicar que el paciente selecciona una especialidad. Un flujo alternativo podría ser:
Otro flujo alternativo puede aparecer cuando el paciente revisa el resumen y decide cambiar la fecha antes de confirmar.
No todos los flujos alternativos vuelven al flujo principal. Algunos terminan el caso de uso con un resultado válido distinto.
Por ejemplo, si el paciente decide cancelar la operación antes de confirmar, el caso de uso puede finalizar sin registrar turno. No es un error: es una decisión válida del usuario.
No toda pequeña variación necesita documentarse como flujo alternativo. Si una diferencia no cambia el comportamiento funcional, puede no ser necesario registrarla.
Por ejemplo, si el usuario puede ordenar una lista ascendente o descendente, quizá baste con mencionarlo en una regla de interfaz o en un prototipo, salvo que tenga importancia funcional para el caso de uso.
Muchas alternativas dependen de reglas de negocio. Por ejemplo, un paciente puede cancelar un turno solo hasta 24 horas antes. Si intenta cancelar dentro de ese plazo restringido, puede activarse un flujo alternativo que solicita autorización de recepción o muestra una política de cancelación.
Conviene referenciar la regla de negocio cuando la alternativa depende de ella.
Cada flujo alternativo importante debe tener pruebas asociadas. Si el paciente puede buscar por profesional, debe existir una prueba que verifique ese camino. Si puede cancelar antes de confirmar, debe verificarse que no se registre una reserva.
Documentar alternativas mejora la cobertura de pruebas y reduce la posibilidad de que el sistema solo funcione en el camino ideal.
Algunos ejemplos de flujos alternativos son:
| Caso de uso | Flujo alternativo | Resultado |
|---|---|---|
| Solicitar turno | Buscar por profesional. | El sistema muestra horarios del profesional seleccionado. |
| Realizar compra | Retirar en sucursal. | El pedido queda preparado para retiro. |
| Realizar pago | Pagar por transferencia. | El sistema registra el pago como pendiente de acreditación. |
| Registrar usuario | Completar registro con cuenta externa. | El sistema registra al usuario con datos provistos por otro servicio. |
Al documentar flujos alternativos, suelen aparecer estos errores:
Antes de cerrar los flujos alternativos, conviene revisar:
Los flujos alternativos permiten documentar caminos válidos que se apartan del flujo principal. Son esenciales para representar decisiones del usuario y variantes reales del negocio.
Una especificación que incluye alternativas importantes es más completa, más fácil de validar y más útil para pruebas. En el próximo tema estudiaremos excepciones, errores y recuperación.