• No se han encontrado resultados

Casos de Uso: Teoría y Práctica

N/A
N/A
Protected

Academic year: 2019

Share "Casos de Uso: Teoría y Práctica"

Copied!
31
0
0

Texto completo

(1)

Casos de Uso: Teoría y

Práctica

(2)

Introducción

Un caso de uso indica una historia para

alcanzar un objetivo o un conjunto de

historias de éxitos y fallos:

 UC4: Colocar una orden

 “1. El Cajero identifica al cliente, cada elemento y la

cantidad.

 2. El Sistema acepta y coloca la orden en la cola.”

 Extensiones:

 “1a. Bajo crédito: El Cajero toma un prepago”

 “2a. Bajo Inventario: El Cliente acepta reducir la cantidad

(3)

Los casos de uso están dirigidos a “cómo hacer

legibles y revisables los requerimientos

funcionales”

Los casos de uso mantienen los requerimientos funcionales en un formato de texto fácil de leer y seguir.

Un caso de uso recolecta cómo un objetivo se logra/falla; un escenario muestra una condición específica; los escenarios y los casos de uso se anidan.

Los casos de uso sólo muestran los requerimientos funcionales.

Forman el marco de trabajo para los requerimientos no funcionales y los detalles del proyecto.

(4)

La industria de TI ama los casos de uso, pero...

¿Cómo escribir grandes volúmnes de casos de

uso?

Común acuerdo: los casos de uso son útiles

 Adoptados por la todas los métodos OO.

 Recomendación repetida de desarrolladores,

usuarios, etc.

¿Qué son realmente los casos de uso?

¿Cómo estructurar 180 casos de uso?

 ¿Cuál es su formato? ¿Su nivel de detalle?

Jacobson inventó los “usos” y las relaciones

“extendes”:

(5)

Existen muchos significados de “casos de uso”

Este modelo tiene teoría y práctica

Un taller de 14 consultores líderes en OO

produjo 14 definiciones de “caso de uso”.

Valor: historia del usuario / requerimientos  Estructura: Ninguna / Semiformal / formal

Contenido: Contradictorio / consistente / formal  Escenario =? Caso de uso: lo mismo /

diferentes

(6)

El modelo: Una interacción es una secuencia o

conjunto de posibles secuencias de

interacciones.

Actor 1 Actor 2

Objetivo Conjunto Interacción Responsabilidad

de secuencias

Secuencia de Interacciones

Mensaje simple

(7)

La acción de un actor dispara una interacción,

llamando las responsabilidades de otros actores

Actor Comportamiento Interaction Interno Externo Sistema en diseño Subsistema Persona Grupo Objecto Sistema Responsabilidad Objetivo

Acción dispara llama Conjunto de secuencias Secuencia de Interacciones Mensaje simple

(8)

El modelo básico de los casos de uso es que los

actores interactúan para lograr sus objetivos

Actor Principal

persona o sistema con objetivos para el s.b.d

Sistema bajo diseño

Podría ser cualquier sistema

Actore Secundario

Otro sistema con el

Que el s.b.d. tiene un objetivo

Responsabilidad

- Objetivo 1 - Objetivo 2 ... acción 1

. :

- objetivo de respaldo para

el objetivo 2

Responsabilidad

- Objetivo 1

...acción 1 Responsabilidad (Interaccción 1)

(9)

Un actor tiene objetivos; los objetivos nombran

los casos de uso; un caso de uso tiene

escenarios nombrando sub-casos de uso

Actor

Objetivos

Caso de uso

Escenario

condición

éxito / fracaso

tiene

nombra

(10)

Examinar los objetivos que el sistema apoya

produce buenos requerimientos funcionales

“Colocar una orden”

“Obtener dinero de una cuenta bancaria”

“Obtener una cita”

“Encontrar la alternativa más atractiva”

“Rentar videos”

Los objetivos resumen la función del

(11)

Los usuarios, ejecutivos y desarrolladores

aprecian ver los requerimientos en forma de

objetivos

Usuarios:

“Podemos entender lo que significa”

“Quiere decir que nosotros vamos a ...”

Ejecutivos:

“Haz dejado fuera algo aquí sobre...”

Desarrolladores:

(12)

La narrativa estructurada mantiene visible el

