Está en la página 1de 33

Diagrama de Casos de Uso

Diagrama de Casos de Uso


(DCU)
Características del DCU
Componentes de un DCU
Relaciones entre Casos de Uso
Guía para la construcción de DCU

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 43


Características de un DCU
Forma parte de lenguaje visual de modelado
UML (Unified Modeling Language) 2.0.
Modelo desarrollado por Ivar Jacobson a
mediados de los años 80, divulgado en 1992.
Asume descomposición centrada en actores.
DCU es presentado a continuación desde la
perspectiva de procesos de negocio, no como
sistema informático.

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 44


...Características del DCU
Indica qué hace el sistema sin indicar cómo lo
hace.
Puede entenderse como el establecimiento de un
contrato entre el sistema y los actores.
Describe las posibles “modalidades de
utilización" o casos de uso (CU) del sistema por
parte de actores externos.
Cada CU del DCU entrega un valor específico
para un actor individual del sistema.

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 45


Componentes de un DCU
El DCU es un grafo etiquetado con los
siguientes componentes:
z sistema
z actor Sistema Banco

z caso de uso Girar dinero

Ejemplo: Depositar dinero

Cliente Banco Transferir entre


cuentas

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 46


Sistema
Conjunto explícitamente delimitado de CU
internos proveídos a los actores externos.
Representa el límite entre lo que forma parte del
sistema (los CU) y lo que es externo al mismo
(los actores).
Representación: Sistema
Sistema Banco
Banco

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 47


Actor
Representa un papel o rol que algo o alguien del
entorno desempeña con relación al sistema.
Corresponde a una clase o conjunto de actores
reales (instancias) que “viven” fuera del sistema e
interactúan con él.
Representaciones:
«actor»
ClienteBanco

Cliente Banco

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 48


...Actor
Interactúa de alguna forma con el sistema,
pudiendo originar o no la interacción.
Puede ser desempeñado por:
z una persona o cargo
z un sistema informático
z una sección o departamento
z una ocurrencia temporal
Por ejemplo: es posible que una misma persona
pueda desempeñar el rol de diferentes actores
(¿por qué?).

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 49


Clasificación de Actores
Según la iniciación de la interacción de un CU:
z activo:
activo actor que inicia la interacción
z pasivo:
pasivo cualquier otro actor que interactúe
Según el objetivo de la interacción en un CU:
z primario o principal:
principal actor beneficiario del valor del
CU
z secundario:
secundario cualquier otro actor que interactúe
Clasificaciones son por CU. Por ejemplo: un actor
puede ser principal o activo con respecto a un
CU y ser secundario o pasivo con respecto a
otro.
Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 50
...Clasificación de Actores
Se puede tener un actor pasivo principal en
un CU, cuando el actor activo secundario
asociado es:
z un representante del actor principal: p. ej. un
vendedor en representación del cliente, o
z un instante del tiempo: p. ej. el último día hábil
del mes, o
z un evento cualquiera: p. ej. alarma de estado
crítico de un paciente.
Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 51
...Clasificación de Actores
Según la categoría de la • Representación:
interacción:
z general:
general abstracción de actores
especializados en un rol general
común Empleado

z especializado:
especializado rol particular de
un actor general
Actor especializado hereda los
CU del actor general, pudiendo
agregar otros CU.
Conjunto de actores general y Vendedor Vendedor Inspector de
especializado(s) configuran seguros casa seguros auto terreno

una jerarquía de actores.

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 52


Representación de actores
En un DCU, puede optarse por representar
a los actores:
z principales exclusivamente
z principales, a la izquierda del sistema, y a
secundarios, a la derecha del sistema
Decisión depende de la complejidad del
DCU, conveniencia del modelador y
estándares de modelamiento, entre otros.

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 53


Caso de Uso (CU)
Conjunto de actividades de un sistema que
proporciona un valor identificable a un actor
principal.
Existe una dependencia mutua entre el CU
y actor principal (¿por qué?).
El valor que se ofrece motiva al actor
principal a usar el sistema por medio del
CU: explica por qué el actor principal
desearía usar el CU.
Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 54
…CU
El valor debe ser enunciado claramente.
Ejemplo: CU Solicitar crédito ¿por qué el
actor principal desearía Solicitar crédito?
El valor debe ser específico, no utilitario
para otros fines, ni parcial, sino que con
sentido en si mismo. Contraejemplos:
z Actualizar datos de clientes
z Ingresar permiso
z Hacer uso del sistema

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 55


