Vous êtes sur la page 1sur 38

Diseo de la Arquitectura de Sistemas

Arquitecturas Paralelas.

Los Arquitectos son la interfase tcnica entre el


cliente y el contratista que construye el sistema.
Un mal diseo de arquitectura de un edificio no
podr ser rescatado mediante una buena
construccin, lo mismo sucede para el Software.
Existen especialistas para construccin de edificios
as como para arquitecturas de software.
Existen escuelas o estilos de construccin y
arquitectura de software

Proceso de Diseo de la Arquitectura

Estructuracin del Sistema.

Modelos de Control.

El sistema se descompone en varios


subsistemas principales y se identifican las
comunicaciones entre estos subsistemas.
Un modelo de control establece las relaciones
entre las diferentes partes de un sistema.

Descomposicin Modular.

Los subsistemas identificados son


descompuestos en mdulos.

Subsistemas y Mdulos.

Un subsistema es un sistema por si mismo


y puede operar independientemente de los
servicios proporcionados por otros
subsistemas.
Un modulo es un componente del sistema
que proporciona servicios a otros
componentes y normalmente no puede
considerarse como parte separada del
sistema.

Modelos de Arquitectura

La estructura, control y descomposicin modular


puede ser basada en un modelo o estilo de
arquitectura particular.
Sin embargo, muchos sistemas son heterogneos,
diferentes partes del sistema se basan en diferentes
modelos y en algunos casos, el sistema puede
seguir un modelo compuesto.
El modelo de arquitectura utilizado afecta el
desempeo, la robustez, distribucin y la
mantenibilidad del sistema.

Estructurando un Sistema

Se refiere a la descomposicin del sistema


interactuando con subsistemas.
El diseo de arquitectura es normalmente
expresado como un diagrama de bloque, el
cual, presenta una vista de la estructura del
sistema.
Muchos modelos especficos muestran
como los subsistemas comparten los datos,
son distribuidos y la interfase con otros
subsistemas puede ser desarrollada.

Sistema de Control de un Robot Empaquetador


Sistema de
Visin

Sistema de
Identificacin
de Objetos

Controlador
del Brazo

Controlador
Gripper

Sistema de
Seleccin de
Paquetes

Sistema
Empaquetador

Controlador
Convoy

El Modelo Repositorio

Muchos Subsistemas intercambian datos. Esto


puede darse de dos maneras:

Los datos compartidos se colocan en una base de datos


central o repositorio y pueden ser accedidos por todos los
subsistemas.
Cada subsistema mantiene su propia base de datos y
pasa datos explcitos a otros subsistemas.

Cuando grandes cantidades de datos son


compartidos, el modelo repositorio es el ms
utilizado comnmente.

Arquitectura de una herramienta CASE


Diseo
del Editor

Diseo del
Trasladador

Generador de
Cdigo

Proyecto Repositorio

Analizador
de diseo

Generador
de Reporte

Editor de
Programa

Caractersticas del Modelo Repositorio

Ventajas

Es una forma eficiente de compartir grandes cantidades


de datos.
Los Subsistemas no necesitan proporcionar un manejo
centralizado de como los datos son producidos. Por
ejemplo: respaldo, seguridad, etc.
El modelo de compartimiento se conoce como Modelo
Repositorio.

Desventajas

Los subsistemas deben coincidir en modelo de datos del


repositorio, lo cual es inevitablemente un compromiso
La evolucin de los datos es difcil y cara.
No existen polticas para un manejo especfico.
Se dificulta una distribucin eficiente.

Arquitectura Cliente-Servidor

Modelo de Sistemas Distribuido, el cual muestra


como los datos y procesamiento estn distribuidos
entre un rango de componentes.
Conjunto de servidores stand-alone, los cuales
proporcionan servicios especficos como impresin,
manejo de datos, etc.
Conjunto de clientes que llaman a estos servicios.
Redes que permiten que los clientes accedan a los
servidores

Pelcula y Librera de Pelculas


Cliente 1

Cliente 2

Cliente 3

Cliente 4

Ancho de Banda de la red

Servidor de
Catlogo

Servidor de
Vdeo

Servidor de
Fotografa

Servidor de
Hipertexto

Catlogo

Archivos clip
de Pelcula

Fotografa
Digitalizada

Hipertexto
WEB

Caractersticas Cliente-Servidor

Ventajas

La Distribucin de datos es directa.


Permite el uso efectivo de sistemas de red. Puede
requerir hardware barato.
Es fcil aadir nuevos servidores o actualizar los
existentes.

Desventajas

El modelo no comparte datos con los diferentes


subsistemas empleados en la organizacin. El
intercambio de datos puede ser ineficiente.
Administracin redundante en cada servidor.
No existen registros centrales de nombres y servicios esto hace difcil encontrar los servidores y servicios
disponibles.

Modelo de Mquina Abstracta

El modelo es utilizado para interfaces de


subsistemas
El sistema se organiza en base a un conjunto de
capas (o mquinas abstractas) cada una de las
cuales proporcionan un conjunto de servicios
Soporta el desarrollo incremental de subsistemas en
las diferentes capas. Cuando una interfase cambia
en una capa, solamente la capa adyacente se ve
afectada
Sin embargo, ofrece dificultad para sistemas
estructurados de esta manera.

Sistema Administrador de Versiones


Administrador de Versiones
Administrador de Objetos
Sistema de Base de Datos

Sistema
Operativo

Modelos de Control

Se refieren al control de flujo entre subsistemas. Es


diferente al modelo de descomposicin de sistemas

Control Centralizado
Un subsistema tiene sobretodo la responsabilidad de
controlar, iniciar y detener otros subsistemas
Control basado en Eventos (Manejadores de eventos)
Cada subsistema puede responder a eventos
generados externamente por otros subsistemas o por
el ambiente del sistema

Control Centralizado

El control de un subsistema es responsable del


manejo de la ejecucin de otros subsistemas
Modelo Call-return

Un modelo de subrutina Top-down donde el control inicia


en lo ms alto de la jerarqua de una subrutina y se
mueve hasta la parte ms baja en la jerarqua. Es
aplicable a sistemas secuenciales

Modelo Administrador

Es aplicable a sistemas concurrentes. Un componente


del sistema controla el inicio, coordinacin y el alto de
procesos de otro sistema. Puede ser implementado en
sistemas secuenciales como una instruccin case

Modelo Call-Return
Programa Principal

Rutina 1

Rutina 1.1

Rutina 2

Rutina 1.2

Rutina 3

Rutina 3.1

Rutina 3.2

Sistema de Control en Tiempo Real

Proceso de Sensor

Proceso Actuador

Controlador del Sistema

Procesos de Computacin

Interfase de Usuario

Manejador de Fallas

Sistemas Manejadores de Eventos

Manejador de eventos generador externamente


donde el tiempo del evento est fuera del control de
los subsistemas que lo procesan
Dos de los principales modelos manejadores de
eventos

Modelo de Transmisin (Broadcast). Un evento es


transmitido a todos los subsistemas. Cualquier
subsistema puede manejar el evento
Modelos manejadores de interrupciones. Utilizados en
sistemas en tiempo real donde una interrupcin es
detectada por un manejador de interrupciones y es
pasada a otros componentes para ser procesada

Otros modelos manejadores de eventos incluyen


hojas de clculo y sistemas de produccin

Modelo de Transmisin (Broadcast)

Es efectivo en la integracin de subsistemas en


diversas computadoras en una red
Los subsistemas registran la peticin de eventos
especficos. Cuando esto ocurre, el control es
transferido a los subsistemas que pueden manejar
el evento
Las polticas de control no estn contenido dentro
del evento o del manejador de eventos. Los
subsistemas deciden cuales eventos son de su
inters
No obstante, los subsistemas no saben cuando un
evento ser manejado

Transmisin Selectiva
Subsistema
1

Subsistema
2

Subsistema
3

Manejador de Eventos y Mensajes

Subsistema
4

Sistemas Manejados por Interrupciones

Utilizado en Sistemas de tiempo real donde


una respuesta rpida es esencial
Hay tipos de interrupciones con un
manejador definido para cada tipo
Cada tipo est asociado con una localidad
de memoria y un switch de hardware
ocasiona transferencias al manejador
Una respuesta rpida pero compleja de
programar y difcil de validar

Control de Manejo de Interrupciones


Interrupciones

Vector de
Interrupciones

Manejador 1

Proceso 1

Manejador 2

Proceso 2

Manejador 3

Proceso 3

Manejador 4

Proceso 4

Descomposicin Modular

Es otro nivel de estructura donde los subsistemas


son descompuestos en mdulos
Dos modelos de descomposicin modular son

Un modelo de objeto donde el sistema es descompuesto


en objetos interactuando.
Un modelo de flujo de datos donde el sistema es
descompuesto en mdulos funcionales, los cuales,
transforman entradas en salidas. Esto es conocido como
el modelo pipeline.

Es posible tomar decisiones acerca de la


concurrencia la cual ser retrasada hasta que los
mdulos sean implementados

Modelos de Objetos

Estructura el sistema en un conjunto de


objetos dbilmente acoplados con interfaces
bien definidas
La descomposicin orientada a objetos se
refiere a la identificacin de clases de
objetos, sus atributos y operaciones
Cuando estn implementados, los objetos
son creados de esas clases y algunos
modelos de control se emplean para
coordinar operaciones de los objetos

Sistema de Procesamiento de Facturas


Cliente
Cliente #
Nombre
Direccin
Perodo de Crdito

Pago
Factura #
Fecha
Cantidad
Cliente #

Recibo
Factura
Factura #
Fecha
Cantidad
Cliente
Emisin
Envo de Recordatorio
Aceptacin de Pago
Envo de Recibo

Factura #
Fecha
Cantidad
Cliente #

Modelos de Flujo de Datos

Las entradas a procesos de transformaciones


funcionales producen salidas
Puede ser referido como un tubo (pipe) o
modelo de filtro (como un shell de UNIX)
Las variaciones de este enfoque son muy
comunes. Cuando las transformaciones son
secuenciales nos encontramos con un modelo
batch (en lotes) secuencial, el cual es muy
utilizado en sistemas de procesamiento de
datos sobre todo los ms antiguos
No es realmente conveniente para sistemas
interactivos

Sistema de Procesamiento de Facturas


Emisin de
Recibos

Lectura de
Emisin de Facturas

Identificacin de
Pagos

Encontrar pagos
duplicados

Facturas

Recibos

Emisin del
Recordatorio de
Pago

Pagos
Recordatorios

Arquitecturas de Dominio Especfico

Son modelos de Arquitectura los cuales son especficos


para algn dominio de aplicacin
Dos tipos de modelo de dominio especfico son:

Modelos Genricos, los cuales, son abstracciones de un


nmero de sistemas reales y que encapsulan las
caractersticas principales de estos sistemas
Los modelos de referencia son ms abstractos, son
modelos idealistas. Proporcionan un significado de
informacin con respecto a sistemas de clases y
comparacin de diversas arquitecturas.

Los modelos genricos son usualmente modelos bottomup; los modelos de Referencia son modelos top-down.

Modelos Genricos

Un modelo de Compilador es un ejemplo conocido a


travs de otros modelos que existen en dominios de
aplicaciones especializadas:

Analizador Lxico
Tabla de Smbolos
Analizador de Sintaxis
Arbol de Sintaxis
Analizador Semntico
Generador de Cdigo

Un modelo de compilador Genrico puede ser


organizado de acuerdo a diversos modelos de
arquitectura

Modelo Compilador
Tabla de
Smbolos

Analizador
Lxico

Analizador
Sintctico

Analizador
Semntico

Generacin
de Cdigo

Sistema de Procesamiento de un Lenguaje


Analizador
Lxico

Impresor

Analizador
Sintctico

Arbol de Sintaxis
Abstracto

Tabla de
Smbolos
Editor

Analizador
Semntico

Definicin de la
Gramtica

Definicin de la
Salida

Repositorio

Optimizador

Generador de
Cdigo

Arquitecturas de Referencia

Los modelos de referencias son derivados


del estudio del dominio de una aplicacin, en
lugar del estudio de sistemas existentes.
Pueden ser utilizados como una base para
la implementacin de un sistema o para
comparar sistemas diversos. Actan como
un estndar en contraste con sistemas que
pueden ser evaluados.
El modelo OSI es un modelo en capas para
sistemas de comunicacin.

Modelo de referencia OSI


7

Aplicacin

Presentacin

Presentacin

Sesin

Sesin

Transporte

Transporte

Red

Liga de Datos

Fsico

Aplicacin

Red
Liga de Datos
Fsico

Medio de Comunicacin

Red
Liga de Datos
Fsico

ANTECEDENTES DE LA ESTRUCTURACION DE LOS PROCESOS Y


TAREAS
EN LA PRIMER ETAPA DE LA UTILIZACION DE LOS SISTEMAS DE COMPUTACION LA
UNICA MANERA DE ESTRUCTURAS LOS PROGRAMAS, TAREAS Y PROCESOS ERA
SECUENCIAL ES DECIR:
ORGANIZAR EL PROCESO EN BASE A LA SUCESIN SECUENCIAL DE PROGRAMAS QUE
EJECUTABAN SU COMPUTACION MEDIANTE INTERFASES DE ARCHIVOS DE DATOS
EN LA DECADA DEL 70 SE PUDO COMENZAR A ESTRUCTURAR LOS PROCESOS CON
EL CONCEPTO JERARQUICO MEDIANTE EL USO DE MENUES DE OPOCIONES ES DECIR
QUE LOS PROCESOS SE EJECUTABAN UNO A LA VEZ Y DENTRO DEL PROCESO SE
ESTRUCTURABAN SECUENCIALMENTE
EN LA DECADA DEL 80 COMIENZA A SER POSIBLE ESTRUCTURAR LOS PROCESOS DE
MANERA CONCURRENTE ES DECIR VARIOS PROCESOS EJECUTANDO EN LA MEMORIA
COMPITIENDO POR RECURSOS Y COLABORANDO ENTRE SI MEDIANTE INTERFASES
ENTRE PROCESOS CON MEMORIA COMPARTIDA
EN LA DECADA DEL 90 LA ESTRUCTURACION CLIENTE SERVIDOR SE PUEDE EFECTUAR
POR LA APARICION DEL CONCEPTO DE DESCENTRALIZACION DE LOS PROCESOS Y LA
COMUNICACIN ENTRE LOS MISMOS PUEDE SER EFECTUADA MEDIANTE COMUNICACIN
DE DATOS POR CONEXIN DIRECTA O POR TELECOMUNICACIONES
ACTUALMENTE, LA ESTRUCTURACION SE BASA EN EL CONCEPTO DE CAPAS O LAYERS
DONDE CADA CAPA ATIENDE ESPECIFICAMENTE UNA PARTE BIEN DISTINGUIDA DEL SISTEMA, EL
CLIENTE, EL SERVICIO, LA BASE DE DATOS, LAS COMUNICACIONES Y LOS ALGORITMOS.

Resumen

La arquitectura de software es la responsable de la


derivacin de un modelo de sistema estructural, un
modelo de control y un modelo de descomposicin
en subsistemas.
Los sistemas grandes rara vez conforman un
modelo simple de arquitectura.
Los modelos de descomposicin de un sistema
incluyen modelos repositorios, los modelos clienteservidor y los modelos de mquina abstracta.
Los modelos de control incluyen control centralizado
y modelos manejadores de eventos

Resumen

Los modelos de descomposicin incluyen


modelos de flujo de datos y objetos.
Los modelos de Dominio de arquitectura
especfica son abstracciones sobre el
dominio de una aplicacin. Estos pueden ser
construidos mediante la abstraccin de
sistemas existentes o pueden ser modelos
de referencia idealizados.

Vous aimerez peut-être aussi