de_DEen_USfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

Estudio de caso: Modelado de un sistema de cajero automático bancario con un diagrama de estados UML

Diagramas de estados, o diagramas de máquinas de estado, son un componente poderoso del Lenguaje Unificado de Modelado (UML) utilizado para modelar el comportamiento dinámico de los sistemas. Ilustran cómo un objeto o sistema cambia entre estados distintos en respuesta a eventos, lo que los hace ideales para sistemas reactivos como un cajero automático bancario (ATM). Este estudio de caso explora cómo un diagrama de estados puede representar el comportamiento de un ATM, un sistema del mundo real familiar con estados claros y transiciones desencadenadas por eventos. Al examinar el ciclo de vida del ATM, destacaremos conceptos clave del diagrama de estados, incluyendo estados, transiciones, acciones, estados compuestos y transiciones sin desencadenantes. Este estudio de caso también demuestra cómo herramientas como Visual Paradigm pueden simplificar la creación de estos diagramas.

A continuación se muestra un diagrama de máquina de estados creado con el editor de modelado de diagramas de máquinas de estados de Visual Paradigm:

Visual Paradigm State Machine Diagram Example

Conceptos clave de los diagramas de estados

Los diagramas de estados capturan el comportamiento de un sistema al definir:

  • Estados: Condiciones o situaciones específicas durante el ciclo de vida del sistema (por ejemplo, “Inactivo” o “Atendiendo al cliente”).

  • Transiciones: Movimientos entre estados desencadenados por eventos (por ejemplo, inserción de tarjeta).

  • Acciones: Actividades realizadas al entrar, salir o transitar entre estados (por ejemplo, leer una tarjeta).

  • Estados compuestos: Estados que contienen subestados para el modelado jerárquico (por ejemplo, “Atendiendo al cliente” con subestados como “Autenticación del cliente”).

  • Estados inicial y final: Los puntos de inicio y posibles puntos finales del comportamiento del sistema.

  • Transiciones sin desencadenantes: Transiciones automáticas sin eventos explícitos (por ejemplo, pasar del estado de autoprueba al estado inactivo).

Estos conceptos son fundamentales para modelar sistemas cuyo comportamiento depende del estado actual y de estímulos externos, como un ATM.

Estudio de caso: Sistema de cajero automático bancario

Visión general del sistema

Un cajero automático bancario facilita transacciones del cliente como retiros en efectivo, depósitos y consultas de saldo. Su comportamiento es impulsado por eventos, con estados distintos que cambian según las acciones del usuario (por ejemplo, inserción de tarjeta, introducción de PIN) o condiciones del sistema (por ejemplo, pasar una prueba de autoprueba). Un diagrama de estados es una herramienta eficaz para modelar este comportamiento porque define claramente los estados, transiciones y acciones del ATM, asegurando una representación estructurada para el diseño, implementación y mantenimiento.

Estados y descripciones

Case Study: Bank ATM System - State Diagram

El ATM opera en los siguientes estados:

  1. Apagado

    • Descripción: La ATM está apagada y no puede interactuar con los usuarios. Este es el estado inicial antes de que se active el sistema.

    • Características clave: No se pueden realizar operaciones hasta que se encienda la ATM.

  2. Prueba automática

    • Descripción: Al encenderse, la ATM entra en este estado para realizar una prueba diagnóstica, verificando componentes como el lector de tarjetas, el teclado y la dispensadora de efectivo.

    • Resultados:

      • Aprobado: La ATM pasa al estado de “Espera”.

      • Fallido: La ATM pasa al estado de “Fuera de servicio”.

    • Características clave: Este estado garantiza que la ATM esté operativa antes de atender a los clientes.

  3. Fuera de servicio

    • Descripción: Se entra si falla la prueba automática o si ocurre un error crítico (por ejemplo, fallo en la dispensadora de efectivo). La ATM no está operativa y requiere mantenimiento.

    • Características clave: Actúa como un estado final hasta que se repare o se reinicie.

  4. Espera

    • Descripción: La ATM está encendida, operativa y esperando a que un cliente inicie una transacción insertando una tarjeta bancaria o de crédito.

    • Características clave: El estado principal de espera para la interacción del cliente.

  5. Atendiendo al cliente

    • Descripción: Un estado compuesto que se entra cuando un cliente inserta una tarjeta. Incluye todas las interacciones del cliente, desde la autenticación hasta la finalización de la transacción.

    • Acción de entrada: leerTarjeta (la ATM lee los datos de la tarjeta).

    • Acción de salida: expulsarTarjeta (la ATM libera la tarjeta).

    • Subestados:

      • Autenticación del cliente

        • La ATM solicita al cliente que ingrese un PIN y lo valida.

        • Si el PIN es incorrecto, la ATM puede permitir intentos adicionales (por ejemplo, hasta tres intentos) antes de expulsar la tarjeta.

      • Selección de transacción

        • El cliente selecciona un tipo de transacción (por ejemplo, retiro, depósito, consulta de saldo).

      • Transacción

        • La ATM procesa la transacción seleccionada (por ejemplo, dispensar efectivo, aceptar un depósito, mostrar el saldo).

        • Una vez completada, la ATM regresa al estado “Ocioso”.