contexto, aclarando el valor para el usuario

Compare los párrafos:

“el sistema de registro de órdenes tiene una interfaz a un sistema EBMS y a una terminal.

Calcula y muestra la suma del costo de los elementos de la orden.

...”

Con narrativa estructurada: “el sistema de registro de órdenes (EBMS o una

persona) identifica el nombre del cliente y los elementos de la orden.

El sistema muestra el costo total de la orden.

(13)

El caso de uso saca el objetivo y escenarios en

conjunto, cada escenario dice cómo se

desarrolla 1 condición

El nombre del caso de uso es el enunciado

del objetivo:

 “Ordenar un producto del catálogo”

Escenario 1: Todo trascurre bien...

Escenario 2: Crédito insuficiente...

Escenario 3: Producto agotado...

El caso de uso es el enunciado del objetivo

más los escenarios.

(14)

Los escenarios recolectados son como las

piernas en los pantalones, una para éxito y otra

para el fracaso

Objetivo: “Colocar una orden”

esc1 esc2 esc6 esc7

...

E

esc3

(Escenarios de éxito) (Esc. de falla)

E

E

F

E

F

E

E

F

F

F

F

Establecer ... crédito ... Inventario

(15)

¿Cómo lograrlo?:

(1) Identificar los actores y sus objetivos

¿Qué computadoras, subsistemas y personas

conducirán el sistema?

 Un Actor es algo o alguien con comportamiento

¿Qué es lo que necesita hacer nuestro

sistema para cada Actor?

 Cada necesidad se muestra como un disparador

para nuestro sistema

Resultado: Una lista de casos de uso, un

boceto del sistema.

(16)

¿Cómo lograrlo?:

(2) Escriba el caso simple: el objetivo se

logra

El escenario principal de éxito, el caso del día

feliz

 El más fácil de leer y entender

 Algo adicional sería una complicación.

Captura la intención y responsabilidad de

cada actor, desde el disparador hasta el logro

del objetivo.

 Dice qué información pasa entre estos extremos  Numérese cada línea

(17)

¿Cómo lograrlo?:

(3) Escriba las condiciones de fracaso

como extensiones

Generalmente, cada paso puede

fracasar.

Anote la condición de fracaso separada,

después del escenario principal de

éxito.

(18)

¿Cómo lograrlo?:

(4) Seguir la falla hasta su final o se

reunión con el flujo básico

Las extensiones recuperables se unen al curso principal.

Las extensiones no recuperables fracasan directamente.

Cada escenario va desde el disparador hasta su cumplimiento.

 Las “extensiones” son meramente una forma de abreviar la

escritura.

 Puede contener enunciados “if”

 Puede escribirse cada escenario desde su principio hasta su

final.

(19)

¿Cómo lograrlo?:

(5) Anote las variaciones de datos

Algunas extensiones son de muy bajo nivel

para ser cubiertas en este momento

 “Reembolsar al Cliente”

 Reembolsar en efectivo, cheque, vale, TDC?

Posponga los casos de variaciones que deben

ser manejados eventualmente, por casos de

uso de nivel inferior.

 Es útil para el seguimiento de requerimientos a

nivel superior.

(20)

Un Actor tiene objetivos; los objetivos nombran

los casos de uso; un caso de uso tiene

escenarios que llaman subcasos de uso

Actor

Objetivo

Caso de uso

Escenario

Producto

condiciones

tiene

nombra

contiene

(21)

Revisión: Hacer que los escenarios corran desde

el evento disparador hasta el logro o abandono

del objetivo

UC 4: “Colocar una orden”

Disparador: la petición (llamada telefónica, EDI, ...).

Fin: orden iniciada o cancelada.

(Caso de uso en formato de “tabla de decisión”)

Escenario todo bien: Escenario

Insuficiente $ Escenario No hay el producto Iniciar orden Rechazar orden y

(22)

El valor de los escenarios de fracaso es detectar

situaciones inusuales, minuciosamente

“¿Qué hacer si no tiene crédito?”

“¿Qué hacer si tiene crédito sobregirado?”

“¿Qué hacer si no podemos entregar la

cantidad pedida?”

(23)

Las fallas recuperables y no recuperables

son parte de los requerimientos.

