You are on page 1of 108

UML Bsico

Leandro Yalet
lyalet@lifia.info.unlp.edu.ar

Mdulo III

Modelado Esttico

INTRODUCCIN

MODELADO FUNCIONAL

MODELADO ESTTICO
 Diagrama de Clases
 Diagrama de Objetos
 Diagrama de Componentes
 Diagrama de Despliegue
 Diagrama de Estructura Paquete

MODELADO DINMICO

Diagrama de Componentes

Diagrama de Componentes

Definicin:
es un diagrama que muestra la organizacin y las
dependencias entre tipos de componentes.
 Es un tipo especial de Diagrama de Clases que se centra en
los componentes de un sistema.
 Contiene un nombre y un contenido grfico que es una
proyeccin del modelo.

Diagrama de Componentes: contenido

Componentes
Interfaces
Relaciones (dependencia, generalizacin, asociacin y
realizacin)
Pueden contener:
 notas y restricciones.

Diagrama de Componentes: componente


Qu es un componente?
Es una parte fsica reemplazable de un sistema que
empaqueta su implementacin.

Es conforme a un conjunto de interfaces a las que


proporciona su realizacin.
Ejemplos
 Bibliotecas de cdigo de objeto
 Ejecutables
 Enterprise Java Beans
 Tablas
 Archivos
 Documentos

Componente: notacin

NombreComponente

UML 2.0
NombreComponente

UML 1.5

<<component>>

NombreComponente

 Nombre: nombre simple o nombre de camino. Puede


contener extensiones (como java y dll).
 Adornos: valores etiquetados, compartimientos
adicionales para mostrar los detalles.
Estereotipos: executable, library, table, file, document

Componente: ejemplos
cmp Ejemplos

Nombres simples

procesadorTextos.exe
calculadora.java

Realiza
ProcesadorDeTextos
VerificadorOrtogrfico
ContadorPalabras

Componentes extendidos

Herramientas::calculadora.java
{version=2.0}

Componente: relaciones
Un componente es la implementacin fsica de un
conjunto de otros elementos (clases, colaboraciones)
Ejemplo

cmp Relaciones

componente
procesadorTextos.exe

ProcesadorDeTextos

VerificadorOrtografico

clases

ContadorPalabras

Componentes y Clases
Diferencias:
 Las clases representan abstracciones lgicas, los
componentes representan elementos fsicos del mundo de
los bits.
 Los componentes representan el empaquetamiento fsico
de clases que, por el contrario, son lgicos y se
encuentran a distinto nivel de abstraccin.
 Las clases pueden tener atributos y operaciones
directamente accesibles. En general, los componentes
slo tienen operaciones que slo son accesibles a travs
de sus interfaces.

Componentes e interfaces
Los servicios de un componente normalmente slo
estn disponibles a travs de sus interfaces.
Ejemplos
cmp Interafaz Icnica

imagen.java

componente.java
IObservadorImagen
interfaz

dependencia

realizacin

cmp Interfaz Expandida

<<interface>>
IObservadorImagen
imagen.java

abortar: int
error: int
actualizarImagen():boolean

componente.java

Tipos de Componentes

Componentes de Despliegue:
Son los necesarios y suficientes para formar un sistema ejecutable
(dll, exe)

Componentes producto del trabajo:


Son los productos que quedan al final del proceso de desarrollo
(cdigo fuente, archivos de datos)

Componentes de ejecucin:
Se crean como consecuencia de un sistema en ejecucin (objeto
COM+, el cual se instancia a partir de una DLL)

Diagrama de Componentes
Ejemplo
cmp Ejemplo

pgina

ejecutable

find.exe

find.html

index.html
nateng.dll

dbacs.dll
biblioteca

INTRODUCCIN

MODELADO FUNCIONAL

MODELADO ESTTICO
 Diagrama de Clases
 Diagrama de Objetos
 Diagrama de Componentes
 Diagrama de Despliegue
 Diagrama de Estructura Paquete

MODELADO DINMICO

Diagrama de Despliegue

Diagrama de Despliegue

Definicin:
Es un diagrama que muestra la configuracin de
los nodos que participan en la ejecucin y de los
componentes que residen en ellos.

Diagrama de Despliegue: contenido

Nodos
Conexiones
Pueden contener:
 Notas y restricciones.
 Componentes, cada uno de los cuales debe residir en algn
nodo.
 Paquetes o subsistemas, los cuales se utilizan para agrupar
