Está en la página 1de 56
Casos de Uso Casos de Uso Casos de Uso
Casos de Uso
Casos de Uso
Casos de Uso
SeSe necesita necesita para para elaborarlos elaborarlos
SeSe necesita
necesita para
para elaborarlos
elaborarlos

Tener al menos un conocimiento parcial de los requerimientos del sistema

Definici Definicióónn
Definici Definicióónn

El caso de uso es un documento que describe la secuencia de eventos de un actor (agente externo) que utiliza el sistema para completar un proceso.

Los casos de uso son historias o casos de utilización de un sistema; no son exactamente los requerimientos ni las especificaciones funcionales, sino que ejemplifican e incluyen tácitamente los requerimientos en las historias que narran.

Casos Casos dede uso uso yy procesos procesos del del dominio dominio
Casos
Casos dede uso
uso yy procesos
procesos del
del dominio
dominio

Un caso de uso describe un proceso, un proceso

de negocios por ejemplo.

 

Un proceso describe, de comienzo a fin, una secuencia de los eventos, de las acciones y de las transacciones que se requieren para producir u obtener algo de valor para una empresa o actor.

Clasificaciones Clasificaciones
Clasificaciones
Clasificaciones

De acuerdo a su presentación

Gráficos Diagramas de Caso de Uso

De texto o narrativos Especificación de Caso de Uso

De acuerdo al nivel de detalle que presentan

Alto nivel

Expandidos

De acuerdo al lugar de utilización

Esencial - Descriptivo del proceso de negocios (Análisis)

Real - Descriptivo del sistema (Diseño)

Casos Casos dede uso uso dede alto alto nivel nivel
Casos
Casos dede uso
uso dede alto
alto nivel
nivel

Describe un proceso muy brevemente, casi siempre en dos o tres enunciados.

Útil durante el examen inicial de requerimientos y del proyecto.

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

Casos Casos dede uso uso dede alto alto nivel nivel Describe un proceso muy brevemente, casi

66

Casos Casos dede uso uso expandidos expandidos
Casos
Casos dede uso
uso expandidos
expandidos

Describe un proceso más a fondo que el de alto nivel.

La diferencia básica consiste en que tiene una sección destinada al curso normal de eventos, que los describe paso a paso.

Durante la fase de especificación de requerimientos, conviene escribir en el formato expandido los casos más importantes y de mayor influencia; en cambio, los menos importantes pueden posponerse hasta el ciclo de desarrollo en el cual van a ser abordados.

Casos Casos dede uso uso expandidos expandidos Describe un proceso más a fondo que el de

77

Ejemplo Ejemplo expandido: expandido: 88
Ejemplo
Ejemplo expandido:
expandido:
88
Explicaci Explicacióónn expandido expandido
Explicaci
Explicacióónn expandido
expandido
Explicaci Explicacióónn expandido expandido 9 9

99

Explicaci Explicacióónn expandido expandido
Explicaci
Explicacióónn expandido
expandido

Casos primarios de uso.

Representan los procesos comunes más importantes.

Casos secundarios de uso.

Representan los procesos menores o raros; por ejemplo, solicitud de surtir el nuevo producto.

Casos opcionales de uso.

Representan procesos que pueden no abordarse.

1010

Explicaci Explicacióónn expandido expandido
Explicaci
Explicacióónn expandido
expandido

Casos esenciales de uso.

Son casos expandidos que se expresan en una forma teórica que contiene poca tecnología y pocos detalles de implementación. (Generalmente ANALISIS)

Casos reales de uso.

Describe concretamente el proceso a partir de su diseño concreto actual, sujeto a las tecnologías específicas de entrada y de salida. A menudo ofrece representaciones de pantallas y explica la interacción con los artefactos. (Generalmente DISEÑO)

1111

Ejemplo: Ejemplo: Esencial/Real Esencial/Real
Ejemplo:
Ejemplo: Esencial/Real
Esencial/Real
Ejemplo: Ejemplo: Esencial/Real Esencial/Real 12 12

1212

Ejemplo: Ejemplo: Caso Caso real real dede uso uso
Ejemplo:
Ejemplo: Caso
Caso real
real dede uso
uso
Ejemplo: Ejemplo: Caso Caso real real dede uso uso 13 13

1313

Ejemplo: Ejemplo: Caso Caso real real dede uso uso
Ejemplo:
Ejemplo: Caso
Caso real
real dede uso
uso
Ejemplo: Ejemplo: Caso Caso real real dede uso uso 14 14

1414

Otros Otros datos datos que que pueden pueden incluir incluir
Otros
Otros datos
datos que
que pueden
pueden incluir
incluir

Datos de proceso:

Precondiciones

Postcondiciones

Datos complementarios que a veces son opcionales pero llegan a ser muy valiosos e indispensable pala los aspectos de administración del proyecto:

Nombre y firma de la persona que elabora.

Nombre y firma de la persona que revisa.

Control de versiones y fechas.

Codificación única por cada caso de uso.

1515

Frontera Frontera
Frontera
Frontera

Definen lo que es el “sistema”.

Las fronteras ordinarias del sistema son:

La frontera hardware/software de un dispositivo o sistema de cómputo.

El departamento de una organización.

La organización entera.

1616

Actor Actor
Actor
Actor

Entidad externa del sistema que de alguna manera participa en la historia del caso de uso.

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.

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.

1717

Tipos Tipos dede Actores Actores
Tipos
Tipos dede Actores
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)

1818

Comunicaci Comunicacióón: n: Actor Actor Sistema Sistema
Comunicaci
Comunicacióón:
n: Actor
Actor Sistema
Sistema

Para iniciar el caso de uso (siempre los

inicia un actor)

Para solicitar información del sistema

Para modificar la información del sistema

Para informar al sistema de que ha ocurrido

algo en su entorno que le incumbe

1919

Comunicaci Comunicacióón: n: Sistema Sistema (Caso (Caso Uso) Uso) Actor Actor
Comunicaci
Comunicacióón:
n: Sistema
Sistema (Caso
(Caso Uso)
Uso) Actor
Actor

Para comunicarle que ha sucedido algo, en

el sistema, que le concierne

Para que le ayude a tomar una decisión

necesaria para cumplir los objetivos del

sistema

Para delegar alguna responsabilidad en el

actor

2020

Invariantes Invariantes
Invariantes
Invariantes

Afirmación que permanece cierta durante

todos los cálculos designados

Ej: activosLiquidos saldoCheques + saldoAhorros

Las invariantes de clase son requerimientos

efectivos sobre los objetos de la clase y se

expresan en términos de los atributos de la

clase

2121

Precondiciones Precondiciones yy poscondiciones poscondiciones
Precondiciones
Precondiciones yy poscondiciones
poscondiciones

Precondiciones

especifica la relación entre las variables y las

constantes que se supone existen antes de la

ejecución de la función

Poscondiciones

Especifica la relación entre las variables y las

constantes que se supone existen después de

la ejecución de la función

2222

Ejemplo Ejemplo ……
Ejemplo
Ejemplo ……

Invariante de retiro (cantidadRetiroP)

fondoDisponible = max (0, saldo)

Precondición:

cantidadRetiro 0 AND cantidadRetiro saldo

Poscondición:

saldo = saldo - cantidadRetiro

2323

Diagramas Diagramas dede Casos Casos dede Uso Uso
Diagramas
Diagramas dede Casos
Casos dede Uso
Uso

Un diagrama de casos de uso está diseñado para mostrar las distintas actividades o procesos que se llevan a cabo dentro de una solución particular.

Un diagrama de casos de uso muestra el alcance y límite del sistema, así como también muestra los procesos y quien interactúa con ellos.

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

2424

Sirven Sirven para: para:
Sirven
Sirven para:
para:

Mostrar el comportamiento

Mostrar el alcance

Mostrar las interacciones con entidades

externas al sistema.

2525

Diagrama Diagrama dede Casos Casos dede uso uso
Diagrama
Diagrama dede Casos
Casos dede uso
uso

