Introducción
Este estudio de caso se centra en el modelado de casos de uso de un sistema de cajero automático para un banco. El sistema de cajero automático está diseñado para proporcionar a los clientes una forma cómoda de acceder a sus cuentas y realizar diversas transacciones bancarias, como retirar efectivo, depositar efectivo, transferir fondos, consultar el saldo de su cuenta y cambiar su PIN. El estudio de caso discute la descripción del problema y los requisitos del sistema, así como los diagramas de casos de uso, actores y escenarios que se crearon para modelar la funcionalidad del sistema. El estudio de caso también explora cómo otros tipos de diagramas UML, como los diagramas de actividad y diagramas de secuencia, pueden utilizarse junto condiagramas de casos de usopara ofrecer una visión más detallada del comportamiento y las interacciones del sistema. Al final del estudio de caso, los lectores tendrán una comprensión clara del proceso de modelado de casos de uso y cómo puede aplicarse a sistemas del mundo real, como un sistema de cajero automático.

Guías y consejos para desarrollar casos de uso efectivos y escribir escenarios de casos de uso adecuados
A continuación se presentan algunas guías, consejos y trucos para desarrollar casos de uso y escribir escenarios de casos de uso adecuados:
- Identifique a los actores:Comience identificando a los actores que interactuarán con el sistema. Esto podría incluir usuarios, administradores y cualquier otro interesado que utilice el sistema.
- Defina el alcance del sistema:Defina claramente el alcance del sistema y lo que se pretende lograr. Esto ayudará a garantizar que los escenarios de casos de uso capturen todos los requisitos necesarios.
- Utilice un enfoque estructurado:Utilice un enfoque estructurado para desarrollar los escenarios de casos de uso. Esto podría incluir el uso de plantillas o guías para asegurar que cada escenario siga una estructura consistente.
- Escriba escenarios claros y concisos:Escriba escenarios de casos de uso que sean claros, concisos y fáciles de entender. Utilice un lenguaje sencillo y evite el jergón técnico o abreviaturas que puedan no ser familiares para todos los interesados.
- Utilice un lenguaje orientado a acciones:Escriba escenarios de casos de uso utilizando un lenguaje orientado a acciones que describa lo que está haciendo el usuario o el sistema. Esto puede ayudar a garantizar que los escenarios sean fáciles de entender y seguir.
- Enfóquese en los objetivos y necesidades del usuario:Enfóquese en los objetivos y necesidades del usuario al desarrollar los escenarios de casos de uso. Esto ayudará a garantizar que los escenarios capturen la perspectiva del usuario y estén alineados con sus necesidades.
- Identifique las condiciones previas y posteriores:Identifique claramente cualquier condición previa y condición posterior que deba cumplirse para que el escenario tenga éxito. Esto ayudará a garantizar que el escenario esté completo y preciso.
- Incluya escenarios de excepción:Identifique cualquier escenario de excepción que pueda ocurrir y inclúyalo en los escenarios de casos de uso. Esto ayudará a garantizar que el sistema pueda manejar situaciones inesperadas y errores.
- Obtenga retroalimentación y revise:Obtenga retroalimentación de los interesados y revise periódicamente los escenarios de casos de uso para asegurarse de que permanezcan precisos y actualizados con las últimas especificaciones y requisitos del sistema.
Siguiendo estas guías, consejos y trucos, los desarrolladores pueden crear escenarios de casos de uso que capturen con precisión la funcionalidad del sistema y satisfagan las necesidades de todos los interesados.
Descripción del problema del estudio de caso – Cajero automático
Un banco necesita proporcionar a sus clientes una forma cómoda de acceder a sus cuentas y realizar diversas transacciones bancarias, como retirar efectivo, depositar efectivo, transferir fondos, consultar el saldo de su cuenta y cambiar su PIN. Para abordar este problema, el banco planea implementar un sistema de cajero automático que permita a los clientes realizar estas transacciones utilizando sus tarjetas de cajero automático y un PIN.
Requisitos:
- Seguridad: El sistema de cajero automático debe garantizar la seguridad de las transacciones del cliente verificando la identidad del cliente utilizando su tarjeta de cajero automático y su PIN. El sistema debe impedir el acceso no autorizado a las cuentas de los clientes y debe estar protegido contra diversas formas de fraude y ataques, como el skimming y el hacking.
- Disponibilidad: El sistema de cajero automático debe estar disponible para los clientes en todo momento, sujeto a mantenimiento periódico y tiempos de inactividad. El sistema debe ser confiable y resistente a fallos de hardware y software para minimizar las interrupciones del servicio y garantizar un alto nivel de satisfacción del cliente.
- Usabilidad: El sistema de cajero automático debe ser fácil de usar y navegar para clientes de todas las edades y orígenes. El sistema debe proporcionar instrucciones claras y retroalimentación para guiar a los clientes durante el proceso de transacción y minimizar errores y confusión.
- Procesamiento de transacciones: El sistema de cajero automático debe procesar las transacciones del cliente con precisión y eficiencia, incluyendo retirar y depositar efectivo, transferir fondos, consultar saldos de cuenta y cambiar PINs. El sistema debe mantener registros precisos de todas las transacciones y proporcionar a los clientes recibos y otros documentos según sea necesario.
- Integración: El sistema de cajero automático debe integrarse con la infraestructura de TI existente del banco, incluyendo su sistema bancario principal, red y bases de datos. El sistema debe comunicarse de forma segura y confiable con otros sistemas y componentes para garantizar el procesamiento preciso y oportuno de transacciones e información de cuentas.
Modelado de casos de uso y desarrollo de escenarios de casos de uso
Partiendo de la descripción del problema de un sistema de cajero automático, el siguiente paso consiste en identificar los diversos casos de uso necesarios para satisfacer las necesidades de los usuarios del sistema. Esto implica analizar los requisitos del sistema y definir las acciones específicas que los usuarios pueden realizar al interactuar con el sistema. Cada caso de uso tendrá su propio conjunto de escenarios que describen cómo el sistema y el usuario interactuarán en situaciones específicas. Estos escenarios deben desarrollarse de manera estructurada, utilizando un lenguaje claro y conciso para garantizar que sean fácilmente comprensibles por todos los interesados en el proyecto.
El proceso de identificación de casos de uso y desarrollo de escenarios de casos de uso es un paso crítico en el ciclo de vida del desarrollo de software. Permite al equipo de desarrollo comprender plenamente los requisitos del sistema y diseñar una solución que satisfaga las necesidades de sus usuarios. A medida que avanza el proceso de desarrollo, puede ser necesario refinar los casos de uso y escenarios para reflejar cambios en los requisitos o incorporar comentarios de los interesados. Este proceso iterativo ayuda a garantizar que el sistema final satisfaga las necesidades de todos los interesados y sea capaz de manejar una amplia variedad de escenarios y casos de uso.
- Diagrama de casos de uso:
El diagrama de casos de uso para un sistema de cajero automático podría incluir los siguientes actores:
- Cliente
- Banco
Y los siguientes casos de uso:
- Retirar efectivo
- Depositar efectivo
- Consultar saldo
- Transferir fondos
- Cambiar PIN
El diagrama mostraría las relaciones entre los actores y los casos de uso, indicando qué casos de uso son accesibles por qué actores.
- Escenarios de casos de uso:
a) Retirar efectivo:
- El cliente inserta su tarjeta de cajero automático en la máquina.
- El sistema solicita al cliente que ingrese su PIN.
- El cliente ingresa su PIN.
- El sistema verifica el PIN.
- El cliente selecciona la opción «Retirar efectivo».
- El sistema solicita al cliente que ingrese la cantidad de efectivo que desea retirar.
- El cliente ingresa la cantidad de efectivo.
- El sistema entrega el efectivo.
- El cliente retira su tarjeta ATM y toma el efectivo.
b) Depositar efectivo:
- El cliente inserta su tarjeta ATM en la máquina.
- El sistema solicita al cliente que ingrese su PIN.
- El cliente ingresa su PIN.
- El sistema verifica el PIN.
- El cliente selecciona la opción «Depositar efectivo».
- El sistema solicita al cliente que ingrese la cantidad de efectivo que desea depositar.
- El cliente ingresa la cantidad de efectivo.
- El sistema verifica la cantidad y se la muestra al cliente.
- El cliente confirma la cantidad.
- El sistema acepta el efectivo y carga la cuenta del cliente.
c) Consultar saldo:
- El cliente inserta su tarjeta ATM en la máquina.
- El sistema solicita al cliente que ingrese su PIN.
- El cliente ingresa su PIN.
- El sistema verifica el PIN.
- El sistema muestra el saldo de la cuenta del cliente.
d) Transferir fondos:
- El cliente inserta su tarjeta ATM en la máquina.
- El sistema solicita al cliente que ingrese su PIN.
- El cliente ingresa su PIN.
- El sistema verifica el PIN.
- El cliente selecciona la opción «Transferir fondos».
- El sistema solicita al cliente que introduzca el número de cuenta al que desea transferir fondos.
- El cliente introduce el número de cuenta.
- El sistema solicita al cliente que introduzca la cantidad de fondos que desea transferir.
- El cliente introduce la cantidad de fondos.
- El sistema verifica la cantidad y se la muestra al cliente.
- El cliente confirma la cantidad.
- El sistema transfiere los fondos y muestra un mensaje de confirmación al cliente.
e) Cambiar PIN:
- El cliente introduce su tarjeta de cajero automático en la máquina.
- El sistema solicita al cliente que introduzca su PIN actual.
- El cliente introduce su PIN actual.
- El sistema verifica el PIN actual.
- El sistema solicita al cliente que introduzca su nuevo PIN.
- El cliente introduce su nuevo PIN.
- El sistema solicita al cliente que confirme su nuevo PIN.
- El cliente confirma su nuevo PIN.
- El sistema actualiza el PIN del cliente y muestra un mensaje de confirmación.
Perfeccionamiento del escenario de caso de uso – Retirar efectivo
Perfeccionar un escenario de caso de uso a medida que avanza el proceso de desarrollo es importante por varias razones:
- Para asegurarse de que el escenario sea preciso y refleje el estado actual del sistema:A medida que avanza el proceso de desarrollo, el sistema puede cambiar y pueden surgir nuevas necesidades. Perfeccionar el escenario de caso de uso ayuda a garantizar que permanezca preciso y actualizado con las últimas especificaciones del sistema.
- Para identificar cualquier necesidad faltante o incompleta:A medida que evoluciona el sistema, puede resultar evidente que se necesitan requisitos adicionales para capturar completamente la funcionalidad del sistema. Perfeccionar el escenario de caso de uso ayuda a identificar cualquier requisito faltante o incompleto.
- Para mejorar la usabilidad y la experiencia del usuario:Perfeccionar el escenario de caso de uso puede ayudar a mejorar la usabilidad y la experiencia del usuario del sistema. Al perfeccionar el escenario, los desarrolladores pueden comprender mejor las necesidades del usuario y tomar decisiones de diseño que respondan mejor a esas necesidades.
El proceso de perfeccionamiento de un escenario de caso de uso puede incluir varios pasos, entre ellos:
- Revisar el escenario para asegurar su precisión y completitud: Los desarrolladores deben revisar el escenario para asegurarse de que refleje con precisión el estado actual del sistema y de que se hayan capturado todos los requisitos.
- Identificar cualquier requisito faltante o incompleto: Los desarrolladores deben identificar cualquier requisito faltante o incompleto y trabajar para incorporarlos al escenario.
- Perfeccionar la interfaz de usuario: Los desarrolladores deben perfeccionar la interfaz de usuario para mejorar la usabilidad y la experiencia del usuario, teniendo en cuenta los comentarios de los usuarios y las mejores prácticas de diseño.
- Incorporar comentarios: Los desarrolladores deben incorporar los comentarios de los interesados y usuarios para perfeccionar el escenario y asegurarse de que satisfaga las necesidades de todos los usuarios.
Pasos para perfeccionar un escenario de caso de uso
Al perfeccionar continuamente el escenario de caso de uso durante todo el proceso de desarrollo, los desarrolladores pueden asegurarse de que el sistema satisfaga las necesidades y requisitos de los usuarios y sea tan usable y amigable como sea posible.
A continuación se presenta una elaboración del escenario «Retirar efectivo» para el sistema de cajero automático, incluyendo flujos normales y excepciones, y puntos de inserción para reflejar una situación real:
Escenario: Retirar efectivo
Actor principal: Cliente
Precondiciones:
- El cliente ha insertado su tarjeta de cajero automático en la máquina.
- El cliente ha introducido su PIN correcto.
Flujo básico:
- El cliente selecciona la opción «Retirar efectivo» desde el menú principal.
- El cajero automático solicita al cliente que introduzca la cantidad de efectivo que desea retirar.
- El cliente introduce la cantidad de efectivo que desea retirar.
- El cajero automático verifica que el cliente tenga fondos suficientes en su cuenta para cubrir la cantidad a retirar.
- El cajero automático entrega el efectivo solicitado al cliente.
- El cajero automático muestra un mensaje que confirma la retirada exitosa y pide al cliente que seleccione otra transacción o finalice la sesión.
- El cliente selecciona otra transacción o finaliza la sesión.
- El cajero automático expulsa la tarjeta del cliente.
Flujos de excepción:
1a. Fondos insuficientes
- El cajero automático verifica que el cliente tenga fondos insuficientes en su cuenta para cubrir la cantidad a retirar.
- El cajero automático muestra un mensaje de error informando al cliente que no tiene fondos suficientes para completar la transacción.
- El cajero automático solicita al cliente que introduzca una cantidad de retiro más pequeña o cancele la transacción.
- El cliente introduce una cantidad de retiro más pequeña o cancela la transacción.
2a. Cantidad inválida
- El cliente introduce una cantidad de retiro inválida, como un número negativo o un valor que excede su límite diario de retiro.
- El cajero automático muestra un mensaje de error informando al cliente que la cantidad introducida es inválida.
- El cajero automático solicita al cliente que introduzca una cantidad de retiro válida.
- El cliente introduce una cantidad de retiro válida.
3a. Tarjeta retenida
- El cajero automático no puede entregar el efectivo debido a un error de hardware o software.
- El cajero automático muestra un mensaje de error informando al cliente que su tarjeta ha sido retenida.
- El cajero automático solicita al cliente que contacte a su banco o servicio al cliente para obtener asistencia.
- El cliente contacta a su banco o servicio al cliente para recuperar su tarjeta.
Puntos de inserción:
- Después del paso 1: El cliente inserta su tarjeta de cajero automático en la máquina e introduce su PIN.
- Después del paso 2: El cliente introduce la cantidad de efectivo que desea retirar.
- Después del paso 3: El cajero automático verifica que el cliente tenga fondos suficientes para cubrir la cantidad de retiro.
- Después del paso 5: El cajero automático entrega el efectivo solicitado al cliente.
Resumen
Apéndice – Escenarios refinados de casos de uso – Cajero automático
Nombre del caso de uso: Retirar efectivo
Actores: Cliente, ATM
Precondiciones: El cliente debe tener una tarjeta ATM válida y un número PIN. El ATM debe funcionar correctamente y estar conectado a la red bancaria.
Flujo básico:
- El cliente inserta su tarjeta ATM en el compartimento del lector de tarjetas del ATM.
- El ATM solicita al cliente que ingrese su número PIN utilizando el teclado.
- El cliente ingresa su número PIN.
- El ATM valida el número PIN y muestra las opciones del menú principal.
- El cliente selecciona la opción «Retirar efectivo» del menú.
- El ATM solicita al cliente que ingrese la cantidad de efectivo que desea retirar utilizando el teclado.
- El cliente ingresa la cantidad de efectivo que desea retirar.
- El ATM valida que el cliente tenga fondos suficientes en su cuenta para completar la transacción.
- El ATM entrega la cantidad solicitada de efectivo al cliente.
- El ATM muestra un mensaje indicando que la transacción ha finalizado.
- El cliente retira su tarjeta ATM del compartimento del lector de tarjetas.
Flujos alternativos:
- 1a. Si el ATM no puede leer la tarjeta del cliente, muestra un mensaje de error y solicita al cliente que intente nuevamente o contacte a su banco.
- 4a. Si el cliente ingresa un número PIN incorrecto tres veces, el ATM retendrá su tarjeta y mostrará un mensaje indicando que ha sido retenida.
- 8a. Si el cliente no tiene fondos suficientes en su cuenta para completar la transacción, el ATM muestra un mensaje de error y solicita al cliente que ingrese una cantidad menor o cancele la transacción.
Nombre del caso de uso: Consultar saldo de cuenta
Actores: Cliente, ATM
Precondiciones: El cliente debe tener una tarjeta ATM válida y un número PIN. El ATM debe funcionar correctamente y estar conectado a la red bancaria.
Flujo básico:
- El cliente inserta su tarjeta ATM en el compartimento del lector de tarjetas del ATM.
- El ATM solicita al cliente que ingrese su número PIN utilizando el teclado.
- El cliente ingresa su número PIN.
- El ATM valida el número PIN y muestra las opciones del menú principal.
- El cliente selecciona la opción «Consultar saldo de cuenta» del menú.
- El ATM muestra el saldo actual de la cuenta del cliente en la pantalla.
- El cliente retira su tarjeta ATM del compartimento del lector de tarjetas.
Flujos alternativos:
- 1a. Si el ATM no puede leer la tarjeta ATM del cliente, el ATM muestra un mensaje de error y pide al cliente que intente nuevamente o contacte con su banco.
- 4a. Si el cliente ingresa un número PIN incorrecto tres veces, el ATM retendrá su tarjeta y mostrará un mensaje indicando que ha sido retenida.
Nombre del caso de uso:Depositar efectivo
Actores:Cliente, ATM
Precondiciones:El cliente debe tener una tarjeta ATM válida y un número PIN. El ATM debe funcionar correctamente y estar conectado a la red bancaria.
Flujo básico:
- El cliente inserta su tarjeta ATM en el compartimento del lector de tarjetas del ATM.
- El ATM pide al cliente que ingrese su número PIN utilizando el teclado.
- El cliente ingresa su número PIN.
- El ATM valida el número PIN y muestra las opciones del menú principal.
- El cliente selecciona la opción «Depositar efectivo» del menú.
- El ATM pide al cliente que inserte el efectivo que desea depositar en el compartimento de depósito de efectivo del ATM.
- El cliente inserta el efectivo en el compartimento de depósito.
- El ATM valida el efectivo y muestra un mensaje que indica la cantidad de efectivo depositada.
- El cliente retira su tarjeta ATM del compartimento del lector de tarjetas.
Referencias: Técnicas de modelado de casos de uso
- ¿Qué es la especificación de caso de uso?
- Un tutorial práctico sobre análisis de robustez
- Identificar los requisitos del usuario con diagramas de casos de uso
- Historia de usuario frente a caso de uso para el desarrollo de software ágil
- Enfoque centrado en casos de uso para el desarrollo ágil
- Tipos de actor en el modelo de caso de uso
- ¿Qué es un diagrama de caso de uso?
- ¿Qué es UML?
- ¿Por qué modelado con UML?











