24. Introducción a los casos de uso dentro de los requerimientos

24.1 Introducción

Los casos de uso son una forma de describir cómo un actor interactúa con un sistema para alcanzar un objetivo. Dentro de los requerimientos, ayudan a organizar funciones desde la perspectiva de quienes usan el sistema o se comunican con él.

Un caso de uso no es solo un diagrama. También puede incluir una descripción textual con objetivo, actores, precondiciones, flujo principal, flujos alternativos, excepciones y resultado esperado.

En este tema veremos una introducción a los casos de uso y su relación con requerimientos, sin profundizar en todos los detalles que corresponden a un curso específico de casos de uso.

24.2 ¿Qué es un caso de uso?

Un caso de uso describe una interacción entre un actor y el sistema para lograr un resultado de valor.

Un caso de uso responde a la pregunta: ¿qué quiere lograr un actor usando el sistema y cómo responde el sistema durante esa interacción?

Ejemplos de casos de uso:

  • Registrar pedido.
  • Consultar estado de reclamo.
  • Inscribirse a un curso.
  • Aprobar descuento.
  • Generar reporte mensual.
  • Restablecer contraseña.

24.3 Actor

Un actor es una persona, sistema externo, dispositivo u organización que interactúa con el sistema. El actor está fuera del sistema, pero participa en el logro de un objetivo.

Ejemplos:

  • Cliente.
  • Vendedor.
  • Administrador.
  • Sistema contable.
  • Pasarela de pagos.
  • Supervisor.

El actor no siempre es una persona. Puede ser otro sistema que envía o recibe información.

24.4 Objetivo del caso de uso

Todo caso de uso debe tener un objetivo claro. El objetivo indica qué resultado busca obtener el actor.

Actor Caso de uso Objetivo
Cliente Consultar estado de reclamo Conocer el avance del reclamo sin llamar a atención al cliente.
Vendedor Registrar pedido Guardar una solicitud de compra de un cliente.
Supervisor Aprobar descuento Autorizar una condición comercial fuera del límite habitual.

24.5 Caso de uso y requerimiento funcional

Los casos de uso se relacionan con requerimientos funcionales porque describen comportamientos que el sistema debe ofrecer.

Un requerimiento funcional puede expresarse de forma breve:

El sistema debe permitir registrar pedidos de clientes.

Un caso de uso puede ampliar esa función indicando actor, objetivo, pasos, reglas y excepciones. Por eso, el caso de uso es útil cuando una función requiere más detalle de interacción.

24.6 Estructura textual básica

Una especificación simple de caso de uso puede incluir:

  • Nombre del caso de uso.
  • Actor principal.
  • Objetivo.
  • Precondiciones.
  • Disparador o evento inicial.
  • Flujo principal.
  • Flujos alternativos.
  • Excepciones.
  • Postcondiciones.
  • Reglas de negocio relacionadas.

No siempre hace falta usar todos los campos. El nivel de detalle debe responder a la complejidad del caso.

24.7 Flujo principal en un caso de uso

El flujo principal describe la interacción normal entre actor y sistema.

Ejemplo para consultar reclamo:

  1. El cliente ingresa número de reclamo y correo electrónico.
  2. El sistema valida que los datos coincidan con un reclamo existente.
  3. El sistema muestra estado, fecha de alta y última actualización.
  4. El cliente finaliza la consulta.

El flujo debe mostrar responsabilidades del actor y del sistema de manera clara.

24.8 Flujos alternativos y excepciones

Los casos de uso también deben contemplar variantes y errores.

Para la consulta de reclamo:

  • Alternativo: si el reclamo está cerrado, el sistema muestra fecha de cierre y resolución.
  • Excepción: si número y correo no coinciden, el sistema no muestra información sensible.
  • Excepción: si el servicio no está disponible, el sistema informa que la consulta no puede realizarse en ese momento.

Esto evita especificar solo el caso ideal.

24.9 Precondiciones y postcondiciones

Las precondiciones indican qué debe cumplirse antes de iniciar el caso de uso. Las postcondiciones indican qué debe quedar cumplido al finalizar.

Ejemplo para registrar pedido:

  • Precondición: el vendedor inició sesión y tiene permiso para registrar pedidos.
  • Precondición: el cliente existe en el sistema.
  • Postcondición: el pedido queda registrado con número único.
  • Postcondición: si el pedido fue confirmado, el stock queda reservado.

Estas condiciones ayudan a delimitar el comportamiento esperado.

24.10 Casos de uso y diagramas

Los casos de uso suelen representarse mediante diagramas, especialmente en UML. Un diagrama muestra actores, casos de uso y relaciones generales.

Sin embargo, el diagrama por sí solo no explica el detalle de los flujos. Por ejemplo, un óvalo llamado "Registrar pedido" no dice qué datos se ingresan, qué validaciones existen ni qué ocurre si no hay stock.

El diagrama ayuda a ver el mapa general; la descripción textual explica el comportamiento.

24.11 Casos de uso e historias de usuario

Historias de usuario y casos de uso pueden convivir. No son exactamente lo mismo.

Historia de usuario Caso de uso
Expresa una necesidad breve desde un rol y un beneficio. Describe una interacción más estructurada entre actor y sistema.
Es útil para conversaciones ágiles y priorización. Es útil para detallar flujos, alternativas y excepciones.
Necesita criterios de aceptación para completarse. Incluye flujo principal, alternativos, precondiciones y postcondiciones.

24.12 Caso de uso y escenario

Un caso de uso puede incluir varios escenarios. El flujo principal es un escenario exitoso típico. Cada flujo alternativo o excepción puede verse como otro escenario.

Ejemplo:

  • Caso de uso: confirmar pedido.
  • Escenario principal: pedido confirmado con stock suficiente.
  • Escenario alternativo: pedido queda pendiente por aprobación de descuento.
  • Escenario de excepción: pedido rechazado por cliente bloqueado.

Esta relación ayuda a derivar pruebas y criterios de aceptación.

24.13 Nivel de detalle

No todos los casos de uso requieren una especificación extensa. El detalle depende de la complejidad y el riesgo.

Conviene detallar más cuando:

  • Hay muchas reglas de negocio.
  • Existen varios flujos alternativos.
  • Participan varios actores o sistemas externos.
  • La operación es crítica para el negocio.
  • Hay requisitos legales o de auditoría.
  • El equipo necesita una base clara para pruebas.

En funciones simples, una historia con criterios de aceptación puede ser suficiente.

24.14 Ejemplo breve de caso de uso

Nombre Registrar reclamo
Actor principal Operador de atención
Objetivo Registrar formalmente un reclamo recibido de un cliente.
Precondición El operador inició sesión y tiene permiso para registrar reclamos.
Flujo principal El operador identifica al cliente, ingresa motivo y descripción, selecciona canal de ingreso y confirma el registro. El sistema asigna número único y estado abierto.
Alternativo Si el cliente no existe, el operador puede registrar datos mínimos del cliente antes de crear el reclamo.
Excepción Si falta motivo o descripción, el sistema no permite guardar el reclamo.
Postcondición El reclamo queda registrado y disponible para asignación.

24.15 Casos de uso y pruebas

Los casos de uso son una buena base para pruebas de aceptación, porque describen flujos que pueden verificarse.

Del caso de uso "Registrar reclamo" pueden derivarse pruebas como:

  • Registrar reclamo con cliente existente y datos completos.
  • Registrar reclamo para cliente nuevo con datos mínimos.
  • Intentar registrar reclamo sin motivo.
  • Intentar registrar reclamo sin permisos.
  • Verificar que el reclamo quede en estado abierto.

Esto mejora la trazabilidad entre requerimientos y verificación.

24.16 Límites de los casos de uso

Los casos de uso son útiles, pero no cubren todo.

Sus límites incluyen:

  • No describen por sí solos estructura interna del sistema.
  • No reemplazan el modelo de datos.
  • No siempre expresan bien requerimientos no funcionales.
  • No sustituyen reglas de negocio complejas documentadas aparte.
  • No siempre son necesarios para funciones muy simples.
  • No deben convertirse en diseño técnico detallado.

Deben usarse cuando aportan claridad, no por obligación documental.

24.17 Errores frecuentes

Al introducir casos de uso, suelen aparecer estos errores:

  • Creer que el diagrama es suficiente.
  • Nombrar casos de uso con acciones demasiado pequeñas, como "presionar botón".
  • No identificar actor principal.
  • No definir objetivo del actor.
  • Describir solo el flujo principal y omitir excepciones.
  • Incluir detalles internos de implementación.
  • Confundir casos de uso con menús o pantallas.
  • No validar los flujos con usuarios.

24.18 Buenas prácticas

Algunas buenas prácticas son:

  • Nombrar casos de uso con objetivos de actor.
  • Identificar actor principal y actores secundarios.
  • Describir primero el flujo principal.
  • Agregar flujos alternativos y excepciones relevantes.
  • Relacionar el caso de uso con reglas, datos y criterios de aceptación.
  • Evitar detalles técnicos innecesarios.
  • Validar los flujos con interesados.
  • Usar diagramas como apoyo, no como única especificación.
Un caso de uso útil describe una meta significativa de un actor, no una lista de botones o pantallas.

24.19 Qué debes recordar de este tema

  • Un caso de uso describe una interacción entre actor y sistema para lograr un objetivo.
  • El actor está fuera del sistema, pero interactúa con él.
  • Un caso de uso puede incluir flujo principal, alternativos y excepciones.
  • Los diagramas ayudan a ver el panorama, pero no reemplazan la descripción textual.
  • Los casos de uso se relacionan con requerimientos funcionales, escenarios y pruebas.
  • No todos los requerimientos necesitan documentarse como caso de uso.
  • Los casos de uso deben complementarse con reglas, datos y requerimientos no funcionales.

24.20 Conclusión

Los casos de uso son una herramienta útil para organizar y describir interacciones entre actores y sistema. Ayudan a comprender objetivos, flujos, variantes y excepciones dentro de los requerimientos funcionales.

En este curso los presentamos como una introducción, porque su estudio detallado requiere un tratamiento propio. Lo importante aquí es entender cuándo ayudan y cómo se conectan con requerimientos, escenarios y pruebas.

En el próximo tema comenzaremos el análisis de requerimientos: clasificación, refinamiento y consistencia de la información obtenida durante la elicitación.