El modelo dinmico - PowerPoint PPT Presentation

1 / 59
About This Presentation
Title:

El modelo dinmico

Description:

... es opcional, se puede utilizar para mostrar la devoluci n de valores. ... Caja de activaci n: muestra la activaci n del m todo en la pila de ejecuci n. 5.2. 12 ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 60
Provided by: agi63
Category:
Tags: dinmico | la | modelo | pila

less

Transcript and Presenter's Notes

Title: El modelo dinmico


1
El modelo dinámico
Ingeniería de la Programación Capítulo 5
2
Contenidos
  • 5.1. Introducción.
  • 5.2. Diagramas de secuencia.
  • 5.3. Diagramas de colaboración.
  • 5.4. Diagramas de Estados.
  • 5.4.1. Componentes de un estado y de una
    transición.
  • 5.4.2. Condiciones de guarda y acciones en
    transiciones.
  • 5.4.3. Operaciones en los diagramas.
  • 5.4.4. Superestados.
  • 5.4.5. Concurrencia.

3
Introducción
5.1
  • El modelo de comportamiento está formado por
  • Diagramas de interacción Reflejan la
    comunicación dentro del sistema.
  • Diagramas de estados (DTE) Describen los ciclos
    de vida de los objetos.

4
Interacción
5.1
  • Los objetos interactúan para realizar
    colectivamente los servicios ofrecidos por las
    aplicaciones. Los diagramas de interacción
    muestran cómo se comunican los objetos en una
    interacción.
  • Hay dos tipos de diagramas de interacción
    diagramas de secuencia y diagramas de
    colaboración.

5
Introducción diagramas de secuencia
5.1
  • Objetivos Identificar la comunicación dentro del
    sistema y las operaciones de las clases.
  • Punto de partida
  • Casos de uso.
  • Plantilla textual.

6
Introducción diagramas de secuencia (2)
5.1
  • Casos de uso
  • Describen cómo los actores interactúan con el
    sistema software.
  • El actor genera eventos hacia el sistema que
    exigen la ejecución de operaciones.
  • A partir de los casos de uso se identifican los
    eventos dirigidos hacia el sistema y desde el
    sistema a los actores.
  • Debe detectarse la comunicación dentro del
    sistema.

7
Introduccióndiagramas de secuencia (3)
5.1
8
Diagramas de transición
5.1
  • El modelo dinámico para el sistema está formado
    por múltiples diagramas de transición entre
    estados, uno para cada clase del sistema.
  • El diagrama de estados es una técnica gráfica
    usada para describir el comportamiento (i.e.
    cambios de estado) de una clase de acuerdo a los
    eventos que recibe y envía.

9
Diagrama de estados
5.1
10
Diagrama de estados
5.1
11
5.2 Diagrama de Secuencia
5.2
  • Muestra la secuencia de mensajes entre objetos
    durante un escenario concreto
  • Cada objeto viene dado por una barra vertical
  • El tiempo transcurre de arriba hacia abajo
  • El retorno de un mensaje es opcional, se puede
    utilizar para mostrar la devolución de valores.
  • Caja de activación muestra la activación del
    método en la pila de ejecución

12
Diagramas de secuencia
5.2
  • Comunicación entre instancias

Instancia2
Instancia1
Msg1()
Msg2()
Msg 3()
13
Diagramas de secuencia
5.2
  • Indicación del retorno en la invocación

Instancia2
Instancia1
Msg1()
Msg2()
Msg3()
Msg4()
14
Diagramas de secuencia
5.2
  • Creación y destrucción

Instancia1
New()
Instancia2
Mensaje
Mensaje(arg)
Destrucción instancia
15
Condiciones e iteración
5.2
  • Para mensajes simples
  • Condición
  • Iteración

color rojo msg()
msg()
i1..N msg()
16
Iteración para grupos de mensajes
5.2
Instancia2
Instancia1
Instancia3
i1..N
17
Diagramas UML 2.0
5.2
  • Los diagramas de secuencia de UML 2.0 utilizan la
    notación de los MSC (Message Sequence Charts).
  • Notación gráfica para
  • Condiciones.
  • Repeticiones.
  • Alternativas.
  • Partes opcionales.
  • Inclusiones de diagramas.

18
UML 2.0 Expresiones en línea
5.2
  • Alternativa (alt).
  • Composición paralela (par).
  • Iteración (loop).
  • Composición opcional (opt).
  • Composición excepcional (exc).

19
UML 2.0 Referencias a diagramas
5.2
  • Expresiones dentro de un MSC que permiten
    referenciar a otro diagrama
  • Simples (referencias planas)
  • Compuestas (referencias planas operadores alt,
    par, loop, etc.)

20
UML 2.0 ejemplo
5.2
21
UML 2.0 ejemplo
5.2
New()
addLinea(cod,can)
22
Diagramas de colaboración
5.3
  • Representan la misma información que los
    diagramas de secuencia
  • Son intercambiables.
  • En los diagramas de colaboración se describe
    peor el flujo de control.

23
Diagramas de colaboraciónNotación
5.3
msg()
Instancia 2
Instancia 1
1 msg()
2 msg()
Enlace
Orden del mensaje
Dirección
24
Diagramas de colaboración
5.3
  • Los enlaces muestran el intercambio de mensajes
    entre objetos
  • Los mensajes se pueden intercambiar en los dos
    sentidos.
  • Varios mensajes se pueden intercambiar en la
    misma dirección.
  • Notación para mensajes
  • valor mensaje(parámetrotipo)tiporetorno

25
Diagramas de colaboración
5.3
  • La información de tipos puede ser excluida si es
    obvia o no es importante.
  • Descripción GetDescrProducto(id)
  • Descripción GetDescrProducto(idItemID)
  • Descripción GetDescrProducto(idItemID)DescrPro
    ducto

26
Diagramas de colaboración
5.3
  • La flecha indica la dirección del mensaje
  • La secuencia de números describe el orden
  • 1, 2.1, 3.4.1
  • Los mensajes puede dirigirse también a la
    instancia actual (self,this).

Instancia 1
1.2 limpiar()
27
Diagramas de colaboraciónnumeración de mensajes
5.3
  • El primer mensaje no se numera
  • Representa una acción/evento que dispara la
    colaboración
  • Si se recibe un mensaje m con número x.y.z,
    entonces los mensajes que se envían durante el
    procesado de m se numeran con x.y.z.1, x.y.z.2,
    etc.

28
Diagramas de colaboraciónnumeración de mensajes
5.3
Msg1()
1Msg2()
Instancia 1
Instancia 2
1.1Msg3()
2.1Msg5()
2Msg4()
Instancia 3
2.2Msg6()
Instancia 4
29
Diagramas de colaboración
5.3
  • La creación de instancias se indica mediante
    create().
  • Puede contener parámetros create(DNI)
  • La notación para las condiciones en el envío de
    mensajes y para las iteraciones es similar a la
    utilizada en los diagramas de secuencia.

30
5.4 Diagramas de Estados
5.4
  • Un diagrama de estados relaciona eventos y
    estados.
  • Ayudan a identificar los cambios que sufren los
    objetos en el tiempo y las secuencias de
    operaciones que se producen en respuesta a uno o
    más eventos.
  • Un cambio de estado producido por un evento se
    llama transición.

31
Diagramas de Estados
5.4
  • Los diagramas de transición entre estados son
    deterministas.
  • Un diagrama de estados, como una clase de objeto,
    es un patrón este describe una secuencia,
    posiblemente infinita, de eventos.

32
Eventos y Estados
5.4
  • Los estímulos desde un objeto a otro se llaman
    eventos. Representan caminos de información entre
    los objetos o entre los actores y el sistema.
  • Un evento es algo que ocurre en el entorno del
    sistema y que no tiene duración, comparado con la
    escala de tiempo del mismo.

33
Eventos y Estados
5.4
  • Algunos eventos son simples señales para indicar
    que algo ha ocurrido, pero muchas clases de
    eventos tienen atributos indicando la información
    que transmiten.
  • pulsación del botón del ratón ( botón, posición )
  • string de entrada introducido( texto )
  • unidad de disco no preparada
  • transacción abortada
  • exceso en el tiempo de espera.
  • After(20 segundos).
  • Eventos y atributos de los mismos

34
Eventos y Estados
5.4
  • La respuesta a un evento depende del estado del
    objeto que lo recibe, y puede incluir un cambio
    de estado o implicar el envío de otro evento al
    emisor o a otro tercer objeto.
  • Un estado es una abstracción de los valores de
    los atributos y enlaces de un objeto. Los
    conjuntos de valores se agrupan juntos en un
    estado de acuerdo a las propiedades que afectan
    al comportamiento del objeto.

35
Eventos y Estados
5.4
  • Tipo de objeto Puerta
  • atributos AngulodeApertura, color, etc
  • Estados
  • cerrada 0 AngulodeApertura.
  • abierta 45ltAngulodeAperturalt180.
  • entornada 0ltAngulodeAperturalt45.
  • Tipo de objeto Cuenta Bancaria
  • atributos saldo, fecha de apertura, etc.
  • Estados
  • ok 0ltsaldo
  • números rojos saldolt0

Estados relevantes
36
Diagramas de Estados
5.4
37
Diagramas de Estados
5.4
  • Los diagramas con estados finales representan
    objetos con vidas finitas. Al estado inicial se
    entra cuando se crea el objeto entrar en el
    estado final o en algunos de los estados finales
    implica la destrucción del objeto.

Diagrama de estados para el juego de ajedrez
38
5.4.1 Componentes de un estado y de una transición
5.4.1
  • Un estado puede tener las siguientes componentes
  • Nombre Una cadena de texto que distingue el
    estado de otros estados. El nombre es una
    característica opcional.
  • Acciones de Entrada/Salida Operaciones que se
    ejecutan, respectivamente, al entrar o al salir
    del estado.
  • Actividades Operaciones que se ejecutan en el
    estado considerado.

39
Componentes de un estado y de una transición
5.4.1
  • Transiciones internas Transiciones que se
    manejan sin causar un cambio de estado.

40
Componentes de un estado y de una transición
5.4.1
  • Una transición tiene los siguientes componentes
  • Estado Origen Estado afectado por la transición.
  • Evento de disparo El evento cuya recepción
    provoca el cambio de estado.
  • Condición de guarda Expresión booleana que
    habilita los cambios de estado. Si se recibe un
    evento y la condición de guarda se evalúa a
    cierto se produce la transición.
  • Acción Operación que puede actuar sobre el
    objeto asociado al diagrama o sobre otros objetos
    accesibles al mismo.

41
Componentes de un estado y de una transición
5.4.1
  • Estado destino Estado al que se llega al
    completar la transición.

42
5.4.2 Condiciones de guarda y acciones en
transiciones
5.4.2
  • Las condiciones de guarda son funciones booleanas
    que se aplican sobre los objetos, permitiendo que
    se produzcan las transiciones.
  • Las acciones en una transición son operaciones
    que se ejecutan cuando se produce esta.

43
5.4.3 Operaciones en los diagramas
5.4.3
  • Una operación puede estar asociada a un estado o
    a transiciones y las operaciones se efectúan en
    respuesta a los estados o a los eventos.
  • Una actividad es una operación no instantánea
    que se asocia con un estado. Las actividades
    incluyen operaciones continuas.
  • Un estado puede controlar una actividad continua
    que persiste hasta que un evento la termina
    causando una transición desde ese estado a otro
    estado.

44
Operaciones en los diagramas
5.4.3
  • La notación "do A" o do/A dentro de una caja
    de estado indica que la actividad A empieza al
    entrar en el estado y termina al salir, también
    puede indicar que la actividad A secuencial
    empieza el entrar en el estado y termina cuando
    se completa.
  • Las acciones se pueden también asociar a la
    entrada y a la salida de estados.

45
(No Transcript)
46
Operaciones en los diagramas
5.4.3
  • Cuando se entra en el estado vía una transición
    que se dirige hacia el mismo (entrante), la
    acción de entrada se realiza. Una acción de
    entrada se lleva a cabo para todas las
    transiciones que se dirigen hacia el estado. Si
    una transición entrante tiene una acción, esta se
    realiza primero.
  • Cuando se sale del estado se realiza la acción de
    salida.
  • Las actividades pueden ser interrumpidas por
    eventos que causan transiciones fuera del estado,
    pero las acciones de entrada y las acciones de
    salida tienen que ser completadas. Si se
    interrumpe una actividad, la acción de salida se
    realiza.

47
5.4.3
Diagrama de estados de un microondas simplificado
48
Operaciones en los diagramas
5.4.3
  • A las acciones asociadas a eventos que no
    ocasionan un cambio de estado se las llama
    acciones internas.
  • Un objeto puede realizar la acción de enviar un
    evento a otro objeto. La acción "send
    E(atributos)" envía el evento E con los
    atributos dados al objeto u objetos que lo
    reciben. Un evento puede ir dirigido a un
    conjunto de objetos o a un único objeto.
  • Un arco sin un nombre de evento indica una
    transición automática que se dispara cuando la
    actividad asociada con el estado se completa.

49
Operaciones en los diagramas
5.4.3
Diagrama de estados con transiciones automáticas
o vacías
50
5.4.4 Superestados
5.4.4
  • Para reducir el número de transiciones dentro de
    un DTE se utiliza la notación de los
    superestados.
  • Un supertado contiene un diagrama de transición
    entre estados u otro superestado.

51
Superestados
5.4.4
52
Superestados
5.4.4
  • Un superestado se trata igual que cualquier otro
    estado del diagrama acciones, actividades, etc.
  • Los subestados heredan las transiciones salientes
    del superestado, aunque estas pueden redefinirse.

53
5.4.4
Transiciones redefinidas en los subestados
54
Superestados
5.4.4
  • Existe una correspondencia entre los
    superestados y la visión de las clases en el
    modelo de objetos.

Modelo de objetos y tipos estado
55
Superestados
5.4.4
  • Varios diagramas de transición se pueden agrupar
    en uno solo con un único punto de entrada.

Varios diagramas con un solo punto de entrada
56
Superestados
5.4.4
  • En el punto de entrada existe un test y como
    resultado del mismo se activa un diagrama
    subordinado.

Notación para la I.U.
57
5.4.5 Concurrencia
5.4.5
  • Los diagramas de estado concurrentes se emplean
    cuando un objeto contiene conjuntos de
    comportamientos independientes o regiones de
    ejecución independientes.

58
Concurrencia
5.4.5
Notación para la concurrencia dentro de un objeto
59
Concurrencia
5.4.5
  • A nivel de objeto, el diagrama inicial se divide
    en subdiagramas independientes.

Concurrencia dentro del estado emisión
Write a Comment
User Comments (0)
About PowerShow.com