usecaseoverviewespanol-2

29
Una Introduccion a los Casos de uso (Use Cases)

Upload: pablo-estrada

Post on 07-Feb-2016

216 views

Category:

Documents


0 download

DESCRIPTION

qqqqqqqqqqqqqqq

TRANSCRIPT

Page 1: UseCaseOverviewEspanol-2

Una Introduccion a los Casos de uso (Use Cases)

Page 2: UseCaseOverviewEspanol-2

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?

Page 3: UseCaseOverviewEspanol-2

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

Page 4: UseCaseOverviewEspanol-2

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

Page 5: UseCaseOverviewEspanol-2

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

Page 6: UseCaseOverviewEspanol-2

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

Page 7: UseCaseOverviewEspanol-2

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?

Page 8: UseCaseOverviewEspanol-2

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

Page 9: UseCaseOverviewEspanol-2

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

Page 10: UseCaseOverviewEspanol-2

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.

Page 11: UseCaseOverviewEspanol-2

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

Page 12: UseCaseOverviewEspanol-2

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.

Page 13: UseCaseOverviewEspanol-2

Copyright © 2002-2004 Serlio Software Development Corporation

13

Outline

• Why use cases?

• What are actors and use cases?

• How do we write use cases?

Page 14: UseCaseOverviewEspanol-2

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

Page 15: UseCaseOverviewEspanol-2

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.

Page 16: UseCaseOverviewEspanol-2

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

Page 17: UseCaseOverviewEspanol-2

Copyright © 2002-2004 Serlio Software Development Corporation

17

Diagramas de Casos de Uso

Agente de Seguros

Generar prima

Comprar seguro

Sistema de seguros

Page 18: UseCaseOverviewEspanol-2

Copyright © 2002-2004 Serlio Software Development Corporation

18

Formalitdad de Casos de Uso

Breve

EscenarioPrimario

Versioncompleta

Page 19: UseCaseOverviewEspanol-2

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

Page 20: UseCaseOverviewEspanol-2

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.

Page 21: UseCaseOverviewEspanol-2

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

Page 22: UseCaseOverviewEspanol-2

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.”

Page 23: UseCaseOverviewEspanol-2

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.

Page 24: UseCaseOverviewEspanol-2

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.”

Page 25: UseCaseOverviewEspanol-2

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

Page 26: UseCaseOverviewEspanol-2

Copyright © 2002-2004 Serlio Software Development Corporation

26

Extensiones: Mecanica

• Punto de Insercion

• Condition de Extension

• Pasos Alternativos

Page 27: UseCaseOverviewEspanol-2

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.

Page 28: UseCaseOverviewEspanol-2

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

Page 29: UseCaseOverviewEspanol-2

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?