Está en la página 1de 70

UML

Diagramas de Casos de Uso


Diagramas de Interaccin
Ingeniera de Software I
Universidad Nacional
de San Luis

Diagramas en UML

Diagramas de Comportamiento

Diagrama de Casos de Uso: Organiza el


comportamiento del sistema.

Diagrama de Secuencia: Se focaliza en el ordenamiento


temporal de los mensajes que se envan entre s los
objetos para llevar adelante un comportamiento.

Diagrama de Comunicacin: Se focaliza en la


organizacin estructural de los objetos que envan y
reciben mensajes.

Diagramas de Casos de Uso


Describe

la funcionalidad provista por un


sistema en trminos de
actores,
sus

objetivos representados como casos de


uso y
relaciones entre estos.

Diagramas de CU

Los diagramas de Casos de Uso normalmente


contienen

Casos de Uso
Actores
Relaciones de dependencia, generalizacin, y asociacin.

Como todos los otros diagramas pueden contener


notas y restricciones
Pueden contener paquetes.

Caso de Uso

Un caso de uso especifica el comportamiento deseado


de una parte o de todo un sistema, sin tener que
especificar cmo se implementa.

Proveen una forma de que los desarrolladores lleguen a


un entendimiento comn con los usuarios finales y los
expertos del dominio (Captura de Requerimientos).

Casos de Uso
Un

caso de uso consiste de una descripcin de


un conjunto de secuencias de acciones,
incluyendo sus variantes o subflujos, que un
sistema o parte del mismo lleva adelante para
entregar un resultado observable a un actor.

Casos de Uso
Un

caso de uso describe un conjunto de


secuencias de interacciones entre entidades
externas al sistema (actores) y el sistema.

Un

caso de uso representa un requisito


funcional del sistema como un todo.

Ej.: un caso de uso central en un banco es


procesar prstamos.

Caso de Uso
Notacin

Casos de Uso

Podemos construir CU de:

Todo el sistema
Partes del sistema (subsistemas, clases, interfaces).

No solo representan el comportamiento deseado


sino que son la base para todo el desarrollo del
sistema incluso para los casos de pruebas del
sistema.

Actores y Casos de Uso

Un caso de uso implica una interaccin entre actores y


el sistema.

Los actores representan un conjunto coherente de roles


que los usuarios de los casos de uso juegan cuando
interactan con el sistema a travs de esos casos de uso.

Los actores son externos al sistema.

Actores y Casos de Uso

Una instancia de un actor representa un individuo


(persona u otro sistema) que interacta con el
sistema.

Ejemplo: En el modelado de los procesos de negocio


de un banco, el procesamiento de un prstamo
requiere entre otras cosas, la interaccin entre un
cliente y el responsable de prstamos.

Actores y Casos de Uso


Desde

la perspectiva de un actor, un caso de


uso hace algo que es de valor para el actor, tal
como calcular un resultado, generar un nuevo
objeto, cambiar el estado de otro objeto, etc.

Ej.:

El CU de reservar un hotel resulta en el


otorgamiento de un nro. de reserva al cliente.

Actores y Casos de Uso

Un actor, normalmente, estimula al sistema con eventos de entrada


o recibe algo del sistema.

Los actores se comunican con el sistema enviando y recibiendo


mensajes al y del sistema mientras este ejecuta el caso de uso.

Los actores modelan cualquier cosa que necesite interactuar con el


sistema para intercambiar informacin: usuarios humanos, sistemas
de computadoras, dispositivos elctricos o mecnicos.

Un nico usuario fsico puede actuar como varios actores diferentes


en la medida que asuma diferentes roles y varios usuarios
individuales pueden actuar como instancias distintas de un mismo
actor.

Actores y Casos de Uso

Si hay ms de un actor interviniendo en un caso de uso,


el que genera el estmulo inicial es llamado el actor
iniciador del CU y los otros son actores participantes.
Ejemplos:

Desde una perspectiva del modelo de procesos del negocio:


