Está en la página 1de 38

Casos de Uso

Se utilizan para especificar el comportamiento deseado de un

sistema o subsistema
Describe el conjunto de secuencias de acciones que lleva a cabo el sistema

para producir un resultado para un actor. Capturan el comportamiento deseado del sistema, sin especificar como se lleva a cabo dicho comportamiento
Principalmente son un medio de comunicacin para que los

desarrolladores y los usuarios lleguen a un consenso en la especificacin Ayudan a validar el sistema durante el desarrollo

Casos de Uso
Los casos de uso son principalmente descripciones textuales La notacin grfica de UML (diagrama de casos de uso) solo

muestra los nombres y sus relaciones Al ser textuales, son informales y no son buenas para razonar acerca del sistema
Es mejor utilizar los diagramas de interaccin resultantes de su

formalizacin

Casos de Uso
Formas: Narrativa, Escenario, Conversacin.

Alternativas: diagramas de interaccin, diagramas de actividades.


Fases: 1.El actor enva al sistema una peticin y los datos

necesarios para llevarla a cabo 2.El sistema valida la peticin y los datos 3.El sistema altera su estado interno 4.El sistema devuelve el resultado al actor

Casos de Uso
Un caso de uso es una descripcin de las

posibles secuencias de interaccin entre el sistema y actores externos en relacin a el objetivo de un actor particular

Casossede Uso a muy distintos niveles de granularidad Los casos de uso pueden detallar
Se suelen distinguir los siguientes niveles: Nivel de resumen: muestran ciclo de vida de la secuencia de objetivos

directamente relacionadas.
detallados

Se pueden considerar como una tabla de contenidos de casos de uso de niveles ms

Nivel de usuario: describen el objetivo del actor cuando intenta llevar a

cabo una accin sobre el sistema Nivel de subfuncin: son casos de uso requeridos para llevar a cabo los de usuario, con un mayor nivel de detalle
Pueden ser considerados prcticamente como manuales de operacin

Los casos de uso afectan a diferentes porciones del sistema

Casos de Uso

en cuestin. Este es su mbito.


Se suelen distinguir los siguientes mbitos: Organizacin (caja negra) Organizacin (caja blanca) Sistema (caja negra) Sistema (caja blanca) componente

El papel de los casos de uso en la ingeniera de requisitos


Los casos de uso: Ayudan a razonar y a comprender el sistema Proporcionan un lenguaje comn Facilitan la traduccin de niveles Constituyen un contrato Representan requisitos No representan todos los requisitos (interfaces, formatos, ...) Constituyen un elemento de enlace con otros requisitos Sirven para la prueba del sistema
7

Elementos bsicos en los Casos de Uso


Un actor representa un conjunto coherente de roles que

los usuarios de los casos de uso juegan al interactuar con ellos


Normalmente representan a una persona, un dispositivo

hardware u otro sistema al interactuar con el nuestro


Se pueden definir categoras generales de actores y

especializarlos a travs de la relaciones de generalizacin Los actores se conectan a los casos de uso mediante asociaciones.

Elementos bsicos en los Casos de Uso

Diagramas de Casos de Uso


Se pueden organizar en paquetes

Se pueden especificar relaciones entre ellos: generalizacin extensin inclusin Estas relaciones se usan para: Factorizar el comportamiento comn extrayendo un comportamiento de los casos en que se

incluye

Factorizar variantes

poniendo ese comportamiento en otros casos de uso

que lo extienden

10

Diagramas de Casos de Uso


Generalizacin El caso de uso hijo hereda el comportamiento y el significado del caso de uso padre El hijo puede aadir o redefinir el comportamiento del padre El hijo se puede colocar en cualquier lugar en que aparezca el padre
Inclusin El caso de uso base incorpora explcitamente el comportamiento del caso de uso incluido El caso de uso incluido forma parte de otro ms complejo Se utiliza para evitar describir flujos repetidos

11

Diagramas de Casos de Uso


logout <<include>> <<include>> acciones instructor sesion instructor <<include>> cambiar estado modificar parmetros

login Instructor

controlCI

control backtrack

sesin alumno

12

Diagramas de Casos de Uso


Extensin
Se utilizan para modelar la parte de un caso de uso que puede ser

vista como un comportamiento opcional Tambin se pueden utilizar para modelar un subflujo separado que solo se ejecuta bajo ciertas condiciones
Un ejemplo es el modelado de varios flujos que se puedan dar en un punto

dado por la interaccin explicita con un actor

13

Diagramas de Casos de Uso


identificacin <<include>>

Alumno

sesion alumno

<<include>>

<<extend>> Accin errnea

Acciones de Alumno

Peticin de valores

Activar vble dinmica

Todos los valores

Valores cambiados

Seleccin

14

Diagramas de Casos de Uso


Nacional <<includes>> Marcar Nmero

Llamante

Realizar Llamada

<<extends>>

Internacional

<<extends>>
<<extends>>

Numero no existe

<<extends>> Numero Incorrecto

Comunicando