elementos del modelo en bloques ms grandes.

Diagrama de Despliegue: nodo

Qu es un Nodo?
Es un elemento fsico que existe en tiempo de ejecucin y
representa un recurso computacional que, generalmente,
tiene alguna memoria y, a menudo, capacidad de
procesamiento.

Nodo: notacin

nombres simples

Ventas
Despliega
pos.exe
contactos.exe

Servidor_egb

servidor::copiaDeSeguridad
{sloAdministracinRemota}

Nodos extendidos

 Nombre: nombre simple o nombre de camino.


 Adornos: valores etiquetados, compartimientos
adicionales para mostrar los detalles.

Componentes y Nodos

Diferencias
 Los componentes son los elementos que participan en la
ejecucin de un sistema; los nodos son los elementos donde
se ejecutan esos componentes.
 Los componentes representan el empaquetamiento fsico de
los elementos lgicos; los nodos representan el despliegue
fsico de componentes.

Diagrama de Despliegue
Relacin de Dependencia: sirve para mostrar
explcitamente el componente que despliega un nodo.
Ejemplo
dd Relacion de Dependencia

ventas

pos.exe

nodo

contactos.exe

componentes

Diagrama de Despliegue: conexiones

Relacin de Asociacin: sirve para representar una


conexin fsica entre nodos.
Ejemplo
dd Conexiones entre Componentes

conexiones

<<10-T Ethernet>>

terminal

servidor

<<RS-232>>

consola

unidad RAID

Diagrama de Despliegue: ejemplo

dd Ejemplo General

servidores

clientes

2..*
<<procesador>>
Servidor de Cache

consola
terminal

conexiones

Despliega
http.exe
rting.exe

4..*
<<procesador>>
Servidor
Despliega
dbadmin.exe
logexc.exe

 Modelado de un sistema cliente/servidor

Mdulo IV

Modelado Dinmico

INTRODUCCIN

MODELADO FUNCIONAL

MODELADO ESTTICO

MODELADO DINMICO
 Diagramas de Interaccin
Diagrama de Secuencia
Diagrama de Comunicacin
 Diagrama de Actividades
 Diagrama de Mquina de Estados

Diagramas de Interaccin

Diagrama de Secuencia

Diagrama de Secuencia
Definicin:
Un Diagrama de Secuencia destaca la ordenacin temporal
de los mensajes.

Notacin:
Se encierra en un rectngulo y se le agrega una etiqueta con
sd seguido del nombre.

sd nombreDiag

Diagrama de Secuencia
Cada objeto cuenta con una lnea de vida, que muestra
el tiempo de vida del mismo.
La activacin de un objeto representa la ejecucin de
una operacin que realiza el mismo.
Notacin:
objeto
objetoA:ClaseA
tiempo de vida

activacin

Mensajes
Tipos de mensajes:
 Mensaje
 Mensaje
 Mensaje
 Mensaje

sncrono
asncrono
directo
respuesta / resultado

Sintaxis:
[Nmero de secuencia] [condicin] * [expresin iteracin] [valor de
retorno :=] nombre del mensaje (parmetros)

Mensajes
sd tiposDeMensajes

objetoA:ClaseA

:ClaseB
Mensaje Sncrono
Mensaje Respuesta

Mensaje Asncrono
Invocacin Local

Fragmento: alternativa
Notacin: se encierra en un rectngulo (frame), se le
agrega una etiqueta con el operador alt y se colocan
las guardas.
Ejemplo
sd NombreDiag

:Objeto1

alt
[guard 1]

Mensaje1
Mensaje2
Mensaje3

[guard 2]

Mensaje4

:Objeto2

Fragmento: bucle
Notacin: se encierra en un rectngulo (frame), se le
agrega una etiqueta con el operador loop y la cantidad
de iteraciones (opcional).
Ejemplo
sd NombreDiag

:Objeto1

Loop 1..7

Mensaje1
Mensaje2
Mensaje3
Mensaje4

:Objeto2

Fragmento: referencia
Notacin: se coloca un rectngulo (frame) con la
etiqueta del operador ref, y el nombre de la
interaccin se coloca en el centro con los
correspondientes parmetros (opcional).
Ejemplo
sd NombreDiag

:Objeto1

:Objeto2

Mensaje1

ref
NombreInteraccion(argumento,)
Mensaje2

Diagrama de Secuencia: construccin


Primer Paso: Se colocan los objetos que participan en
la interaccin en la parte superior del diagrama.
Ejemplo

sd planificacin

a:AyudaPlanificacin
:Cliente

Diagrama de Secuencia: construccin


Segundo Paso: se colocan los mensajes que estos
objetos envan y reciben, en orden de sucesin en el
tiempo, desde arriba hasta abajo.
Ejemplo
sd planificacin
objeto

a:AyudaPlanificacin
creacin

:Cliente
<<create>>

:AgenteBilletes

establecerItinerario()

llamada

calcularRuta()

retorno
llamada
(invocacin local)

destruccin

envo
<<destroy>>
notificar()

Ejemplo
Caso de Uso: tomar un curso.
Acciones del actor | Respuesta del sistema
Curso Normal:
1- Tomar un curso
2- Obtener pre-requisitos del curso
3- Validar condicin del estudiante
4- Validar estado del curso
5- Guardar la inscripcin

Cursos Alternativos:
3.1- El estudiante no cumple los pre-requisitos  Rechazar
4.1- El curso esta cerrado  Rechazar

Ejemplo
sd Tomar
un Curso
:Registrador

:AdmDeEstudiantes

Estudiante

tomarUnCurso(e,c)
p:= obtenerPreRequisitos(c)

ok:= validarCondicEstudiante(e,p)

alt

informarRechazo(mensaje)

[not ok]
ok2:= validarEstadoCurso (c)

[ok]

[not ok2]
informarRechazo(mensaje)

[ok2]efectivizarInscripcion(e,c)

:AdmDeCursos

Diagramas de Interaccin

Diagramas de Comunicacin

Diagrama de Comunicacin

Definicin:
Un Diagrama de Comunicacin destaca la
organizacin
estructural
de
los
objetos
participantes y el envo de mensajes.

sd nombreDiag

Enlaces
Un enlace es una conexin semntica entre objetos.
Ejemplos
clase
Persona
1..*

+calcularCompensacin(s:Sueldo)
+asignar(d:Departamento

clase

asociacin
*

empleado

patrn

Empresa

operaciones

p:Persona

objeto con
nombre

:Empresa
enlace

objeto
annimo

Mensajes
Los objetos se relacionan mediante enlaces a
travs de los cuales se envan mensajes.
Sintaxis:
Nmero de secuencia [condicin] *[expresin iteracin]: [valor de retorno :=]
nombre del mensaje ([parmetros])

Notacin:
1: mensaje()

:ObjetoClaseA

:ObjetoClaseB

Secuencia de Mensajes
sd example

mensajeInicial()

objetoA:ClaseA
2: mensaje4()

1: mensaje2()

3: mensaje7()

1.1: mensaje3()

:ClaseC

:ClaseF
2.1.1: mensaje6()
2.1: mensaje5()

:ClaseE

:ClaseB

:ClaseD

Mensajes condicionales

Un mensaje condicional es aquel que se enva si la


evaluacin de la clusula es verdadera.
Notacin:

1[condicin]: mensaje()

:ObjetoClaseA

:ObjetoClaseB

Si condicin es verdadera,
se enva el mensaje.

Condiciones mutuamente excluyentes


Se debe utilizar una letra diferente para cada posible
camino.
Notacin:
sd example
1a y 1b son caminos condicionales
mutuamente exclusivos.

mensajeInicial()

objetoA:ClaseA

1a[condicin1]: mensaje2()

2: mensaje6()

:ClaseB
1a.1: mensaje3()

1b[no condicion1]: mensaje4()

:ClaseE
:ClaseD

1b.1: mensaje5()

:ClaseC

Iteracin o bucle
Sintaxis:
* [expresin-iteracin ] mensaje

Ejemplo:

v:Vendedor

1 *[1..8]: verificarLnea()

:LneaProducto

Iteracin sobre una coleccin


Los multiobjetos se utilizan para denotar un conjunto
de instancias -coleccin-.
Ejemplo:

v:Venta

1 * : st::= getSubtotal()
*

:LneaDeVenta

Estos dos smbolos * utilizados conjuntamente


implican iteracin sobre el multiobjeto y el envo
del mensaje getSubtotal() a cada uno de los miembros.

Diagrama de Comunicacin: construccin


Primer Paso: se colocan los objetos que participan en
la comunicacin como nodos del grafo.
Ejemplo
sd inscripcin

:Estudiante

:AdmDeEstudiantes

:Registrador

:AdmDeCursos

Diagrama de Comunicacin: construccin


Segundo paso: se representan los enlaces
conectan esos objetos como arcos del grafo.

que

Ejemplo
sd inscripcin

:Estudiante

:AdmDeEstudiantes

:Registrador

:AdmDeCursos

Diagrama de Comunicacin: construccin


Tercer Paso: se adornan los enlaces con los mensajes
que envan y reciben los objetos.
Ejemplo
sd inscripcin

mensajes

enlaces

1. 3a: [ok] efectivizarInscripcion(e,c)

1: tomarUnCurso(e,c)

:Estudiante
objetos

1.3b: [not ok] informarRechazo(mensaje)

1.2: ok:=validarCondicEstudiante(e,p)

:AdmDeEstudiantes

:Registrador
1.1: p:=obtenerPreRequisitos(c)

:AdmDeCursos

Secuencia Vs. Comunicacin

Los Diagramas de Secuencia tienen dos caractersticas


que los distinguen de los Diagramas de Comunicacin:
 Lnea de vida: la mayora de los objetos existirn mientras dure la
interaccin.
 Caja de activacin: representa el perodo de tiempo durante el
cual un objeto ejecuta una accin.

Comunicacin Vs. Secuencia

Los Diagramas de Comunicacin tienen dos


caractersticas que los distinguen de los Diagramas de
Secuencia:
 Camino: sirve para indicar cmo se enlaza un objeto a otro.
 Nmero de Secuencia: para indicar la ordenacin temporal de un
mensaje, se precede de un nmero, que se incrementa
secuencialmente por cada nuevo mensaje en el flujo de control.

Momento de ejercitacin

Ejercicio N 1
Marque las respuestas correctas:
 En un Diagrama de Secuencia genrico, Cmo se
representara el control de flujo implcito en una instruccin
condicional?
 Se coloca la condicin entre parntesis
 Se coloca la condicin entre corchetes
 Se coloca la condicin como estereotipo
 Se coloca la condicin entre llaves

Ejercicio N 2
A qu conceptos hacen referencia las siguientes
afirmaciones sobre tipos de mensajes?
 Cuando un objeto enva un mensaje, el objeto aguarda una
respuesta antes de continuar.
Mensaje asncrono

Mensaje sncrono

 Cuando un objeto enva un mensaje, el objeto no aguarda una


respuesta para continuar.
Mensaje asncrono

Mensaje sncrono

Ejercicio N 3
Dado el siguiente Diagrama sobre Agregar Representacin,
marque los errores y complete en caso de ser necesario:

sd Ejercicio

:Vendedor

:Representacin

:Administrador

Espectador
consultarRep(nombreRep)
Rep:=buscarRep
(nombreRep)
buscar(nombreRep)

consultarHorarioRep(Rep)

mostrarHorarios(horarios)

horarios:=
BuscarHorario(Rep)

Ejercicio N 4
En el siguiente Diagrama, completar en caso de ser
necesario y marcar los errores:
sd teatro
consultarRep(nombreRep)

Rep:=buscarRep(Rep)
:Vendedor
buscarRep(nombreRep)

Espectador

Representacin
consultarHorarioRep(Rep)

:Administrador
mostrarHorarios(horarios)
horarios:= buscarRep(Rep)

Ejercicio N 5
Indicar si la siguiente definicin es verdadera o falsa:
 La equivalencia semntica entre un Diagrama de Secuencia y
un Diagrama de Comunicacin significa que muestran la misma
informacin, pero no podr convertir uno en otro.

INTRODUCCIN

MODELADO FUNCIONAL

MODELADO ESTTICO

MODELADO DINMICO
 Diagrama de Interaccin
 Diagrama de Actividades
 Diagrama de Mquina de Estados

Diagrama de Actividades

Diagrama de Actividades: mbito

Tipo especial de Diagrama de Mquina de Estados.


tiles para
operaciones.

mostrar

los

procesos

de

negocios/

Diseados para mostrar una visin simplificada de lo


que ocurre durante una operacin / proceso.

Diagrama de Actividades: mbito

Similitud con los Diagramas de flujos en programacin


(pasos puntos de decisin - bifurcaciones).
Cubren la vista dinmica de un sistema.
Importantes en el modelado del funcionamiento de un
sistema.

Diagrama de Actividades

Qu es una actividad?
Es una ejecucin no atmica en curso, dentro de una Mquina de
Estados.

Un Diagrama de Actividad representa el comportamiento


mediante un modelo de flujo de datos y flujo de control.

Relacin con Diagramas de Interaccin

Un Diagrama de Actividad muestra el flujo de control entre


distintas actividades, cumpliendo una finalidad especfica.
Destaca la actividad a lo largo del tiempo.
Se lo puede pensar como un Diagrama de Interaccin, con
algunas diferencias:
 Un Diagrama de Interaccin muestra objetos que se envan
mensajes.
 Un Diagrama de Actividad muestra las operaciones que pasan
entre los objetos.

Diagrama de Actividades
Las actividades producen finalmente una accin.
Qu es una accin?
Es una especificacin de una unidad fundamental de
comportamiento que representa una transformacin o
procesamiento.
 Las acciones estn compuestas de clculos atmicos ejecutables
que producen un cambio de estado o la devolucin de un valor.

Diagrama de Actividades

Llamadas a otras operaciones.

Envo de seales.

ACCIONES

Creacin de objetos.

Destruccin de objetos.

Simples clculos.

Diagrama de Actividades

Un Diagrama de Actividades se compone:


de actividad
nombre

 estados
de accin

 transiciones

 objetos

nombreObjeto :NombreClase

Diagrama de Actividades

Estado de accin:
 Es un estado atmico.
 Pueden representar la evaluacin de una expresin o invocar
una operacin sobre un objeto, incluso crearlo o destruirlo.

Diagrama de Actividades

Ejemplos de estados de accin:

Accin simple

Eliminar mensaje

Expresin

Monto total := costoUnitario x cantidad ;

Diagrama de Actividades
Estado de actividad:
 No es un estado atmico.
 Puede ser visto como un elemento compuesto que se
descompone en estados de actividad y de accin.
 Puede tener acciones de entrada y salida (entry/exit) y
especificaciones de submquinas.

Diagrama de Actividades
Ejemplos de estados de actividad:

Procesar factura ()
Submquina

Preparar construccin ()
entry / bloquearPerimetro()

Accin de entrada

Diagrama de Actividades
Transicin de una actividad:
act Transicin

punto inicial

nombre de la actividad

Actividad 1
transicin sin disparador

Actividad 2

punto final

Diagrama de Actividades
act Ejemplo

estado inicial

Elegir terreno

Planificar obra
estado de accin

Contratar arquitecto

Terminar construccin
estado final

Diagrama de Actividades
Accin Vs. Actividad

transicin

evento
reiniciar

Vigilando

deteccin de un intruso / llamar a la polica ()

Sonando
do / sonar_alarma()

evento

accin
actividad
transicin

Diagrama de Actividades

Elementos de interconexin:
Bifurcaciones
Divisiones
Uniones
Swimlanes

Diagrama de Actividades
Dos formas de mostrar una decisin
act Decisiones

Expresin de guarda

Despertar
[ hambriento ]

Desayunar

[ inapetente ]

Volver a dormir

Diagrama de Actividades
act Bifurcacin

Despertar
Expresin
de guarda

Bifurcacin

[ hambriento ]

Desayunar

[ inapetente ]

Volver a dormir

Diagrama de Actividades
act Ejemplo

Llamar al cliente y concertar una cita


[ cita local ]

[ cita externa ]

Preparar una sala de conferencias

Preparar una laptop

Junta con el cliente

Enviar un memorandum
Ver el Diagrama de
Actividades
para crear un documento

[se plantea un problema]

Crear propuesta
[ no se plantea un problema ]

Enviar la propuesta al cliente

Diagrama de Actividades: fork y join


act Fork y Join

Fin de la jornada

Controlar recaudacin

Fork (divisin)

Cerrar caja
Join (unin)

Diagrama de Actividades: ejemplo


Explosin de un Caso de Uso: Enviar mensaje
act Ejemplo

En v ia r Me n s a je

U s u a rio

S e le c c io n a r c o n ta c to s O n - L in e

En v ia r me n s a je c r e a d o

Cr e a r Me n s a je

Diagrama de Actividades: ejemplo general


act Ejemplo General

Confeccionar obra teatral


Programar obra

Armar escenografa

Publicar obra

Hacer vestuario

Contratar msica Contratar actores

Vender entradas
Realizar ensayos

Ensayar obra completa

Representar la obra de teatro

Disear iluminacin

Marcos de responsabilidades
Vendedor

Consultor

Tcnico

Llamar al cliente y
concertar una cita
[ cita local ]
[ cita externa ]

Preparar una laptop

Preparar una sala


de conferencias

Junta con el cliente


Enviar un memorandum
[se plantea un problema]

Crear propuesta
Enviar la propuesta al cliente
[no se plantea un problema]

Ver el Diagrama de
Actividades
para crear un documento

Marcos de responsabilidades
Notacin alternativa
act Ejemplo

(Vendedor)
Llamar al cliente y
concertar una cita

[ cita externa ]
(Consultor)
Preparar una laptop

[ cita local ]

(Tcnico)
Preparar una sala
de conferencias

(Vendedor)
Junta con el cliente
(Vendedor)
Enviar un memorandum
(Consultor)
Crear propuesta
(Consultor)
Enviar la propuesta al cliente

[ no se plantea un problema ]

Ver el D. de actividades
para crear un documento

Diagrama de Actividades
Diagramas hbridos:

:Calculadora

INTRODUCCIN

MODELADO FUNCIONAL

MODELADO ESTTICO

MODELADO DINMICO
 Diagrama de Interaccin
 Diagrama de Actividades
 Diagrama de Mquina de Estados

Diagrama de Mquina de Estados

Modelado Dinmico

Una manera de caracterizar un cambio en un sistema es


decir que los objetos que lo componen modificaron su
estado como respuesta a los sucesos y al tiempo.
Una Mquina de Estados es un nuevo elemento de
comportamiento que nos mostrar la forma en que las
partes de un modelo UML cambian con el tiempo.
Una Mquina de Estados consta de estados, transiciones,
eventos y actividades.

Modelado de Mquinas de estado

Un estado es una condicin en la que puede estar un


objeto en algn momento de su ciclo de vida, durante
un cierto tiempo.

Los Diagramas de Mquina de Estados:


 Son tiles para modelar la vida de un objeto.
 Describen los estados por los que puede pasar un objeto
durante su ciclo de vida y el comportamiento en esos
estados junto con los eventos que causan los cambios de
estado.

Cundo usar Diagramas de Mquinas de estados ?

Un Diagrama de Mquina de Estados muestra una Mquina


de Estados, destacando el flujo de control entre estados de
la misma.

Los Diagramas de Mquina de Estados pueden asociarse a:


 Clases
 Casos de Uso
 Sistemas completos

para visualizar, especificar, construir y documentar la


dinmica de un objeto individual.

Diagrama de Mquinas de Estados


Las Mquinas de Estados pueden estar compuestas por:


Estados
 estados simples

Nombre_del_estado

NombreEstado

 estados compuestos

NombreSubestado
NombreSubestado

Transiciones
 eventos

 acciones

Diagrama de Mquinas de Estados


Estado:
describe un perodo de tiempo durante la vida de un objeto de
una clase.

Mientras se est en un determinado estado, el objeto

puede realizar algunas (o todas) de las siguientes


acciones:





Realizar una actividad.


Esperar un evento.
Satisfacer una o ms condiciones.

Elementos de Mquinas de estado


Nombre del estado
Variables de estado
Estado inicial

evento1 / nombre de actividad interna


evento2 / nombre de actividad interna
exit / nombre de actividad al salir
enter / nombre de actividad al entrar
do / nombre de actividad a realizar

Estado final

H
Estado de historia

Transiciones internas

Estado secuencial compuesto

Estado concurrente compuesto

Diagrama de Mquinas de Estados


Transicin:
es un cambio del objeto desde un estado (estado fuente/origen) a
otro (estado destino).
stm Transiciones

Empaquetando

Enviando

Tambin puede haber una auto-transicin cuando ambos estados


coinciden.
stm Transiciones

Recibiendo Pedidos

Diagrama de Mquinas de Estados


Evento:
es la especificacin de un acontecimiento significativo.

stm Transiciones

confirmacinEnvo

Enviando

Enviado

Diagrama de Mquinas de Estados


Accin:
es una computacin que produce un cambio de estado en
el modelo o la devolucin de un valor.

stm Transiciones

confirmacinEnvo / registraNEmpaque( )

Enviando

Enviado

Diagrama de Mquinas de Estados


Estado simple

evento

Estado compuesto

autotransicin

cambiar

cancelacinDeReserva

reservar

comprar

cantidad_dias > 5

comprar

[<condicin>]/<accin>

Estado inicial

transicin

Estado final

Momento de ejercitacin

Ejercicio N 1

Indique si las siguientes afirmaciones son Verdaderas o Falsas:


 Un Diagrama de Actividad muestra el flujo de actividades y los objetos que
realizan dichas actividades.

 Un Diagrama de Actividad es una forma especial de Mquina de Estados,


prevista para modelar cmputos y flujos de trabajo.

 Un marco de responsabilidades, en un Diagrama de Actividad, es un segmento


que muestra las actividades que realiza algn rol en particular.

Ejercicio N 2
Marque cules son las posibles formas de representar
un punto de decisin:
Mostrando las bifurcaciones
sincronizacin.

mediante

una

barra

de

Mostrando un rombo con bifurcaciones provenientes de l.


Mostrando las bifurcaciones provenientes directamente de una
actividad.
Mostrando una flecha de realizacin asociada a una nota,
indicando la condicin que asocia el camino hacia la
siguiente actividad.

Ejercicio N 3

Supongamos que el Gerente del teatro desea consultar


informacin sobre una representacin especfica, marcar
posibles errores en el siguiente diagrama que lo intenta
modelar:

Ejercicio N 4
Construir el diagrama de actividades a partir del siguiente dominio:
Consideremos el flujo de trabajo asociado a la construccin de una casa:
 En 1 lugar, se seleccionar un lugar de construccin (terreno).
 Se necesitar contratar a un arquitecto para disear la casa.
 Luego de llegar a acordar un plano especfico para construir, el constructor consultar
las ofertas para establecer el precio de casa.
 Una vez acordados el precio y el plano, se puede comenzar la construccin.
 Luego, se obtienen los permisos, se adecua el terreno, se echan cimientos, se arman
las estructuras, . hasta que todo queda hecho.
 Finalmente se entregan las llaves y un certificado de vivienda.
 El propietario toma posesin de la casa.

Ejercicio N 4 (cont.)

Contratar arquitecto
Realizar trabajo en el terreno
Terminar construccin

[ oferta de plano No aceptado ]


Ofertar plano
Desarrollar plano

[ en otro caso]

Elegir terreno
Hacer trabajo comercial ()

: CertificadoDeVivienda
[terminado]

Ejercicio N 5
Marque la respuesta correcta a la siguiente pregunta:
De qu forma difiere un Diagrama de Mquina de Estados de
un Diagrama de Clases?
Un Diagrama de Mquina de Estados muestra la interaccin entre
objetos de un sistema, mientras que un Diagrama de Clases modela un
sistema o parte de l.
Un Diagrama de Mquina de Estados modela los estados de un solo
objeto, mientras que un Diagrama de Clases muestra el
comportamiento secuencial de los objetos del sistema.
Un Diagrama de Mquina de Estados modela los estados de un solo
objeto, mientras que un Diagrama de Clases modela un sistema o parte
de l.

Ejercicio N 6
Indique si las siguientes afirmaciones son verdaderas o
falsas:
 Un estado simple tiene un conjunto de transiciones y posiblemente
acciones de entrada y salida.
V

 Una descomposicin en subestados disjuntos es un tipo de especializacin


de un estado.
V

 Un estado simple es un estado que se ha descompuesto en subestados


secuenciales o subestados concurrentes.
V

Ejercicio N 7

A qu conceptos hacen referencia las siguientes


afirmaciones sobre los subestados?
 Los subestados se dan uno despus del otro.
Subestado Concurrente

Subestado Secuencial

 Los subestados suceden al mismo tiempo.


Subestado Concurrente

Subestado Secuencial

Fin del Curso

Case Tools

 Rational Rose 2001 Enterprise Edition


 Together version 5.5
 Poseidon
 ArgoUML
 Visio 2000
 SoftModeler Enterprise Edition
 Rational Software Modeler

Bibliografa
 The Unified Modeling Language User Guide - G. Booch, J. Rumbaugh, and I.
Jacobson - Addison-Wesley.
 The Unified Modeling Language Reference Manual - G. Booch, J. Rumbaugh, and
I. Jacobson - Addison-Wesley
 Teach Yourself UML in 24 Hours - Joseph Schmuller
 UML Distilled - Martin Fowler
 UML for Java Programmers - Robert Cecil Martin
 OMG Unified Modeling Language Specification (Version 1.4 September 2001)
 Lenguaje UML 2 Manuel Imaz
 Applying UML and Patterns Craig Larman
 UML 2 for Dummies

You might also like