Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de...

42
Casos de uso ‘DameArgo’ LasPelasAntes ClienteColgao Dpto. LSI - Universidad de Granada

Transcript of Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de...

Page 1: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Casos de uso

‘DameArgo’

LasPelasAntes

ClienteColgaoDpto. LSI - Universidad de Granada

Page 2: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Contexto de usoDelimitar a partir del uso:

Por personas, si el sistema es interactivo.Por máquinas, si el sistema controla procesos.Por otros programas, si el sistema coordina y controla aplicaciones.

ClienteColgaoCamata

Tele TahàSyber Pub

‘DameArgo’

‘ArrellenarPelas’

‘ArrellenarGarrafón’

LasPelasAntes

Jefaso

Dpto. LSI - Universidad de Granada

Page 3: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Jacobson (ObjectOry) --> UMLElementos:

Actores.Caso de uso (Especificación del caso de uso).Relaciones (Diagrama de casos de uso).

Casos de uso: (Use cases)

Dpto. LSI - Universidad de Granada

Page 4: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Un caso de uso representa una unidad funcional coherente de un sistema, subsistema o clase.

En un caso de uso uno o más actores interaccionan con el sistema que realiza algunas acciones

Descripción de varias secuencias de acciones, con variantes, que un sistema realiza para obtener un resultado observable útil para algún actor

Casos de uso

Dpto. LSI - Universidad de Granada

Page 5: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

© Pearson Educación, S.A.Todos los derechos reservados

Ejemplo resumido de caso de usoAlquilar artículo

Responsabilidades del sistema

3. Registrar los artículos alquilados.

4. Calcular y mostrar el precio.

6. Autorizar y registrar el pago.

actor

1. El Cliente indica los artículos que desea alquilar.

2. El Cajero registra los artículos.

5. El Cliente paga.

Page 6: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Casos de uso: Actores

Representan un conjunto coherente de papeles que los usuarios de una entidad (sistema, subsistema, clase) pueden desempeñar al interaccionar con la misma.

Cualquier cosa que se comunica (interacciona) con el sistema y que es externo a él.

Dpto. LSI - Universidad de Granada

Page 7: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Casos de uso: Actores

Representan papeles (ROLES) que interpretan personas, periféricos u otros sistemas cuando el sistema está en uso.

Un actor podría desempeñar distintos papeles dependiendo del caso de uso en que participe.

No necesariamente coinciden con USUARIOS. Un usuario puede interpretar distintos roles. Cada uno de ellos será un actor.

Dpto. LSI - Universidad de Granada

Page 8: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Casos de uso: ActoresTIPOS DE ACTORES:

Primarios: interaccionan con el sistema para explotar su funcionalidad; trabajan directa y frecuentemente con el software.

Secundarios: soporte del sistema para que los primarios puedan trabajar.

Iniciadores: no utilizan directamente el sistema pero desencadenan el trabajo de otro actor. (No aparecen en UML pero sí los consideran otros autores)

Dpto. LSI - Universidad de Granada

Page 9: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Comunicación actor -> sistema

Para iniciar el caso de uso (siempre los inicia un actor)Para solicitar información del sistemaPara modificar la información del sistemaPara informar al sistema de que ha ocurrido algo en su entorno que le incumbe

Dpto. LSI - Universidad de Granada

Page 10: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Comunicación sistema (caso uso) -> actor

Para comunicarle que ha sucedido algo, en el sistema, que le conciernePara que le ayude a tomar una decisión necesaria para complir los objetivos del sistemaPara delegar alguna responsabilidad en el actor

Dpto. LSI - Universidad de Granada

Page 11: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Tipos de casos de usoCaso de uso resumido y breve “de alto nivel”:

– Durante la fase de inicio la mayor parte de los casos de uso deben tener esta forma.

– Se deben escribir algunos resúmenes clave de forma detallada.

Caso de uso detallado, elaborado y extenso:

– Durante la fase de elaboración los casos de uso deben escribirse de esta forma.

© Pearson Educación, S.A.Todos los derechos reservados

Page 12: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

© Pearson Educación, S.A.Todos los derechos reservados

Ejemplo resumido de caso de usoLos mismos principios que un caso de uso detallado, pero con pasos y detalles simplificados. Similar a un primer esbozo incompleto de escasa exactitud:– Resulta útil durante los primeros requisitos y

en el análisis de alcance de un caso de uso.Responsabilidades del sistema

3. Registrar los artículos alquilados.

4. Calcular y mostrar el precio.

6. Autorizar y registrar el pago.

Intenciones del actor

1. El Cliente indica los artículos que desea alquilar.

2. El Cajero registra los artículos.

5. El Cliente paga.

Page 13: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Casos de uso: Plantilla de especificaciónCaso de uso: Comprar producto.Actores: Cliente (iniciador), Cajero.Propósito: Captura una venta y su pago.Resumen: Un cliente llega a la caja con productos que desea

comprar. El cajero registra los productos comprados y recibe el pago. Al terminar la transacción, el cliente se marcha con los productos adquiridos.

Curso normal de los eventos:......

Curso alternativo:......

Dpto. LSI - Universidad de Granada

Page 14: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Casos de uso: descripciónModo en que un actor interactúa con el sistema.

Es una narración que describe el rol de un actor como una interacción con el sistema.

Lo más importante de un caso de uso es su descripción

Hay descripciones de media página, algunas de 30, es más habitual que ocupen entre 5 y 15 páginas

Dpto. LSI - Universidad de Granada

Page 15: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Casos de uso: Especificación

Debe responder a las siguientes cuestiones:

¿Cuáles son las principales funciones o tareas realizadas por el actor?

¿Qué información del sistema adquiere, produce o transforma el actor?

¿Deberá el actor informar al sistema de los cambios producidos en el entorno?

¿Qué información del sistema desea el actor?

¿Debe informarse al actor de los cambios inesperados?

Dpto. LSI - Universidad de Granada

Page 16: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Ejemplo detallado de caso de uso

© Pearson Educación, S.A.Todos los derechos reservados

Caso de uso: Alquiler de artículos

Transcurso característico de los eventos

Intenciones del actor Responsabilidad del sistema

1. El Cliente llega a una caja para alquilar películas devídeo (y/o, con menos frecuencia, videojuegos).

2. El Cliente presenta su carné de socio al Cajero, y éste lointroduce en el sistema.

3. Presenta información del socio y del estado de lospréstamos (normalmente no hay préstamos, ni recargospendientes).

4. El Cajero registra la identificación del artículo en elsistema para cada película de vídeo o videojuego.

5. Presenta la lista completa de los artículos alquilados, lasfechas de entrega, la factura total de alquiler y los últimoscargos.

6. El Cajero informa al Cliente del precio total y solicita elpago de la cantidad.

7. El Cliente paga al Cajero con dinero en efectivo o contarjeta de crédito.

8. El Cajero registra el cobro en el sistema. 9. Autoriza el cobro, si se trata de un pago con tarjeta decrédito.

10. Genera un recibo y un informe del préstamo realizado.

11. El Cajero da el recibo y el informe del préstamo alCliente, que abandona el establecimiento llevándose losartículos alquilados.

Eventos alternativos

Paso 7: El Cliente no tiene suficiente dinero en efectivo. Solicitud de un pago con tarjeta de crédito, denegación de la transacción, o deducción de los artículos alquilados hasta la confirmación del pago de la transacción.

Paso 7: El Cliente tiene cargos atrasados y no los pagará. El Cliente debe pagar los cargos pendientes antes de alquilar más artículos, de manera que se realiza el pago completo o se anula la transacción.

Paso 9: Se produce un error al autorizar el pago con tarjeta de crédito, ya sea por falta de crédito o por inactividad del servicio de autorización. Solicitud de pago en efectivo en su lugar.

Page 17: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Caso de uso: Alquilar

Curso normal

Actor Sistema1.El cliente llega al mostrador

con videos para alquilar(excepcionalmentevideojuegos).

2.El cliente presenta sutarjeta de socio y elempleado introduce sunúimero de identificación enel sistema.

3.Presentar información sobreel cliente y el estado dealquileres (normalmente nadaen alquiler, sin penalizacionespendientes) .

4.Para cada video o juego, elempleado graba en elsistema su número deidentificación.

5.Presenta una lista de lostítulos alquilados, fechas dedevolución, precio total delalquiler y cargos por retrasoen la devolución.

