Entendiendo los diagramas de casos de uso: conceptos, ejemplos y relaciones

Diagramas de casos de uso son una parte fundamental del Lenguaje Unificado de Modelado (UML), proporcionando una representación visual de los requisitos funcionales de un sistema desde la perspectiva del usuario. Este artículo profundiza en los conceptos clave de los diagramas de casos de uso, ilustra sus componentes mediante un ejemplo y explica cómo los casos de uso base, los casos de uso extendidos y los casos de uso incluidos se relacionan con las plantillas de casos de uso y los diagramas de secuencia.

Conceptos clave de los diagramas de casos de uso

Actores

Los actores representan usuarios o sistemas externos que interactúan con el sistema. Pueden ser usuarios humanos, otros sistemas o dispositivos de hardware. Los actores se representan como figuras de palo o cuadros etiquetados fuera del límite del sistema.

Casos de uso

Los casos de uso representan las funcionalidades o servicios proporcionados por el sistema. Describen las interacciones entre los actores y el sistema para alcanzar un objetivo específico. Los casos de uso se representan como óvalos dentro del límite del sistema.

Relaciones

Las relaciones muestran las interacciones entre actores y casos de uso, así como las dependencias entre casos de uso. Las relaciones principales en los diagramas de casos de uso son:

  • Asociación: Una línea que conecta un actor con un caso de uso, indicando que el actor participa en el caso de uso.
  • Incluir: Una flecha punteada que apunta desde un caso de uso base hacia un caso de uso incluido, indicando que el caso de uso incluido es una parte obligatoria del caso de uso base.
  • Extender: Una flecha punteada que apunta desde un caso de uso extendido hacia un caso de uso base, indicando que el caso de uso extendido añade comportamiento opcional al caso de uso base bajo ciertas condiciones.

Ejemplo: Sistema de cajero automático

Consideremos un sistema de cajero automático (ATM) para ilustrar los conceptos de los diagramas de casos de uso y sus relaciones con las plantillas de casos de uso y los diagramas de secuencia.

Diagrama de casos de uso

El diagrama de casos de uso para el sistema de cajero automático se muestra a continuación:

Use Case Diagram notations guide - Visual Paradigm

Actores:

  • Usuario

Casos de uso:

  • Iniciar sesión
  • Retirar efectivo
  • Consultar saldo
  • Donar dinero a una organización benéfica
  • Transferir dinero
  • Pagar facturas

Relaciones:

  • El caso de uso «Iniciar sesión» es un caso de uso base que incluye otros casos de uso como «Retirar efectivo», «Consultar saldo», «Donar dinero a una organización benéfica», «Transferir dinero» y «Pagar facturas».
  • El caso de uso «Iniciar sesión» tiene puntos de extensión para manejar contraseñas incorrectas y tiempos de espera de sesión.

Plantillas de casos de uso

Las plantillas de casos de uso proporcionan documentación detallada de cada caso de uso, incluyendo su descripción, actores, condiciones previas, condiciones posteriores y flujo de eventos.

Ejemplo: Plantilla de caso de uso para «Iniciar sesión»

  • Nombre del caso de uso: Iniciar sesión
  • Actores: Usuario
  • Condiciones previas: El usuario está frente al cajero automático.
  • Condiciones posteriores: El usuario ha iniciado sesión, o se muestra un mensaje de error.
  • Flujo de eventos:
    1. El usuario introduce la tarjeta del cajero automático.
    2. El sistema solicita la contraseña.
    3. El usuario ingresa la contraseña.
    4. El sistema valida la contraseña.
    5. Si la contraseña es correcta, el sistema inicia la sesión del usuario.
    6. Si la contraseña es incorrecta, el sistema maneja la contraseña inválida (extender).
    7. Si la sesión expira, el sistema maneja el tiempo de espera de sesión (extender).

Puntos de extensión:

  • Contraseña inválida:
    • Condición: La contraseña ingresada es incorrecta.
    • Flujo:
      1. El sistema muestra un mensaje de error.
      2. El sistema solicita nuevamente la contraseña.
  • Tiempo de espera de sesión:
    • Condición: El usuario está inactivo durante un período determinado.
    • Flujo:
      1. El sistema cierra la sesión del usuario.
      2. El sistema muestra un mensaje de tiempo de espera.

Diagramas de secuencia

Los diagramas de secuencia modelan el comportamiento dinámico de un sistema mostrando cómo los objetos interactúan con el tiempo. Se centran en el orden de los mensajes intercambiados entre objetos.

Ejemplo: Diagrama de secuencia para «Iniciar sesión»

El diagrama de secuencia para el caso de uso «Iniciar sesión» se muestra a continuación:

Objetos:

  • Usuario
  • ATM
  • Sistema bancario