CU Registrar debito en un sistema posnet: actor Cliente
iniciador; Comercio participante.
Desde una perspectiva del modelo del sistema: CU Registrar
debito en un sistema posnet: actor Comercio iniciador;
Cliente participante.

Actores y Casos de Uso

Un actor se comunica con un caso de uso del


sistema dos maneras:

La comunicacin la inicia el actor, se trata de un actor


primario.
La comunicacin la inicia el sistema, se trata de un actor
secundario.

Especificacin de CU:
Flujo
de
Eventos

Un caso de uso describe el qu y no el cmo.


No existe una forma estndar de describir un
CU.
Se puede especificar el comportamiento de un
caso de uso describiendo un flujo de eventos.
Flujo

principal y subflujos (si los hubiere)


Flujos excepcionales (si los hubiere)

Inicialmente descripcin textual o plantilla


Ms detalle diagramas de secuencia

Especificacin textual del CU


ValidarUsuario de un sistema ATM

Flujo

principal de eventos:
El caso de uso comienza cuando el sistema solicita
al Cliente un PIN.
El Cliente puede ahora entrar un PIN por medio del
teclado numrico (E-1).
El Cliente confirma la entrada pulsando la tecla
Enter (E-1, E-2).
El sistema entonces controla el PIN para ver si es
un nmero vlido. Si el PIN es vlido, el sistema
reconoce la entrada, terminado de esta manera el
caso de uso (E-3).

Especificacin textual del CU


ValidarUsuario de un sistema ATM

Flujo de eventos excepcional 1 (E-1) :


El Cliente puede cancelar una transaccin en cualquier
momento pulsando la tecla Cancelar, reiniciando de esta
forma el caso de uso. En este caso, ningn cambio es efectuado
en la cuenta del Cliente.
Flujo de eventos excepcional 2 (E-2):
El Cliente puede anular el PIN en cualquier momento antes de
confirmarlo y reingresar un nuevo PIN.
Flujo de eventos excepcional 3 (E-3):
Si el Cliente entra un PIN invalido, el caso de uso se inicia
nuevamente. Si esto sucede tres veces seguidas, el sistema
cancela toda la transaccin, impidindole al Cliente de
interactuar con el ATM por 60 segundos.

Casos de Uso y Escenarios


Cada

CU describe un conjunto de secuencias o


posibles flujos a travs de todas sus variantes.
Cada secuencia corresponde a un escenario
del CU.
Un escenario es una instancia de un CU.
Los escenarios pueden ser:
Primarios (secuencias esenciales o principales).
Secundarios (secuencias alternativas o
excepcionales).

Casos de Uso y Colaboraciones


Un

CU, inicialmente, describe el


comportamiento deseado (no cmo lograrlo).
A la larga, habr que implementarlo:

Creando una sociedad de clases que


conjuntamente colaboran llevando adelante el
comportamiento especificado por el CU.

Colaboracin.

Organizacin de los CU

En paquetes (al igual que las clases)

Usando Relaciones entre CU

Generalizacin
Inclusin
Extensin

Relacin de
Generalizacin entre CU

CU hijo hereda el
comportamiento y el
significado del CU padre.
El hijo puede agregar o
redefinir el comportamiento
del padre.
El hijo puede aparecer en
cualquier lugar donde aparece
el padre.
Ambos (padre e hijo) pueden
tener instancias concretas.

Relacin de
Inclusin
entre
CU

El caso de uso base incorpora explcitamente el


comportamiento de otro CU en el punto indicado en el CU
base.

El CU incluido nunca aparece solo, sino que siempre es


instanciado como parte de algn CU base ms grande que
lo incluye.

Se puede usar la inclusin para evitar describir el mismo


flujo de eventos varias veces, poniendo el
comportamiento comn en un CU (el CU que es incluido
por el CU base).

Relacin de
Inclusin
entre
CU

Se representa con una dependencia estereotipada


include

Relacin de
Inclusin
entre
CU

Hay un punto en el flujo de eventos en donde el CU base


incluye el comportamiento del otro CU:

Se puede escribir include o incluir o ejecutar,


etc., seguido por el nombre del CU que se quiere incluir.

Ej: Flujo principal de eventos de Track order:


1. Obtener y verificar el nmero de orden de compra.
2. Incluir(Validate user).
3. Para cada parte en la orden, consultar su estado, y informrselo
al usuario.

Relacin de
Extensin entre CU

Se usa para modelar una parte del CU que el usuario ve


como opcional. De esta manera, se separa el
comportamiento opcional del mandatorio.

El CU base puede existir por s solo pero, bajo ciertas


condiciones, su comportamiento puede ser extendido
por el comportamiento de otro CU.

La extensin puede verse como que el CU que extiende


incorpora su comportamiento al CU base.

Relacin de
Extensin entre CU

Se representa como una dependencia estereotipada extend.

Relacin de
Extensin entre CU
Flujo principal de eventos del CU Place order:
1. include(Validate user).
2. Recopilar los tems de la orden del usuario.
3. Asignarle una prioridad a la orden de compras.
4. Someter la orden para su procesamiento.
Flujo excepcional de eventos del CU Place order:
Si se trata de una instancia de una orden con prioridad alta, el
comportamiento del CU Place rush order ser ejecutado y
luego se reasumir el flujo normal.
3.1

Relaciones entre CU

Relaciones
Para extraer comportamiento comn
Inclusin
Distinguir variantes en el flujo
Extensin
Para heredar comportamiento
Generalizacin

Generalizacin entre Actores

Relaciones en Diagramas de CU
Relacin

Funcin

Asociacin
(Entre Actor y
CU)

Camino de comunicacin entre un


actor y el CU con el que l
interacta.

Extensin
(Entre 2 Casos
de Uso)

Insercin de comportamiento
adicional alternativo en un CU
base (que desconoce sobre esto).

Inclusin
(Entre 2 Casos
de Uso)

Insercin de comportamiento
adicional en un CU base (que
explcitamente describe la
insercin).

Generalizacin
(Entre 2 Casos
de Uso o entre
2 Actores)

Relacin de herencia entre


actores o entre CUs (entre uno
ms general y otro ms
especfico).

Notacin

Uso de los Diagramas de CU


1.

Modelar los procesos del negocio.

2.

Modelar el contexto de un sistema.

3.

Modelar los requisitos funcionales de un sistema.

Modelado de los
Requisitos Funcionales de un Sistema

Establecer el contexto del sistema identificando los actores que lo


rodean.
Para cada actor, considerar el comportamiento que cada uno
espera o requiere que el sistema le provea.
Nombrar esos comportamientos como CU.
Factorizar el comportamiento comn en nuevos CU que sern
usados por otros (relaciones de incluisin).
Factorizar el comportamiento variante en nuevos CU que
extiendan flujos principales (relaciones de extensin).
Modelar esos CU, actores y sus relaciones en un diagrama de CU.
Adornar esos casos de usos con notas que dejen sentados los
requisitos no funcionales.

Ejemplo

Un sistema ATM interacta con un tipo de usuario que usar el


sistema para extraer dinero, depositar dinero, o transferir dinero
entre cuentas. Este tipo de usuario es representado por el actor
Cliente del Banco.

El modelo de casos de uso puede ser usado para representar los


tres casos de uso Extraer Dinero, Depositar Dinero y Transferir
Dinero.

Los actores representan partes externas al sistema que colaboran


con el sistema.

Una vez que hemos identificado todos los actores del sistema,
hemos identificado su ambiente externo.

Ejemplo

Identificacin de los CU

Basado en actores

(a) Identificar y especificar todos los actores mirando los


usuarios del sistema y otros sistemas que deben interactuar
con el sistema.
(b) Para cada actor, identificar los procesos que l inicia o en
los que participa, mirando cmo el actor se
comunica/interacta/usa el sistema para su beneficio.

Basado en eventos

(a) Identificar los eventos externos a los cuales el sistema


debe responder.
(b) Relacionar los eventos a los actores y casos de uso.

Ejemplo POST

