Sunteți pe pagina 1din 26

Anlisis y Diseo Orientado a Objetos

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.

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

Actividad: Identificar actores, los casos de usos de uso y


describirlos brevemente
Diagrama Inicial de Casos de Uso

Descripcin de los Casos de Uso


Caso de uso: Sacar dinero
Actor: Cliente
Descripcin: El caso de uso comienza con la identificacin del cliente. El cliente usa el caso de
uso para sacar dinero de su cuenta. El caso de uso le devuelve el dinero solicitado, un aviso de
que no tiene saldo o de que ha excedido el lmite diario.
Caso de uso: Ingresar dinero
Actor: Cliente

Descripcin: El caso de uso comienza con la identificacin del cliente. El cliente usa el caso de
uso para ingresar dinero en su cuenta.

Caso de uso: Realizar transferencia


Actor: Cliente
Descripcin: El caso de uso comienza con la identificacin del cliente. El cliente usa el caso de
uso para realizar una transferencia de dinero entre dos cuentas bancarias.

Actividad: Detallar los casos de uso


Descripcin mediante Flujo de Eventos de los Casos de Uso.
Describimos cada uno de los casos de uso a travs del flujo de eventos empezando por el
Camino Bsico

En este caso, adems, presentamos los dos flujos de eventos de forma paralela para que se
observe que existe una funcionalidad compartida.

Flujo de eventos del caso de uso Flujo de eventos del caso de uso
Ingresar Dinero Sacar Dinero

Camino bsico Camino bsico

ACTOR SISTEMA ACTOR SISTEMA

1. Este caso de uso 2. Pide la clave de 1. Este caso de uso 2. Pide la


empieza cuando un identificacin empieza cuando un clave de
Cliente introduce Cliente introduce una identificacin
una tarjeta en el tarjeta en el cajero
cajero
3. Introduce la clave 4.
3. Introduce la clave 4. Comprueba la Comprueba
clave la clave

5. Presenta las 5. Presenta


opciones de las opciones
operaciones de
disponibles operaciones
disponibles
3. Introduce el 4. Abre el cajn
importe a ingresar depsito del 6. Selecciona la operacin 7. Pide la
dinero en de Reintegro cantidad a
metlico. retirar
5. Introduce el 6. El sistema 8. Introduce la cantidad 9. Procesa la
dinero contabiliza dicho requerida peticin y da
dinero y el dinero
comprueba si solicitado.
coincide con el
Devuelve la
importe.
tarjeta
7. Notifica al
usuario que el 10. Recoge la tarjeta.
ingreso se ha
realizado. 11. Recoge el dinero y
termina el caso de uso
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

1. Este caso de uso empieza cuando un 2. Pide la clave de identificacin


Cliente introduce una tarjeta en el cajero

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

Extrayendo la funcionalidad compartida de los flujos de eventos anteriormente presentados, la


descripcin detallada de los casos de uso queda de la siguiente manera:
Caso de Uso: Sacar dinero
Flujo de eventos del caso de uso Sacar Dinero

Camino bsico

ACTOR SISTEMA

1. Selecciona la operacin de Reintegro 2. Pide la cantidad a retirar

3. Introduce la cantidad requerida 4. Procesa la peticin y da el dinero solicitado.

5. Devuelve la tarjeta.

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.

Caso de Uso: Ingresar Dinero


Flujo de eventos del caso de uso Ingresar Dinero

Camino bsico

ACTOR SISTEMA

1. Selecciona la operacin de Ingreso 2. Pide la cantidad a ingresar

3. Introduce el importe a ingresar 4. Abre el cajn depsito del dinero en metlico.

5. Introduce el dinero 6. El sistema contabiliza dicho dinero y comprueba


si coincide con el importe.

7. Notifica al usuario que el ingreso se ha


realizado.

8. Devuelve la tarjeta.

9. Recoge la tarjeta y fin del caso de uso

Camino alternativo

Evento 6. Notifica al usuario que la cantidad no coincide con el dinero introducido y permite que
se repita la operacin desde el principio.

Opcin Ingreso seleccionada


OperacionCancelada
Esperando importe a ingresar
Dinero Retirado
entry/ mostrar (Introduzca importe)
do/ esperar (importe)
EsperandoRecogerDinero
OperacionCancelada Importe Introducido
Entry/abrirCajon();
Esperando dinero metlico
Mostrar(Retire su dinero)
Entry/ abrirCajon() Exit/ cerrarCajon()
Exit/ cerrarCajn() do/ Esperar ()
do/ Esperar ()
Dinero Introducido
CantidadesValidadas [NOT
Validando cantidades
/ mostrar (Cantidad por favor)

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)
Caso de Uso: Realizar Transferencia
Flujo de eventos del caso de uso Realizar transferencia