Situación ideal (s1):

 Buen crédito, elementos en stock -> aceptar

orden

Situación recuperables (s2, s3):

 Bajo crédito -> Cliente frecuente? -> Aceptar  Bajo stock -> Reducir pedido? -> Aceptar

Situaciones no recuperables (s4, s5):

(24)

Escriba los escenarios recuperables y de fracaso

como “extensiones” al escenario ideal

UC4: “Colocar una orden”

 “1. El Cajero identifica al cliente, cada artículo y la

cantidad.

 2. El Sistema acepta y pone en cola de atención

la orden.”

Extensiones:

 “1a. Crédito reducido: Cliente ‘frecuente’...”

 “1b. Crédito reducido y no es Cliente ‘frecuente’:

...”

(25)

Un escenario se refiere a objetivos de bajo

nivel: Subordina casos de uso o funciones

comunes

UC 4: “Colocar una orden”

1. Identificar Cliente (UC 41)

2. ...

UC 41: “Identificar Cliente”

1. Operador proporciona el nombre. 2. El Sistema encuentra posibles

coincidencias cercanas. Extensiones:

2a. No se encontraron

(26)

El caso de uso externo sólo se asegura que el

caso de uso interno tenga éxito, evitando

proliferación

UC 4: “Colocar una orden”

1.

Identificar Cliente

<- (supone éxito)

2. ...

Extensiones:

(27)

Cada paso del escenario es un subobjetivo,

ocultando un caso de uso anidado

Objetivo: “Colocar una orden”

s1 s2

s6 s7 ...

E

s3

(Escenarios de éxito) (Esc. De fracaso)

E

E

F

E

F

..?E

E

F

F

F

F

Establece ... crédito ... inventario

s4

s5

(28)

Cada oración en cada nivel es un objetivo.

Los casos de uso tiene un estilo repetido de una oración

Objetivo: “El Cliente coloca una orden.”

cómo

por qué

Paso: “El Cliente prepaga la orden.”

cómo

por qué

(29)

Los casos de uso estratégicos, las tareas y las

subfunciones se conectan como un grafo

Imagen de velero: Los objetivos del usuario están al nivel del mar.

anunciar ordenar facturar

Definir promoción Referir promoción monitorear promoción Colocar orden crear factura Enviar factura identificar promoción identificar cliente Registrar

usuario identificar producto Objetivo del proyecto

(30)

El nivel de objetivo del caso de uso está más

alto que el nivel de los pasos: va de blanco a

azul, índigo, negro

Objetivo del caso de uso

Objetio de pasos

(azul=objetivo del usuario)

(blanco)

(índigo)

(negro)

Objetivo del caso de uso

(31)

Casos de uso anidados por (nivel, alcance, detalle)

Cuál deberá escribirse?

Nivel: Por qué queremos esté objetivo?

 Proporcionar monto, a Obtener$, para comprar almuerzo.  (“Subfunción” vs “tarea” vs “objetivo estratégico”)

Alcance: A cuál de los límites del sistema nos referimos?

 El Panel es parte del ATM, que es parte del Banco.  (“Interno” vs “Sistema” vs “organización/corporativo”)

Detalle: Describimos intención o detalle de acción?

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

DS N° 012-2014-TR Registro Único de Información sobre accidentes de trabajo, incidentes peligrosos y enfermedades ocupacionales y modificación del art.110º del Reglamento de la Ley

Con el cometido de evaluar la credibilidad del testimonio en casos de violencia de gé- nero, a la vez que la huella psíquica con- trolando una potencial simulación, hemos

4.10.3 Hospital Marina Mazatlán define como política que el profesional Médico de Guardia en turno deberá realizar la idoneidad de la prescripción a partir del perfil

Uno de los primeros temores que hay que vencer para su uso en el aula, y que puede suponer un freno para muchos docentes, es explicar el funcionamiento detallado de esta

Al tiempo se reivindica la propia distinción entre dos usos de “yo”, en la me- dida en que esta permite explicar el fenómeno de la autoconciencia: lo que vuelve singular al

Así parecen mostrarlo varias cuestiones: primero, la evolución de la ayuda al desarrollo, cada vez más alejada de sus objetivos declarados, sean humanitarios o de desarrollo; en

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés