Sunteți pe pagina 1din 32

Estrategia AEM y STATEMATE

Anlisis Estructurado Moderno (AEM):


reglas de balanceo
evaluacin final

Enfoque STATEMATE (ES):


relacin funcional-dinmica
evaluacin final

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

Anlisis Estructurado Moderno y


variantes

Anlisis Estructurado Moderno (AEM) es una


metodologa clsica de anlisis de sistemas. Fue
la primera en:

sistematizar modelos de varias dimensiones


definir reglas explcitas de consistencia

A partir del AEM ha surgido una variante que


busca perfeccionar el aspecto dinmico: Enfoque
STATEMATE incorpora Statecharts para describir
el comportamiento del controlado en un DPC.

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

Anlisis Estructurado Moderno


(AEM)

Metodologa de anlisis de sistemas


propuesta por Edward Yourdon en 1989.
Sintetiza y extiende versiones anteriores:

Anlisis Estructurado Clsico de Gane & Sarson


y DeMarco (1977-78)
Anlisis Esencial de Sistemas de McMenamin &
Palmer (1984)
Extensiones para sistemas de tiempo real
(dinmicas) de Ward & Mellor (1985)

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

...AEM

Supone los siguientes modelos por


dimensin:
funcional: DFD y EP
esttica: DER y DD
dinmica: DTE y DPC (con 1 o ms
controladores)

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

...AEM

Define reglas de balanceo entre:

DFD
EP
DER
DD
DTE
DPC

DFD
(2)
(2, 3, 6)
(5)
(1, 4, 5)
(7)
(7)

EP
(2)

DER
(5)
(6)

(4)

(5)

DD
(1)
(3)
(5)
(4)

(8)

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

DTE
(7)

DPC
(7)
(8)

(7)
(7)

(7)

[v6.01]

AEM: (1) Balanceo DFD y DD

Regla entre DFD y DD: todo flujo y depsito


del DFD debe estar definido o referenciado en el
DD.
Ejemplo:
x
2

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

Des

3
j

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

6 [1]

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
depsitos del proceso elemental debe ser
referenciado en su EP

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

AEM: ...(2) Ejemplo de balanceo


DFD y EP
Diagrama 1
1

Diagrama 2

2
x

...

Diagrama 4

z
4

Diagrama 0
v

3.1

s
t

3.3

3.4
z
Diagrama 3

PROCESO 3.2
Pre-Condicin
Ocurre x que coincide con dato de v
Post-Condicin
Se genera s
PROCESO 3.3
Pre-Condicin
Ocurre t
Post-Condicin
Se genera u de acuerdo a condicin con t

3.2
u

PROCESO 3.1
Pre-Condicin
Ocurre u
Post-Condicin
Se genera v

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

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

8 [3]

AEM: (3) Balanceo EP, DFD y DD

Reglas para cada dato en EP:

es flujo o depsito del proceso en el DFD, o


componente de flujo o depsito en el DD.

Ejemplo:

PROCESO 3.5: Calcular factor omega


Pre-condicin
Ocurre z con x, y no negativos
Post-condicin
Se calcula factor omega =
( 3.1416 * x ) * ( 2.7813 * y - 13 ) + 2

Calcular
factor
omega

x = * componente horizontal del factor


Frammis; unidad: cm; escala: 0..100*
y = *componente vertical del factor
Frammis; unidad: cm; escala: 0..10*
z = *factor Frammis* x + y
factor omega = *parmetro para
lanzamiento de misil*

factor omega

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

9 [2]

AEM: (4) Balanceo DD, DFD y EP

Regla de balanceo: cada definicin del DD debe


servir de referencia para una EP, o para un DFD o
para el mismo DD.
Ejemplo:
z

PROCESO 3.5: Calcular factor omega


Pre-condicin
Ocurre z con x, y no negativos
Post-condicin
Se calcula factor omega =
( 3.1416 * x ) * ( 2.7813 * y - 13 ) + 2

Calcular
factor
omega

x = * componente horizontal del factor


Frammis; unidad: cm; escala: 0..100*
y = *componente vertical del factor
Frammis; unidad: cm; escala: 0..10*
z = *factor Frammis* x + y
factor omega = *parmetro para
lanzamiento de misil*

factor omega

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

10 [2]

AEM: (5) Balanceo DER, DFD y


DD

Reglas entre DER, DFD y DD:

todo depsito es una entidad o un


relacionamiento con atributos y viceversa
nombres de entidades (en singular) y depsitos
(en plural) deben coincidir
las mismas definiciones del DD se aplican por
igual a los depsitos del DFD y a las entidades
y relacionamientos con atributos del DER

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

11

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


DD

...Reglas entre DER, DFD y DD:

una subentidad aparece como depsito slo si


