Académique Documents
Professionnel Documents
Culture Documents
Estilos Arquitectnicos
Pipes and Filters Tipos abstractos de datos y OO Invocacin Implcita Basada en Eventos Sistemas en Capas Sistemas basados en depsitos Mquina Virtual o Interprete
2 Universidad Rey Juan Carlos - Ingenieria del Software I
Definicin
La arquitectura de software de un programa o de un sistema computacional esta definida por la estructura, comprendida por los elementos de software, la propiedades visibles de esos elementos y las relaciones entre ellos.
3 Universidad Rey Juan Carlos - Ingenieria del Software I
Componentes: servidores, clientes, bases de datos, filtros, capas en un sistema jerrquico, etc. Interacciones: llamadas a procedimientos, protocolos C/S, protocolos de acceso a BD, etc.
Asociados a cada estilo hay una serie de propiedades que lo caracterizan, determinando sus ventajas e inconvenientes, condicionando la eleccin de uno u otro estilo.
Mquinas Virtuales
Interpretes Sistemas basados en el conocimiento
Sistemas Call/Return
Sistemas Principal/subrutinas Sistemas OO Capas jerrquicas
Componentes Independientes
Procesos de comunicacin Sistemas de Acontecimientos
8 Universidad Rey Juan Carlos - Ingenieria del Software I
Pipes
Especializaciones
Pipelines Bounded pipes Typed pipes
10
Desventajas
No aconsejado para cuando se necesita interactividad Problemas de performance ya que los datos se transmiten en forma completa entre filtros Universidad Rey Juan Carlos - Ingenieria del
Software I
11
12
Ventajas
Gracias al invariante de ocultacin es posible reemplazar la Implementacin si que afecte a los clientes
13 Universidad Rey Juan Carlos - Ingenieria del Software I
14
Objetos o Procesos
15
Invocacin Implcita
Ventajas
Provee un robusto soporte de reusabilidad Facilita la evolucin del sistema Desventajas Perdida de control en el comportamiento del sistema ! Problemas en el intercambio de datos ! ? Es difcil asegurar la correccin global del ! sistema
17 Universidad Rey Juan Carlos - Ingenieria del Software I
! ?
Llamadas a Procedimientos
Usuarios
18
Ventajas
Facilita la descomposicin del problema en varios niveles de abstraccin.
19 Universidad Rey Juan Carlos - Ingenieria del Software I
Desventajas
No todos los sistemas pueden estructurarse en capas. Es difcil encontrar la separacin en capas adecuada
Aplicaciones
20
ks8
ks3
ks6
ks5
ks3 ks4
ks6
ks5
Desventajas
Estructura de datos comn a todos los agentes Problemas de carga a la hora de chequear y vigilar el estado ks2 de la pizarra. ks1
ks8 ks7
23 Universidad Rey Juan Carlos - Ingenieria del Software I
Pizarra (datos Compartidos)
Entradas
Salidas
24
Ventajas
Solucin software a problemas hardware.
Desventajas
No siempre es aplicable Reducido a lenguajes de programacin
25 Universidad Rey Juan Carlos - Ingenieria del Software I
Programa Principal/Subrutinas
Tpica de lenguajes procedurales Un programa principal gestiona el control de ejecucin de las subrutinas
Lenguajes de Descripcin de Arquitecturas (LDAs) Un LDA es un lenguaje o notacin para describir una arquitectura software:
Descripcin de componentes, conectores y enlaces entre ellos. Herramientas para la verificacin de la arquitectura y el prototipado rpido.
ARQUITECTURAS SOFTWARE
ARQUITECTURAS SOFTWARE
Abstraccin
Debe describir los roles abstractos que juegan los componentes
Reutilizacin
Debe permitir reutilizar componentes, conectores, y arquitecturas
Heterogeneidad
Debe permitir combinar descripciones heterogneas
Anlisis
Debe permitir diversas formas de anlisis de la arquitectura
28
ARQUITECTURAS SOFTWARE
29
ARQUITECTURAS SOFTWARE
Bibliografa
Software Architecture Perspective on an Emerging discipline M. Shaw, D. Garlan Ed. Prentice Hall. Software Architecture in Practice (2nd Edition) L. Bass, P. Clements, R. Kazman Ed. Addison Wesley Arquitecturas de SW: http://lml.ls.fi.upm.es/~jjmoreno/sbc/arquitecturas_sw.ppt Servicios Avanzados Multimedia Basados en Componentes: http://www.lcc.uma.es/~av/misConfs/p1arquitecturas.ppt
30