Una forma de interpretar y esclarecer los casos de uso.

Se suelen elaborar durante el análisis inicial del caso de uso.

Diagrama Diagrama dede Casos Casos dede uso uso Una forma de interpretar y esclarecer los casos

2626

Elementos Elementos del del Diagrama Diagrama
Elementos
Elementos del
del Diagrama
Diagrama

Actores

Elementos Elementos del del Diagrama Diagrama Actores Entidades externas al sistema que tiene contacto con el
Elementos Elementos del del Diagrama Diagrama Actores Entidades externas al sistema que tiene contacto con el

Entidades externas al sistema que tiene contacto con el

Elementos Elementos del del Diagrama Diagrama Actores Entidades externas al sistema que tiene contacto con el

Casos de uso (cu)

Proceso completo que se lleva a cabo dentro del sistema, NO es una simple operación.

Relaciones

Indican las interacciones entre los actores y los casos de uso

Elementos Elementos del del Diagrama Diagrama Actores Entidades externas al sistema que tiene contacto con el

Puede aparecer un rectángulo que muestre los límites del sistema (Frontera)

2727

Granulidad Granulidad dede los los casos casos dede uso uso
Granulidad
Granulidad dede los
los casos
casos dede uso
uso

Es común encontrar procesos que son muy complejos y que pueden ser fragmentados en casos de uso más pequeños, pero siempre teniendo en cuenta que cada proceso interno, tiene que ser un proceso completo y con significado para el usuario.

Generalmente se fragmenta a los casos de uso en otros más pequeños cuando la funcionalidad del primero es demasiado compleja como para tratarlo como un solo proceso y conviene mejor dividirlo.

Ejemplo:

Mantenimiento de Inventario

Alta de producto

Baja de producto

Cambiar producto

2828

Generalizaci Generalizacióónn -- Especializaci Especializacióónn
Generalizaci
Generalizacióónn -- Especializaci
Especializacióónn

Relaciones

Relaciones entre

entre actores.

actores.

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

Generalizaci Generalizacióónn -- Especializaci Especializacióónn Relaciones entre actores. Un actor es más general que otro Si

2929

Asociaciones Asociaciones
Asociaciones
Asociaciones

Entre

Entre unun actor

actor yy unun casos

casos dede uso

uso..

Representan la participación del actor en el caso de uso.

Puede indicarse su multiplicidad.

Asociaciones Asociaciones Entre un un actor y y un un casos de de uso Representan la

3030

Estereotipos Estereotipos
Estereotipos
Estereotipos

Relaciones

Relaciones entre

entre casos

casos dede uso

uso

Uso

Extensión

Inclusión

Permiten extender el significado básico de un

elemento.

Se denotan con los signos << >> para

rápidamente dar a entender que se trata de uno

de ellos.

3131

Relaci Relacióón: n: Uso Uso
Relaci
Relacióón:
n:
Uso
Uso

<<use>>

Indica que una parte del caso de uso base es utilizado, además, por otro caso de uso.

El caso de uso base usa la funcionalidad del otro caso de uso, y la funcionalidad del segundo es una funcionalidad compartida.

Una relación A <<use>> 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.

Relaci Relacióón: n: Uso Uso <<use>> Indica que una parte del caso de uso base es

3232

Relaci Relacióón: n: Inclusi Inclusióónn
Relaci
Relacióón:
n: Inclusi
Inclusióónn

<<include>>

Indica que un caso de uso incluye dentro de su funcionalidad a otro caso de uso.

El caso de uso inicial incluye el comportamiento del segundo caso de uso (subcaso), solamente que, para no complicar demasiado el primero, cierta funcionalidad es separada para poder así, manipular de una forma más eficiente cada uno de los casos de uso.

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.

Relaci Relacióón: n: Inclusi Inclusióónn <<include>> Indica que un caso de uso incluye dentro de su

3333

Relaci Relacióón: n: Extensi Extensióónn
Relaci
Relacióón:
n: Extensi
Extensióónn

<< extend>>