6.El empleado informa al

Page 18: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Caso de uso: Alquilar Curso normal (cont.)

Actor Sistema1.2. 3.4. 5.6.El empleado informa al

cliente de la cantidad aabonar y le pide el pago..

7.El cliente paga en efectivo oa crédito.

8.El empleado graba el pagoen el sistema.

9.Autoriza el pago a crédito.10.Genera un recibo.

11.El empleado entrega elrecibo al cliente, que se vacon los artículos alquilados.

Page 19: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Caso de uso: Alquilar (cont)

Cursos alternativos Paso 7. El cliente no tiene suficiente dinero en efectivo. Sugerir

pago a crédito, cancelación de la transacción o eliminar artículoshasta que la cantidad resultante pueda ser abonada.

Paso 7: El cliente tiene recargos por retraso sin pagar y no quiereabonarlos. Antes de hacer nuevos alquileres deben pagarse losrecargos: o paga todo o se cancela la transacción.

Paso 9. Autorización de pago a crédito denegada, por créditoinsuficiente o por fallo del servicio de autorización: pedir pago enefectivo..

Page 20: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Los diagramas de casos de uso muestran las relaciones entre los casos de uso de un sistema y sus actores.

Los diagramas de casos de uso dan son sólo una visión general del modelo de casos de uso

El 90% del contenido del modelo de casos de uso está en las descripciones de los casos

Diagrama de casos de uso

Dpto. LSI - Universidad de Granada

Page 21: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Elementos:ActoresCasos de uso (cu)InterfacesRelacionesPuede aparecer un rectángulo que muestre los límites del sistema

Diagrama de casos de uso

Dpto. LSI - Universidad de Granada

Page 22: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Diagrama de casos de uso

Un caso de uso se representa mediante una elipse que contiene el nombre del caso

Puede representarse mediante un monigote o mediante un rectángulo en que se indique <<actor>>

Dpto. LSI - Universidad de Granada

Page 23: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Diagrama de caso de usoUna forma de interpretar y esclarecer los casos de uso.Se suelen elaborar durante el análisis inicial del caso de uso.

Sistema de informaciónde un videoclub

EncargadoGestionar usuarios

Gestionarinventario

Iniciar sesión

Gestionar socios

Alquilar artículos

Cajero Cliente

Administrador

Pagar recargos

Consultar artículos

Servicio de

autorización

de crédito

”Actor-robot"Agente del sistema

© Pearson Educación, S.A.Todos los derechos reservados

Page 24: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Diagrama de casos de uso

Page 25: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Diagrama de casos de uso (Relaciones)

Entre actores: Generalización—especialización

un actor es más general que otro

si A es una especialización de B, una instancia de A podrá comunicarse con los mismos casos de uso que B

Dpto. LSI - Universidad de Granada

Page 26: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Diagrama de casos de uso (Relaciones)

Entre actores y un casos de uso puede darse asociaciones:

representan la participación del actor en el caso de usoPuede indicarse su multiplicidad

Dpto. LSI - Universidad de Granada

Page 27: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una
Page 28: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Diagrama de casos de uso (Relaciones)

Entre casos de uso pueden darse relaciones:

extend

includes

de generalización

Dpto. LSI - Universidad de Granada

Page 29: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Diagrama de casos de uso (Relaciones)

Inclusión (<<include>>): el caso de uso inicial incluye el comportamiento del caso de uso final (subcasos).

una relación A <<include>> a B significa que una instancia de A también incorporaría el comportamiento especificado en B.

Se añadiría en el lugar indicado en A.Dpto. LSI - Universidad de Granada

Page 30: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Diagrama de casos de uso (Relaciones)

Extensión (<< extend>>): el caso de uso final se puede extender con el comportamiento del caso de uso inicial en un punto concreto del primero.

si A extiende B, significa que una instancia del caso de uso B podría incorporar el comportamiento especificado en A (si se cumplen las condiciones especificadas en la extensión).

El comportamiento se añadiría en el punto de extensión de B, referenciado por la relación extend.

●Dpto. LSI - Universidad de Granada

Page 31: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Diagrama de casos de uso

<<include>><<include>><<include>>

<<extend>>Realizar pedido Solicitar catálogo

