You are on page 1of 4

PRÁCTICA UML

Caso de Estudio: ATM


Un banco local necesita instalar un nuevo modelo de cajero (ATM) para permitir a los usuarios
(clientes del banco) realizar transacciones financieras básicas. Cada usuario puede tener solo una
cuenta en el banco. Los usuarios del ATM deben ser capaces de ver el balance de su cuenta, retirar
efectivo (sacar dinero de su cuenta) y depositar dinero.

La interfaz de usuario del ATM contiene los siguientes componentes de hardware:

 Una pantalla que muestra mensajes al usuario.


 Un teclado que recibe entradas numéricas del usuario.
 Un dispensador de efectivo.
 Un espacio para depósitos, que recibe sobres con depósitos de los usuarios.

El dispensador de efectivo inicia cada día cargado con 500 billetes de $20. El banco requiere que
desarrollo un software para realizar las transacciones financieras iniciadas por los clientes del
banco a través del ATM. El banco integrará el software con el hardware del ATM tiempo después,
El software debe encapsular el funcionamiento del hardware en los dispositivos (dispensador de
efectivo, espacio para depósitos, etc.) dentro de los componentes del software. El hardware del
ATM no ha sido desarrollado aun, por eso en lugar de escribir su software corriendo en un ATM,
debe desarrollar la primera versión del software en una computadora personal. Esta versión debe
usar el monitor de la computadora para simular la pantalla del ATM, y el teclado de la
computadora simulará el teclado del ATM.

La sesión del ATM consiste en autenticar al usuario (el usuario provee su identificación) basada en
el número de cuenta y su número personal de identificación (PIN), seguido de la ejecución de
transacciones financieras. Para autenticar un usuario y realizar transacciones, el ATM debe
interactuar con la información de las cuentas bancarias en la base de datos. [Nota: Una base de
datos es una colección organizada de datos, almacenados en una computadora.] Para cada cuenta
bancaria, la base de datos guarda un número de cuenta, un PIN y un balance indicando la cantidad
de dinero en la cuenta. [Nota: Para mayor facilidad, asumimos que el banco planea construir solo
un ATM, así que no necesita preocuparse por múltiples ATM’s accesando a la base de datos al
mismo tiempo. También se asume que el banco no hace ningún cambio de información a la base
de datos mientras que un usuario esta accesando al ATM. Como un ATM contiene seguridad
razonablemente complicada que va mas allá del alcance del primer o Segundo semestre de la
carrera de Ingeniería en Sistemas, se asume que el banco confía que el ATM accesa y manipula la
información en la base de datos con medidas de seguridad significativas.]

Tras el primer acceso al ATM, el usuario experimentará la siguiente secuencia de eventos:

1. La pantalla desplegará un mensaje de bienvenida y pedirá al usuario que ingrese su


número de cuenta.
2. El usuario ingresa un número de cuenta de 5 dígitos, utilizado el teclado del cajero.
3. Se le pide al usuario que ingrese su PIN (Número de identificación personal) asociado con
el número específico de cuenta.
4. El usuario ingresa un PIN de 5 dígitos utilizando el teclado del cajero.
5. Si el usuario ingresa un número de cuenta válido y el PIN es correcto para esa cuenta la
pantalla desplegará un menú principal. Si el usuario ingresa un número inválido de cuenta
o un número incorrecto de PIN, la pantalla desplegara un mensaje indicando esto, y el
ATM regresa al paso 1 a reiniciar el proceso de autenticación.

Después de que el ATM autentica un usuario, el menú principal despliega una lista numerada de
opciones para tres tipos de
transacciones: Consulta de saldo
(opción 1), retiro (opción 2) y
deposito (opción 3). El menú
principal también despliega una
opción que le permite al usuario
salir del sistema (opción 4). Si el
usuario ingresa una opción
inválida, la pantalla desplegará
un mensaje de error, y después
volverá a mostrar el menú
principal.

Si el usuario ingresa 1 para


