C
d U
C
d U
Casos de Uso
Casos de Uso
Análisis y Diseño OO
Análisis y Diseño OO
Análisis y Diseño OO
Análisis y Diseño OO
2008
2008--3
3
¿Qué es un caso de uso?
¿Qué es un caso de uso?
¿Qué es un caso de uso?
¿Qué es un caso de uso?
Especificación
Especificación del
del
comportamiento
comportamiento
de
de un
un sistema
sistema
o
o de
de una
una parte
parte de
p
p
de este
este
Descripción
Descripción
de
de
un
un
conjunto
conjunto
de
de
secuencia
secuencia de
de acciones
acciones
incluyendo
incluyendo
secuencia
secuencia de
de acciones,
acciones, incluyendo
incluyendo
variantes
variantes que
que ejecuta
ejecuta un
un sistema
sistema
para
para
producir
producir
un
un
resultado
resultado
observable
¿Para qué se usan?
¿Para qué se usan?
¿Para qué se usan?
¿Para qué se usan?
Para
Para capturar
capturar el
el comportamiento
comportamiento (el
(el
qué
qué
))
deseado
deseado
del
del
sistema
sistema
en
en
q
q
))
desarrollo,
desarrollo, sin
sin tener
tener que
que especificar
especificar
cómo
cómo
se
se
implementa
implementa
ese
ese
cómo
cómo
se
se
implementa
implementa
ese
ese
comportamiento
comportamiento
Para
Para representar
representar un
un
requerimiento
requerimiento
funcional
funcional
del
del sistema
sistema global
global
g
g
Para
Para involucrar
involucrar la
la
interacción
interacción de
de
actores
actores y
y el
el sistema
sistema
u
u otros
otros sujetos
sujetos
actores
¿Qué es un actor?
¿Qué es un actor?
¿Qué es un actor?
¿Qué es un actor?
Representa
Representa un
un conjunto
conjunto coherente
coherente
de
de roles
roles que
que juegan
q
q
juegan los
j
j
g
g
los usuarios
usuarios de
de
los
los casos
casos de
de uso
uso
Pueden
Pueden ser
ser sistemas
sistemas automáticos
automáticos o
o
Pueden
Pueden ser
ser sistemas
sistemas automáticos
automáticos o
o
personas
personas..
nombre
A t
Actor
Generalización de actores
Generalización de actores
Generalización de actores
Generalización de actores
Cliente
GeneralizaciónCliente
Comercial
¿Qué es un escenario?
¿Qué es un escenario?
¿Qué es un escenario?
¿Qué es un escenario?
Secuencia específica de acciones
Secuencia específica de acciones
que ilustra un comportamiento
que ilustra un comportamiento
q
p
q
p
Es una instancia de un caso de uso
Es una instancia de un caso de uso
Escenario 1
Caso de Uso
Escenario 2 Escenario 3 Escenario 4…
Escenario nRelación de inclusión (include)
Relación de inclusión (include)
Relación de inclusión (include)
Relación de inclusión (include)
Un
Un caso
caso de
de uso
uso base
base incorpora
incorpora
explícitamente
explícitamente el
el comportamiento
comportamiento de
de
explícitamente
explícitamente el
el comportamiento
comportamiento de
de
otro
otro
caso
caso
de
de
uso
uso
en
en
el
el
lugar
lugar
especificado
especificado en
en el
el caso
caso de
de uso
uso base
base
especificado
especificado en
en el
el caso
caso de
de uso
uso base
base
Validar usuario
Hacer pedido
<<include>>
Seguir pedido
<<include>>
Seguir pedido
Relación de extensión (extend)
Relación de extensión (extend)
Relación de extensión (extend)
Relación de extensión (extend)
Un
Un caso
caso de
de uso
uso base
base incorpora
incorpora
implícitamente
implícitamente el
p
p
el comportamiento
comportamiento de
p
p
de
otro
otro
caso
caso
de
de
uso
uso
en
en
el
el
lugar
lugar
especificado
especificado indirectamente
indirectamente por
por el
el
especificado
especificado indirectamente
indirectamente por
por el
el
caso
caso de
de uso
uso que
que extiende
extiende al
al base
base
Hacer pedido
Hacer pedido urgente
<<extend>>
p
H
did
i l
<<extend>>
Resumen de Relaciones
Resumen de Relaciones
Resumen de Relaciones
Resumen de Relaciones
Pasos a seguir para definir los
Pasos a seguir para definir los
casos de uso
casos de uso
Identificar
Identificar los
los actores
actores
Organizar
Organizar los
los actores
actores identificando
identificando
Organizar
Organizar los
los actores
actores identificando
identificando
tanto
tanto los
los roles
roles más
más generales
generales como
como
los
los más
más especializados
especializados
los
los más
más especializados
especializados
Tomar
Tomar los
los requerimientos
requerimientos funcionales
funcionales
del
del sistema
sistema..
Considerar
Considerar
interacciones
interacciones
de
de
los
los
Considerar
Considerar
interacciones
interacciones
de
de
los
los
actores
Ejemplo: Cajero Automático
Ejemplo: Cajero Automático
Ejemplo: Cajero Automático
Ejemplo: Cajero Automático
Enunciado “Cajero Automático”
Enunciado “Cajero Automático”
Enunciado Cajero Automático …
Enunciado Cajero Automático …
Descripción general:
Se desea construir un aplicativo para el manejo de un cajero automático. El aplicativo debe proporcionar a los clientes de todos los bancos de Colombia y las redes internacionales las siguientes operaciones: a) retiros en efectivo, b) consultas de saldo c) depósitos a cuentas en efectivo d) depósitos en cheque a cuentas e) transferencias bancarias y f) pago de servicios públicos. Todas las operaciones realizadas en el cajero, así sean canceladas por el cliente del cajero deben quedar registradas en la bitácora (log) de transacciones que debe obtener como mínimo: fecha de la transacción, hora de la transacción, número de tarjeta, transacción, valor, respuesta.
El flujo de un retiro es: el cliente inserta la tarjeta selecciona el tipo de cuenta (ahorros El flujo de un retiro es: el cliente inserta la tarjeta, selecciona el tipo de cuenta (ahorros,
corriente, tarjeta de crédito), selecciona la operación de retiro, selecciona el monto de la pantalla o puede digitar un múltiplo de 10000 pero inferior o igual a 300,000, digita su clave y espera resultado, si la operación es exitosa debe dispensar el dinero y solicitar al usuario si desea recibo o por pantalla el nuevo saldo. En caso de fallas en solicitar al usuario si desea recibo o por pantalla el nuevo saldo. En caso de fallas en el dispensador se debe generar una operación automática de reverso para devolver el dinero al cliente a la cuenta afectada. La operación de reverso se debe aplicar en todas las transacciones que viajen al Servidor del banco, se excluye la consulta de saldo. Si la operación no es exitosa se debe informar al cliente el motivo de la saldo. Si la operación no es exitosa se debe informar al cliente el motivo de la declinación y generar recibo.
Enunciado “Cajero Automático”!
Enunciado “Cajero Automático”!
Enunciado Cajero Automático !
Enunciado Cajero Automático !
Las transferencias de fondos utilizan las operaciones de retiro a cuenta y de depósito en Las transferencias de fondos utilizan las operaciones de retiro a cuenta y de depósito en efectivo aunque para el usuario sea solo una transacción. El pago de servicios públicos utiliza la transacción de retiro para obtener los fondos que cubren el pago, el banco abona directamente a la empresa de servicios los valores pagados por los clientes.
clientes.
El aplicativo debe contar con un modulo administrativo que permita informar al sistema la cantidad de dinero que estará en las gabinetes de retiro, por denominación (aprovisionamiento del cajero) debe permitir imprimir la tira de auditoria del cajero de (aprovisionamiento del cajero), debe permitir imprimir la tira de auditoria del cajero de todas las operaciones realizadas, debe poder generar archivos planos con la información de la tira de auditoria. Se debe contar con un superusuario que sea capaz de manejar todo el modulo administrativo pero que además pueda realizar operaciones de mantenimiento a los sensores del sistema mantenimientos operaciones de mantenimiento a los sensores del sistema, mantenimientos preventivos a los dispensadores de dinero y receptores de dinero.
El sistema debe ser implementado en JAVA bajo la plataforma Windows. El protocolo de comunicación debe ser inicialmente TCP/IP pero debe poderse cambiar a otros protocolos como SNA o X.25. Se debe tener un mecanismo de persistencia basado inicialmente en archivos XML pero luego se debe poder utilizar motores de bases de datos como MYSQL o SQLSERVER. Las pantallas hacia todos los usuarios deben ser fáciles de manejar. El sistema solo debe permitir acceder a los módulos especiales con la seguridad adecuada, y debe consumir servicios Web proporcionados por el sistema de seguridad del banco basado en el protocolo LDAP.