Llamado

Recibir Llamada

<<extends>>

No hay linea

15

Llamada no atendida

Diagramas de Casos de Uso


Identificar Cliente

Identificar Cliente y Cuenta en Cajero Automtico


<<includes>> <<includes>>

<<includes>>

Ingresar Dinero <<includes>>

Transferir Dinero

Obtener un Balance

<<includes>> Sacar Dinero

<<includes>> <<includes>>

Correo

Ciclo de Vida Cuenta

16

Cajero

Cliente

Cajero Automtico

Ejemplo Clasificacin Casos de Uso


Niveles:
Resumen Ciclo de vida Cuenta Usuario Ingresar Dinero Transferir Dinero Obtener un Balance Sacar Dinero Subfuncin Identificar Cliente Identificar Ciente y Cuenta en Cajero Automtico

17

Cuestionario de Casos de Uso


Se utilizan para dar un formato uniforme a la explicacin

textual de los casos de usocaso de uso Caso de uso: Nombre del


Este es el objetivo del caso de uso descrito con una frase corta mbito: La caja negra considerada Nivel: Uno de los tres niveles anteriores Contexto de uso: Una frase ms larga con la descripcin del objetivo y las condiciones normales de desarrollo Actor Principal: Un nombre de rol del actor principal o su descripcin Escenario de xito Principal: ... Extensiones: ...

18

Cuestionario de Casos de Uso


Escenario de xito Principal: Nmero_de_Paso "." descripcin_de_accin Se numeran todos los pasos del escenario desde el disparo al objetivo Se pueden anidar, utilizando numeracin de Dewey (3.1.2) No se deben incluir sentencias condicionales; las condiciones y alternativas se muestran en la parte de extensin Extensiones: ...

19

Cuestionario de Casos de Uso


Extensiones: Condicin especial ":" Descripcin de accin | sub-caso de uso

Siempre se refiere a un paso del escenario principal Una extensin o sustituye al paso principal o es una alternativa.

La notacin utilizada es: Sustitucin: 2 || Alternativa: 2a

Una alternativa puede corresponder a un comportamiento

regular, excepcional recuperable o errneo no recuperable

20

Ejemplo
Caso de uso: Ciclo de Vida de Cuenta mbito: El sistema completo Nivel: Resumen Contexto de uso: Para interactuar con el sistema el cliente es representado por un cajero o por cajero automtico Actor Principal: Cliente

21

Ejemplo
Escenario de xito Principal: 1. Un cliente informa al cajero de que quiere abrir una cuenta 2. En representacin del cliente el cajero inicia la apertura de la cuenta en el sistema 3. El sistema solicita al cajero la siguiente informacin: Nombre Direccin DNI Tipo de Cuenta 4. El sistema valida la informacin y crea la cuenta del cliente
22

Ejemplo Principal: Escenario de xito


Los pasos del 5 al 8 son opcionales, individualmente repetibles y pueden ocurrir en cualquier orden
5. 6. 7. 8. 9.

10.
11. 12.
23

El cliente ingresa dinero sub-caso de uso El cliente obtienen un balance sub-caso de uso El cliente saca dinero sub-caso de uso El cliente transfiere dinero sub-caso de uso Este paso se repite indefinidamente una vez al mes desde la fecha de apertura hasta fecha de cierre El Sistema enva por correo ordinario la informacin de su cuenta al cliente El cajero, en representacin del cliente, inicia el cierre de la cuenta El sistema elimina la cuenta El sistema envia un balance con los ltimos movimientos

Ejemplo
Extensiones: 4a. El sistema informa que el cliente ya tiene una cuenta de este tipo abierta 4a.1. El sistema solicita al cajero que confirme la creacin de la cuenta 4a.2a. El cajero confirma la creacin y el caso de uso continua por el paso 3 4a.2b. El cliente decide no crearla y el caso de uso finaliza sin ningn efecto sobre el estado ........

24

Fallos Comunes
1. Lmites 2. Punto de vista 3. Actores 4. Demasiados CU 5. Telas de araa

6. Especificaciones laaargas
7. Especificaciones confusas 8. Descripcin funcional errnea

9. Ininteligibles
10. Inacabados
25

Actor: Algo o alguien con un comportamiento. Parte: Algo o alguien con un inters en el comportamiento del sistema.

Glosario

Actor principal: Parte que inicia una interaccin con el sistema para lograr

un objetivo. Caso de uso: Contrato acerca del comportamiento del sistema. mbito: Identifica el sistema que se trata. Precondiciones y garantas: Lo que debe ser cierto antes y despus de la ejecucin del caso de uso. Escenario principal de xito: El caso en que todo sale bien. Extensiones: Variantes del EPE. Referencias: Para referenciar un caso de uso en otro se subraya.

26

Los cuatro pasos en la especificacin de un caso de uso


1. Actores y objetivos: listar, revisar, priorizar y asignar.
2. MSS/EPE: esquematizar y revisar. 3. Condiciones de fallo: completar EPE, Brainstorm.

