Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejemplo Completo Cajero Automático
Ejemplo Completo Cajero Automático
Anlisis y Diseo
Orientado a Objetos
Ejemplo: CAJERO AUTOMTICO
El siguiente ejercicio muestra las diferentes actividades
que se realizan dentro del desarrollo de un producto
software siguiendo el Proceso Unificado. Este ejemplo
desarrolla el caso de estudio de un cajero automtico
mostrando las actividades en cada flujo de trabajo as
como el resultado de cada una de dichas actividades.
Diana Marcela Snchez Fquene
marzo de 2013
Requisitos
Actividad: Lista de Requisitos Funcionales
R1. El cliente debe validarse en el sistema para poder realizar cualquier operacin en el cajero
automtico.
R2. Si el cliente intenta sacar una cantidad que supera el saldo de su cuenta, el cajero le avisar
de que no es posible sacar esa cantidad
R3. Si el cliente intenta sacar una cantidad que supera el lmite diario, el cajero le avisar de
que no es posible y volver a solicitar una cantidad
R4. El cliente podr hacer una transferencia a otra cuenta
R5. El cliente podr realizar un ingreso a travs del cajero automtico
Pgina 2
Camino bsico
Camino bsico
ACTOR
SISTEMA
ACTOR
SISTEMA
2. Pide la clave de
identificacin
2. Pide la
clave de
identificacin
3. Introduce la clave
4.
Comprueba
la clave
3. Introduce la clave
4. Comprueba la
clave
5. Presenta las
opciones de
operaciones
disponibles
3. Introduce el
importe a ingresar
4. Abre el cajn
depsito del
dinero en
metlico.
5. Presenta
las opciones
de
operaciones
disponibles
6. Selecciona la operacin
de Reintegro
Pgina 3
7. Pide la
cantidad a
retirar
6. El sistema
contabiliza dicho
dinero y
comprueba si
coincide con el
importe.
7. Notifica al
usuario que el
ingreso se ha
realizado.
8. Introduce la cantidad
requerida
9. Procesa la
peticin y da
el dinero
solicitado.
Devuelve la
tarjeta
8. Devuelve la
tarjeta.
9. Recoge la tarjeta
y fin del caso de uso
Con el fin de aplicar la reutilizacin, se crea un nuevo caso de uso que involucra la
funcionalidad compartida.
Caso de Uso: Validar Cliente
Flujo de eventos del caso de uso Validar Cliente
Camino bsico
ACTOR
SISTEMA
3. Introduce la clave
4. Comprueba la clave
5. Presenta las opciones de operaciones
disponibles y termina el caso de uso.
Caminos alternativos
Evento 3. El cliente cancela la transaccin
Evento 4. La clave no es vlida y se reinicia el caso de uso. Si ocurre tres veces se cancela la
transaccin y no se devuelve la tarjeta
Pgina 4
SISTEMA
6. Recoge la tarjeta.
7. Recoge el dinero y termina el caso de
uso
Caminos alternativos
Evento 4: La cantidad solicitada supera el saldo. Se indica el error y se cancela la operacin.
Evento 4: La cantidad solicitada supera el lmite diario. Se indica el error y se vuelve a pedir
otra cantidad.
Pgina 5
SISTEMA
5. Introduce el dinero
Dinero Retirado
EsperandoRecogerDinero
Importe Introducido
Esperando dinero metlico
OperacionCancelada
Entry/ abrirCajon()
Exit/ cerrarCajn()
do/ Esperar ()
Entry/abrirCajon();
Mostrar(Retire su dinero)
Exit/ cerrarCajon()
do/ Esperar ()
Dinero Introducido
Validando cantidades
do/ Validar ()
CantidadesValidadas [OK]
/ mostrar (Operacin finalizada con xito)
Esperando recoger tarjeta
Entry/ ExpulsarTarjeta;
Mostrar (Recoja su tarjeta)
do/ Esperar ()
Tarjeta Retirada / mostrar(Introduzca su tarjeta)
Pgina 6
SISTEMA
1. Selecciona la operacin de
Transferencia
3. Introduce la cantidad
Caminos alternativos
Evento 3,5. El actor puede cancelar.
Evento 6. Si no existe saldo suficiente se informar que no es posible realizar la operacin.
Evento 7. Si ocurre algn problema con el ingreso se informar que no se ha realizado.
Evento 10. Si el actor no recoge la tarjeta, el cajero automtico tragar la tarjeta.
Se puede crear un diagrama de transicin de estados final para este caso de uso
Pgina 7
Pgina 8
Anlisis
Actividad: Anlisis de los Casos de Uso.
Anlisis del Caso de Uso: Validar Usuario
Identificar las clases de anlisis
Regla de Interfaz: Un actor - una interfaz
Pgina 9
Faltara casos:
Anular transaccin (despus del 2 intento)
Si 3 veces error, cancelar y quedase con la tarjeta
Diagrama de clases
Pgina
10
Faltara:
Pgina
11
Diagrama de clases:
Pgina
12
Pgina
13
Pgina
14
Atributos
Responsabilidades
Pgina
15
visualizar (mensaje)
leer (tarjeta); leer (cdigo)
leer (importe)
expulsarDinero (importe)
noHayFondos
validar (importe); errorIngreso
seleccioneOpcion (opciones)
UsuariosDelBanco
coleccin de pares
(datosCuenta, codigo)
Cuenta
Saldo
reintegro (importe)
lmite diario
ingreso (importe)
cdigo cuenta
cantidad
retirarDinero (importe)
Transaccin
ingresarDinero (importe)
transferencia (cuenta, cantidad)
Pgina
16
Diseo
Actividad: Identificar requisitos no funcionales y restricciones
Con respecto a lenguajes de programacin, reutilizacin de componentes, sistemas
operativos, tecnologas de distribucin, concurrencia, bases de datos, interfaces de
usuario, gestin de transacciones, etc.
Diagramas de Interaccin:
En este caso nos fijamos en la interaccin de los diferentes elementos en el tiempo
Diagrama de Secuencia
Realizacin del Caso de Uso: Validar Usuario
Pgina
17
Pgina
18
En este caso, refinamos el caso de uso: Aadimos la clase Cuentas que asocia nmero de
cuenta con una instancia de la clase Cuenta. La clase Transaccin ya no actuar directamente
sobre Cuenta.
Pgina
19
Pgina
20
Pgina
21
Pgina
22
Pgina
23
Pgina
24
Pgina
25
Servidor Central
Cajero Automtico
Intranet
Controlador
de
Peticiones
Interfaz de
Usuario
Paquete superior::Cliente
Pgina
26
Bases de
Datos
Implementacin
Diagrama de Componentes y/o Artefactos
Modelo de diseo
Tranferencia
entre cuentas
Modelo de implementacin
<<trace>>
<<file>>
TransferenciaEntreCuentas.java
<<compilation>>
<<executable>>
TransferenciaEntreCuentas.class
Transferencia
Transferencia
Pgina
27