¿Qué es el modelado de casos de uso?
Esta es una técnica utilizada en el desarrollo de software y la ingeniería de sistemas para describir los requisitos funcionales de un sistema. Se centra en comprender y documentar cómo debe funcionar un sistema desde la perspectiva de los usuarios finales. En esencia, ayuda a responder la pregunta: ¿Qué debería hacer el sistema para satisfacer las necesidades y objetivos de sus usuarios?

Conceptos clave del modelado de casos de uso
Requisitos funcionales: Los requisitos funcionales son las características, acciones y comportamientos que un sistema debe tener para cumplir con su propósito previsto. El modelado de casos de uso se centra principalmente en definir y capturar estos requisitos de manera estructurada.
Perspectiva del usuario final: El modelado de casos de uso comienza por observar el sistema desde la perspectiva de las personas o entidades (denominadas “actores”) que interactuarán con él. Es fundamental comprender cómo estos actores utilizarán el sistema para alcanzar sus objetivos o realizar sus tareas.
Interacciones: El modelado de casos de uso enfatiza la captura de las interacciones entre estos usuarios finales (actores) y el sistema. No se trata solo de lo que hace el sistema en aislamiento; se trata de cómo responde a las acciones o solicitudes del usuario.
Los fundamentos de los casos de uso:
- Un caso de uso es una descripción de cómo un sistema interactúa con una o más entidades externas, llamadas actores, para alcanzar un objetivo específico.
- Un caso de uso puede escribirse en forma textual o gráfica, dependiendo del nivel de detalle y complejidad requerido.
- Un caso de uso debe capturar los aspectos esenciales y relevantes de la interacción, como las precondiciones, postcondiciones, flujo principal, flujos alternativos y excepciones.
¿Qué es un diagrama de casos de uso?
Un diagrama de casos de uso es una representación gráfica utilizada en el modelado de casos de uso para visualizar y comunicar estas interacciones y relaciones. En un diagrama de casos de uso, normalmente se ven actores representados como figuras de palo, y los casos de uso (funcionalidades o características específicas) como óvalos o rectángulos. Líneas y flechas conectan a los actores con los casos de uso, mostrando cómo interactúan.
-
- Actores: Estas son las entidades o usuarios fuera del sistema que interactúan con él. Pueden ser personas, otros sistemas o incluso dispositivos de hardware externos. Cada actor tiene roles o responsabilidades específicas dentro del sistema.
- Casos de uso: Los casos de uso representan funcionalidades o procesos específicos que el sistema puede realizar para satisfacer las necesidades de los actores. Cada caso de uso suele tener un nombre y una descripción, lo que ayuda a comprender lo que logra.
- Relaciones: Las líneas y flechas que conectan actores y casos de uso en el diagrama muestran cómo los actores interactúan con el sistema a través de estos casos de uso. Se pueden utilizar diferentes tipos de relaciones, como relaciones de asociación, extensión y inclusión, para especificar la naturaleza de estas interacciones.
¿Cómo realizar el modelado de casos de uso?
- Para comprender un caso de uso, es necesario identificar los actores y los casos de uso involucrados en el sistema.
Un actor es una entidad externa que tiene un papel en la interacción con el sistema. Un actor puede ser una persona, otro sistema o un evento temporal. - Un caso de uso es un conjunto de escenarios que describen cómo el sistema y el actor colaboran para alcanzar un objetivo común1. Un escenario es una secuencia de pasos que describen lo que sucede en una situación específica1.
Actores en el modelado de casos de uso: - Los actores se representan mediante figuras de palo en un diagrama de casos de uso.
Los actores pueden tener relaciones de generalización, que indican que un actor hereda las características y comportamientos de otro actor. Por ejemplo, un actor Estudiante puede ser una generalización de un actor Estudiante de pregrado y un actor Estudiante de posgrado. - Los actores también pueden tener relaciones de asociación, que indican que un actor está involucrado en un caso de uso. Por ejemplo, un actor Instructor puede estar asociado con un caso de uso de asignación de calificaciones.
Relaciones entre actores y casos de uso:

- Los casos de uso pueden tenerincluirrelaciones, que indican que un caso de uso incorpora el comportamiento de otro caso de uso como parte de su ejecución normal. Por ejemplo, un caso de uso de inicio de sesión puede ser incluido por muchos otros casos de uso que requieren autenticación.
- Una relación de inclusión es una dependencia entre dos casos de uso, donde un caso de uso (el base) incorpora el comportamiento de otro caso de uso (la inclusión) como parte de su ejecución normal.
- Una relación de inclusión se representa mediante una flecha punteada con el estereotipo «incluir» desde el caso base hasta el caso de inclusión.
- Una relación de inclusión puede usarse para reutilizar funcionalidades comunes, simplificar casos de uso complejos o abstraer detalles de bajo nivel
- Los casos de uso también pueden tenerextenderrelaciones, que indican que un caso de uso añade comportamiento opcional o excepcional a otro caso de uso bajo ciertas condiciones. Por ejemplo, un caso de uso de cancelar reserva puede extender un caso de uso de hacer reserva si el usuario decide cancelar su reserva.
- Una relación de extensión es una dependencia entre dos casos de uso, donde un caso de uso (la extensión) añade cierto comportamiento opcional o excepcional a otro caso de uso (el base) bajo ciertas condiciones.
- Una relación de extensión se representa mediante una flecha punteada con el estereotipo «extender» desde la extensión hasta el base.
- Una relación de extensión puede tener un punto de extensión, que es una ubicación en el caso de uso base donde se puede insertar la extensión.
- Un punto de extensión puede etiquetarse con un nombre y una condición
Creación de casos de uso efectivos:
- Identificación de los límites del sistema:
- Un límite del sistema es un cuadro que encierra los casos de uso y muestra el alcance del sistema.
- Un límite del sistema ayuda a distinguir lo que está dentro del sistema (los casos de uso) y lo que está fuera del sistema (los actores).
- Un límite del sistema debe etiquetarse claramente con el nombre del sistema y su versión1.
- Definición de objetivos y escenarios de casos de uso:
- Un objetivo de caso de uso es una declaración que resume lo que el caso de uso logra para el actor.
- Un objetivo de caso de uso debe ser específico, medible, alcanzable, relevante y comprobable.
- Un escenario de caso de uso es una secuencia de pasos que describe cómo el actor y el sistema interactúan para alcanzar el objetivo.
- Un escenario de caso de uso debe ser completo, consistente, realista y trazable.
- Redacción de descripciones de casos de uso claras y concisas:
- Una descripción de caso de uso es un documento textual que proporciona más detalles sobre el caso de uso, como las precondiciones, postcondiciones, flujo principal, flujos alternativos y excepciones.
- Una descripción de caso de uso debe ser clara y concisa, utilizando un lenguaje sencillo y preciso, evitando jerga y ambigüedades, y siguiendo un formato consistente.
- Una descripción de caso de uso también debe ser coherente y completa, cubriendo todos los escenarios posibles, resultados y variaciones, y abordando todos los requisitos relevantes.
- Plantillas de casos de uso y documentación:
- Una plantilla de caso de uso es un formato estandarizado que ayuda a organizar y presentar la información del caso de uso de manera consistente y estructurada.
- Una plantilla de caso de uso puede incluir varias secciones, como el nombre del caso de uso, ID, objetivo, actores, prioridad, supuestos, condiciones previas, condiciones posteriores, flujo principal, flujos alternativos, excepciones, etc.
- Una documentación de casos de uso es una colección de casos de uso que describe la funcionalidad del sistema desde diferentes perspectivas.
- Una documentación de casos de uso puede utilizarse para diversos fines, como comunicación, validación, verificación, pruebas, mantenimiento, etc.
Mejores prácticas para el modelado de casos de uso:
- Algunas mejores prácticas para el modelado de casos de uso son:
- Identifique los partes interesadas clave y sus objetivos, e involúcrelos en el proceso de desarrollo de casos de uso
- Utilice un enfoque descendente para identificar y priorizar los casos de uso más importantes
- Utilice un convención de nombres que sea consistente, significativa y descriptiva para los casos de uso y los actores
- Utilice diagramas y descripciones textuales para complementarse entre sí y proporcionar diferentes niveles de detalle
- Utilice relaciones como extender, incluir y generalización para mostrar dependencias y similitudes entre casos de uso
- Revisar y validar los casos de uso con las partes interesadas y asegúrese de que estén alineados con los requisitos del sistema
Modelado de casos de uso utilizando plantilla de casos de uso
Descripción del problema: Sistema de biblioteca universitaria
El Sistema de Bibliotecas de la Universidad enfrenta una serie de desafíos operativos que afectan su eficiencia y la calidad del servicio que ofrece a estudiantes, personal académico y personal administrativo. Estos desafíos incluyen:
- Procesos manuales de préstamo y devolución: La biblioteca depende de procesos basados en papel para el préstamo de libros, su devolución y el seguimiento de fechas de vencimiento. Este enfoque manual es propenso a errores, lo que genera discrepancias en el registro de datos y disputas ocasionales entre el personal de la biblioteca y los usuarios.
- Gestión de inventario: El sistema actual para gestionar la amplia colección de libros y materiales de la biblioteca está desactualizado. La falta de un sistema eficiente de gestión de inventario dificulta la localización de artículos específicos, lo que genera frustración entre los usuarios de la biblioteca y retrasos innecesarios.
- Seguimiento de multas por retraso: El seguimiento y la recolección de multas por libros vencidos son tareas desafiantes. El personal de la biblioteca carece de un sistema automatizado para monitorear fechas de vencimiento y calcular multas con precisión. Esto resulta en pérdidas de ingresos y molestias para los usuarios.
- Gestión de cuentas de usuarios: Las cuentas de usuarios, incluyendo la emisión y gestión de tarjetas de biblioteca, dependen de procesos manuales. Esto provoca retrasos en la provisión de acceso a los recursos de la biblioteca para nuevos estudiantes y dificultades para actualizar la información de los miembros existentes.
- Accesibilidad limitada: El sistema actual de la biblioteca carece de acceso en línea para que los usuarios busquen libros, reserven ejemplares o renoven préstamos de forma remota. Esta limitación obstaculiza la comodidad y accesibilidad que los estudiantes y profesores modernos esperan.
- Asignación ineficiente de recursos: El personal de la biblioteca a menudo enfrenta desafíos para optimizar la asignación de recursos, como libros, revistas y espacios de estudio. La falta de datos y análisis en tiempo real dificulta la toma de decisiones informadas sobre la distribución de recursos.
- Brechas de comunicación: Existe una brecha de comunicación entre el personal de la biblioteca y los usuarios. Los usuarios a menudo no están al tanto de las políticas de la biblioteca, nuevos ingresos o cambios en los horarios de operación, lo que genera malentendidos y frustración.
- Preocupaciones de seguridad: El sistema de la biblioteca carece de medidas de seguridad adecuadas para proteger los datos de los usuarios y prevenir el robo o el acceso no autorizado a los recursos de la biblioteca.
Estos desafíos contribuyen colectivamente a una experiencia subóptima en la biblioteca tanto para el personal como para los usuarios. Abordar estas cuestiones y modernizar el Sistema de Bibliotecas de la Universidad es esencial para ofrecer servicios eficientes, mejorar la satisfacción del usuario y potenciar la experiencia académica general dentro de la comunidad universitaria.
A continuación se presenta una lista de casos de uso candidatos para el Sistema de Bibliotecas de la Universidad basados en la descripción del problema proporcionada:
- Registro de usuarios y gestión de cuentas:
- Crear cuenta de usuario
- Actualizar información del usuario
- Eliminar cuenta de usuario
- Emisión de tarjetas de biblioteca
- Gestión de libros:
- Agregar nuevos libros al inventario
- Actualizar información del libro
- Eliminar libros del inventario
- Buscar libros
- Verificar la disponibilidad de libros
- Reservar libros
- Renovar libros prestados
- Procesar devoluciones de libros
- Gestión de inventario:
- Catalogar y clasificar libros
- Gestionar copias de libros
- Rastrear la ubicación del libro
- Reconciliación de inventario
- Gestión de multas por retraso:
- Calcular multas por retraso
- Notificar a los usuarios sobre libros vencidos
- Aceptar pagos de multas por retraso
- Acceso y búsqueda en línea:
- Buscar libros en línea
- Colocar reservas en libros
- Solicitar entrega de libros
- Renovar libros en línea
- Asignación y reserva de recursos:
- Reservar espacios de estudio
- Asignar materiales de estudio (por ejemplo, libros de reserva)
- Gestionar reservas de espacios de estudio
- Comunicación:
- Notificar a los usuarios de las políticas de la biblioteca
- Anunciar nuevas llegadas
- Proporcionar información sobre los horarios de operación
- Seguridad:
- Autenticación y autorización de usuarios
- Seguridad y privacidad de los datos
- Informes y análisis:
- Generar informes de uso
- Analizar las tendencias de préstamo
- Predecir la demanda de materiales específicos
- Servicios de préstamo entre bibliotecas:
- Solicitar materiales de otras bibliotecas
- Gestionar las solicitudes de préstamo entre bibliotecas
- Gestión del personal de la biblioteca:
- Autenticación y autorización del personal
- Capacitación y incorporación
- Programación del personal
- Servicios de accesibilidad:
- Proporcionar servicios para usuarios con necesidades especiales (por ejemplo, materiales en braille)
- Soporte para tecnologías asistivas
- Reserva y préstamo de recursos:
- Reservar equipo de audio y video
- Sacar en préstamo equipo
- Recomendaciones de recursos de la biblioteca:
- Sugerir libros y recursos según las preferencias del usuario
- Extensión de la biblioteca y talleres:
- Organizar y promover talleres y eventos de la biblioteca
Estos casos de uso candidatos cubren una amplia gama de funcionalidades que abordan los problemas identificados en la descripción del problema. Sirven como base para un análisis, diseño y desarrollo posteriores del Sistema de Biblioteca Universitaria, con el fin de mejorar su eficiencia y satisfacción del usuario. Los casos de uso específicos que se priorizarán y implementarán dependerán de los requisitos del sistema y de las necesidades de los interesados.
Plantilla de caso de uso:
Aquí tiene la plantilla de caso de uso y un ejemplo para pedir prestado un libro de una biblioteca universitaria en formato de tabla:
| Nombre del caso de uso | Pedir prestado un libro |
|---|---|
| ID del caso de uso | UC001 |
| Actor principal | Estudiante |
| Actores secundarios | Bibliotecario, Sistema de inventario de libros |
| Precondiciones | – El estudiante tiene una tarjeta de biblioteca válida. |
| – El libro está disponible en el inventario de la biblioteca. | |
| Postcondiciones | – El libro se marca como prestado en el sistema. |
| – El estudiante tiene el libro en su posesión. | |
| Flujo principal | 1. Descripción: El estudiante desea pedir prestado un |
| libro de la biblioteca universitaria. | |
| 2. Acciones del actor: | |
| – El estudiante presenta su tarjeta de biblioteca al | |
| bibliotecario. | |
| – El bibliotecario escanea la tarjeta de biblioteca para | |
| verificar su validez. | |
| – El estudiante proporciona el título o el ISBN del | |
| libro que desea tomar prestado. | |
| – El bibliotecario busca en el catálogo de la biblioteca | |
| el libro. | |
| – El bibliotecario confirma la disponibilidad del libro. | |
| – El bibliotecario entrega el libro al | |
| estudiante. | |
| – El estudiante toma el libro y abandona la | |
| biblioteca. | |
| 3. Acciones del sistema: | |
| – El sistema valida la tarjeta de biblioteca. | |
| – El sistema actualiza el estado del libro a | |
| “prestado.” | |
| – El sistema registra la fecha de devolución para el préstamo del libro | |
| préstamo. | |
| – El sistema genera un comprobante para la | |
| transacción. | |
| 4. Flujos alternativos: | |
| – Si la tarjeta de biblioteca del estudiante es inválida, el | |
| bibliotecario informa al estudiante, y el caso de uso termina. | |
| – Si el libro solicitado no está disponible, el | |
| bibliotecario informa al estudiante, y el caso de uso termina. | |
| Extensiones | – Si el estudiante tiene libros vencidos, una notificación |
| se envía al estudiante. | |
| – Si el estudiante desea renovar el libro, puede | |
| solicitar una renovación a través del sitio web de la biblioteca. | |
| Requisitos especiales | – El sistema debe tener una base de datos segura de |
| titulares de tarjetas de biblioteca. | |
| – Las fechas de vencimiento y las multas por retraso deben ser calculadas y | |
| aplicadas por el sistema. |
Ejemplo de caso de uso: Prestar un libro de la biblioteca universitaria
| Nombre del caso de uso | Prestar un libro |
|---|---|
| ID del caso de uso | UC001 |
| Actor principal | Estudiante |
| Actores secundarios | Bibliotecario, Sistema de inventario de libros |
| Precondiciones | – El estudiante tiene una tarjeta de biblioteca válida. |
| – El libro está disponible en el inventario de la biblioteca. | |
| Postcondiciones | – El libro se marca como prestado en el sistema. |
| – El estudiante tiene el libro en su posesión. | |
| Flujo principal | 1. Descripción: El estudiante desea prestar un |
| libro de la biblioteca universitaria. | |
| 2. Acciones del actor: | |
| – El estudiante presenta su tarjeta de biblioteca al | |
| el bibliotecario. | |
| – El bibliotecario escanea la tarjeta de biblioteca para | |
| verificar su validez. | |
| – El estudiante proporciona el título o el ISBN del | |
| libro que desea tomar prestado. | |
| – El bibliotecario busca en el catálogo de la biblioteca | |
| el libro. | |
| – El bibliotecario confirma la disponibilidad del libro. | |
| – El bibliotecario entrega el libro al | |
| estudiante. | |
| – El estudiante toma el libro y abandona la | |
| biblioteca. | |
| 3. Acciones del sistema: | |
| – El sistema valida la tarjeta de biblioteca. | |
| – El sistema actualiza el estado del libro a | |
| “prestado.” | |
| – El sistema registra la fecha de devolución para el préstamo del libro | |
| préstamo. | |
| – El sistema genera un comprobante para la | |
| transacción. | |
| 4. Flujos alternativos: | |
| – Si la tarjeta de biblioteca del estudiante es inválida, el | |
| bibliotecario informa al estudiante, y el caso de uso termina. | |
| – Si el libro solicitado no está disponible, el | |
| bibliotecario informa al estudiante, y el caso de uso termina. | |
| Extensiones | – Si el estudiante tiene libros vencidos, se envía una notificación |
| al estudiante. | |
| – Si el estudiante desea renovar el libro, puede | |
| solicitar una renovación a través del sitio web de la biblioteca. | |
| Requisitos especiales | – El sistema debe tener una base de datos segura de |
| titulares de tarjetas de biblioteca. | |
| – Las fechas de vencimiento y las multas por retraso deben ser calculadas y | |
| aplicadas por el sistema. |
Las tablas anteriores presentan la plantilla de caso de uso y el ejemplo de forma estructurada y organizada, facilitando su lectura y comprensión de los elementos clave del caso de uso.
Granularidad de los casos de uso
Definición de granularidad de casos de uso: La granularidad de los casos de uso se refiere al grado de detalle y organización dentro de las especificaciones de los casos de uso. En esencia, describe con qué nivel de finura se descompone la funcionalidad de un sistema al documentar los casos de uso. En términos más simples, se trata de cuánto o cuánto poco se descompone un caso de uso en partes o pasos más pequeños.
Importancia de la granularidad de los casos de uso:
- Mejora de la comunicación: La granularidad de los casos de uso desempeña un papel fundamental en mejorar la comunicación entre los diferentes actores involucrados en un proyecto de software, como analistas de negocios, desarrolladores, testers y usuarios finales. Cuando los casos de uso están bien definidos y adecuadamente granulados, todos pueden comprender mejor la funcionalidad y los requisitos del sistema.
- Planificación del proyecto: El nivel de granularidad en los casos de uso afecta la planificación del proyecto. Los casos de uso más pequeños y con mayor granularidad pueden facilitar la estimación del tiempo y esfuerzo necesarios para las tareas de desarrollo. Esto ayuda a los gerentes de proyecto a crear horarios de proyecto más precisos y una asignación de recursos más eficaz.
- Claridad y precisión: Alcanzar el nivel adecuado de granularidad garantiza que los casos de uso sean claros y precisos. Si los casos de uso son demasiado generales y abstractos, podrían carecer de los detalles necesarios para un desarrollo efectivo. Por el contrario, los casos de uso demasiado detallados pueden volverse difíciles de manejar y desorganizados.
Ejemplo: Ilustremos la granularidad de los casos de uso con un ejemplo relacionado con la funcionalidad de «Registro de usuario» en una aplicación de comercio electrónico:
- Alta granularidad: Un único caso de uso titulado «Registro de usuario» cubre todo el proceso de registro desde el inicio hasta el final. Incluye cada paso, como ingresar información personal, crear una contraseña, confirmar la contraseña y enviar el formulario de registro.
- Granularidad media: Los casos de uso se dividen en partes más pequeñas y más enfocadas. Por ejemplo, «Ingresar información personal», «Crear contraseña» y «Enviar registro» podrían ser casos de uso separados. Cada uno se centra en un aspecto específico del registro de usuario.
- Baja granularidad: El nivel más bajo de granularidad podría implicar descomponer acciones dentro de un solo paso. Por ejemplo, «Ingresar información personal» podría descomponerse aún más en «Ingresar nombre», «Ingresar apellido», «Ingresar dirección de correo electrónico», y así sucesivamente.
El nivel adecuado de granularidad depende de los requisitos del proyecto y de las necesidades específicas de los interesados. Encontrar el equilibrio adecuado es esencial para garantizar que los casos de uso sean comprensibles, manejables y efectivos para transmitir la funcionalidad del sistema a todas las partes involucradas.
En su libro ‘Escribir casos de uso efectivos’, Alastair Cockburn ofrece una analogía sencilla para ayudarnos a visualizar los diversos niveles de logro de objetivos. Sugerimos pensar en estos niveles utilizando la analogía del mar

Referencias:
- ¿Qué es un diagrama de casos de uso? (visual-paradigm.com)
- ¿Qué es la especificación de casos de uso?











