PDF de programación - PROGRAMACIÓN ORIENTADA A OBJETOS - II MODELOS y HERRAMIENTAS UML

Imágen de pdf PROGRAMACIÓN ORIENTADA A OBJETOS - II MODELOS y HERRAMIENTAS UML

PROGRAMACIÓN ORIENTADA A OBJETOS - II MODELOS y HERRAMIENTAS UMLgráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.096 visualizaciones desde el 14 de Enero del 2017
940,7 KB
69 paginas
Creado hace 15a (22/07/2008)
PROGRAMACIÓN ORIENTADA A
PROGRAMACIÓN ORIENTADA A

OBJETOS
OBJETOS

Master de Computación
Master de Computación

II MODELOS y HERRAMIENTAS

UML

II.4 UML: Modelado dinámico

II.4 UML: Modelado dinámico

Elena Mediavilla

1

1

Modelo dinámico
Modelo dinámico

• El modelo dinámico está constituido por los aspectos de un sistema
relacionados con el tiempo y con los cambios en los objetos y sus
relaciones a lo largo del tiempo.

– Con el modelo dinámico se describe el control en el sistema, es decir, las
secuencias de operaciones que ocurren como respuesta a estímulos
externos, sin tener en cuenta lo que hacen las operaciones, sobre qué
operan o cómo se implementan.

• Los objetos se comunican entre sí mediante el envío de mensajes.

– La comunicación entre un conjunto de objetos para realizar alguna función

se denomina interacción.

• Los diagramas de estado, interacción (secuencia, comunicación,
tiempo y visión de conjunto) y actividad se usan para describir cómo
los objetos interactúan dinámicamente en diferentes momentos durante
la ejecución del sistema.

II.4 UML: Modelado dinámico

Elena Mediavilla

2

2

Diagrama de estado
Diagrama de estado

• Los diagramas de estado capturan los ciclos de vida de los objetos,

subsistemas y sistemas.

– Es una representación gráfica de una máquina de estado finita.

– Especifica la secuencia de estados de un objeto a lo largo de su ciclo de
vida como consecuencia de los eventos que recibe, junto con las
respuestas del objeto a esos eventos.

• Los principales conceptos de un diagrama de estado son los eventos y

los estados.

– Los valores de los atributos de un objeto y los enlaces que mantiene

constituyen su estado.

– A lo largo del tiempo, los objetos se estimulan entre sí dando lugar a una
serie de cambios en sus estados. Un estímulo individual de un objeto a
otro es un evento.

– La respuesta a un evento depende del estado del objeto que lo recibe y
puede incluir un cambio de estado o el envío de otro evento al emisor
original o a un tercer objeto.

II.4 UML: Modelado dinámico

Elena Mediavilla

3

3

Diagrama de estado
Diagrama de estado

• El patrón de eventos, estados y transiciones de estado para una clase

dada puede abstraerse y representarse como un diagrama de estado.

• Los diagramas de estados muestran cómo reaccionan los objetos a los

eventos y cómo cambian su estado interno.

– Un diagrama de estado es una cadena de estados y eventos, del mismo

modo que un diagrama de clases es una cadena de clases y relaciones.

• El modelo dinámico consiste en múltiples diagramas de estado y

muestra el patrón de actividad para el sistema completo.

• Los diagramas de estado se ejecutan en concurrencia y pueden cambiar

de estado independientemente.

II.4 UML: Modelado dinámico

Elena Mediavilla

4

4

Eventos
Eventos

• Un evento es algo que ocurre en un momento del tiempo, no tiene duración.

– Por ejemplo, un usuario aprieta una tecla.

– Desde luego, nada es realmente instantáneo; simplemente, un evento es un suceso

muy rápido en comparación con la escala de tiempo de una abstracción dada.

• Un evento puede preceder o seguir a otro, o ambos eventos pueden ser

inconexos.

– Dos eventos que no tienen efecto uno sobre otro (son causalmente inconexos) se

denominan concurrentes.

– Los eventos concurrentes pueden suceder en cualquier orden, por lo que al modelarlo
no se intenta establecer una ordenación entre ellos. Cualquier modelo realista de un
sistema distribuido incluirá eventos y actividades concurrentes.

• Un evento es una transmisión de información en un solo sentido de un objeto a

otro.

– Un objeto que envía un evento a otro puede esperar una respuesta, pero ésta es un

evento distinto bajo el control del segundo objeto, que puede elegir enviarlo o no.

– Un evento puede consistir en la recepción de una señal explícita desde otro objeto,
una llamada a una operación, la verificación de una condición o el paso de un período
determinado de tiempo.

– Los eventos incluyen tanto condiciones de error como sucesos normales.

II.4 UML: Modelado dinámico

Elena Mediavilla

5

5

Clases de eventos
Clases de eventos

• Cada evento es un suceso único, pero se agrupan en clases de eventos y se da
un nombre a cada una para indicar que existe una estructura y un
comportamiento comunes.

– Por ejemplo, El vuelo 123 parte de Madrid y El vuelo 456 parte de Barcelona son

instancias de la clase evento El vuelo de un avión parte de.

• La mayoría de clases de eventos tienen atributos que representan la

información (valores de datos) que transmiten de un objeto a otro.

– Los atributos se muestran (opcionalmente) entre paréntesis después del nombre de

la clase de evento.

– El tiempo en que ocurre un evento es un atributo implícito de todos los eventos.

Sale el vuelo de un avión (línea aérea, número de vuelo, ciudad)
Botón del ratón pulsado (botón, localización)
String de entrada introducido (texto)
Receptor telefónico levantado
Dígito marcado (dígito)
La velocidad de un motor entra en zona peligrosa

II.4 UML: Modelado dinámico

Elena Mediavilla

6

6

Estados
Estados

• Un estado es una abstracción de los valores de los atributos y los

enlaces de un objeto.
– El estado de un banco es solvente o insolvente, en función de si sus

activos exceden a sus pasivos o no.

• Un estado especifica la respuesta del objeto a eventos de entrada. Esta
respuesta puede incluir una acción o un cambio de estado por parte del
objeto.
– Si se marca un dígito en el estado Señal de línea libre, desaparece esta
señal y la línea de teléfono entra en el estado Llamando; si se cuelga el
receptor en el estado Señal de línea libre, la línea telefónica se corta y
pasa al estado Inactivo.

• Un estado corresponde al intervalo entre dos eventos recibidos por un
objeto. Los eventos representan puntos en el tiempo y los estados,
intervalos de tiempo.
– Después de descolgar el auricular y antes de marcar el primer número, la

línea de teléfono se encuentra en el estado Línea libre.

II.4 UML: Modelado dinámico

Elena Mediavilla

7

7

Estados
Estados

• El estado de un objeto depende de la secuencia de eventos anterior que ha
recibido, pero en muchos casos los eventos previos son eclipsados por los
eventos siguientes.

– Los eventos que ocurrieron antes de colgar el teléfono no tienen efecto en el
comportamiento futuro; el estado Inactivo olvida los eventos previos al evento
colgar.

• Un estado se suele asociar con una actividad continua o con una actividad que

tarda un tiempo en completarse.

– Existe una dualidad entre eventos y estados; un evento separa dos estados y un

estado separa dos eventos.

• Un estado también suele asociarse con el valor de un objeto que satisface

alguna condición.

– El agua es líquida equivale a decir que la temperatura del agua es mayor que 0°C y

menor que 100°C.

– Cada valor enumerado de un atributo define un estado distinto. Las marchas en un
coche pueden estar en los estados marcha atrás, punto muerto, primera, segunda,
tercera, cuarta o quinta.

• Al definir estados, se

ignoran aquellos atributos que no afectan al
comportamiento del objeto y se agrupan en un estado simple todas las
combinaciones de valores de atributos y de enlaces que tienen la misma
respuesta a los eventos.

II.4 UML: Modelado dinámico

Elena Mediavilla

8

8

Estados
Estados

• Tanto los eventos como los estados dependen del nivel de abstracción

considerado.

– Por ejemplo, excepto para mandar 0s y 1s, los números exactos marcados no
afectan al control de la línea telefónica, así que se pueden agrupar dentro del estado
Llamando y dejar el número del teléfono como un parámetro.

• Un estado puede caracterizarse de varias formas y las diferentes descripciones

de un estado pueden solaparse.

Estado: Alarma sonando
Descripción: la alarma del reloj suena para indicar que ha llegado la hora marcada

Secuencia de eventos que conducen al estado:

Poner alarma (hora alarma)
Cualquier secuencia que no incluya quitar alarma
hora actual = hora alarma

Condición que caracteriza al estado:

(alarma = on) and (hora alarma <= hora actual <= hora alarma + 20 segundos) and
(no se ha pulsado ningún botón desde hora alarma)

Eventos aceptados en el estado:

evento

acción

próximo estado

hora actual = hora alarma + 20
botón pulsado (cualquier botón)

restablecer alarma
restablecer alarma

normal
normal

II.4 UML: Modelado dinámico

Elena Mediavilla

9

9

Transiciones
Transiciones

• Un diagrama de estados relaciona eventos y estados. Un cambio de estado

causado por un evento se denomina una transición.

• Un estado se dibuja como un rectángulo de esquinas redondeadas con un

nombre opcional.

• Una transición se dibuja como una flecha desde el estado origen al estado

destino, etiquetada con el nombre del evento que causa la transición.

• Las transiciones que abandonan un estado deben corresponder a eventos

diferentes.

En el

primer piso

sube

Subiendo

llegó

Yendo al
primer piso

Bajando

time-out

llegó

baja

llegó

sube

Inactivo

II.4 UML: Modelado dinámico

Elena Mediavilla

10

10

Transiciones
Transiciones



Si un objeto está en un estado y ocurre un evento de los que etiquetan una de
sus transiciones, el objeto entra en el estado destino de la transición y se dice
que la transición se ha disparado.

– Si más de una transición abandona un estado, el primer evento que ocurra causa
que se dispare la transición correspondiente.
  • Links de descarga
http://lwp-l.com/pdf1110

Comentarios de: PROGRAMACIÓN ORIENTADA A OBJETOS - II MODELOS y HERRAMIENTAS UML (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad