Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DISEÑO DE LA
DINÁMICA
Ciclo de ESTRUCTURACIÓN
DEL SISTEMA
Feedback
DISEÑO
DETALLADO
Estructuración del Sistema
Estructuración del Sistema (1)
Sistema de
Visión
Subsist. de Control
Subsistema
de Empaque
Sistema de
Selección de
Paquetes Controlador
Cinta Transp.
Sistema
Empaquetador
Editor de Generador de
Diseños Código
Editor de
Empaquetador Repositorio de Proyectos Programas
Generador
Analizador
de Reportes
de Diseños
• Ventajas
– Es una forma eficiente de compartir grandes cantidades de datos.
– Los sub-sistemas que producen datos no necesitan saber cómo
estos datos serán utilizados.
Administrador de Objetos
3-Tiers Architecture
2-Tiers Architecture
Arquitecturas de 2/3 Capas… para Web
Arquitectura de 5 Capas… para Web
Data Access Interface (DAI)
o5 o6
S (o5) S (o6)
Arquitectura de Objectos Distribuidos
(DOA)
Ventajas de las DOA
• Permiten que los diseñadores de estos sistemas puedan
demorar la toma de decisión respecto a dónde y cómo
deberían ser provistos los servicios.
• Es una arquitectura muy abierta, ya que permite que nuevos
recursos sean agregados en el momento que se necesite.
• Permite que los sistemas sean flexibles y escalables.
• Es posible reconfigurar el sistema dinámicamente. Para ello
sólo hay que migrar los objetos del sistema a través de la
red.
…. las principales desventajas son su complejidad y su mal
rendimiento.
“… según el dicho popular, los sistemas de objetos distribuidos
son dulces… y lentos como la miel”.
EJERCICIO
Ejemplo de ChileMetal
Desarrollar un framework de software integrador de
políticas de administración de sistemas: Adm. de
Usuarios, Políticas de Seguridad y Respaldo,
Datos, Servicios (unificación).
Sistema 1 Sistema 5
FRAMEWORK
Sistema 2 Sistema 4
Sistema 3
Ejemplo de ChileMetal
Requisitos Críticos:
+ Funcionalidad + Usabilidad
- Interoperabilidad - Aprendibilidad
- Seguridad - Aceptación de uso
- Pertinencia
Servicios Estándares
Traductor de Servicios
Servicios Estándares
¿Cómo se traduce la
invocación de login de cada
sistema?
¿Podría ser algo así?
Client Side
Sistema de
Rec. Humanos Sistema de
Ventas
Sistema
Contable
Servicio 1
Serv 2
IDL
IDL
Serv 3
IDL
Serv n ORBs
IDL
IDL Serv 4
IDL
Serv n-1
IDL
ORBs
Servicios de IDL Serv 5
Servidor de
Respaldo Serv n-2 Usuarios
¿Podría ser algo así?
Client Side
Sistema de
Rec. Humanos Sistema de
Ventas
Sistema
Contable
Servicio 1
IDL
Serv 2
Serv 3
IDL
Serv n ORBs
IDL
IDL Serv 4
IDL
Serv n-1
IDL
ORBs
Servicios de IDL Serv 5
Servidor de
Respaldo Serv n-2 Usuarios
Modelo de Control
Modelos de Control
• Estos modelos son complemetarios a los de estructuración de
sistemas, ya que modelan el control de la ejecución del
sistema.
• Se refieren al control de flujo entre subsistemas. Es diferente
al modelo de descomposición de sistemas y al de
estructuración.
• Entre los modelos de control más conocidos están:
– Control Centralizado
• Hay un subsistema que tiene la responsabilidad de controlar,
iniciar y detener otros subsistemas.
– Control basado en Eventos
• Cada subsistema puede responder a eventos generados
externamente por otros subsistemas o por el ambiente del
sistema. Cada subsist. controla su propia operación.
Control Centralizado
Control Centralizado (1)
• Modelo Administrador
– Es aplicable a sistemas concurrentes. Un componente del sistema
controla el inicio, coordinación y la detención de procesos de otro
subsistema. Puede ser implementado en sistemas secuenciales
como una instrucción case.
Control Centralizado: llamada y retorno
(Call-Return)
Programa Principal
Esquema: Publisher-Subscriber
• Ventajas:
– La evolución de estos sistemas es sencilla. Un nuevo sistema
sólo tiene que registrar los eventos que son de su interés, y
proveer un método de control de su ejecución.
– Cualquier sistema (o servicio) puede activar cualquier otro,
sin conocer su nombre, ni su ubicación.
– Los subsistemas pueden alojarse en distintas máquinas,
manteniendo transparente su forma de operación.
• Desventajas:
– Los subsistemas que emiten los eventos, no saben si estos se
manejarán, ni tampoco cuándo se realizará esto.
– Puede haber más de un subsistema registrado para manejar
un mismo evento. Esto puede generar problemas a la hora de
retornar los resultados del procesamiento del evento, ante una
invocación de servicio.
Sistemas Manejados por Interrupciones
• Arquitectura utilizada en sistemas de tiempo real,
donde una respuesta rápida es esencial.
Vector de
Interrupciones
Sistema 1 Sistema 5
FRAMEWORK
Sistema 2 Sistema 4
Sistema 3
Volvamos al Ejemplo de ChileMetal
¿Cuál es el mejor?
Modelos de Control para la Opción 2
Descomposición Modular (3)
Descomposición Modular
Cliente Recibo
Cliente # Factura #
Nombre Factura Fecha
Dirección Cantidad
Período de Crédito Factura # Cliente #
Fecha
Cantidad
Cliente
Emisión
Pago Envío de Recordatorio
Aceptación de Pago
Factura # Envío de Recibo
Fecha
Cantidad
Cliente #
Pagos
PagosRetrasados
Retrasados
Selecc.Deselecc
de Artic
1.1.4
Cliente
Administra Pedido
(Carro Virtual)
Nr ícu
de Artic
Ar
Selecc.
o . lo -
Login, Pwd,
C Ca
ar n
an o
MultiTienda 1.1.1
.-C arr
Ce
ro t
t.
de rtifica
tíc C
Identifica Clientes
Ar ro.
Ce . Ca
Para sistemas
lC
Rta lien do
Nr
N
rtif
(login)
o
te
. C ro
Cliente Carro Virtual - Archivo
te
Temporal
Or-
1.1.2
de
Web, es bastante
Ofrece Menú de
n/
Ca te
Rta
r ro
Detalle
Nr rtif. C
Artic. /
Artículos
rd
-C r ro
t.
wo
an
Art o. Ca
Ce
o.
ss
pa
íc.
Nr
más fácil trabajar Lo
gin
,
1.1.3
Procesa Compra
.
tic
de A ilidad
Ar
(Genera OC y carro
rtic.
virtual)
onib
1.1.7
DAO – Catalogo de
Valida Cliente
Disp
Artículos Ofrecidos
Art talle
De
ic.
realizar la
Orden de Compra
Certif. del Cliente
/
Datos Cliente
descomposición
1.1.6
1.1.5
Reserva de Artículos
Obtiene Detalle de
Artículos
DAO – Clientes
Artículos
Reserva
DAO – Catalogo de
Artíc
Ordenes de Compra
s ulo
DAO – Stock de
Artículos en Bodega
DAO – Catalogo de
Artículos Ofrecidos
Modelos de Flujo de Datos (4)
Es más fácil separar la funcionalidad en capas
Cliente
Cliente
Login, Pwd,
MultiTienda
Ar cc.
de Sele
D
tic
es
Se cc
el
Rta
le de
/
e
sq
cc A
./ rt
Bu
ic
1.1.1 Certificado 1.1.2 Nro. Carro 1.1.4
del Cliente Artíc.-Cant.
Identifica Clientes Ofrece Menú de Administra Pedido
(login) Artículos (Carro Virtual)
t.
an
.-C
rtíc
,A
rro
Ca
o.
Nr
Ar dad
Rta
ord
Ce . Ca
de nibili
.
tic
Nr ulo-
Nr
Ar
rtif
sw
De ic. /
o.
tíc
o
le
po
. C ro
s
tal
Ca ant
pa
Art
Dis
Art talle
te
r ro
r
De
,
C
gin
-O
ic.
Lo
rde
/
n/
1.1.7
1.1.6 1.1.5 1.1.3
Valida Cliente
Reserva de Artículos Obtiene Detalle de Procesa Compra
Artículos (Genera OC y carro
virtual)
Info. Stock
Orden de Compra
Certif. del Cliente
Ce . Ca
Nr
rtif rro
Datos Cliente
o
.C
Artíc
Artículos
te
ulos
Reserva
– Analizador Léxico
– Tabla de Símbolos
– Analizador de Sintáxis
– Analizador Semántico
– Generador/Optimizador de Código
Tabla de Definición de la
Símbolos Salida Generador de
Editor Código
Repositorio
6 Presentación Presentación
5 Sesión Sesión
4 Transporte Transporte
Red
3 Red Red
Liga de Datos
2 Vínculo de Datos Vínculo de Datos
Físico
1 Físico Físico
Medio de Comunicación
7 Aplicación
6 Presentación
5 Sesión
4 Transporte
3 Red
2 Vínculo de Datos
1 Físico
• Seguridad.
– Si la seguridad es un requisito crítico, se debe utilizar una
arquitectura estratificada (por capas).
– Los recursos más críticos deben alojarse en las capas más internas.
– Cada capa debe proveer un mecanismo de validación, de acuerdo a la
información que ésta maneja.
Recomendaciones Generales
• Protección.
– Si la protección es un requisito crítico, la arquitectura debe
estar diseñada de tal forma que las operaciones relacionadas
con la protección, se localicen en único subsistema o en
un conjunto muy reducido de estos.
– Esto reduce los costos y los problemas de validación, y hace
posible crear sistemas de protección relacionados.
• Disponibilidad.
– Si la disponibilidad es un requisito crítico, como parte de la
arquitectura se deben incluir componentes redundantes.
– Estos podrán reemplazar a los componentes con problemas,
en caso de fallas.
Recomendaciones Generales
• Mantenibilidad.
– Si la mantenibilidad es un requisito crítico, la arquitectura debe
estar diseñada utilizando componentes autocontenidos de
grano fino.
– Estos componentes pueden ser módulos o componentes de
software bien definidos.
– Estos podrán cambiarse o reemplazarse con facilidad, y con un
mínimo efecto sobre el resto del sistema.
– Los productores de datos deben estar separados de los
consumidores.
– Las estructuras de datos compartidas deben evitarse.
– La circulación de órdenes de control entre módulos o
subsistemas, también debe evitarse.
Ejercicio 1
• Diseñe la estructura estática y la dinámica de un Chat.