32
Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 1 Estrategia AEM y STATEMATE Análisis Estructurado Moderno (AEM): reglas de balanceo evaluación final Enfoque STATEMATE (ES): relación funcional-dinámica evaluación final

IntegracionAEM_v601

Embed Size (px)

DESCRIPTION

integracion de modelos dinamicos

Citation preview

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 1

Estrategia AEM y STATEMATE

Análisis Estructurado Moderno (AEM): reglas de balanceo evaluación final

Enfoque STATEMATE (ES): relación funcional-dinámica evaluación final

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 2

Análisis Estructurado Moderno y variantes

Análisis Estructurado Moderno (AEM) es una metodología “clásica” de análisis de sistemas. Fue la primera en: sistematizar modelos de varias dimensiones definir reglas explícitas de consistencia

A partir del AEM ha surgido una variante que busca perfeccionar el aspecto dinámico: Enfoque STATEMATE incorpora Statecharts para describir el comportamiento del controlado en un DPC.

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 3

Análisis Estructurado Moderno (AEM)

Metodología de análisis de sistemas propuesta por Edward Yourdon en 1989.

Sintetiza y extiende versiones anteriores: Análisis Estructurado Clásico de Gane & Sarson

y DeMarco (1977-78) Análisis Esencial de Sistemas de McMenamin &

Palmer (1984) Extensiones para sistemas de tiempo real

(dinámicas) de Ward & Mellor (1985)

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 4

...AEM

Supone los siguientes modelos por dimensión: funcional: DFD y EP estática: DER y DD dinámica: DTE y DPC (con 1 o más

controladores)

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 5

...AEM

DFD EP DER DD DTE DPC DFD (2) (2) (5) (1) (7) (7) EP (2, 3, 6) (6) (3) (8)

DER (5) (5) DD (1, 4, 5) (4) (5) (4) DTE (7) (7) (7) DPC (7) (8) (7)

Define reglas de balanceo entre:

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 6

AEM: (1) Balanceo DFD y DD

Regla entre DFD y DD: todo flujo y depósito del DFD debe estar definido o referenciado en el DD.

Ejemplo:

Des

1 2

3

x = a + b + c y = d + ( e ) z = f + g + 1{ h }3 Des = { D } D = @i + j + [ k | l ]

z

x

y

j

[1]

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 7

AEM: (2) Balanceo DFD y EP

Reglas entre DFD y EP: todo proceso del DFD tiene asociado un DFD

de nivel inferior o una EP, pero nunca ambos toda EP describe un proceso elemental del DFD un subconjunto de los flujos de datos de

entrada y salida y de los accesos a los depósitos del proceso elemental debe ser referenciado en su EP

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 8

AEM: ...(2) Ejemplo de balanceo DFD y EP

Diagrama 3

Diagrama 0

PROCESO 3.1 Pre-Condición Ocurre u Post-Condición Se genera v

PROCESO 3.2 Pre-Condición Ocurre x que coincide con dato de v Post-Condición Se genera s

PROCESO 3.3 Pre-Condición Ocurre t Post-Condición Se genera u de acuerdo a condición con t

PROCESO 3.4 Pre-Condición Ocurre z Post-Condición Se genera y con datos de s y se genera t con datos de s, z

Diagrama 1

Diagrama 2

...

Diagrama 4

2

3 4

3.13.2

3.33.4

x y

z

x

yz

1

st

u

v

[3]

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 9

Calcularfactoromega

x = * componente horizontal del factorFrammis; unidad: cm; escala: 0..100*y = *componente vertical del factorFrammis; unidad: cm; escala: 0..10*z = *factor Frammis* x + yfactor omega = *parámetro paralanzamiento de misil*

PROCESO 3.5: Calcular factor omegaPre-condición Ocurre z con x, y no negativos

Post-condición Se calcula factor omega = ( 3.1416 * x ) * ( 2.7813 * y - 13 ) + 2

z

factor omega

AEM: (3) Balanceo EP, DFD y DD

Reglas para cada dato en EP: es flujo o depósito del proceso en el DFD, o componente de flujo o depósito en el DD.

Ejemplo:

[2]

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 10

Calcularfactoromega

x = * componente horizontal del factorFrammis; unidad: cm; escala: 0..100*y = *componente vertical del factorFrammis; unidad: cm; escala: 0..10*z = *factor Frammis* x + yfactor omega = *parámetro paralanzamiento de misil*

PROCESO 3.5: Calcular factor omegaPre-condición Ocurre z con x, y no negativos

Post-condición Se calcula factor omega = ( 3.1416 * x ) * ( 2.7813 * y - 13 ) + 2

z

factor omega

AEM: (4) Balanceo DD, DFD y EP

Regla de balanceo: cada definición del DD debe servir de referencia para una EP, o para un DFD o para el mismo DD.

Ejemplo:

[2]

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 11

AEM: (5) Balanceo DER, DFD y DD

Reglas entre DER, DFD y DD: todo depósito es una entidad o un

relacionamiento con atributos y viceversa nombres de entidades (en singular) y depósitos

(en plural) deben coincidir las mismas definiciones del DD se aplican por

igual a los depósitos del DFD y a las entidades y relacionamientos con atributos del DER

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 12

AEM: ...(5) Balanceo DER, DFD y DD

...Reglas entre DER, DFD y DD: una subentidad aparece como depósito sólo si

aporta atributos especializados las entidades agregadas también son

representadas como depósitos si una entidad es agregada a partir de un

relacionamiento con atributos, se prefiere representar sólo a la entidad agregada como depósito en el DFD

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 13

AEM: ...(5) Ejemplo de balanceo DER, DFD y DD

PEDIDO

1.Ingresarpedido

2.Ingresarnuevocliente

3.Enviarpedido

PEDIDOS

CLIENTES

ARTICULOS

CLIENTE ARTICULOpide

ARTICULO = @código + descripción + precio-unitarioARTICULO PERECIBLE = * subentidad de ARTICULO * fecha vencimiento + tº almacenamientoARTICULOS = { ARTICULO }ARTICULOS PERECIBLES = { ARTICULO PERECIBLE }CLIENTE = @nombre + domicilio + fonoCLIENTES = { CLIENTE }EMPRESA COURIER = @razón social + dirección + fonoEMPRESAS COURIER = { EMPRESA COURIER }ENTREGA = * relacionamiento entre EMPRESA COURIER y PEDIDO * fecha + hora + modalidad + responsableENTREGAS = { ENTREGA }PEDIDO = * agregación de CLIENTE y ARTICULO a través de PIDE * @nombre + @código + @fecha + cantidadPEDIDOS = { PEDIDO }PIDE = * relacionamiento entre CLIENTE y ARTICULO * fecha + cantidad

EMPRESACOURIER entrega

EMPRESASCOURIER

ENTREGAS

ARTICULOPERECIBLE

ARTICULOSPERECIBLES

detalles pedido detalles cliente

envío

(0, n) (1, n)

(0, 1) (0, n)

[2]

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 14

AEM: (6) Balanceo de EP, DER y DFD

Reglas para las EP: existen post-condiciones o acciones que

imponen la creación y eliminación de instancias de entidades y relacionamientos

algún proceso del DFD define valores para cada atributo

algún proceso del DFD usa estos valores

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 15

AEM: ...(6) Ejemplo de balanceo de EP, DER y DFD

1.Ingresarpedido

2.Ingresarnuevocliente

3.Enviarpedido

PEDIDOS

CLIENTES

ARTICULOS

CLIENTE ARTICULO

PROCESO 1: INGRESAR PEDIDO Pre-condición Ocurre detalles pedido con rut cliente que coincide con rut cliente deldepósito CLIENTES y conjunto de códigos de artículos existentes en el depósitoARTICULOS Post-condición Se agrega un nuevo pedido al depósito PEDIDOS de acuerdo a detalle pedido yse rebaja stock en depósito ARTICULOS de acuerdo a cantidad respectiva de cadaartículo en detalles pedido

PROCESO 2: INGRESAR NUEVO CLIENTE Pre-condición Ocurre detalles cliente con rut cliente que no existe en el depósito CLIENTES Post-condición Se agrega un cliente al depósito CLIENTES de acuerdo a detalles cliente

PROCESO 3: ENVIAR PEDIDO Pre-condición Existe al menos un pedido en el depósito PEDIDOS con estado = completo Post-condición Se genera envío de acuerdo a cada pedido con estado = completo y se actualizasu estado a enviado

PEDIDO

detalles pedidodetalles cliente

envío

(0, 1) (0, n)

[1]

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 16

AEM: (7) Balanceo de DFD, DPC y DTE

En el DPC se tiene que: Proceso de control = controlador Proceso elemental del DFD = controlado Todo proceso de control en un DPC es una MEF

no presenta concurrencia interna Se asume que los procesos de control sólo

activan a procesos elementales se puede omitir la etiqueta Activar del flujo de control

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 17

AEM: ...(7) Balanceo de DFD, DPC y DTE

1

2

3

n

:1 2 3 n...

Procesos elementales se ejecutan de a uno a la vez

Procesos elementales se ejecutan

todos a la vez

Algunos procesos elementales se

ejecutan de a uno y otros a la vez

Totalmente secuencial

Totalmente concurrente

En parte secuencial y en parte concurrente

Requiere un único proceso de control

para todos los procesos

elementales

Requiere 2 o más procesos de control, cada uno pudiendo controlar 1 o más

procesos elementales

Requiere un proceso de control por cada proceso

elemental

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 18

AEM: ...(7) Balanceo de DFD, DPC y DTE

Para situar más fácilmente el sistema en el espectro secuencial-concurrente se puede usar como guía: los estímulos identificados en la construcción

del DFD (estrategia de particionamiento por estímulos)

las porciones de DFD construidos para atender a cada estímulo, que muy probablemente: son secuenciales internamente son concurrentes con otras porciones

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 19

AEM: ...(7) Balanceo de DFD, DPC y DTE

Reglas entre DPC y DTE: todo proceso de control en un DPC tiene su

comportamiento descrito en un DTE uno o más flujos de control de entrada al

proceso de control, corresponden a uno o más eventos en el DTE asociado

uno o más flujos de control de salida del proceso de control, corresponden a una o más acciones en el DTE asociado

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 20

AEM: ...(7) Ejemplo de balanceo de DFD, DPC y DTE

Control depedidos

Validarpedido

Registrarpedido

pendiente

Departamentode Ventas

Despacharpedido

————————————Activar Validar pedido

pendienteregistrado

despachoOK

rechazado————————

Activar Validarpedido

despacho OK————————

Activar Validarpedido

pendiente—————————

Activar Registrarpedido pendiente

autorizado—————————————Activar Despachar pedido

pendiente registrado——————————

Activar Validarpedido

esperandodespacho pedido

esperandopedido

esperandoregistropedido

pendiente

rechazado

pendiente

autorizado

[2]

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 21

AEM: ...(7) Balanceo de DFD, DPC y DTE

…Reglas entre DPC y DTE: todo DTE corresponde a un proceso de

control del DPC o a un estado particionado en un DTE padre, pero no ambos

todo estado particionado en un DTE padre tiene asociado un DTE hijo

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 22

AEM: (8) Balanceo de EP y DPC

EP (con PPC) del proceso elemental y sus flujos de control: de entrada: activación del proceso a propósito del

estímulo de salida: hay 2 posibilidades

con una post-condición para la ejecución exitosa del proceso, que se corresponde con el flujo de control de salida

con múltiples post-condiciones para tratar alternativas correlacionadas con uno o más flujos de control de salida

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 23

AEM: …(8) Balanceo de EP y DPC

orden de compra emitida

registro ok

registro fallido

Emitir orden de compra

Controlórdenes de

compra

Registrar usuario

Controlregistro de

usuarios

EP Registrar usuario.:POST-CONDICIÓN 1 Se entrega nombre de usuario aceptado y contraseña inicial ..:POST-CONDICIÓN 2 Se emite mensaje "Nombre de usuario ya registrado".

EP Emitir orden de compra.:POST-CONDICIÓN 1 Se emite orden de compra estándar al proveedor..:

POST-CONDICIÓN 2 Se emite orden de compra urgente al proveedor.

[1]

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 24

AEM: Evaluación final

Ventajas Metodología de referencia del paradigma de proceso Propuesta más antigua, probada y conocida Cuenta con apoyo de herramientas CASE

Desventajas Dificultad con sistemas con mucha concurrencia interna Carencia de relaciones estático-dinámicas: modelos

estático (DER) y dinámicos (DPC/DTE) tienen elementos comunes sólo con el modelo funcional (DFD)

Elementos diferentes para distintos aspectos: entidad, depósito, proceso normal, proceso de control

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 25

Enfoque STATEMATE (ES)

Propuesto por David Harel en 1990 para modelar sistemas reactivos.

Propone 3 vistas: Activity Charts (modelo funcional) Statecharts (modelo dinámico) Module Charts (modelo de la arquitectura de

implementación) Modificación presentada aquí sólo rescata el

modelo dinámico y su relación con el modelo funcional.

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 26

...ES

Asumiendo los siguientes modelos por dimensión: estática: DER y DD funcional: DFD y EP (cualquier forma de

especificación) dinámica: SCH y DPC (con un único

controlador)

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 27

...ES

Se puede usar las mismas reglas de balanceo del AEM entre: DFD y DD DFD y EP EP, DFD y DD DD, DFD y EP DER, DFD y DD EP, DER y DFD EP y DPC

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 28

ES: Relación funcional-dinámica

El DPC incorpora un único proceso de control con: concurrencia interna comportamiento representado por medio de un

solo SCH flujos de control de entrada y salida son

equivalentes a los eventos y acciones del SCH, respectivamente

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 29

ES: ...Ejemplo de relación funcional-dinámica

Control debeneficios

1.Autorizarpermiso

2.Tramitarlicenciamédica

ISAPRE

EMPLEADO

Controlde

Beneficios

licencia médicarecibida respuesta

ISAPRErecibida

esperandopermiso

solicitud permisorecibida / activar(

Autorizar permiso )

licencia médica recibida /activar( Tramitar licencia

médica )esperandorespuestaISAPRE

esperandosolicitud

respuesta ISAPRErecibida

Tramitación permisos

Tramitación licencias médicas

solicitud permiso recibida

[3]

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 30

ES: ...Relación funcional-dinámica

Diferencias con AEM: proceso de control único con concurrencia

interna activación en la forma:

activar( nombre proceso )

algunas acciones y eventos en el SCH no tienen equivalentes en flujos de control del DPC (¿por qué?)

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 31

ES: SCH y el DD

condiciones: si involucran variables, éstas se deben definir en el DD

Ejemplo: en la transición:

respuesta ISAPRE (decisión = aprobada)

en el DD:decisión = * decisión final de la ISAPRE sobre la

licencia médica; valores: [ aprobada | rechazada | restringida | en consulta ] *

Modelamiento de Sistemas de Información: Integración AEM y STATEMATE [v6.01] 32

ES: Evaluación final

Ventajas Modelo dinámico poderoso Apoyo del ambiente STATEMATE para

simulación y prototipación de sistemas

Desventajas Dificultad para representar proceso de control

muy complejo en el DFD Carencia de relaciones estático-dinámicas