Sunteți pe pagina 1din 38

Curso de UML

Modelado de Comportamiento Bsico

Facultad de Informtica
Departamento de Lenguajes y Sistemas Informticos e Ingeniera de Software
Universidad Pontificia de Salamanca en Madrid

1
Resumen

Diagramas de Interaccin
Diagramas de Casos de uso
Diagramas de actividad

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 2
Interacciones

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 3
Introduccin al modelado de
interacciones
Permiten modelar el comportamiento dinmico de las
colaboraciones.

Una interaccin es un comportamiento que comprende un


grupo de mensajes que se intercambian entre un conjunto
de objetos dentro de un contexto y con una finalidad.

En el contexto de la interaccin podemos encontrar clases,


interfaces, componentes, nodos y casos de uso.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 4
Links
Un link es una conexin semntica entre objetos.

Podemos decir que un link es una instancia de una asociacin


donde se pueden aplicar todos los adornos de la asociacin salvo
por la multiplicidad.

Para matizar UML define 5 estereotipos:


association: el objeto es visible por la asociacin.
self: el objeto es visible por que es el invocador de la operacin.
global: el objeto es visible por que su alcance contiene al actual.
local: el objeto es visible por ser local al emisor.
parameter: el objeto es visible por ser un parmetro en la operacin
actual del objeto origen.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 5
Mensajes
Un mensaje es la especificacin de una comunicacin entre
objetos.

Para matizar UML define 5 estereotipos:


call: invoca una operacin en sobre un objeto.
return: devuelve el valor al emisor.
send: enva una seal a un objeto.
create: Crea un objeto.
destroy: Elimina un objeto.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 6
Ejemplo

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 7
Nmeros de secuencia
Nmeros de secuencia
Indica la ordenacin temporal de los mensajes.
Para representar anidamiento se utiliza la notacin decimal de Dewey.

Mensajes complejos
iteracin:
*[i:=1..n] si queremos especificar un rango (antes del nm. secuencia)
* cuando se quiere especificar iteracin no definida
condicin:
se precede el nmero de secuencia con una expresin [x>0]
los distintos caminos tienen diferentes nmeros de secuencia.
UML no impone la notacin de corchetes: se puede usar pseudocdigo, etc.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 8
Creacin, modificacin y
destruccin de links
Para especificar la vida de los link UML permite estas
restricciones:

new: La instancia o link es creado durante la ejecucin de esa


interaccin.

destroyed: La instancia o link es destruido despus de la


ejecucin de esa interaccin.

transient: La instancia o link es creado durante la ejecucin de


esa interaccin y destruido despus.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 9
Representacin
En el modelado de una interaccin se visualizan objetos y
mensajes de dos formas:

Enfatizando la ordenacin de los mensajes en el tiempo por


medio de diagramas de secuencia.

Enfatizando la organizacin estructural de los objetos por medio


de diagramas de colaboracin.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 10
Diagrama de secuencia

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 11
Diagrama de secuencia (II)

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 12
Diagrama de colaboracin

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 13
Modelado de un flujo de control
Definir el contexto de la interaccin. Todo el sistema, una clase o
una operacin.

Establecer los objetos que participan e identificar sus


propiedades iniciales, incluyendo sus atributos, estados y roles.

Si queremos enfatizar la organizacin estructural identificar los


links que los conectan.

Especificar los mensajes entre los objetos.

Adornar cada elemento si se necesita un mayor nivel de detalle.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 14
Modelado de flujos de control
ordenados en el tiempo
Definir el contexto de la interaccin. Todo el sistema, subsistema, una
clase, una operacin, un escenario de un caso de uso o colaboracin.
Establecer los objetos que participan en la interaccin y colocarlos en
un diagrama de secuencia de izquierda a derecha, situando los mas
importantes a la izquierda.
Colocar la lnea de vida de cada objeto.
Situar los mensajes, comenzando por el mensaje que inicia la
interaccin, de arriba a abajo.
Si se necesita adornar la lnea de vida de los objetos con su focus of
control.
Si se necesita adornar cada mensaje con restricciones o propiedades.
Si se necesita incluir precondiciones y postcondiciones para cada
mensaje.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 15
Modelado de flujos de control por
organizacin
Definir el contexto de la interaccin. Todo el sistema, subsistema, una
clase, una operacin, un escenario de un caso de uso o colaboracin.
Establecer los objetos que participan en la interaccin y colocarlos en
un diagrama de colaboracin como vrtices del grfico, situando los
mas importantes en el centro del diagrama.
Establecer las propiedades iniciales de cada objeto.
Establecer los links entre los objetos. Primero las asociaciones por ser
las mas importantes.
Situar los mensajes, comenzando por el mensaje que inicia la
interaccin con un numero de secuencia adecuado.
Si se necesita adornar cada mensaje con restricciones o propiedades.
Si se necesita incluir precondiciones y postcondiciones para cada
mensaje.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 16
Casos de uso

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 17
Trminos y conceptos
Actor
Def. Representa un conjunto coherente de roles que un usuario
desempea cuando interactua con los casos de uso.
Se representa mediante un monigote/stick man.
UML no distingue entre primarios y secundarios.
Slo se pueden conectar a los casos de uso mediante asociaciones.

<<<<actor>>>>
nombreActor

nombreActor

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 18
Trminos y conceptos (II)
Caso de uso
Def. Descripcin de un conjunto de secuencias que representan la
interaccin de elementos externos con el sistema.
Indican qu hace y no como lo hace.
Se pueden aplicar al sistema completo o a partes.
Caso de uso
Se representa mediante una elipse
Se emplean para visualizar el comportamiento de un sistema,
subsistema o clase.
El sistema se representa mediante un rectngulo etiquetado con
el nombre
Usos comunes:
modelado de contexto de un sistema
modelado de los requisitos de un sistema

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 19
Relaciones
Relaciones:
Asociaciones caso de uso - actor: lnea continua.
Generalizacin: un caso de uso hijo hereda el comportamiento de otro
caso de uso base o padre. Flecha continua con punta hueca. Tambin es
aplicable a los actores.
Inclusin: un caso de uso base incorpora explcitamente otro caso de uso
en un lugar indicado en el caso de uso base. Comportamiento obligado.
Dependencia <<include>>
Extensin: un caso de uso base incorpora implcitamente otro caso de
uso en un lugar indicado en el caso de uso base. Comportamiento
opcional. Dependencia <<extend>>
<<include>>

<<extend>>

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 20
Especificacin de casos de uso
Casos de uso y flujo de eventos
Los casos de uso se pueden especificar describiendolos en texto
libre, incluyendo donde empieza y acaba, cuando interactua con
los actores y que objetos intercambia.

Casos de uso y escenarios


Para especificar el flujo de los casos de uso usaremos diagramas
de secuencias.

Casos de uso y colaboraciones


Para enlazar los casos de uso con el anlisis usaremos
colaboraciones.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 21
Otras caractersticas
Podemos organizar los casos de uso agrupandolos en
paquetes, especificando relaciones de generalizacin,
include y extends.

Los casos de uso son clasificadores y como tales pueden


tener atributos y operaciones que podemos reflejar.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 22
Tcnicas de Modelado de un
elemento
Identificar los actores que interactuan con el elemento.

Organizar actores identificando roles generales y especficos.

Considerar los mecanismos de interacion primarios de los


actores con el elemento.

Considerar los mecanismos de interacion excepcionales de los


actores con el elemento.

Organizar estos comportamientos en casos de uso aplicando


las relaciones include y extends.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 23
Tcnicas de modelado de
requisitos de sistema
Establecer el contexto del sistema definiendo los actores que
le rodean.
Para cada actor, considerar el comportamiento que necesita
del sistema.
Nombrar estos comportamientos como casos de uso.
Explosionar los casos de uso en nuevos casos de uso que
sean usados por otros.
Modelar las relaciones de los actores y casos de uso en un
diagrama de casos de uso.
Adornar los casos de uso con notas que incluyan requisitos
no funcionales, algunos podrn aplicarse a todo el sistema.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 24
Diagramas de actividad

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 25
Trminos y conceptos
Diagrama de actividades: representa un grafo de actividad.
Muestra el flujo de actividades.
Actividad: ejecucin no atmica, en curso en una mquina de
estados, que finalmente producen acciones.
Accin: computacin atmica que cambia el estado del
sistema o que producen el retorno de un valor.
Acciones: llamadas a otras operaciones, envo de seales,
creacin y destruccin de objetos o clculos simples.
Un diagrama de actividades contiene:
Estados de actividad y estados de accin
Transiciones
Objetos

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 26
Estados de accin

Representacin: etiqueta redondeada con una expresin en


su interior que indica la accin que realiza.
UML no impone el lenguaje de la expresin.
Los estados de accin no se pueden descomponer.
Su ejecucin no puede interrumpirse y tarda un tiempo cero.
Ejemplos: cont:=0; send kiosko.pantallaPrincipal();

Estado inicial Estado final

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 27
Estados de actividad
Representacin: etiqueta redondeada con una expresin en
su interior que indica la actividad en curso.

Pueden tener acciones de entrada y de salida.

UML no impone el lenguaje de la expresin.

Los estados de actividad no son atmicos, por lo que se


pueden descomponer y su ejecucin puede interrumpirse.

Su ejecucin lleva un tiempo determinado distinto de cero.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 28
Transiciones
Cambio automtico de un estado a otro como consecuencia
de la finalizacin de la actividad o accin del estado origen.
Se representan mediante una lnea dirigida no etiquetada.
El flujo de control comienza en un estado inicial y termina en
un estado final.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 29
Bifurcacin
Especifica caminos alternativos.

Se representa mediante un rombo.

Se puede representar una condicin alternativa etiquetada con


la palabra clave else.

Las iteraciones se pueden representar mediante un estado de


accin que establezca un valor para una variable de control y
una condicin que evale la salida del bucle.

UML no impone la notacin de las expresiones.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 30
Divisin y Unin

Las divisiones representan flujos concurrentes.

Las uniones son sincronizaciones de dichos flujos.

Se representan mediante una lnea horizontal.

UML no impone la notacin de las expresiones.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 31
Ejemplo

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 32
Calles

Utiles cuando se modelan flujos de trabajo de procesos de


organizaciones.

Dividen los estados de actividad en grupos.

Cada grupo representa la parte de la organizacin


responsable.

Cada actividad pertenece a una calle, pero las transiciones


pueden cruzarlas.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 33
Flujos de objetos

Objetos implicados en el flujo de control de un diagrama de


actividades.

Se conectan a la actividad o transicin que los crea, destruye


o modifica mediante una flecha de dependencia.

Es posible mostrar cambios en los roles, estados y atributos


de los objetos.

El estado se representa entre corchetes bajo el nombre del


objeto.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 34
Ejemplo

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 35
Envo y recepcin de seales
Las seales se pueden
especificar en la
transicin y pueden ser:
Seales de envo
Seales de recepcin
Las lneas que son
generadas desde estos
elementos son
discontinuas.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 36
Modelado de un workflow
Seleccionar los objetos de negocio que tengan las
responsabilidades de mas alto nivel. Y crear una calle para
cada uno de ellos.
Identificar las precondiciones del estado inicial y las
postcondiciones del estado final.
Comenzando por el estado inicial especificar las actividades
y acciones que tienen lugar e incluirlas en el diagrama.
Para acciones complicadas o grupos que aparecen mas de
una vez crear estados de actividad.
Identificar las transiciones, crear bifurcaciones, uniones y
divisiones donde sea necesario.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 37
Modelado de una operacin
Recolectar las abstracciones de la operacin (parmetros,
atributos, clases).
Identificar precondiciones al comienzo de la operacin y
postcondiciones al final de la operacin.
Comenzando por el inicio de la operacin especificar las
actividades y acciones e incluirlas en el diagrama.
Usar bifurcaciones para especificar las condiciones e
iteraciones.
Solo si esta clase es una clase activa se podrn usar uniones
y divisiones.

Alberto Caramazana, Hctor Castn, Luis Joyanes Octubre 2000


Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software 38

S-ar putea să vă placă și