Cuando un caso de uso extiende a otro caso de uso le agrega pasos o actividades adicionales, pero el caso de uso base está completo aún si no existiera el que lo extiende.

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

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

Relaci Relacióón: n: Extensi Extensióónn << extend>> Cuando un caso de uso extiende a otro caso

3434

Ejemplo: Ejemplo: Aplicaci Aplicacióónn Relaciones Relaciones
Ejemplo:
Ejemplo: Aplicaci
Aplicacióónn Relaciones
Relaciones
Ejemplo: Ejemplo: Aplicaci Aplicacióónn Relaciones Relaciones 35 35

3535

Ejemplo: Ejemplo: Aplicaci Aplicacióónn dede relaciones relaciones
Ejemplo:
Ejemplo: Aplicaci
Aplicacióónn dede relaciones
relaciones
<<include>> Caso de uso base <<extend>> Hacer Pedido Solicitar Catálogo Cliente Caso de uso extensión <<include>>
<<include>>
Caso de uso base
<<extend>>
Hacer Pedido
Solicitar Catálogo
Cliente
Caso de uso extensión
<<include>>
Siministro de
Datos de Clientes
Solicitar Catálogo
Pagos
Caso de uso padre
Pedir Producto
Caso de uso de
inclusión
<<include>>
Caso de uso hijo
Pagar al Contado
Acordar Crédito

3636

Ejemplo: Ejemplo: Aplicaci Aplicacióónn dede relaciones relaciones
Ejemplo:
Ejemplo: Aplicaci
Aplicacióónn dede relaciones
relaciones
Ejemplo: Ejemplo: Aplicaci Aplicacióónn dede relaciones relaciones 37 37

3737

Ejemplo Ejemplo
Ejemplo
Ejemplo
Ejemplo Ejemplo 38 38

3838

Ejemplo Ejemplo diagrama diagrama caso caso dede uso uso TPDV Comprar productos Registra los datos Cajero
Ejemplo Ejemplo diagrama diagrama caso caso dede uso uso
Ejemplo
Ejemplo diagrama
diagrama caso
caso dede uso
uso
TPDV
TPDV
Comprar productos Registra los datos Cajero Entrega el cambio de los productos comprados Cliente
Comprar productos
Registra los datos
Cajero
Entrega el cambio de
los productos comprados
Cliente
Tienda Comprar productos
Tienda
Comprar productos
Entrega el cambio de los productos comprados Cliente
Entrega el cambio de
los productos comprados
Cliente

3939

Proceso Proceso dede Elaboraci Elaboracióónn
Proceso
Proceso dede Elaboraci
Elaboracióónn
  • 1. Elaborar una lista de funcionalidades.

  • 2. Establecer las prioridades de las funcionalidades.

  • 3. Elaborar los casos de uso de alto nivel.

  • 4. Elaborar los casos de uso expandidos.

  • 5. Repetir proceso hasta tener todos los casos de uso expandidos.

4040

Identificaci Identificacióónn dede casos casos dede uso uso
Identificaci
Identificacióónn dede casos
casos dede uso
uso

Los siguientes pasos de la identificación de

los casos de uso requieren una lluvia de

ideas y revisar los documentos actuales

sobre la especificación de los

requerimientos.

4141

Identificaci Identificacióónn dede casos casos dede uso uso
Identificaci
Identificacióónn dede casos
casos dede uso
uso

Un método con que se identifican los casos

de uso se basa en los actores.

  • 1. Se identifican los actores relacionados con un sistema

o empresa.

  • 2. En cada actor se identifican los procesos que inician o

en que participan.

Un segundo método de identificación de los

casos de uso se basa en eventos.

  • 1. Se identifican los eventos externos a los que el sistema ha de responder.

  • 2. Se relacionan los eventos con los actores y con los casos de uso.

4242

Identificaci Identificacióónn dede casos casos dede uso uso
Identificaci
Identificacióónn dede casos
casos dede uso
uso

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

4343

Elaboraci Elaboracióónn
Elaboraci
Elaboracióónn

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?

4444

Elaboraci Elaboracióónn
Elaboraci
Elaboracióónn

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