consultar su saldo, la pantalla desplegara el balance de la cuenta, para hacer eso, el ATM debe
devolver el saldo desde la base de datos del banco. Las siguientes acciones ocurren cuando un
usuario ingresa la opción 2 para hacer un retiro:

1. La pantalla despliega un menú con cantidades estándar de retiro: $20 (opción 1), $40
(opción 2), $60 (opción 3), $100 (opción 4) and $200 (opción 5).El menú también contiene
una opción para permitir al usuario cancelar la transacción (opción 6).
2. El usuario ingresa la opción del menú seleccionada (1-6) usando el teclado del cajero.
3. Si el monto de retiro elegido es mayor al saldo de la cuenta del usuario, la pantalla deberá
desplegar un mensaje enfatizando esto y diciéndole que escoja una cantidad menor. El
ATM regresa al paso 1. Si el monto del retiro escogido es menor o igual al saldo de la
cuenta del usuario (una cantidad de retiro aceptable), el ATM procede al paso 4. Si el
usuario escoge cancelar la transacción (opción 6), el ATM desplegará el menú principal y
esperará por la entrada del usuario.
4. Si el dispensador de efectivo contiene suficiente dinero para satisfacer el retiro del
usuario, el ATM procederá al paso 5. De otro modo, la pantalla desplegará un mensaje
indicando el problema y diciéndole al usuario que escoja una cantidad menor de retiro. El
ATM regresará al paso 1.
5. El ATM debita
(substrae) la cantidad de
retiro del saldo de la cuenta
del usuario en la base de
datos del banco.
6. El dispensador de
efectivo da al usuario la
cantidad de dinero indicada.
7. La pantalla
desplegará un mensaje
recordándole al usuario que
tome su dinero.

Las siguientes acciones ocurren cuando el usuario ingresa la opción 3 (mientras el menú principal
se encuentra desplegado) para hacer un depósito:

1. Se indica al usuario que ingrese un monto de depósito o ingrese 0 (cero) para cancelar la
transacción.
2. El usuario ingresa un monto de depósito o cero, usando el teclado del cajero. [Nota: el
teclado del cajero n contiene punto decimal o signo de moneda, así que el usuario no
puede teclear una cantidad real ($1.25). En vez de esto, el usuario debe ingresar la
cantidad de depósito como número en centavos (125). El ATM divide este número entre
100 para obtener el número representativo de la cantidad (125/100=1.25).]
3. Si el usuario especifica un monto de depósito, el ATM procede al paso 4. Si el usuario
escoge cancelar la transacción (opción 0), el ATM despliega el menú principal y espera por
la entrada del usuario.
4. La pantalla despliega un mensaje diciéndole al usuario que inserte un sobre de depósito
en el espacio para depósitos del ATM.
5. Si el espacio para depósitos recibe un sobre con un depósito en los dos minutes siguientes,
el ATM acredita (agrega) el monto del depósito al saldo de la cuenta del usuario en la base
de datos del banco. Este dinero no estará disponible inmediatamente para retiro. El
banco primero debe verificar físicamente la cantidad de efectivo en el sobre del depósito,
y después de esto el dinero estará disponible en el saldo de la cuenta del usuario en la
base de datos. Esto ocurre independientemente del sistema del ATM. Si el espacio para
depósitos no recibe un sobre con un depósito en el periodo de tiempo, la pantalla
desplegará un mensaje diciendo que el sistema ha cancelado la transacción por
inactividad. El ATM entonces desplegará el menú principal y esperará nuevamente por
una opción ingresada por el usuario.

Después de que el sistema ejecute exitosamente una transacción, el sistema debe desplegar
nuevamente el menú principal, para que el usuario pueda realizar transacciones adicionales. Si el
usuario escoge salir del sistema, la pantalla deberá mostrar un mensaje de Gracias y desplegar el
mensaje de bienvenida para el siguiente usuario.

Para el caso descrito se le pide lo siguiente:

1. Identificación de actores del sistema


2. Diagrama de Casos de uso
3. Diagrama de Estados
4. Diagrama de Secuencias
5. Diagrama de Clases

Recuerde utilizar la simbología propia de UML y trabaje individual.

You might also like