Camino bsico

ACTOR SISTEMA

1. Selecciona la operacin de 2. Pide la cantidad a transferir


Transferencia

3. Introduce la cantidad 4. Pide el nmero de cuenta

5. Introduce el nmero de cuenta 6. El sistema comprueba que existe saldo suficiente en la


cuenta del cliente.

7. El sistema realiza un ingreso sobre la cuenta destino.

8. Se informa al cliente de que la operacin se ha


realizado satisfactoriamente.

9. Se expulsa la tarjeta

10. Recoge la tarjeta 11. El sistema vuelve a la situacin inicial del cajero y fin
del caso de uso

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.


Diagrama final de Casos de Uso. Aproximacin Final
An lisis
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

Describir las interacciones entre objetos


Un diagrama de colaboracin por cada camino del caso de Uso.

Camino Bsico: Validar Usuario

Camino Alternativo: Cdigo Incorrecto


Faltara casos:

Anular transaccin (despus del 2 intento)

Si 3 veces error, cancelar y quedase con la tarjeta

Anlisis del Caso de Uso: Sacar Dinero

Diagrama de clases
Camino Bsico: Sacar dinero

Camino Alternativo: No hay saldo

Faltara:

en el cajero no hay dinero.

se ha superado el lmite diario


Anlisis del Caso de uso: Ingresar Dinero

Diagrama de clases:

Camino Bsico: Ingresar dinero


Camino Alternativo:

Anlisis del Caso de Uso Transferencia


Camino Bsico: Transferencia

Camino Alternativo: No hay dinero en la cuenta origen


Camino Alternativo: Cuenta de destino incorrecta
Actividad: Diagrama de Clases de Anlisis Completo
A partir de las clases detectadas se integran todas en un solo diagrama

Identificar Atributos y Responsabilidades


Esto lo hacemos a travs de las relaciones establecidas en los diagramas de Colaboracin y a
travs de la descripcin del problema.

Clase Atributos Responsabilidades

Identificar asociaciones y agregaciones


Definir multiplicidad y papeles

Agregacin y composicin

Identificar generalizaciones y/o especializaciones


Disen o
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.

Actividad: Realizacin de los casos de uso en diseo

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


Realizacin en Diseo del Caso de Uso: Sacar dinero

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
Realizacin en diseo del caso de Uso: Ingresar Dinero
Refinar en diseo el caso de Uso de Transferencia

Diagrama de clases completo


Identificando atributos, operaciones, variables, etc.
Metodologas orientadas a objetos

Toda esta temtica tiene un fin y yo creo que es la de que el alumno sepa
por qu hacer uso de este modelado, para que le sirve o le va a servir.
Este modelado es de gran ayuda porque adquir los conocimientos acerca
de este modelado a objetos muy usado en la industria de la
programacin. Con sus caractersticas particulares me percat de que se
obtiene muchos beneficios al hacer uso de este modelado a objetos por
ejemplo la reutilizacin nos permite hacer uso otra vez de la estructura
del software. La robustez dice que es la capacidad que tiene de actuar
ante situaciones inesperadas, su Portabilidad que nos dice que se puede
utilizar en diferentes entornos. El encapsulamiento nos permite contener
informacin que solo nosotros o el desarrollador podr ver, herencia esta
nos dice que un objeto puede adquirir caractersticas de una clase es
decir de un conjunto de objetos. El polimorfismo es otro de los elementos
que permite cambiar de forma con solo llamar una funcin, tambin se
habl de otros elementos ms como modularidad y relacin. Bueno en
conclusin final la investigacin de los temas amplio mis conocimientos
como aprendiz de programacin y siento que si aplico bien lo aprendido
no tendr tantas complicaciones a la hora de programar.
Conclusiones

Las conclusiones para este modelado es que es bueno utilizarlo ya que


nos da formas en lo que podemos ver como desempearemos mejor a la
hora de programar, tambin nos dejara porque es una gran importancia
utilizar esta metodologa como programadores tenemos que tener este
conocimiento acerca de la tcnicas o herramientas que son de gran
utilizada para llevar a cabo el desarrollo del software