Preparar pagoPedir productosRellenar datos de cliente

Vendedor

Supervisor

Determinar crédito

Dpto. LSI - Universidad de Granada

Page 32: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Diagrama de casos de uso

Un caso de uso puede presentar puntos de extensión:Referencias al interior del caso en las que se podrán insertar secuencias de acciones de otros casos.

Dpto. LSI - Universidad de Granada

Page 33: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una
Page 34: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Identificación de casos de usoPrincipales procesos de extremo a extremo, distintos y completos de utilización de un sistema.

No suelen estar formados por un único paso, sino que describen una historia completa.– Éste suele ser un ”error” frecuente.

Ejemplos:– Alquiler de películas de vídeo.– Devolución de películas de vídeo.– Pago de recargos.

© Pearson Educación, S.A.Todos los derechos reservados

Page 35: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Casos de uso concretos y esencialesLos casos de uso esenciales se centran en las intenciones de los actores y en las responsabilidades del sistema, postergando los detalles de la interfaz de usuario (UI):

Los casos de uso concretos (TCC Real) no siguen la misma pauta.

Esencial: “El Titular de la cuenta introduce su datos en el cajero automático”.Real: “El Titular introduce su tarjeta en el lector. El cajero muestra la ventana A. El titular introduce su número de identificación personal (PIN) mediante el teclado numérico, etc.”.A medida que nos desplazamos del análisis al diseño, nos inclinamos más por las descripciones concretas de caso de uso, dejando atrás las esenciales.

© Pearson Educación, S.A.Todos los derechos reservados

Page 36: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Casos de uso: ElaboraciónPrincipos:

Los casos de uso no son algo aislado,

deben situarse en su contexto.

La elaboración de casos de uso no es una actividad analítica, sino sintética

No se trata de analizar y desmenuzar algo que ya existe, sino decrear (junto con los clientes) una concepción común del sistema software a desarrollar

Dpto. LSI - Universidad de Granada

Page 37: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Casos de uso: Elaboración

Algunos consejos:

comunicación realNo complicar las cosasTener en cuenta a los interesadosLo mejor es enemigo de lo buenoEl caso de uso hay que escribirlo

Dpto. LSI - Universidad de Granada

Page 38: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Casos de uso: Elaboración

Deben revisarse cuidadosamente con el usuario.

Deben describir la interacción entre el actor y el software sin ambigüedad.

Se pueden expresar tanto requisitos funcionales como no funcionales.

Expresan el funcionamiento del sistema como un TODO (no de sus partes).

Dpto. LSI - Universidad de Granada

Page 39: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Casos de uso: Elaboración

Se pueden priorizar con una escala de 1 a 10 para desarrollar el sistema incrementalmente.

Las excepciones pueden expresarse como extensiones (<<extend>>).

Aumentan la trazabilidad.

Permiten desarrollar casos de prueba.

Dpto. LSI - Universidad de Granada

Page 40: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

© Pearson Educación, S.A.Todos los derechos reservados

MisceláneaLos casos de uso “CRUD(ALMB)” simples se pueden unir en un caso de uso “Mantener <X>”:– Mantener el inventario.

Comience el nombre de un evento con un verbo.

Comience por la frase 1, que debe especificar “<Actor> lleva a cabo <evento>”.

Todos los sistemas tienen un caso de uso Poner en Marcha y Suspender Operación (quizás sea intrascendente).

Page 41: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Relacionar casos de uso

Al desarrollar un diagrama de casos de uso puede resultar útil (en cuanto a comprensión y simplificación):

Excluir los sub-procesos compartidos.

Utilizar la relación de inclusión <<include>>.

Mostrar el orden de preferencia.

Utilizar la relación de extensión <<extends>>.

© Pearson Educación, S.A.Todos los derechos reservados

Page 42: Casos de uso - analisissanvicente.wikispaces.com20de... · Casos de uso: Plantilla de especificación Caso de uso: Comprar producto. Actores: Cliente ... Diagrama de caso de uso Una

Sistema de información del videoclub

Alquilarartículos

Pagar recargos

Solicitarartículos

Pagar enefectivo

Pagar acrédito

«include»«include»

«include» «include»«extend»

© Pearson Educación, S.A.Todos los derechos reservados