Upload
manu-diaz-villouta
View
5
Download
0
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