...CU
Representación con nombre significativo en la
forma verbo + objeto:

Solicitar crédito

Idealmente el nombre debe ser desde la


perspectiva del actor principal.
Tiene una descripción asociada, que puede ser
textual o mediante otro tipo de diagrama.
Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 56
...CU
Corresponde a una visión externa del sistema en
la forma de una caja negra.
Posee un único actor principal a quien le genera
valor.
Un escenario es una realización de un CU, donde
instancias de actores intercambian datos y
eventos específicos con el sistema.
Un CU se dice que es instanciado cada vez que
un actor activo inicia la interacción, creándose así
un escenario.

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 57


Relaciones entre los
componentes del DCU
Existen relaciones entre:
z actores: jerarquía de actores (ya vista)
z actores y CU: asociación de comunicación

z CU: dependencias de inclusión y extensión

z Otra forma de relacionar CU es por


generalización, pero es poco práctico para
procesos de negocio.

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 58


Relaciones entre actores y CU
Asociación de comunicación entre actor y CU:
z muestra una vía de comunicación entre el CU y el(los)
actor(es)
z permite el intercambio de datos y eventos
Ejemplos:
Hacer pedido

Girar
Girar dinero
dinero
Cliente

Depositar
Depositar dinero
dinero

Cliente
Cliente Banco
Banco Transferir
Transferir entre
entre Consultar
cuentas
cuentas informe de
ventas

Vendedor

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 59


Relaciones entre CU
Con relación a un CU tomado como base:
z inclusión: CU incluido muestra parte de la
funcionalidad de uno o más CU base
z extensión: CU extensor agrega funcionalidad
condicionada a un CU base
Estas relaciones son más evidentes
analizando el DCU conjuntamente con su
descripción.

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 60


Inclusión de CU
Idea inicial: evitar la representación redundante de
funcionalidad.
Existe cuando se extrae una porción de funcionalidad de
un CU base y se representa aparte en un CU incluido.
Se entiende que el CU incluido forma parte u ocurre
dentro del CU base.
Antes llamada relación «usa» («uses» en inglés).
Representación («include» en inglés):

«incluye» «incluye»
CU base 1 CU incluido CU base 2

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 61


...Inclusión de CU
Ejemplo:
«incluye» Notificar
«incluye»
asegurado
Renovar
Vender póliza
póliza de
de seguros
seguros
Calcular «incluye»
«incluye»
prima

CU incluido puede existir para un único CU base


cuando:
z se desea representar explícitamente una porción
relevante de funcionalidad fuera del CU base
z se estima que el CU incluido es potencialmente
compartible
Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 62
...Inclusión de CU
Ejemplo: Mostrar
estado
«incluye» Buscar
encomienda
encomienda

CU incluido:
z siempre es realizado en el contexto del CU base
z no puede ser iniciado directamente
z sólo contribuye a la generación de valor del CU base
z está subordinado al CU base
z puede tener asociado actores pasivos secundarios
(¿por qué?)
En síntesis: CU base incorpora («incluye») al
CU incluido
Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 63
Extensión de CU
Idea: agregar funcionalidad extra sin alterar
el CU base.
Existe cuando se agrega una porción
adicional condicionada de funcionalidad,
como un CU extensor, a la funcionalidad de
un CU base.
Se entiende que el CU extensor se agrega
como un extra a la funcionalidad normal del
CU base.
Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 64
...Extensión de CU
Indica que el CU extensor “interrumpe” al CU base
(cuando la condición es verdadera) para realizarse fuera
de éste, retornando posteriormente al CU base en el
punto de la interrupción.
La extensión separa explícitamente las funcionalidades:
z normal no condicionada en el CU base
z adicional condicionada en el CU extensor
Representación («extend» en inglés):

«extiende»
CU base CU extensor

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 65


