usecaseoverviewespanol-2
DESCRIPTION
qqqqqqqqqqqqqqqTRANSCRIPT
Una Introduccion a los Casos de uso (Use Cases)
Copyright © 2002-2004 Serlio Software Development Corporation
2
Vista General
• Porque Casos de Uso?
• Que son los actores y que son los casos de uso?
• Como escribimos casos de uso?
Copyright © 2002-2004 Serlio Software Development Corporation
3
Requerimientos Inestables
• Causa principal de fracasos de proyectos*
• Solucion mas costosa de errores • Mayor dificultad en la correccion
de errores• La clave esta en la participacion
del usuario*Facts and Fallacies of Software Engineering, Robert L. Glass, 2003, Addison-Wesley
Copyright © 2002-2004 Serlio Software Development Corporation
4
Tasa de exito en Proyectos de SoftwareSource: Standish Group 1999
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
< $750k $750k -$1.5M
$1.5M -$3M
$3M - $6M $6M - $10M > $10M
Costo Total
Copyright © 2002-2004 Serlio Software Development Corporation
5
Especificaciones de Requirements
• Posibles malos entendidos• Documentos demasiado grandes
para comprender• Dificultad para probar completez• No proveen contexto
Copyright © 2002-2004 Serlio Software Development Corporation
6
Porque usar Casos de Uso?
• La parte dificil: Construir la solucion correcta.
• Describe el comportamiento del sistema.
• Facilmente entendido– Stakeholders orientados al problema– Stakeholders orientados a la solucion
• Enfoque en las necesidades reales del sistema
Copyright © 2002-2004 Serlio Software Development Corporation
7
Vista General
• Porque Casos de uso?
• Que son los Actores y que son Casos de Uso?
• Como escribimos casos de uso?
Copyright © 2002-2004 Serlio Software Development Corporation
8
Que es un Actor?
• Un rol, no una persona• Humano o no-humano• Tres caracteristicas
escenciales– Externas al sistema– Interactua con el sistema– Trata de alcanzar una meta
Estudiante
Copyright © 2002-2004 Serlio Software Development Corporation
9
Porque definir Actores?
• Establece la necesidad para un requerimiento
• Se enfoca en como el sistema es usado.
• Define los limites del sistema• Determina la completez• Muestra quien conoce los
requerimientos
Copyright © 2002-2004 Serlio Software Development Corporation
10
Que es un Caso de Uso?
• Describe una manera de usar el sistema• Caracteristicas escenciales:
– Centradas alrededor de una meta– Describe los pasos para obtener esa meta.– Escritos como una serie de interacciones– Genera un resultado para el actor.
Copyright © 2002-2004 Serlio Software Development Corporation
11
Caso de uso – ejemplo simple
•Nombre: Generar prima de seguros•Actor Principal: Agente de seguros•Breve Descripcion:El agente de seguros creata una prima de seguros para un automobil.
•Flujo primario:El Caso de Uso inicia cuando el agente de seguros pide al sistema la informacion de una prima de seguro. El sistema pregunta al agente el domicilio del cliente. Despues de que el agente escribe el nmbre y domicilio del cliente, el sistema pregunta por el vehiculo que le gustaria asegurar. El sistema presenta entonces una lista de coberturas. El agente selecciona la cobertura deseada y pide la informacion de la prima de seguros.El sistema presenta la cuota, incluyendo la suma asegurada
Copyright © 2002-2004 Serlio Software Development Corporation
12
Tipos de Reqerimientos
• Funcionales• No-Funcionales
– Usabilidad– Confiabilidad– Portabilidad– Soportabilidad+
(legal)
• Terminologia
• El sistema deberia generar primas de seguros.
• El sistema deberia manipular 30,000 peticiones de prima por hora.
Copyright © 2002-2004 Serlio Software Development Corporation
13
Outline
• Why use cases?
• What are actors and use cases?
• How do we write use cases?
Copyright © 2002-2004 Serlio Software Development Corporation
14
El Proceso de escritura de Casos de Uso
1. Identificar actores2. Identificar casos de uso3. Prioritize use cases4. Escribir descripciones de Casos de Uso5. Revisar6. Pase al paso 3
• Capturar requerimientos no-funcionales• Capturar terminologia
Copyright © 2002-2004 Serlio Software Development Corporation
15
Identifcacion de Actores
• Nombre del Actor:– Cliente
• Descripcion:– Un cliente es un individuo o empresa que tiene
actualmente una relacion con el banco. Para los propositos del sistema de administracion de cuentas. un cliente es alguien que tiene una cuenta o un credito coen le banco.
• Metas:– Ser informado del pago minimo mensual– Hacer un pago de cuenta– Verificar el balance de su cuenta.
Copyright © 2002-2004 Serlio Software Development Corporation
16
Identificacion de Casos de Uso
• Un caso de uso es un evento– No es un flujo de
informacion– No es un flujo de proceso
• Usa una corta combinacion verbo - sustantivo
• Describe la interaccion• Refleja la meta del
actorl
Evalua Credito
Cancela credito
Genera peticionde pago
Copyright © 2002-2004 Serlio Software Development Corporation
17
Diagramas de Casos de Uso
Agente de Seguros
Generar prima
Comprar seguro
Sistema de seguros
Copyright © 2002-2004 Serlio Software Development Corporation
18
Formalitdad de Casos de Uso
Breve
EscenarioPrimario
Versioncompleta
Copyright © 2002-2004 Serlio Software Development Corporation
19
Detallando un Caso de Uso
Nombe y Breveresumen
Flujo Primario(Interaccion)
Alternat./Extension
Alternat./Extension
Alternat./ExtensionlInformationcomplementaria•Precondiciones•Garantia de exito•Otros requerimientos•Aspectos abiertos
Copyright © 2002-2004 Serlio Software Development Corporation
20
Flujo Primario
Caso de Uso: Cancelar OrderdFlujo de Eventos1. El caso de uso inicia cuando el representanted del
cliente pide al sistema cancelar una poliza de seguro.
2. El representante del cliente busca la orden por su identificador.
3. El sistema presenta la poliza.4. El representante del cliente marca la poliza como
cancelada.5. El sistema cancela la poliza.6. El sistema le pide al subsistema de cuentas que
reemnbolse al cliente la cantidad que le corresponda.
Copyright © 2002-2004 Serlio Software Development Corporation
21
Precondiciones
• Define el scope del caso de uso y el lugar– Que ha pasado ya?
• Estado Requerido del sistema• Escto en tiempo presente
Copyright © 2002-2004 Serlio Software Development Corporation
22
Ejemplos de Precondicion
• “El agente esta firmado en el sistema”
• “El estado de la orden esta marcado como completo.”
• “La poliza es valida.”
Copyright © 2002-2004 Serlio Software Development Corporation
23
Postcondicion
• T.C.C “Guarantia de Exito”• Estado Requerido del sistema• Escrita como una asercion, en
tiempo pasado• Describe los intereses satisfechos.
Copyright © 2002-2004 Serlio Software Development Corporation
24
Ejemplos de Postcondicion
• “El email fue enviado.”• “El archivo fue guardado.”• “La poliza fue cancelada. El
sistema rembolso al cliente los que le correspondia.”
Copyright © 2002-2004 Serlio Software Development Corporation
25
Extensiones
• Conocemos el escenario principal de exito
• El mundo no funciona asi• El Software no es la excepcion• Necesitamos una forma para describir:
– Condiciones de falla– Pasos alternativos/conditionales en el flujo
Copyright © 2002-2004 Serlio Software Development Corporation
26
Extensiones: Mecanica
• Punto de Insercion
• Condition de Extension
• Pasos Alternativos
Copyright © 2002-2004 Serlio Software Development Corporation
27
Extensiones: Escibiendo la Condicion
• Escribir una asercion– Que el sistema puede detectar– Identificar el punto de insercion
• Establecer que se detecto• Reemplazar el punto de insercion.
Copyright © 2002-2004 Serlio Software Development Corporation
28
Ejemplo de Extension
Order de Empaque:…5. El dispositivo de empacado escanea el producto y lo
coloca en su paquete.6. El sistema registra que el producto fue empacado y
actualiza la orden.…Extensiones:*a. El sistema de administracion de ordenes no esta
disponible.1. …
6a. El producto no pertence a la orden.1. …
6b. La orden fue cancelada. a = any time
Copyright © 2002-2004 Serlio Software Development Corporation
29
Resumen
• Porque Casos de uso?
• Que son los Actores y que son Casos de Uso?
• Como escribimos casos de uso?