Mensajes:

  1. El usuario inserta la tarjeta del ATM.
  2. El ATM envía una solicitud al sistema bancario para validar la tarjeta.
  3. El sistema bancario valida la tarjeta y envía una respuesta al ATM.
  4. El ATM solicita una contraseña.
  5. El usuario ingresa la contraseña.
  6. El cajero automático envía una solicitud al sistema bancario para validar la contraseña.
  7. El sistema bancario valida la contraseña y envía una respuesta al cajero automático.
  8. Si la contraseña es correcta, el cajero automático inicia la sesión del usuario.
  9. Si la contraseña es incorrecta, el cajero automático maneja la contraseña inválida (extender).
  10. Si la sesión expira, el cajero automático maneja el tiempo de espera de la sesión (extender).

Relaciones entre diagramas

Casos de uso base y incluir

El caso de uso «Iniciar sesión» es un caso de uso base que incluye otros casos de uso como «Retirar efectivo», «Consultar saldo», «Donar dinero a una organización benéfica», «Transferir dinero» y «Pagar facturas». Esto significa que el usuario debe iniciar sesión antes de realizar cualquiera de estas acciones. La relación de inclusión se representa mediante una flecha punteada que apunta desde el caso de uso base hacia los casos de uso incluidos.

Extender

El caso de uso «Iniciar sesión» tiene puntos de extensión para manejar contraseñas inválidas y tiempos de espera de sesión. La relación de extensión se representa mediante una flecha punteada que apunta desde el caso de uso extendido hacia el caso de uso base. Los casos de uso extendidos añaden comportamiento opcional al caso de uso base bajo ciertas condiciones.

Plantillas de casos de uso y diagramas de secuencia

Las plantillas de casos de uso proporcionan una descripción detallada del caso de uso, incluyendo el flujo de eventos. Los diagramas de secuencia visualizan el comportamiento dinámico del caso de uso mostrando las interacciones entre objetos a lo largo del tiempo. El flujo de eventos en la plantilla de caso de uso corresponde a la secuencia de mensajes en el diagrama de secuencia.

Conclusión

Los diagramas de casos de uso son esenciales para capturar los requisitos funcionales de un sistema desde la perspectiva del usuario. Al comprender los conceptos clave de actores, casos de uso y relaciones, y al integrar los diagramas de casos de uso con plantillas de casos de uso y diagramas de secuencia, puedes modelar de forma efectiva el comportamiento de un sistema. El ejemplo del sistema de cajeros automáticos ilustra cómo los casos de uso base, los casos de uso extendidos y los casos de uso incluidos se relacionan con las plantillas de casos de uso y los diagramas de secuencia, proporcionando una visión completa de los requisitos y el comportamiento del sistema.

Referencias

  1. Diagrama de secuencia – Visual Paradigm

    • Este artículo explica que un diagrama de secuencia es un diagrama de interacción que enfatiza el orden temporal de los mensajes. Detalla cómo los diagramas de secuencia representan los objetos y clases involucrados en un escenario y la secuencia de mensajes intercambiados entre ellos.
    • Diagrama de secuencia – Visual Paradigm 11
  2. ¿Qué es un diagrama de secuencia?

    • Esta guía proporciona una visión general de los diagramas de secuencia, explicando que son diagramas de interacción que detallan cómo se llevan a cabo las operaciones, incluyendo qué mensajes se envían y cuándo. También discute cómo los diagramas de secuencia se organizan según el tiempo.
    • ¿Qué es un diagrama de secuencia? 12
  3. ¿Cómo dibujar un diagrama de secuencia?

    • Esta guía paso a paso muestra cómo crear un diagrama de secuencia UML utilizando Visual Paradigm. Incluye instrucciones sobre cómo usar el editor para construir diagramas de secuencia con líneas de vida y mensajes.
    • ¿Cómo dibujar un diagrama de secuencia? 13
  4. ¿Cómo dibujar un diagrama de secuencia UML?

    • Esta tutorial proporciona una guía detallada para dibujar un diagrama de secuencia UML, comenzando desde un diagrama de clase simple y modelando las invocaciones dinámicas de métodos relacionadas con una clase controladora.
    • Cómo dibujar un diagrama de secuencia UML? 14
  5. Tutorial de diagrama de secuencia – Visual Paradigm

    • Este tutorial explica qué es un diagrama de secuencia y proporciona instrucciones paso a paso sobre cómo dibujarlo. También anima a los usuarios a crear sus propios diagramas de secuencia utilizando Visual Paradigm Online.
    • Tutorial de diagrama de secuencia – Visual Paradigm 15
  6. Diagrama de secuencia en Visual Paradigm

    • Este capítulo se centra en los diagramas de secuencia en Visual Paradigm, explicando cómo dibujarlos y su uso principal para mostrar las interacciones entre objetos en un orden secuencial.
    • Diagrama de secuencia en Visual Paradigm 16
  7. Diagrama de secuencia – Diagramas UML – Visual Paradigm

  8. Ejemplo de diagrama de secuencia – Círculo de comunidad de Visual Paradigm

  9. Uso de referencias – Círculo de comunidad de Visual Paradigm

Dejar una contestacion