Professional Documents
Culture Documents
(CU)
Prof. Guillermo E. Badillo Astudillo
Caractersticas de un DCU
Modelo desarrollado por I. Jacobson a partir de los aos 60, finalmente divulgado en 1992 e incluido en la primera versin de UML en 1997. Asume una descomposicin del sistema centrada en actores externos. Responde a preguntas tales como:
cules son los requerimientos funcionales del sistema? qu funciones debe proveer al entorno? qu debe hacer el sistema para sus usuarios?
Componentes de un DCU
El DCU presenta los siguientes componentes:
sistema actor caso de uso
Ejemplo:
Sistema Banco
Girar dinero
Depositar dinero
Cliente Banco
Sistema
Conjunto explcitamente delimitado de CU internos provedos a los actores externos. Representa el lmite entre lo que forma parte del sistema (los CU) y lo que es externo al mismo (los actores). Frecuentemente se omite por su obviedad. Representacin:
Sistema Banco
Actor
Representa un papel o rol que algo o alguien del entorno desempea con relacin al sistema. Corresponde a una clase o conjunto de actores reales (instancias) que viven fuera del sistema e interactan con l. Representaciones:
actor ClienteBanco
Cliente Banco
...Actor
Interacta de alguna forma con el sistema, pudiendo originar o no la interaccin. Puede ser desempeado por:
una persona o cargo (ej. operador, supervisor) un sistema informtico (ej. sistema de monitoreo, sistema transaccional) una seccin o departamento (ej. contabilidad, produccin) un dispositivo externo de hardware (ej. impresora, sensor)
Clasificacin de Actores
Segn la iniciacin de la interaccin de un CU:
activo: actor que inicia la interaccin pasivo: cualquier otro actor que interacte
Clasificaciones son por CU: un actor puede ser principal o activo con respecto a un CU y ser secundario o pasivo con respecto a otro.
...Clasificacin de Actores
Otras personalidades de los actores:
iniciador: inicia el CU servidor: provee un servicio al sistema en el CU receptor: recibe informacin del CU facilitador: apoya la interaccin de otro actor con el sistema
Personalidades tambin son por CU: un actor puede comportarse como servidor/facilitador en un CU, y comportarse como iniciador/facilitador en otro.
...Clasificacin de Actores
Un actor pasivo principal (o receptor) ocurre cuando el actor activo (iniciador/facilitador) relacionado es:
un representante del actor principal (ej. vendedor en representacin del cliente), o un instante del tiempo (ej. ltimo da hbil del mes), o un evento cualquiera (ej. alarma de estado crtico).
Sistema
Actor Principal
Actor Secundario
...Clasificacin de Actores
Segn la categora de la interaccin:
general: abstraccin de actores especializados en un rol general comn especializado: rol particular de un actor general
Representacin:
Empleado
Actor especializado hereda los CU del actor general, pudiendo agregar otros CU. Conjunto de actores general y especializado(s) configuran una jerarqua de actores.
Inspector de terreno
...CU
Representacin con nombre significativo en la forma verbo + objeto:
Monitorear alarma
Representa una porcin de la funcionalidad que el sistema entrega al entorno. Corresponde a una visin externa del sistema en la forma de una caja negra.
...CU
Un escenario es una realizacin de un CU, donde instancias de actores intercambian datos y eventos especficos con el sistema. Un escenario es entonces una instancia de un CU: un CU se dice que es instanciado cada vez que un actor activo inicia la interaccin, crendose as un escenario. Con respecto a los escenarios, un CU es un conjunto de escenarios posibles que tienen un objetivo comn para un actor principal.
16
Ejemplos:
Configurar equipo
Girar dinero
Operador
Monitorear alarmas
Depositar dinero
Cliente Banco
Consultar informe
Supervisor
Relaciones entre CU
Con relacin a un CU tomado como base:
inclusin: CU incluido muestra parte de la funcionalidad de uno o ms CU base extensin: CU extensor agrega funcionalidad condicionada a un CU base
Generalizacin: CU especializado se considera como un caso particular de la funcionalidad de un CU general. Estas relaciones son ms evidentes analizando el DCU conjuntamente con su documentacin.
Inclusin de CU
Idea: evitar la representacin redundante de funcionalidad. Existe cuando se extrae una porcin 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 relacin usa (uses en ingls). Representacin (include en ingls):
incluye CU base 2
...Inclusin de CU
Ejemplo:
incluye Vender pliza de seguros incluye Calcular prima incluye Notificar asegurado incluye Renovar pliza de seguros
...Inclusin de CU
Ejemplo: CU incluido:
Mostrar estado encomienda incluye Buscar encomienda
siempre es realizado como parte de la realizacin del CU base no puede ser iniciado directamente puede tener asociado actores pasivos secundarios (por qu?)
Extensin de CU
Idea: agregar funcionalidad extra sin alterar el CU base. Existe cuando se agrega una porcin 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.
...Extensin de CU
Indica que el CU extensor interrumpe al CU base, cuando la condicin es verdadera, para realizarse fuera de ste, retornando posteriormente al CU base. La extensin separa explcitamente las funcionalidades:
normal no condicionada en el CU base extra condicionada en el CU extensor
...Extensin de CU
Ejemplo: si la funcionalidad normal implica pagar al contado y sin descuentos
extiende Pagar con tarjeta de crdito
Cajero
extiende
En un escenario del CU base pueden realizarse todos, algunos o ninguno de los CU extensores. Opcionalidad de la extensin es individual por CU extensor y siempre con respecto al CU base.
...Extensin de CU
Realizacin de un CU extensor es independiente de quien la origina:
un CU base o un actor activo.
Ejemplo:
Cliente
incluye
...Extensin de CU
CU extensor ocurre siempre en los puntos de extensin del CU base. Un punto de extensin es el paso dentro de la funcionalidad del CU base:
donde es evaluada la condicin que puede implicar la realizacin del CU extensor, y al que se retorna despus de haber sido realizado.
...Extensin de CU
CU extensor:
se realiza opcional y separadamente, cuando el CU base se realiza puede ser iniciado directamente, independiente del CU base puede tener asociado actores de todo tipo, incluso principales (por qu?) En sntesis: CU extensor se agrega (extiende) al CU base
Generalizacin de CU
Idea: separar funcionalidad general de casos particulares. Existe cuando es posible distinguir funcionalidad general, en un CU general, de un caso particular de esta funcionalidad, en un CU especializado. El CU especializado hereda la funcionalidad y relaciones (con actores y otros CU) del CU general pudiendo extenderlas o modificarlas. Extensin y modificacin de funcionalidad es visible en la documentacin asociada.
...Generalizacin de CU
Conjunto de CU general y especializado(s) configuran una jerarqua de CU. Cada CU especializado es entonces un caso particular del CU general. Representacin:
CU general
CU especializado
...Generalizacin de CU
Ejemplos:
Validar usuario
Negociar precio
Verificar contrasea
Reconocer retina
La funcionalidad total de una jerarqua de CU puede distribuirse de diferentes formas entre el CU general y el(los) CU especializado(s) distintos grados de abstraccin del CU general
...Generalizacin de CU
Caso especial:
CU general no posee funcionalidad, en cuyo caso se dice abstracto (puede indicarse con el nombre en cursiva) CU especializados tienen toda la funcionalidad y se dicen concretos.
Ejemplo:
Realizar transaccin
Girar dinero
Depositar dinero
...Generalizacin de CU
Posibilidades al iniciar un CU general:
CU general puede realizarse independiente del CU especializado: escenario es propio del CU general, ya que su funcionalidad es suficientemente concreta
Negociar precio
...Generalizacin de CU
...Posibilidades al iniciar un CU general:
uno de los CU especializados debe realizarse en lugar del CU general: escenario del CU especializado elegido reemplaza al escenario del CU general, ya que ste es abstracto o su funcionalidad es insuficientemente concreta
Realizar transaccin
Validar usuario
Girar dinero
Depositar dinero
Verificar contrasea
Reconocer retina
...Generalizacin de CU
Cuidar situaciones que combinen jerarquas de actores y de CU: problemas con las herencias Ejemplos incorrectos:
Autorizar compra
Empleado abastecimiento
Autorizar compra
Jefe abastecimiento Empleado abastecimiento
Autorizar compra
Jefe abastecimiento
Empleado abastecimiento
Jefe abastecimiento
[2]
...Generalizacin de CU
Ejemplos correctos:
Autorizar compra
Autorizar compra
Jefe abastecimiento
Empleado abastecimiento
Jefe abastecimiento
[1]
...Generalizacin de CU
CU especializado:
siempre puede reemplazar al CU general en un escenario puede ser iniciado directamente o a travs del CU general puede tener asociado cualquier tipo de actor
INCLUSIN
EXTENSIN
GENERALIZACIN
Separar funcionalidad general de los casos particulares. Especializacin de funcionalidad. Cuando se requiera. CU especializado puede o no iniciarse solo. ...describir variaciones con respecto al CU general, en trminos de casos particulares. CU especializado puede extender o modificar la funcionalidad heredada del CU general.
CU general
Evitar la representacin Agregar funcionalidad extra redundante de funcionalidad. sin alterar el CU base. Reutilizacin de funcionalidad. Adicin de funcionalidad. Siempre dentro del CU base. CU incluido no puede instanciarse solo. ...extraer funcionalidad repetida en ms de un CU base. Opcionalmente, en forma separada del CU base. CU extensor puede iniciarse solo. ...describir funcionalidad opcional adicional en un CU base.
Impacto en CU base CU base incorpora a CU CU extensor se realiza en los o general incluido en cualquier parte de puntos de extensin del CU su funcionalidad. base.
CU base
CU base
Representacin
incluye
extiende
CU incluido
CU extensor
CU especializado
Ejemplos de DCU
Sistema Cajero Automtico
incluye Identificar cliente
Suponga un sistema para un cajero automtico en que el cliente, previa identificacin, selecciona una de las opciones para su cuenta:
girar depositar Cliente transferir a otra cuenta consultar saldo
incluye incluye
Cliente
Depositar en cuenta
Girar de cuenta
Seleccionar transaccin
Girar de cuenta
[2]
...Ejemplos de DCU
Ejemplo: Suponga un sistema de ventas donde, previa solicitud de datos de los clientes, estos pueden hacer pedidos de productos y consultar su estado. Los pedidos pueden incluir catlogos. Las formas de pago
posibles son al contado o mediante un crdito acordado.
incluye Solicitar datos cliente
Cliente
Sistema de Ventas
Hacer pedido extiende Solicitar catlogo
incluye
Pagar al contado
Acordar crdito
[1]
Construir una lista con todos los actores posibles. Identificar para cada actor los CU posibles. Si es necesario, relacionar los actores. Relacionar los CU en forma preliminar (sujeto a posteriores modificaciones). Documentar los CU. Corregir las relaciones entre actores y principalmente entre CU.
Crear escenarios posibles de interaccin con el sistema. Generalizar los escenarios para definir los CU. Definir los actores posibles para cada CU. Si es necesario, relacionar los actores. Relacionar los CU en forma preliminar (sujeto a posteriores modificaciones). Documentar los CU. Corregir las relaciones entre actores y principalmente entre CU.
Actores en un DCU
En un DCU, puede optarse por representar como actores:
slo a los principales agrupando a principales (izquierda) y a secundarios (derecha) slo a los activos en general a todo y cualquier agente externo que interacta con el sistema sin distinguir si es principal/secundario o activo/pasivo
recomendados
Decisin depende de complejidad del DCU, conveniencia del modelador y estndares de modelado, entre otros.
Un caso de uso tpicamente contiene varios pasos; en el formato detallado, puede llegar a tener varias pginas de texto.
Errores ms comunes
Crear CU de dentro hacia fuera: Funcionalidad definida desde la perspectiva del sistema y no del actor. Problemas de lmites: P. ej.: un lector de cdigo de barras es un actor o es parte del sistema? debiera aparecer en el DCU? Confusin de actor principal con activo: Quien inicia la interaccin no es necesariamente quien recibe el valor del CU. Confusin de personas con roles: Un actor es independiente de la persona que lo ejerce, pudiendo sta cambiarse sin alterar el CU.
...Errores ms comunes
Abuso de relaciones entre CU: Un DCU no tiene por qu tener todas las relaciones posibles entre los CU. Muchas veces no tiene ninguna. Granularidad de los CU: CU no deben ser muy elementales ni muy agregados, deben orientarse a los propsitos de los actores principales. Confusin entre incluye y extiende: Revisar sentido de las flechas y verificar correcta utilizacin. Confusin del CU con el escenario: Escenario es una realizacin (o ejemplo) de un CU.
En resumen
Un DCU muestra la funcionalidad del sistema sin consideraciones temporales:
no se representa la concurrencia ni sincronizacin entre CU los CU no tienen una secuencia de realizacin definida
Importante: La documentacin de los CU es tanto o ms relevante que el propio DCU (por qu?).