La ingeniería de requisitos forma la base de cualquier proyecto de software exitoso. Entre las diversas técnicas disponibles, la descripción del caso de uso sigue siendo uno de los métodos más eficaces para capturar los requisitos funcionales desde la perspectiva del usuario. Un caso de uso bien redactado cierra la brecha entre las necesidades del negocio y la implementación técnica, asegurando que todos los interesados compartan una comprensión unificada del comportamiento del sistema.
Sin embargo, la ambigüedad en estas descripciones con frecuencia conduce a errores en el desarrollo, expansión del alcance y fallas en las pruebas. Esta guía proporciona un enfoque estructurado para elaborar descripciones de casos de uso precisas y accionables utilizando las normas del Lenguaje Unificado de Modelado (UML). Al seguir patrones establecidos, los equipos pueden crear documentación que sirva tanto como plano de diseño como lista de verificación para la validación.

🔍 Comprendiendo los componentes principales
Antes de redactar el texto narrativo, es esencial definir los elementos estructurales que componen un caso de uso completo. Estos componentes aseguran que el escenario esté delimitado y sea medible.
1. El actor 🧍
Un actor representa un rol desempeñado por una entidad que interactúa con el sistema. Los actores están fuera del límite del sistema. Pueden ser:
- Actores humanos:Personas reales, como un cliente, administrador o técnico.
- Sistemas externos:Otras interfaces de software o hardware que desencadenan o reciben datos.
- Actores basados en el tiempo:Eventos desencadenados por un reloj o temporizador, como un proceso de copia de seguridad programado.
Al definir un actor, asigna un rol específico en lugar de un título de trabajo específico. Por ejemplo, usa «Usuario registrado» en lugar de «Juan Pérez». Esto asegura que el requisito permanezca válido incluso si cambian las personas.
2. El límite del sistema ⬜
El límite del sistema define lo que está dentro del software y lo que está fuera. Clarifica las responsabilidades. Todo lo que está dentro del cuadro es el sistema; todo lo que está fuera es el entorno. Esta distinción es crítica para determinar quién es responsable de un error o acción específico.
3. El objetivo 🎯
Cada caso de uso representa un único objetivo que el actor desea alcanzar. Si una descripción contiene múltiples objetivos no relacionados, debe dividirse en casos de uso separados. Un solo objetivo asegura que el caso de uso permanezca verificable y manejable.
📋 Anatomía de una descripción de caso de uso
Una descripción completa va más allá de un simple diagrama. Requiere una especificación textual que detalle el flujo de interacción. A continuación se muestra la estructura estándar utilizada en la documentación profesional de requisitos.
Metadatos e identificación
- ID del caso de uso:Un identificador único (por ejemplo, UC-001) para su seguimiento.
- Nombre del caso de uso:Una frase sustantivo-verbo que describe la acción (por ejemplo, «Enviar pedido»).
- Actor principal:El usuario principal que inicia la acción.
- Actores secundarios:Cualquier sistema o usuario de apoyo.
- Prioridad: Crítico, Alto, Medio o Bajo.
Precondiciones
Las precondiciones definen el estado del sistema antes de que comience el caso de uso. Si estas condiciones no se cumplen, el caso de uso no puede iniciarse. Esto ayuda a los testers a comprender la configuración necesaria.
- El usuario debe estar conectado al sistema.
- El carrito de compras debe contener al menos un artículo.
- La pasarela de pago debe estar en línea.
Postcondiciones
Las postcondiciones describen el estado del sistema después de que el caso de uso se complete con éxito. Sirven como criterios de aceptación para la funcionalidad.
- Se crea un nuevo registro de pedido en la base de datos.
- Se envía un correo de confirmación al usuario.
- Se actualizan los niveles de inventario.
Flujo de eventos
Esta es la parte central de la descripción. Describe la secuencia de pasos realizados por el actor y el sistema. Normalmente se divide en el Escenario de Éxito Principal y las Extensiones.
🚀 El Escenario de Éxito Principal (Camino feliz)
El Escenario de Éxito Principal describe la ruta ideal en la que todo sale bien. No hay errores, interrupciones ni decisiones alternativas. Cada paso debe ser atómico, lo que significa que es una acción única que no puede dividirse más sin perder su significado.
Al escribir estos pasos, siga estas pautas:
- Numere los pasos: Use 1, 2, 3… para indicar la secuencia.
- Identifique la fuente: Indique claramente quién inicia el paso (Actor o Sistema).
- Use verbos activos: Comience con palabras acciones como «Seleccionar», «Ingresar», «Mostrar» o «Validar».
- Evite el jergón técnico: Describa lo que el usuario ve, no la consulta de base de datos detrás de ella.
🛑 Flujos alternativos y de excepción
El uso real rara vez sigue una ruta perfecta. Las extensiones manejan desviaciones respecto al flujo principal. Son fundamentales para una recopilación de requisitos sólida.
Flujos alternativos
Ocurren cuando el actor toma una decisión diferente respecto al camino principal. Aún así, llevan al mismo objetivo, aunque por una ruta distinta.
- Ejemplo: El usuario elige aplicar un código de descuento durante el proceso de pago.
Flujos de excepción
Estos ocurren cuando algo sale mal. El sistema debe manejar los errores de forma adecuada. El objetivo del caso de uso podría fallar, o podría recuperarse.
- Ejemplo: La pasarela de pago devuelve un mensaje de error.
- Ejemplo: El usuario tiene fondos insuficientes.
Las extensiones deben referirse al número específico de paso en el escenario de éxito principal donde ocurre la desviación.
📝 Ejemplo práctico: “Procesar pago”
Para ilustrar estos conceptos, considere un escenario genérico de procesamiento de pagos. Este ejemplo demuestra cómo traducir ideas abstractas en pasos concretos.
| Paso | Actor/Sistema | Acción | Respuesta |
|---|---|---|---|
| 1 | Actor | Selecciona el botón “Pagar ahora”. | – |
| 2 | Sistema | Muestra el formulario de pago. | El formulario aparece con los campos de tarjeta. |
| 3 | Actor | Ingresa los datos de la tarjeta. | – |
| 4 | Sistema | Valida los datos de la tarjeta. | Verifica el formato y la fecha de vencimiento. |
| 5 | Sistema | Envía la transacción al gateway. | – |
| 6 | Gateway | Devuelve la autorización. | Código de éxito o error. |
| 7 | Sistema | Confirma el pago. | Muestra la pantalla de éxito. |
Flujo alternativo A (Tarjeta inválida):
- En el Paso 4, si la validación falla, muestra el mensaje de error.
- Permite al usuario volver a ingresar los datos.
Flujo alternativo B (Tiempo de espera agotado):
- En el Paso 5, si el gateway no responde dentro de los 10 segundos, muestra el mensaje de tiempo de espera agotado.
- Permite al usuario intentarlo de nuevo o cancelar.
🛠 Mejores prácticas para claridad y precisión
Escribir requisitos es una habilidad que mejora con la práctica. Adherir a estándares específicos reduce la malinterpretación entre analistas de negocios, desarrolladores y testers.
1. Mantén la granularidad
No combines múltiples acciones en un solo paso. Si un paso requiere que el usuario haga clic en un botón y luego escriba texto, divídelo en dos pasos. La granularidad asegura que se puedan escribir casos de prueba para cada interacción específica.
2. Evita suposiciones
Nunca asumas que el usuario conoce términos técnicos. Evita palabras como “parsear”, “confirmar” o “almacenar en caché” a menos que la interfaz las muestre explícitamente. Describe el resultado, no el mecanismo.
3. Consistencia en la terminología
Utiliza un vocabulario controlado. Si lo llamas “Producto” en una sección, no lo llames “Artículo” en otra. La inconsistencia confunde a los desarrolladores y provoca errores de mapeo en la base de datos.
4. Enfócate en el comportamiento, no en la implementación
Describe lo que hace el sistema, no cómo lo hace. Por ejemplo, escribe “El sistema verifica el inventario” en lugar de “El sistema consulta la tabla de inventario SQL”. Lo primero permite al equipo de implementación elegir la mejor tecnología.
⚠️ Errores comunes que debes evitar
Incluso los escritores experimentados cometen errores. Reconocer estos patrones temprano evita rehacer trabajo más adelante en el ciclo de desarrollo.
Error 1: El “caso de uso Dios”
Esto ocurre cuando un único caso de uso intenta hacer demasiado. Si un caso de uso tiene 50 pasos, es probable que cubra múltiples objetivos. Divídalo en casos de uso más pequeños y enfocados.
Pitfall 2: Precondiciones faltantes
Omitir las precondiciones deja a los probadores adivinando sobre el estado inicial. Esto a menudo da lugar a pruebas inestables que fallan aleatoriamente porque el entorno no se configuró correctamente.
Pitfall 3: Verbos ambiguos
Evite palabras como «gestionar», «manejar» o «procesar». Son demasiado generales. En su lugar, use «Actualizar», «Eliminar», «Calcular» o «Enviar». La precisión elimina la ambigüedad.
Pitfall 4: Mezclar niveles de detalle
No mezcle objetivos empresariales de alto nivel con clics de interfaz de usuario de bajo nivel. Mantenga el Escenario de Éxito Principal a un nivel lógico. Los detalles de la interfaz de usuario pueden documentarse por separado en prototipos o especificaciones de interfaz.
🔗 Integración con otras especificaciones
Los casos de uso no existen de forma aislada. Se conectan con otros artefactos en la documentación de requisitos.
- Rastreabilidad:Cada caso de uso debe asignarse a historias de usuario o objetivos empresariales específicos. Esto garantiza que cada funcionalidad cumpla un propósito.
- Casos de prueba:Los pasos del Escenario de Éxito Principal se traducen directamente en casos de prueba positivos. Las extensiones se traducen en casos de prueba negativos.
- Diseño de interfaz:Los actores y pasos informan sobre la estructura de navegación y las disposiciones de pantalla.
- Diseño de base de datos:Los datos mencionados en los pasos (por ejemplo, «Introducir tarjeta de crédito») informan sobre los requisitos del modelo de datos.
📊 Comparación: Descripciones efectivas frente a inefectivas
La diferencia entre un requisito bueno y uno malo radica a menudo en el nivel de detalle y claridad. La tabla a continuación destaca estas diferencias.
| Característica | ❌ Descripción inefectiva | ✅ Descripción efectiva |
|---|---|---|
| Actor | «El usuario» | «Administrador registrado» |
| Paso | «Manejar el inicio de sesión» | «Introducir nombre de usuario y contraseña» |
| Resultado | «El sistema verifica el acceso» | “El sistema valida las credenciales contra la base de datos” |
| Excepción | “Si falla” | “Si las credenciales son incorrectas, muestra un mensaje de error y reinicia el campo” |
| Alcance | “Gestiona todo” | “Ver y editar el perfil de usuario” |
Observa cómo la descripción efectiva proporciona acciones específicas y límites claros. Esto reduce la carga cognitiva para el desarrollador que implementa la funcionalidad.
🧩 Manejo de escenarios complejos
No todas las requisitos encajan en un flujo lineal simple. Algunos escenarios implican procesos paralelos o lógica condicional.
Relaciones de inclusión y extensión
En UML, los casos de uso pueden relacionarse entre sí. Un Inclusiónrelación ocurre cuando un caso de uso siempre requiere que otro funcione. Por ejemplo, “Realizar pedido” siempre incluye “Validar pago”. Esto reduce la redundancia en las descripciones.
Un Extensiónrelación permite que un caso de uso agregue comportamiento a otro bajo condiciones específicas. Por ejemplo, “Aplicar descuento” extiende “Realizar pedido” solo si el usuario tiene un código de cupón.
Procesos concurrentes
Para sistemas complejos, un solo flujo puede no ser suficiente. Usa sub-flujos o diagramas separados para representar actividades paralelas. Asegúrate de que los puntos de interacción entre estos flujos estén claramente definidos.
🔍 Revisión y validación
Una vez escrita una descripción, debe ser validada. Un documento no está completo hasta que ha sido revisado por los interesados relevantes.
- Revisión:Realiza una revisión con el propietario del negocio. Pídeles que lean los pasos y confirmen que coincidan con su modelo mental.
- Verificación de viabilidad:Consulta con el desarrollador principal. Asegúrate de que los pasos sean técnicamente alcanzables dentro de las limitaciones del proyecto.
- Completitud:Verifica si faltan rutas de error. ¿Qué sucede si se pierde la conexión a internet? ¿Qué pasa si la base de datos está llena?
- Consistencia:Asegúrate de que los términos sean coherentes en todo el documento de requisitos.
🛠 Herramientas y formatos
El formato de la descripción del caso de uso puede variar según las necesidades del proyecto. Los formatos comunes incluyen:
- Texto estructurado: Un formato de lista numerada adecuado para Word o Google Docs.
- Formato de tabla: Una disposición tabular para escaneo rápido, comúnmente utilizada en hojas de cálculo.
- Entradas de base de datos: Almacenadas en herramientas de gestión de requisitos para rastreabilidad.
- Páginas de wiki: Páginas colaborativas que permiten el historial de versiones y enlaces.
Independientemente del medio, la estructura del contenido permanece la misma. El objetivo es la accesibilidad y la claridad, no el tipo específico de archivo.
🔗 Desde los requisitos hasta la prueba
El valor final de una descripción de caso de uso radica en su utilidad durante la fase de prueba. Los testers utilizan el Escenario de Éxito Principal para definir las pruebas del “Camino Feliz”. Utilizan las Extensiones para definir las pruebas del “Camino Negativo”.
Si una descripción de caso de uso es ambigua, las pruebas serán incompletas. Esto conduce a brechas en la cobertura y errores que llegan a producción. Las descripciones claras actúan como un contrato entre el negocio y el equipo de ingeniería.
📈 Medición de la calidad
¿Cómo sabes si tus casos de uso tienen buena calidad? Busca estos indicadores:
- Verificabilidad: ¿Un tester puede escribir una prueba a partir de este texto solo?
- Ausencia de ambigüedad: ¿Hay solo una interpretación posible?
- Rastreabilidad: ¿Puedes vincular esto de nuevo a un objetivo del negocio?
- Completitud: ¿Se cubren todos los caminos principales y las excepciones?
🏁 Resumen de los puntos clave
Crear descripciones de casos de uso efectivas requiere disciplina y atención al detalle. No se trata únicamente de documentar lo que hace el sistema, sino de definir los límites de su comportamiento. Al centrarse en pasos atómicos, precondiciones claras y un manejo robusto de excepciones, los equipos pueden reducir la ambigüedad y mejorar la calidad de la entrega.
Los elementos clave que debes recordar incluyen:
- Define claramente a los actores y los límites del sistema.
- Utiliza un formato estructurado con ID, Nombre y Flujo.
- Separa el Escenario de Éxito Principal de los flujos alternativos y de excepción.
- Utiliza verbos activos y terminología específica.
- Valide las descripciones con los interesados antes de que comience el desarrollo.
Invertir tiempo en escribir requisitos claros genera beneficios a lo largo de todo el ciclo de vida del proyecto. Reduce el trabajo repetido, aclara las expectativas y garantiza que el producto final satisfaga las necesidades reales de los usuarios.