aporta atributos especializados
las entidades agregadas tambin son
representadas como depsitos
si una entidad es agregada a partir de un
relacionamiento con atributos, se prefiere
representar slo a la entidad agregada como
depsito en el DFD

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

12

AEM: ...(5) Ejemplo de balanceo


DER, DFD y DD
detalles pedido

detalles cliente
CLIENTES

1.
Ingresar
pedido

2.
Ingresar
nuevo
cliente

PEDIDOS

ARTICULOS

ARTICULOS
PERECIBLES

envo
3.
Enviar
pedido

ARTICULO = @cdigo + descripcin + precio-unitario


ARTICULO PERECIBLE = * subentidad de ARTICULO * fecha vencimiento + t
almacenamiento
ARTICULOS = { ARTICULO }
ARTICULOS PERECIBLES = { ARTICULO PERECIBLE }
CLIENTE = @nombre + domicilio + fono
CLIENTES = { CLIENTE }
EMPRESA COURIER = @razn social + direccin + fono
EMPRESAS COURIER = { EMPRESA COURIER }
ENTREGA = * relacionamiento entre EMPRESA COURIER y PEDIDO * fecha +
hora + modalidad + responsable
ENTREGAS = { ENTREGA }
PEDIDO = * agregacin de CLIENTE y ARTICULO a travs de PIDE * @nombre
+ @cdigo + @fecha + cantidad
PEDIDOS = { PEDIDO }
PIDE = * relacionamiento entre CLIENTE y ARTICULO * fecha + cantidad

ENTREGAS

EMPRESAS
COURIER

PEDIDO
(0, n)
CLIENTE
EMPRESA
COURIER

(0, 1)

(1, n)
ARTICULO

pide

(0, n)
entrega

ARTICULO
PERECIBLE

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

13 [2]

AEM: (6) Balanceo de EP, DER y


DFD

Reglas para las EP:

existen post-condiciones o acciones que


imponen la creacin y eliminacin de instancias
de entidades y relacionamientos
algn proceso del DFD define valores para cada
atributo
algn proceso del DFD usa estos valores

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

14

AEM: ...(6) Ejemplo de balanceo


de EP, DER y DFD
detalles pedido

detalles cliente

CLIENTES

2.
Ingresar
nuevo
cliente

1.
Ingresar
pedido

PROCESO 2: INGRESAR NUEVO CLIENTE


Pre-condicin
Ocurre detalles cliente con rut cliente que no existe en el depsito CLIENTES
Post-condicin
Se agrega un cliente al depsito CLIENTES de acuerdo a detalles cliente

PEDIDOS

ARTICULOS

PROCESO 3: ENVIAR PEDIDO


Pre-condicin
Existe al menos un pedido en el depsito PEDIDOS con estado = completo
Post-condicin
Se genera envo de acuerdo a cada pedido con estado = completo y se actualiza
su estado a enviado

envo
3.
Enviar
pedido

CLIENTE

(0, 1)

PROCESO 1: INGRESAR PEDIDO


Pre-condicin
Ocurre detalles pedido con rut cliente que coincide con rut cliente del
depsito CLIENTES y conjunto de cdigos de artculos existentes en el depsito
ARTICULOS
Post-condicin
Se agrega un nuevo pedido al depsito PEDIDOS de acuerdo a detalle pedido y
se rebaja stock en depsito ARTICULOS de acuerdo a cantidad respectiva de cada
artculo en detalles pedido

PEDIDO

(0, n)

ARTICULO

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

15 [1]

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 slo
activan a procesos elementales
se puede
omitir la etiqueta Activar del flujo de control

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

16

AEM: ...(7) Balanceo de DFD,


DPC y DTE
1
2

Procesos
elementales se
ejecutan de a
uno a la vez

:
n

Totalmente
secuencial

Requiere un nico
proceso de control
para todos los
procesos
elementales

Algunos procesos
elementales se
ejecutan de a uno y
otros a la vez

Procesos
elementales
se ejecutan
todos a la vez

En parte secuencial y en
parte concurrente

Requiere 2 o ms
procesos de control,
cada uno pudiendo
controlar 1 o ms
procesos
elementales

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

...

Totalmente
concurrente

Requiere un
proceso de control
por cada proceso
elemental

[v6.01]

17

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


DTE

Para situar ms fcilmente el sistema en el


espectro secuencial-concurrente se puede
usar como gua:

los estmulos identificados en la construccin


del DFD (estrategia de particionamiento por
estmulos)
las porciones de DFD construidos para atender
a cada estmulo, que muy probablemente:

son secuenciales internamente


son concurrentes con otras porciones

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

18

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 ms flujos de control de entrada al
proceso de control, corresponden a uno o ms
eventos en el DTE asociado
uno o ms flujos de control de salida del
proceso de control, corresponden a una o ms
acciones en el DTE asociado

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

19

AEM: ...(7) Ejemplo de balanceo


de DFD, DPC y DTE
despacho OK

Activar Validar
pedido

esperando
pedido

esperando
despacho pedido

Departamento
de Ventas

Activar Validar pedido

autorizado

Activar Despachar pedido


rechazado

Control de
pedidos

autorizado

pendiente
registrado

pendiente

Activar Registrar
pedido pendiente

pendiente registrado

Activar Validar
pedido

pendiente

rechazado

Activar Validar
pedido

esperando
registro
pedido
pendiente

Validar
pedido

Registrar
pedido
pendiente

despacho
OK

Despachar
pedido

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

20 [2]

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 Informacin: Integracin AEM y STATEMATE

[v6.01]

21

AEM: (8) Balanceo de EP y DPC

EP (con PPC) del proceso elemental y sus flujos


de control:

de entrada: activacin del proceso a propsito del


estmulo
de salida: hay 2 posibilidades

con una post-condicin para la ejecucin exitosa del proceso,


que se corresponde con el flujo de control de salida
con mltiples post-condiciones para tratar alternativas
correlacionadas con uno o ms flujos de control de salida

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

22

EP Registrar usuario
.
:
POST-CONDICIN 1
Se entrega nombre de usuario aceptado y
contrasea inicial .
.
:
POST-CONDICIN 2
Se emite mensaje "Nombre de usuario ya registrado".

registro fallido

Control
registro de
usuarios

AEM: (8) Balanceo de EP y DPC


registro ok

Registrar
usuario

EP Emitir orden de compra


.
:
POST-CONDICIN 1
Se emite orden de compra estndar al proveedor.
.
:

Control
rdenes de
compra
orden de
compra
emitida

POST-CONDICIN 2
Se emite orden de compra urgente al proveedor.
Emitir orden
de compra

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

23 [1]

AEM: Evaluacin final

Ventajas

Metodologa de referencia del paradigma de proceso


Propuesta ms antigua, probada y conocida
Cuenta con apoyo de herramientas CASE

Desventajas

Dificultad con sistemas con mucha concurrencia interna


Carencia de relaciones esttico-dinmicas: modelos
esttico (DER) y dinmicos (DPC/DTE) tienen
elementos comunes slo con el modelo funcional (DFD)
Elementos diferentes para distintos aspectos: entidad,
depsito, proceso normal, proceso de control

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

24

Enfoque STATEMATE (ES)

Propuesto por David Harel en 1990 para modelar


sistemas reactivos.
Propone 3 vistas:

Activity Charts (modelo funcional)


Statecharts (modelo dinmico)
Module Charts (modelo de la arquitectura de
implementacin)

Modificacin presentada aqu slo rescata el


modelo dinmico y su relacin con el modelo
funcional.

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

25

...ES

Asumiendo los siguientes modelos por


dimensin:
esttica: DER y DD
funcional: DFD y EP (cualquier forma de
especificacin)
dinmica: SCH y DPC (con un nico
controlador)

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

26

...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 Informacin: Integracin AEM y STATEMATE

[v6.01]

27

ES: Relacin funcional-dinmica

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 Informacin: Integracin AEM y STATEMATE

[v6.01]

28

ES: ...Ejemplo de relacin


funcional-dinmica
Control de
beneficios
Tramitacin permisos
1.
Autorizar
permiso

solicitud permiso recibida

licencia mdica
recibida

EMPLEADO

2.
Tramitar
licencia
mdica

Control
de
Beneficios

respuesta
ISAPRE
recibida

ISAPRE

solicitud permiso
recibida / activar(
Autorizar permiso )

esperando
permiso

Tramitacin licencias mdicas

esperando
solicitud

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

licencia mdica recibida /


activar( Tramitar licencia
mdica )

esperando
respuesta
ISAPRE

respuesta ISAPRE
recibida

[v6.01]

29 [3]

ES: ...Relacin funcionaldinmica

Diferencias con AEM:

proceso de control nico con concurrencia


interna
activacin 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 Informacin: Integracin AEM y STATEMATE

[v6.01]

30

ES: SCH y el DD

condiciones: si involucran variables, stas


se deben definir en el DD
Ejemplo:

en la transicin:
respuesta ISAPRE (decisin = aprobada)

en el DD:
decisin = * decisin final de la ISAPRE sobre la
licencia mdica; valores: [ aprobada | rechazada |
restringida | en consulta ] *

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

31

ES: Evaluacin final

Ventajas

Modelo dinmico poderoso


Apoyo del ambiente STATEMATE para
simulacin y prototipacin de sistemas

Desventajas

Dificultad para representar proceso de control


muy complejo en el DFD
Carencia de relaciones esttico-dinmicas

Modelamiento de Sistemas de Informacin: Integracin AEM y STATEMATE

[v6.01]

32