Transiciones

La ATM cambia entre estados según eventos o condiciones. Las transiciones clave son:

Transición

Desde estado

Hacia estado

Disparador

Acción

Encendido

Apagado

Prueba automática

La ATM está encendida

Realizar arranque (inicializar hardware)

Prueba automática exitosa

Prueba automática

Ocioso

Ninguno (sin disparador)

Ninguno

Error en la prueba automática

Prueba automática

Fuera de servicio

La prueba falla

Ninguno

Inserción de tarjeta

Inactivo

Atendiendo al cliente

El cliente inserta la tarjeta

leerTarjeta

Autenticación exitosa

Autenticación del cliente

Seleccionando transacción

Se ingresó un PIN válido

Ninguno

Fallo en la autenticación (después de intentos)

Autenticación del cliente

Inactivo

PIN inválido (excede intentos)

expulsarTarjeta

Transacción seleccionada

Seleccionando transacción

Transacción

El cliente selecciona la transacción

Ninguno

Transacción completada

Transacción

Inactivo

La transacción finaliza

expulsarTarjeta

Cancelar

Cualquier subestado en Servir al cliente

Inactivo

El cliente cancela

expulsarTarjeta

Conceptos clave ilustrados

Este diagrama de estados demuestra varios conceptos centrales de los diagramas de estados:

  • Estados: El comportamiento de la ATM se divide en estados distintos (por ejemplo, Apagado, Inactivo, Servir al cliente), cada uno representando un estado específico.

  • Transiciones: Eventos como la inserción de tarjeta o la validación del PIN desencadenan cambios de estado, definiendo claramente el flujo del sistema.

  • Acciones: Acciones de entrada (por ejemplo, leerTarjeta) y acciones de salida (por ejemplo, expulsarTarjeta) especifican actividades durante los cambios de estado.

  • Estados compuestos: El estado «Servir al cliente» contiene subestados (Autenticación del cliente, Selección de transacción, Transacción), lo que permite un modelado jerárquico.

  • Estados inicial y final: «Apagado» es el estado inicial, mientras que «Fuera de servicio» actúa como estado final hasta que se realice el mantenimiento.

  • Transiciones sin desencadenante: La transición de «Prueba automática» a «Inactivo» ocurre automáticamente si la prueba tiene éxito, sin necesidad de un evento explícito.

¿Por qué usar un diagrama de estados para una ATM?

Los diagramas de estados son ideales para modelar una ATM porque:

  • Estados finitos: La ATM tiene un conjunto claro de estados (por ejemplo, Inactivo, Servir al cliente) que definen su comportamiento.

  • Comportamiento impulsado por eventos: Los cambios se activan mediante acciones del usuario (por ejemplo, inserción de tarjeta, introducción del PIN) o condiciones del sistema (por ejemplo, resultados de pruebas automáticas).

  • Estructura jerárquica: Los estados compuestos como «Atendiendo al cliente» permiten un modelado detallado de interacciones complejas.

  • Claridad para los interesados: El diagrama proporciona una representación visual que los desarrolladores, diseñadores y partes interesadas pueden comprender fácilmente, facilitando el diseño y mantenimiento del sistema.

Uso de Visual Paradigm para la creación de diagramas de estado

Visual Paradigm es una potente herramienta de modelado UML que simplifica la creación de diagramas de estado. Sus características incluyen:

  • Interfaz arrastrar y soltar: Agregue fácilmente estados, transiciones y acciones.

  • Herramientas de simulación: Pruebe las transiciones de estado para validar la lógica del diagrama.

  • Plantillas: Utilice plantillas predefinidas para sistemas como cajeros automáticos para acelerar el modelado.

  • Generación de código: Genere esqueletos de código (por ejemplo, Java, C++) a partir del diagrama.

  • Colaboración: Edición en tiempo real y comentarios por parte del equipo para proyectos colaborativos.

Para crear el diagrama de estado del cajero automático en Visual Paradigm:

  1. Abra Visual Paradigm y seleccioneDiagrama > Nuevo > Diagrama de máquina de estados.

  2. Agregue estados (por ejemplo, Apagado, Prueba automática, Inactivo) utilizando la herramienta de arrastrar y soltar.

  3. Dibuje transiciones con desencadenantes adecuados (por ejemplo, «Encender», «Inserción de tarjeta»).

  4. Defina acciones (por ejemplo, leerTarjeta, expulsarTarjeta) para entradas, salidas o transiciones.

  5. Utilice la simulación para probar el flujo y asegurar la precisión.

Conclusión

El diagrama de estado de cajero automático del banco ilustra eficazmente cómo los diagramas de estado UML pueden modelar el comportamiento de sistemas del mundo real. Al definir estados claros, transiciones impulsadas por eventos y acciones, el diagrama proporciona una representación estructurada de la operación del cajero automático. Este enfoque mejora la comprensión, facilita el diseño del sistema y apoya la implementación y el mantenimiento. Herramientas como Visual Paradigm facilitan la creación, prueba y compartición de estos diagramas, asegurando precisión y colaboración en el desarrollo del sistema.

Follow
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...