...Extensión de CU
Ejemplo: si la funcionalidad normal implica pagar
al contado y sin descuentos «extiende» Pagar con
tarjeta de
crédito
Recibir pago

Recibir cupón
Cajero de descuento
«extiende»

En un escenario del CU base pueden realizarse


todos, algunos o ninguno de los CU extensores.
Opcionalidad de la extensión es individual por CU
extensor y siempre con respecto al CU base.
Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 66
...Extensión de CU
Un CU extensor no está subordinado al CU base.
Es un CU por si mismo.
Esto permite que su realización puede originarse
en:
z un CU base o
z un actor activo.
«extiende»
Ejemplo: Registrarse como
cliente
Identificar
cliente
Consultar
informe
Cliente «incluye»
bursátil

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 67


...Extensión de CU
CU extensor ocurre siempre en los puntos
de extensión del CU base.
Un punto de extensión es el paso dentro de
la funcionalidad del CU base:
z donde es evaluada la condición que puede
implicar la realización del CU extensor, y
z al que se retorna después de haber sido
realizado.

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 68


...Extensión de CU
CU extensor:
z se realiza opcional y separadamente, cuando el CU
base se realiza
z puede tener asociado actores secundarios
z contribuye explícitamente a la generación de valor del
CU base
z como no está subordinado al CU base puede además:
z ser iniciado directamente, independiente del CU base
z tener asociado un actor principal
z generar valor por si mismo
En síntesis: CU extensor se agrega («extiende») al CU
base
Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 69
Inclusión vs. Extensión
CONCEPTO INCLUSIÓN EXTENSIÓN
Evitar la representación Agregar funcionalidad extra
Propósito
redundante de funcionalidad. sin alterar el CU base.
Concepto clave Reutilización de funcionalidad. Adición de funcionalidad.
Siempre dentro del CU base. Opcionalmente, en forma
Instanciación
separada del CU base.
Grado de CU incluido no puede CU extensor puede iniciarse
dependencia instanciarse solo. solo.
...extraer funcionalidad ...describir funcionalidad
Recomendado
repetida en más de un CU opcional adicional en un CU
cuando se quiere...
base. base.
CU base incorpora a CU CU extensor se realiza en los
Impacto en CU base
incluido en cualquier parte de puntos de extensión del CU
o general
su funcionalidad. base.

CU base CU base

Representación «incluye» «extiende»

CU incluido CU extensor

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 70


Ejemplos de DCU
Suponga un sistema
para un cajero
automático en que el
cliente, previa
identificación,
Sistema Cajero Automático
selecciona una de las
opciones para su Usar cajero
«incluye»
Identificar
«incluye» cliente
cuenta: automático
«incluye»
z girar «incluye» Girar de
Cliente
Cliente
Depositar en cuenta
z depositar «incluye»
cuenta

z transferir a otra cuenta Consultar


saldo cuenta
z consultar saldo Transferir
entre cuentas

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 71 [1]


Errores más comunes
Crear CU sin valor: Debe estar explícito
(enunciado) el valor que entrega al actor
principal.
Crear CU de una sola actividad: Un CU
considera al menos 2 actividades.
Crear CU de dentro hacia fuera: Funcionalidad
mal definida desde la perspectiva del sistema y
no del actor.

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 72


...Errores más comunes
Confusión del CU con el escenario: Escenario
es una realización (o ejemplo) de un CU.
Granularidad de los CU: CU no deben ser muy
elementales ni muy agregados, deben orientarse
a los propósitos de los actores principales
(generación de valor).
Confusión de actor principal con activo: Quien
inicia la interacción no necesariamente es quien
recibe el valor del CU.

Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 73


...Errores más comunes
Confusión de personas con roles: Un actor es
independiente de la persona que lo ejerce,
pudiendo ésta cambiarse sin alterar el CU.
Abuso de relaciones entre CU: Un DCU no
tiene por qué tener todos los tipos de relaciones
entre los CU. Muchas veces no hay relaciones
entre los CU.
Confusión entre «incluye» y «extiende»:
Revisar sentido de las flechas y verificar correcta
utilización. No existe la relación «excluye».
Análisis y Rediseño de Procesos de Negocio v2010 © Guillermo Bustos R. • EII-PUCV 74

También podría gustarte