Primero identificar, despus manejar. 4. Manejo de fallos: respuestas. Trabajo sucio y sorpresas. Conviene calentar con una descripcin narrativa

27

Actores y partes
Los casos de uso constituyen un contrato de funcionalidad SUD (system under discussion) /SEC (sistema en cuestin) Los actores tienen objetivos Las partes tienen intereses Cada lnea o frase de un caso de uso describe una accin

relevante para los intereses de una parte Una lnea describe: Una interaccin entre actores Lo que el sistema debe hacer para proteger los intereses de las partes
28

Niveles: Las pulgas de las pulgas Fallo: Los objetivos pueden no cumplirse Escenario: Una interaccin compuesta (unas circunstancias

Actores y partes

determinadas y un resultado) Un caso de uso agrupa todos los escenarios (xito y fallo) La metfora de los pantalones Un escenario puede contener subcasos de uso (pasos). Un paso de un escenario no depende de qu evolucin del subcaso de uso se dio sino de su resultado.

29

Actores y partes El actor principal y los representantes


Importancia del actor principal

Actores Objetivos
Actores y Roles Tabla actores/roles Introduccin Generalizacin (UML) Descripcin de actores (nombre, alias, perfil) Actores de Soporte

SEC
Actores Internos y Cajas Blancas
30

Niveles en los objetivos del usuario


Usuario Niveles en los CU de usuario Resumen Contexto, ciclos de vida, tablas de contenido Los casos del nivel ms externo 1. Comenzar con un objetivo de usuario 2. Averiguar a qu actor A sirve este objetivo 3. Encontrar el mbito S ms externo al cual no pertenece A (compaa, sistema informtico en conjunto, sistema informtico en desarrollo) 4. Localizar todos los CU de A para S 5. Crear el CU de resumen (de A para S) 6. Escribir este CU

31

Niveles en los objetivos del usuario


Subfuncin Slo deben incluirse por legibilidad Por muy bajo que sea su nivel el actor principal debe seguir siendo externo Puntos importantes Dedicar el mayor esfuerzo a los CU de usuario Crear algunos CU de resumen para poner en contexto los de usuario No enfadarse porque un requisito no llegue a CU

32

Usar el nivel adecuado


Iterar: Qu desea realmente el actor principal? Por qu hace esto? Usar de 3 a 8(10) pasos (si tiene ms es seguro que mejorar con la

reduccin) Eliminar detalles del IU Subir el nivel Unir pasos Eliminar errores (continuar)

Subir el nivel: Por qu? Bajar el nivel: Cmo?


33

Precondiciones, garantas y disparos


Precondicin: lo que debe ser cierto antes de que un CU se ejecute Debe ser necesaria SIEMPRE Puede ser Otro CU Una condicin que se consigue en un paso de otro CU

Una condicin externa


Garanta: lo que es cierto una vez ejecutado el caso de uso Mnimas: se producen en cualquier caso (comprobar con las partes) De xito: se producen slo para los escenarios de xito (Qu

fastidiara a tal parte que sucediese (o no) en un caso de xito?)

34

Precondiciones, garantas y disparos


Disparo: Evento que inicia el CU

Ejercicio:
Escribir las precondiciones, garantas y disparos del CU de sacar

dinero de un Caj. Aut.


Precondiciones: El cliente tiene una cuenta y una tarjeta vlidas Garantas:
Mnimas: El cajero informa del saldo disponible El cajero produce un recibo (?) De xito: El cajero entrega el dinero La cuenta se actualiza

Disparo:
35

El cliente introduce su tarjeta

Escenarios y pasos. Extensiones


MSS / EPE

Condiciones de ejecucin (precondiciones y disparo)


Objetivo Conjunto de pasos o acciones

Condicin de fin
Conjunto de alternativas (extensiones) Cuerpo de un escenario

Cada paso describe:


Una interaccin entre dos actores (int. - ext. ?) Validacin Cambio de estado interno
36

Escenarios y pasos. Extensiones


Extensiones: alternativas al EPE. Condicin (deteccin) + Pasos Los requisitos ms interesantes estn en las extensiones Primero listar, despus manejar Considerar: Escenarios de xito alternativos El actor principal acta de forma incorrecta El actor principal no acta Cada paso que contenga el sistema valida Respuesta incorrecta o nula de un actor de soporte Fallos internos que deban detectarse y gestionarse Fallos internos inesperados que deban tratarse Fallos de eficiencia (velocidad) que deban detectarse

37

Tenemos todos los actores principales y todos los objetivos de nivel de

Cundo acabamos?

38

usuario Tenemos todos los disparos (como disparos de CU o como extensiones) Hemos escrito todos los CU de usuario y los de resumen y subfuncin que los soportan Cada CU est descrito de forma que: Los clientes reconocen que pueden saber si se cumplen Los usuarios reconocen que son los que queran (o con los que se conforman) Los desarrolladores reconocen que pueden proporcionar esa funcionalidad. Los clientes reconocen que el conjunto de CU es el que queran