4545

Elaboraci Elaboracióónn
Elaboraci
Elaboracióónn

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.

4646

Principios Principios
Principios
Principios

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 de crear (junto con los

clientes) una concepción común del sistema

software a desarrollar

4747

Recomendaciones: Recomendaciones: Casos Casos dede Uso Uso
Recomendaciones:
Recomendaciones:
Casos
Casos dede Uso
Uso

Los casos de uso simples se pueden unir en

un caso de uso más general

Comience el nombre de un evento con un

verbo.

Todos los sistemas tienen un caso de uso

Poner en Marcha y Suspender Operación

(quizás sea intrascendente).

4848

Recomendaciones: Recomendaciones: Curso Curso Normal Normal dede Eventos Eventos
Recomendaciones:
Recomendaciones:
Curso
Curso Normal
Normal dede Eventos
Eventos

Comience la frase especificando

“<Actor> lleva a cabo <evento>”.

Numere todas las acciones

Cada acción debe ser individual, no incluir varias

acciones en una misma.

No incluya situaciones alternas.

Los verbos de las acciones son en tiempo

presente.

4949

Recomendaciones: Recomendaciones: Cursos Cursos Alternos Alternos
Recomendaciones:
Recomendaciones:
Cursos
Cursos Alternos
Alternos

Identifique adecuadamente de que línea proviene

el curso alterno

Línea 5, El cliente no tiene suficiente efectivo. Se cancela el caso de uso

5.1 El cliente no tiene suficiente efectivo. Se cancela el caso de uso

Indique si la alternativa corrige el problema para

continuar o cancela el caso de uso.

Línea 5, El cliente no tiene suficiente efectivo. Se cancela el caso de uso

Línea 5, El cliente realiza el pago de su deuda. Continua el caso de uso

Cada curso alterno debe ser individual, no incluir

varias acciones en uno mismo.

5050

Casos Casos dede Uso Uso relacionados relacionados
Casos
Casos dede Uso
Uso relacionados
relacionados

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

5151

Algunos Algunos consejos consejos
Algunos
Algunos consejos
consejos

Comunicación real

No complicar las cosas

Tener en cuenta a los interesados

Lo mejor es enemigo de lo bueno

El caso de uso hay que escribirlo

5252

Puntos Puntos dede control: control: EnEn lala realizaci realizacióónn dede Caso Caso dede uso uso
Puntos
Puntos dede control:
control:
EnEn lala realizaci
realizacióónn dede Caso
Caso dede uso
uso

La realización de caso de uso realiza completamente los subflujos seleccionados del caso de uso; no hay ningún comportamiento ausente.

Todos los requerimientos adicionales en el caso de uso han sido tratados.

Todo el comportamiento requerido ha sido inequívocamente distribuido entre los elementos del modelo participantes en la realización de caso de uso.

Todos los casos excepcionales han sido tratados.

El comportamiento ha sido distribuido a los elementos correctos del modelo, teniendo las responsabilidades en cuenta.

Donde varios diagramas ilustran la realización de caso de uso, el papel de cada uno está claro, y los diagramas son consecuentes el uno con el otro en su presentación del comportamiento común.

5353

Datos Datos relevantes relevantes
Datos
Datos relevantes
relevantes

Los casos de uso son parte medular en el

proceso de la ingeniería del software y

permiten al equipo de desarrollo una

comprensión amplia de los procesos de

negocio, debido a lo anterior su elaboración

requiere una adecuada administración y

validación.

5454

Bibliograf Bibliografííaa
Bibliograf
Bibliografííaa

UML y Patrones

Introducción al análisis y diseño orientado a objetos.

Graig Larman

Prentice Hall, Pearson Education

Primera Edición

El Lenguaje Unificado de Modelado

Manual de Referencia.

James Rumbaugh, Ivar Jacobson, Grady Booch

Addison Wesley

Primera Edición

5555

Pr Prááctica ctica
Pr
Prááctica
ctica
  • 1. Elaborar CU

2.

Problema:

  • 1. NO está todo el proceso Asumir

5656