Un POST (point-of-sale terminal) es un sistema


computarizado usado para registrar las ventas y
manejar los pagos; tpicamente se usa en los
supermercados, tiendas, etc. Incluye componentes
de hardware tales como computadoras y lectoras de
codigos de barras y software para correr el sistema.

POST : Identificando CU
Actor iniciador

Cajero

Manager
Administrador del
Sistema

Caso de Uso

Abrir Caja
Cerrar Caja
Registrar Venta Items
Anular Venta Items
Iniciar Sistema
Bajar Sistema
Agregar Nuevos Usuarios

POST : Identificando CU
Abrir Caja

Iniciar
Sistema

Cerrar Caja

Bajar

Gerente

Sistema
Cajero

Registrar
Pago

Pago en
Efectivo

Anular
Venta
Items

Agregar
Nuevos
Usuarios

<<include>> Registrar

del Sistema

Venta Items

Pago con
Tarjeta de Crdito

Administrador

Pago con
Cheque

Plantilla para especificar CU


Caso de Uso:

Nombre del caso de uso (usar una frase que comience con un verbo).

Propsito:

Intencin del CU.

Precondi-ciones:

Conds. que deben satisfacerse para poder ejecutar el CU.

Subflujos:

Los flujos secundarios del caso de uso, numerados como (S-1), (S-2),
etc.

POST: Especificando los CU


Caso de Uso:

Registrar Venta Items

Propsito:

Registrar una venta y su pago.

Precondiciones: Se ejecut el CU Abrir Caja


Flujo principal de eventos:
Accin del Actor

Respuesta del Sistema

POST: Especificando los CU


3. Si el Cajero tiene mas tems a ingresar volver a paso 2.

6. De acuerdo al modo de pago elegido por el cliente (E-2), si


eligi tarjeta de crdito, se ejecuta el CU Pago con Tarjeta de
Crdito; Si eligi efectivo, se ejecuta Pago en Efectivo; si eligi
cheque, se ejecuta CU Pago con Cheque.

Subflujos: Ninguno.
Flujos excepcionales:
E-1. Cdigo de tem invalido. Indicar el error.

7. Registra la venta

POST: Especificando los CU


Caso de Uso:

Pagar en Efectivo

Propsito:

Realizar el pago de una compra con dinero en efectivo

Precondiciones: Se debe haber ejecutado antes el CU Registrar Venta Items.


Flujo principal de eventos:
Accin del Actor

Respuesta del Sistema

POST: Especificando los CU


3. El Cajero ordena la impresin del recibo
para el cliente.
Subflujos: Ninguno
Flujos excepcionales:
E-1. Si la cantidad de efectivo entrada no es suficiente, indicar la excepcin.
E-2. Cantidad insuficiente de cambio en la caja para dar el vuelto. Pedir efectivo al
supervisor y continuar con el caso de uso o cancelar el pago.

Diagramas de Interaccin

Diagramas de Interaccin
Usados

para modelar aspectos dinmicos y


mostrar interacciones entre objetos.
Una interaccin es un comportamiento que
comprende un conjunto de mensajes
intercambiados entre un conjunto de objetos
dentro de un contexto particular para llevar
adelante un objetivo especfico.
Muestran un conjunto de objetos as como los
mensajes enviados y recibidos por esos objetos.

Diagramas de Interaccin

Una interaccin puede modelar el flujo de control de

Una operacin
Un caso de uso
Un subsistema
El sistema como un todo

Un escenario muestra una interaccin particular.

Dos formas de modelar una interaccin:

Enfatizando el ordenamiento temporal de los mensajes


Diagramas de Secuencia
Enfatizando las relaciones estructurales entre los objetos
interactuantes Diagramas de Comunicacin (antes llamado
de Colaboracin)

Diagramas de Secuencia
Representacin Grfica

Tabla que muestra objetos dispuestos a lo largo del eje X y


mensajes, ordenados en orden temporal creciente, a lo largo
del eje Y.
En 1er lugar, se ubican los objetos participantes en la
interaccin en el tope del diagrama, uno al lado del otro.
Normalmente, se ubica el objeto que inicia la interaccin en la
izquierda y en forma creciente los objetos subordinados hacia
la derecha.
Luego, se ubican los mensajes que esos objetos envan y
reciben en orden creciente en el tiempo desde el tope hacia
abajo.

Diagramas de Secuencia
Lnea

de vida de un objeto

Lnea vertical punteada que representa la existencia del


objeto durante un perodo de tiempo.
Comienza al crearse el objeto (mensaje create).
Puede terminar al destruirse el objeto (mensaje destroy).

Foco

de control de un objeto

Rectngulo angosto y alto que muestra el perodo de


tiempo durante el cual el objeto est ejecutando una
accin, ya sea directamente o a travs de una operacin
subordinada.

Tipos de mensajes
Llamado

Invoca una operacin


(evento sincrnico).

Retorno

Retorna un valor al
objeto invocante.

valorRetornado

Envo de
seal

Envo de una seal a un


objeto (evento
asincrnico)

seal(params)

Creacin

Crea un objeto.

Destruccin Destruye un objeto.

nombreOp(params)

create
destroy

Diagramas de Secuencia
Iteraciones y selecciones en mensajes

Se usan marcos de interaccin

Regin del diagrama dividida en 1 o ms fragmentos.


Cada marco tiene un operador y puede tener una condicin de guarda
(entre corchetes []).
Desde UML 2.

Iteracin
Un fragmento
Operador loop
Condicin de guarda de la iteracin
Seleccin
Tantos fragmentos como alternativas
Operador alt (igual opt, si una alternativa)
Una condicin de guarda por cada alternativa.

Pseudocdigo de iteracin y seleccin


en diagrama de secuencia anterior

Niveles de Abstraccin

Diagrama de secuencia a un alto nivel de abstraccin


(Escenario de CU Place Order)

Niveles de Abstraccin

Diagrama de secuencia a un nivel de abstraccin mas bajo


(Escenario de CU Place Order)

Diagramas de Comunicacin
Un

diagrama de comunicacin es un diagrama


de interaccin que enfatiza la organizacin
estructural de los objetos que envan y reciben
mensajes.

Muestra

un conjunto de objetos, enlaces entre


esos objetos y mensajes enviados y recibidos
por tales objetos.

Diagramas de Comunicacin
Grficamente,

un diagrama de
comunicacin es una coleccin de
vrtices y arcos donde los vrtices
corresponden a los objetos y los arcos a
los enlaces, adornados con los mensajes
que se envan y reciben entre los objetos.

Estereotipos en extremo de
enlace
association

Especifica que el objeto correspondiente es


visible porque existe una asociacin.

self

Especifica que el objeto correspondiente es


visible porque es el invocador de la
operacin.

global

Especifica que el objeto correspondiente es


visible porque es un objeto global.

local

Especifica que el objeto correspondiente es


visible porque es un objeto local.

parameter

Especifica que el objeto correspondiente es


visible porque es un parmetro.

Diagramas de Comunicacin
Iteraciones y Selecciones en mensajes

nro de mensaje *[clusula de iteracin] : valor de


retorno = mensaje

nro de mensaje [clusula de bifurcacin] : valor de


retorno = mensaje

Ejemplos:

Diagramas de Comunicacin
Ejemplos de Iteraciones

Diagramas de Comunicacin
Ejemplo de Seleccin

Isomorfismo entre diagramas de


comunicacin y de secuencia

Diagramas de comunicacin y secuencia son


en gran medida isomrficos:

1.

2.

Uno se puede transformar en el otro y viceversa


sin prdida de informacin.
Aunque existen algunas diferencias:
Lnea de vida de un objeto posiblemente
mostrando creacin y destruccin (en diagramas
de secuencia).
Enlaces estructurales que pueden existir entre los
objetos (diagramas de comunicacin).

Isomorfismo entre diagramas de


comunicacin y de secuencia

Isomorfismo entre diagramas de


comunicacin y de secuencia

También podría gustarte