SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Arquitecturas de Software
Ingeniería del Software I
Universidad Rey Juan Carlos
César Javier AcuñaCésar Javier Acuña
cjacunia@escet.urjc.escjacunia@escet.urjc.es
Universidad Rey Juan Carlos - Ingenieria del
Software I
2
ARQUITECTURAS SOFTWARE
Índice
Introducción
Motivación
Definición
Estilos Arquitectónicos
Pipes and Filters
Tipos abstractos de datos y OO
Invocación Implícita Basada en Eventos
Sistemas en Capas
Sistemas basados en depósitos
Máquina Virtual o Interprete
Universidad Rey Juan Carlos - Ingenieria del
Software I
3
ARQUITECTURAS SOFTWARE
Introducción
Motivación
Incremento en el tamaño y complejidad del software
Necesidad de aprender de la experiencia: reutilización de
estructuras asociadas a problemas similares
Una adecuada estructura general es tan importante como
las implementaciones concretas de las partes.
Definición
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.
Universidad Rey Juan Carlos - Ingenieria del
Software I
4
ARQUITECTURAS SOFTWARE
Introducción
Incluyendo:
la descripción de los componentes con los cuales se
construyen los sistemas
las interacciones entre esos componentes
patrones para guiar la composición
restricciones sobre dichos patrones
Componentes: servidores, clientes, bases de datos, filtros,
capas en un sistema jerárquico, etc.
Interacciones: llamadas a procedimientos, protocolos C/S,
protocolos de acceso a BD, etc.
Universidad Rey Juan Carlos - Ingenieria del
Software I
5
ARQUITECTURAS SOFTWARE
Introducción
¿De qué se ocupa?
Diseño preliminar o de alto nivel.
Organización a alto nivel del sistema, incluyendo aspectos
como la descripción y análisis de propiedades relativas a
su estructura y control global, los protocolos de
comunicación y sincronización utilizados, la distribución
física del sistema y sus componentes, etc.
Otros aspectos relacionados con el desarrollo del sistema
y su evolución y adaptación al cambio:
composición, reconfiguración, reutilización, escalabilidad,
mantenibilidad, etc.
Universidad Rey Juan Carlos - Ingenieria del
Software I
6
ARQUITECTURAS SOFTWARE
Introducción
¿De qué no se ocupa?
Diseño detallado.
Diseño de algoritmos.
Diseño de estructuras de datos.
Universidad Rey Juan Carlos - Ingenieria del
Software I
7
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Indican:
Los tipos de componentes y conectores involucrados.
Patrones y restricciones de interconexión o
composición entre ellos: Invariantes del estilo
(restricciones)
Asociados a cada estilo hay una serie de
propiedades que lo caracterizan, determinando sus
ventajas e inconvenientes, condicionando la
elección de uno u otro estilo.
Universidad Rey Juan Carlos - Ingenieria del
Software I
8
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Sistemas Basados en Flujos
de Datos
Pipes and filters (tuberías y
filtros)
Batch Sequential
Sistemas Call/Return
Sistemas Principal/subrutinas
Sistemas OO
Capas jerárquicas
Componentes Independientes
Procesos de comunicación
Sistemas de Acontecimientos
Máquinas Virtuales
Interpretes
Sistemas basados en el
conocimiento
Sistemas Centrados en Datos
(repositorios)
Bases de Datos
Sistemas de HiperTexto
Sistemas de pizarra
Clasificación General de los Estilos
Universidad Rey Juan Carlos - Ingenieria del
Software I
9
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Pipes and Filters (tuberías y filtros)
Pipes
Filters
Universidad Rey Juan Carlos - Ingenieria del
Software I
10
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Pipes and Filters (tuberías y filtros)
Descripción
Cada componente tiene un conjunto de entradas y un
conjunto de salidas.
Cada componente lee las entradas y las transforma en
salidas.
Restricciones:
Los filtros deben ser independientes. No deben compartir
estado con otros filtros.
Los filtros realizan la labor independientemente del flujo de
entrada.
Especializaciones
Pipelines
Bounded pipes
Typed pipes
Universidad Rey Juan Carlos - Ingenieria del
Software I
11
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Pipes and Filters (tuberías y filtros)
Ventajas
Permite entender el sistema global en términos de la
combinación de componentes
Soporta de buena manera la reutilización. Los filtros son
idependientes de sus vecinos
Facilidad de Mantenimiento y mejora
Facilidad de diagnóstico (rendimiento, deadlocks)
Soportan la ejecución concurrente
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
12
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Tipos Abstractos de Datos y OO
Obj: objetos
Op:invocaciones a
métodos
Universidad Rey Juan Carlos - Ingenieria del
Software I
13
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Tipos Abstractos de Datos y OO
Descripción
Las representaciones de los datos y las operaciones están
encapsulados en un tipo abstracto de datos u objeto
Los componentes son objetos
Las invocaciones de métodos son los conectores
Restricciones:
Los objetos son responsables de la integridad de sus representaciones
Dicha representación es ocultada al resto de los objetos
Ventajas
Gracias al invariante de ocultación es posible
reemplazar la Implementación si que afecte
a los clientes
Universidad Rey Juan Carlos - Ingenieria del
Software I
14
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Tipos Abstractos de Datos y OO
Desventajas
Para invocar métodos de un objeto se debe conocer
su identidad
Efectos colaterales
Universidad Rey Juan Carlos - Ingenieria del
Software I
15
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Invocación Implícita Basada en Eventos
?
?
?
?
??
?
! !
!!
!
!
!
Objetos o
Procesos
Invocación
Implícita
Universidad Rey Juan Carlos - Ingenieria del
Software I
16
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Invocación Implícita Basada en Eventos
Descripción
En lugar de invocaciones de procedimientos explicitas o
directas, un componente anuncia uno o más eventos y otros
componentes registran el interés en un evento asociando un
procedimiento a dicho evento.
La ocurrencia de un evento causa la invocación “implicita”
de procedimientos en otros módulos.
Los componentes son los módulos cuyas interfaces ofrecen
un conjunto de procedimientos y de eventos
Los conectores incluyen llamadas a procedimientos
tradicionales así como el ligado de eventos
con llamadas a procedimientos
?
?
??
??
?
! !
!!
!
!
!
Universidad Rey Juan Carlos - Ingenieria del
Software I
17
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Invocación Implícita Basada en Eventos
Restricciones:
Quien anuncia el evento no conoce a que
componentes afecta el evento
No se pueden hacer asunciones acerca del orden
de procesamiento
Ventajas
Provee un robusto soporte de reusabilidad
Facilita la evolución del sistema
Desventajas
Perdida de control en el comportamiento del sistema
Problemas en el intercambio de datos
Es difícil asegurar la corrección global del
sistema
?
?
??
??
?
! !
!!
!
!
!
Universidad Rey Juan Carlos - Ingenieria del
Software I
18
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Sistemas en Capas
Aplicaciones
Usuarios
Utilidad básica
Nivel
Núcleo
Llamadas a
Procedimientos
Universidad Rey Juan Carlos - Ingenieria del
Software I
19
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Sistemas en Capas
Descripción
Organizado jerárquicamente en capas, donde cada capa
provee servicios a la capa superior y es servido por la capa
inferior
Los componentes son cada una de las capas
Los conectores son los protocolos de interacción entre las
capas
Restricciones:
La interacción está limitada a las capas adyacentes
Ventajas
Facilita la descomposición del problema en varios
niveles de abstracción.
Aplicaciones
Universidad Rey Juan Carlos - Ingenieria del
Software I
20
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Sistemas en Capas
Soporta la mejora, los cambios solo afectan a las
capas vecinas
Se pueden cambiar las implementaciones respetando las
interfaces con las capas adyacentes.
Desventajas
No todos los sistemas pueden estructurarse en capas.
Es difícil encontrar la separación en capas adecuada
Aplicaciones
Universidad Rey Juan Carlos - Ingenieria del
Software I
21
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Sistemas basados en depósitos
Pizarra
(datos Compartidos)
ks7
ks8
ks6 ks5
ks4
ks3
ks2ks1
Memoria
Procesamiento
Accesos Directos
Universidad Rey Juan Carlos - Ingenieria del
Software I
22
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Sistemas basados en depósitos
Descripción
Existen dos tipos de componentes
Una estructura central de datos (representa el estado del
proceso)
Componentes independientes (operan en función del depósito
de datos)
Las interacciones entre el repositorio y los demás
componentes es variable:
La entrada de los datos es seleccionada por los componentes
El estado de los datos del repositorio selecciona
el proceso a ejecutar (pizarra)
Pizarra
(datos Compartidos)
ks7
ks8
ks6 ks5
ks4
ks3
ks2ks1
Universidad Rey Juan Carlos - Ingenieria del
Software I
23
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Sistemas basados en depósitos
Ventajas
Posibilita la integración de agentes.
Adecuado para la resolución de problemas no deterministas.
Se puede resumir el estado de conocimiento en cada
momento del proceso
Desventajas
Estructura de datos común a todos los agentes
Problemas de carga a la hora de chequear y vigilar el estado
de la pizarra.
Pizarra
(datos Compartidos)
ks7
ks8
ks6 ks5
ks4
ks3
ks2ks1
Universidad Rey Juan Carlos - Ingenieria del
Software I
24
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Máquina virtual o intérprete
Datos
(Estado del
programa)
Programa
siendo
interpretado
Máquina de
Interpretación
simulada
Estado Interno
Del Interprete
Instrucción
seleccionada
Datos
seleccionados
Entradas
Salidas
Universidad Rey Juan Carlos - Ingenieria del
Software I
25
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Máquina virtual o intérprete
Descripción
Formado por cuatro componentes
Un motor de simulación o interpretación
Una memoria que contiene el código a interpretar
Una representación del estado de la interpretación
Una representación del estado del programa que se esta
simulando
Ventajas
Solución software a problemas hardware.
Desventajas
No siempre es aplicable
Reducido a lenguajes de programación
Universidad Rey Juan Carlos - Ingenieria del
Software I
26
ARQUITECTURAS SOFTWARE
Estilos Arquitectónicos
Otros Estilos
Procesos distribuidos
Sistemas cliente/servidor
Sistemas en 3 capas
Programa Principal/Subrutinas
Típica de lenguajes procedurales
Un programa principal gestiona el control de ejecución de
las subrutinas
Transición de Estados
Arquitecturas Heterogéneas
Se da por la mezcla de estilos
Existen diferentes maneras de combinar
Universidad Rey Juan Carlos - Ingenieria del
Software I
27
ARQUITECTURAS SOFTWARE
Lenguajes de Descripción de Arquitecturas
(LDAs)
Un LDA es un lenguaje o notación para describir
una arquitectura software:
Descripción de componentes, conectores y enlaces entre
ellos.
Herramientas para la verificación de la arquitectura y el
prototipado rápido.
Existen LDAs de propósito general y otros de
dominio específico (DSLs)
Requisitos
Composición
Debe describir el sistema como una composición de partes
Universidad Rey Juan Carlos - Ingenieria del
Software I
28
ARQUITECTURAS SOFTWARE
Lenguajes de Descripción de Arquitecturas
(LDAs)
Configuración
Debe describir la arquitectura independientemente de los
componentes
Abstracción
Debe describir los roles abstractos que juegan los componentes
Reutilización
Debe permitir reutilizar componentes, conectores, y arquitecturas
Heterogeneidad
Debe permitir combinar descripciones heterogéneas
Análisis
Debe permitir diversas formas de análisis de la arquitectura
Universidad Rey Juan Carlos - Ingenieria del
Software I
29
ARQUITECTURAS SOFTWARE
Lenguajes de Descripción de Arquitecturas
(LDAs)
Ejemplos
Lenguaje Unificado de Modelado (UML)
Lenguajes de interconexión de módulos y de descripción
de interfaz (CORBA-IDL)
Lenguajes de descripción de arquitectura:
Unicon (Mary Shaw y colaboradores - CMU)
Wright (Allen y Garlan)
Darwin (Magee y Kramer - IC)
Rapide (Luckham)
C2 (Medvidovic)
LEDA (U. Málaga)
Universidad Rey Juan Carlos - Ingenieria del
Software I
30
ARQUITECTURAS SOFTWARE
Bibliografía
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/p1-
arquitecturas.ppt

Más contenido relacionado

La actualidad más candente

Arquitectura del software
Arquitectura del softwareArquitectura del software
Arquitectura del softwareJohns Chacon
 
Arquitectura de software y Generación de computadores.
Arquitectura de software y Generación de computadores.Arquitectura de software y Generación de computadores.
Arquitectura de software y Generación de computadores.Juan Franco
 
Diseño de arquitectura del software
Diseño de arquitectura del softwareDiseño de arquitectura del software
Diseño de arquitectura del softwaredeahesy najera garcia
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Marta Silvia Tabares
 
Diseno de la arquitectura
Diseno de la arquitecturaDiseno de la arquitectura
Diseno de la arquitecturaFatima Cham
 
presentacion_dannaRivero
presentacion_dannaRiveropresentacion_dannaRivero
presentacion_dannaRiveroDannaRivero
 
fundamentos básicos para el diseño de software.
fundamentos básicos para el diseño de software.fundamentos básicos para el diseño de software.
fundamentos básicos para el diseño de software.nathalyrivasdiaz
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónicolandeta_p
 
Estilos de Software
Estilos de SoftwareEstilos de Software
Estilos de Softwarebjjuarez
 
Sistemas ii fundamentos y metodos de analisis de requerimientos
Sistemas ii   fundamentos y metodos de analisis de requerimientosSistemas ii   fundamentos y metodos de analisis de requerimientos
Sistemas ii fundamentos y metodos de analisis de requerimientosGalderIL057
 
Arquitectura De Software Para Dummies
Arquitectura De Software Para DummiesArquitectura De Software Para Dummies
Arquitectura De Software Para DummiesSorey García
 
Fundamentos arquitectura del software
Fundamentos arquitectura del softwareFundamentos arquitectura del software
Fundamentos arquitectura del softwarevenezuela2015
 
Clase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicosClase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicosDemián Gutierrez
 
Arquitectura software capitulo i
Arquitectura software capitulo iArquitectura software capitulo i
Arquitectura software capitulo iCathy Guevara
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareAndresRealp1
 

La actualidad más candente (20)

Arquitectura del software
Arquitectura del softwareArquitectura del software
Arquitectura del software
 
Arquitectura del software
Arquitectura del softwareArquitectura del software
Arquitectura del software
 
Arquitectura de software y Generación de computadores.
Arquitectura de software y Generación de computadores.Arquitectura de software y Generación de computadores.
Arquitectura de software y Generación de computadores.
 
Diseño de arquitectura del software
Diseño de arquitectura del softwareDiseño de arquitectura del software
Diseño de arquitectura del software
 
Patrones de Diseño
Patrones de DiseñoPatrones de Diseño
Patrones de Diseño
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2
 
Principales estilos arquitectónicos
Principales estilos arquitectónicosPrincipales estilos arquitectónicos
Principales estilos arquitectónicos
 
Diseno de la arquitectura
Diseno de la arquitecturaDiseno de la arquitectura
Diseno de la arquitectura
 
presentacion_dannaRivero
presentacion_dannaRiveropresentacion_dannaRivero
presentacion_dannaRivero
 
fundamentos básicos para el diseño de software.
fundamentos básicos para el diseño de software.fundamentos básicos para el diseño de software.
fundamentos básicos para el diseño de software.
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico
 
Conceptos basicos arquitectura de software
Conceptos basicos arquitectura de softwareConceptos basicos arquitectura de software
Conceptos basicos arquitectura de software
 
Arquitecturas de software
Arquitecturas de softwareArquitecturas de software
Arquitecturas de software
 
Estilos de Software
Estilos de SoftwareEstilos de Software
Estilos de Software
 
Sistemas ii fundamentos y metodos de analisis de requerimientos
Sistemas ii   fundamentos y metodos de analisis de requerimientosSistemas ii   fundamentos y metodos de analisis de requerimientos
Sistemas ii fundamentos y metodos de analisis de requerimientos
 
Arquitectura De Software Para Dummies
Arquitectura De Software Para DummiesArquitectura De Software Para Dummies
Arquitectura De Software Para Dummies
 
Fundamentos arquitectura del software
Fundamentos arquitectura del softwareFundamentos arquitectura del software
Fundamentos arquitectura del software
 
Clase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicosClase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicos
 
Arquitectura software capitulo i
Arquitectura software capitulo iArquitectura software capitulo i
Arquitectura software capitulo i
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-software
 

Similar a Arquitecturas de Ing SW

Proyecto piper filter
Proyecto piper filterProyecto piper filter
Proyecto piper filterDeiby Pereyra
 
Arquitecturas
ArquitecturasArquitecturas
Arquitecturasenlinea70
 
Pteg i-grupo 5- cap -7 tema ingienieria de software
Pteg i-grupo 5- cap -7 tema ingienieria de softwarePteg i-grupo 5- cap -7 tema ingienieria de software
Pteg i-grupo 5- cap -7 tema ingienieria de softwareErikValladarez
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasSergio Sanchez
 
Patricio quiros tarea final
Patricio quiros tarea finalPatricio quiros tarea final
Patricio quiros tarea finalLeonel Ibarra
 
Arquitectura de un sistema de informacion
Arquitectura de un sistema de informacionArquitectura de un sistema de informacion
Arquitectura de un sistema de informacionMauricio Duero
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Softwareem3marquez
 
diseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informaciondiseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informacionzulaymaylin
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOSFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOSLuis Jesus Curbata
 
Tipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemasTipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemasRafael D Martinez
 
Significado dentro del ciclo de vida de desarrollo de sistemas
Significado dentro del ciclo de vida de desarrollo de sistemasSignificado dentro del ciclo de vida de desarrollo de sistemas
Significado dentro del ciclo de vida de desarrollo de sistemasJuan Pablo Bustos Thames
 
Significado dentro del ciclo de vida de desarrollo de sistemas
Significado dentro del ciclo de vida de desarrollo de sistemasSignificado dentro del ciclo de vida de desarrollo de sistemas
Significado dentro del ciclo de vida de desarrollo de sistemasJuan Pablo Bustos Thames
 

Similar a Arquitecturas de Ing SW (20)

Arquitecturas de sw
Arquitecturas de swArquitecturas de sw
Arquitecturas de sw
 
Proyecto piper filter
Proyecto piper filterProyecto piper filter
Proyecto piper filter
 
Arquitecturas
ArquitecturasArquitecturas
Arquitecturas
 
Pteg i-grupo 5- cap -7 tema ingienieria de software
Pteg i-grupo 5- cap -7 tema ingienieria de softwarePteg i-grupo 5- cap -7 tema ingienieria de software
Pteg i-grupo 5- cap -7 tema ingienieria de software
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De Sistemas
 
9.diseño de la arquitectura
9.diseño de la arquitectura9.diseño de la arquitectura
9.diseño de la arquitectura
 
Patricio quiros tarea final
Patricio quiros tarea finalPatricio quiros tarea final
Patricio quiros tarea final
 
Unidad 4. diseno del sistema
Unidad 4. diseno del sistemaUnidad 4. diseno del sistema
Unidad 4. diseno del sistema
 
Arquitectura de un sistema de informacion
Arquitectura de un sistema de informacionArquitectura de un sistema de informacion
Arquitectura de un sistema de informacion
 
Introduccion a la ingenieria de software
Introduccion a la ingenieria de softwareIntroduccion a la ingenieria de software
Introduccion a la ingenieria de software
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
diseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informaciondiseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informacion
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOSFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
 
Sistemas I (II Bimestre)
Sistemas I (II Bimestre)Sistemas I (II Bimestre)
Sistemas I (II Bimestre)
 
Tipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemasTipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemas
 
Diseño arquitectonico
Diseño arquitectonicoDiseño arquitectonico
Diseño arquitectonico
 
Significado dentro del ciclo de vida de desarrollo de sistemas
Significado dentro del ciclo de vida de desarrollo de sistemasSignificado dentro del ciclo de vida de desarrollo de sistemas
Significado dentro del ciclo de vida de desarrollo de sistemas
 
Significado dentro del ciclo de vida de desarrollo de sistemas
Significado dentro del ciclo de vida de desarrollo de sistemasSignificado dentro del ciclo de vida de desarrollo de sistemas
Significado dentro del ciclo de vida de desarrollo de sistemas
 

Último

COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIACOMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIARafaelPaco2
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfManual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfSandXmovex
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptxJhordanGonzalo
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfAdelaHerrera9
 
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfCE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfssuserc34f44
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadANDECE
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfJessLeonelVargasJimn
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfZamiertCruzSuyo
 
Parámetros de Perforación y Voladura. para Plataformas
Parámetros de  Perforación y Voladura. para PlataformasParámetros de  Perforación y Voladura. para Plataformas
Parámetros de Perforación y Voladura. para PlataformasSegundo Silva Maguiña
 

Último (20)

COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIACOMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfManual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
 
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfCE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidad
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdf
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
 
Parámetros de Perforación y Voladura. para Plataformas
Parámetros de  Perforación y Voladura. para PlataformasParámetros de  Perforación y Voladura. para Plataformas
Parámetros de Perforación y Voladura. para Plataformas
 

Arquitecturas de Ing SW

  • 1. Arquitecturas de Software Ingeniería del Software I Universidad Rey Juan Carlos César Javier AcuñaCésar Javier Acuña cjacunia@escet.urjc.escjacunia@escet.urjc.es
  • 2. Universidad Rey Juan Carlos - Ingenieria del Software I 2 ARQUITECTURAS SOFTWARE Índice Introducción Motivación Definición Estilos Arquitectónicos Pipes and Filters Tipos abstractos de datos y OO Invocación Implícita Basada en Eventos Sistemas en Capas Sistemas basados en depósitos Máquina Virtual o Interprete
  • 3. Universidad Rey Juan Carlos - Ingenieria del Software I 3 ARQUITECTURAS SOFTWARE Introducción Motivación Incremento en el tamaño y complejidad del software Necesidad de aprender de la experiencia: reutilización de estructuras asociadas a problemas similares Una adecuada estructura general es tan importante como las implementaciones concretas de las partes. Definición 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.
  • 4. Universidad Rey Juan Carlos - Ingenieria del Software I 4 ARQUITECTURAS SOFTWARE Introducción Incluyendo: la descripción de los componentes con los cuales se construyen los sistemas las interacciones entre esos componentes patrones para guiar la composición restricciones sobre dichos patrones Componentes: servidores, clientes, bases de datos, filtros, capas en un sistema jerárquico, etc. Interacciones: llamadas a procedimientos, protocolos C/S, protocolos de acceso a BD, etc.
  • 5. Universidad Rey Juan Carlos - Ingenieria del Software I 5 ARQUITECTURAS SOFTWARE Introducción ¿De qué se ocupa? Diseño preliminar o de alto nivel. Organización a alto nivel del sistema, incluyendo aspectos como la descripción y análisis de propiedades relativas a su estructura y control global, los protocolos de comunicación y sincronización utilizados, la distribución física del sistema y sus componentes, etc. Otros aspectos relacionados con el desarrollo del sistema y su evolución y adaptación al cambio: composición, reconfiguración, reutilización, escalabilidad, mantenibilidad, etc.
  • 6. Universidad Rey Juan Carlos - Ingenieria del Software I 6 ARQUITECTURAS SOFTWARE Introducción ¿De qué no se ocupa? Diseño detallado. Diseño de algoritmos. Diseño de estructuras de datos.
  • 7. Universidad Rey Juan Carlos - Ingenieria del Software I 7 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Indican: Los tipos de componentes y conectores involucrados. Patrones y restricciones de interconexión o composición entre ellos: Invariantes del estilo (restricciones) Asociados a cada estilo hay una serie de propiedades que lo caracterizan, determinando sus ventajas e inconvenientes, condicionando la elección de uno u otro estilo.
  • 8. Universidad Rey Juan Carlos - Ingenieria del Software I 8 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Sistemas Basados en Flujos de Datos Pipes and filters (tuberías y filtros) Batch Sequential Sistemas Call/Return Sistemas Principal/subrutinas Sistemas OO Capas jerárquicas Componentes Independientes Procesos de comunicación Sistemas de Acontecimientos Máquinas Virtuales Interpretes Sistemas basados en el conocimiento Sistemas Centrados en Datos (repositorios) Bases de Datos Sistemas de HiperTexto Sistemas de pizarra Clasificación General de los Estilos
  • 9. Universidad Rey Juan Carlos - Ingenieria del Software I 9 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Pipes and Filters (tuberías y filtros) Pipes Filters
  • 10. Universidad Rey Juan Carlos - Ingenieria del Software I 10 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Pipes and Filters (tuberías y filtros) Descripción Cada componente tiene un conjunto de entradas y un conjunto de salidas. Cada componente lee las entradas y las transforma en salidas. Restricciones: Los filtros deben ser independientes. No deben compartir estado con otros filtros. Los filtros realizan la labor independientemente del flujo de entrada. Especializaciones Pipelines Bounded pipes Typed pipes
  • 11. Universidad Rey Juan Carlos - Ingenieria del Software I 11 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Pipes and Filters (tuberías y filtros) Ventajas Permite entender el sistema global en términos de la combinación de componentes Soporta de buena manera la reutilización. Los filtros son idependientes de sus vecinos Facilidad de Mantenimiento y mejora Facilidad de diagnóstico (rendimiento, deadlocks) Soportan la ejecución concurrente Desventajas No aconsejado para cuando se necesita interactividad Problemas de performance ya que los datos se transmiten en forma completa entre filtros
  • 12. Universidad Rey Juan Carlos - Ingenieria del Software I 12 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Tipos Abstractos de Datos y OO Obj: objetos Op:invocaciones a métodos
  • 13. Universidad Rey Juan Carlos - Ingenieria del Software I 13 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Tipos Abstractos de Datos y OO Descripción Las representaciones de los datos y las operaciones están encapsulados en un tipo abstracto de datos u objeto Los componentes son objetos Las invocaciones de métodos son los conectores Restricciones: Los objetos son responsables de la integridad de sus representaciones Dicha representación es ocultada al resto de los objetos Ventajas Gracias al invariante de ocultación es posible reemplazar la Implementación si que afecte a los clientes
  • 14. Universidad Rey Juan Carlos - Ingenieria del Software I 14 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Tipos Abstractos de Datos y OO Desventajas Para invocar métodos de un objeto se debe conocer su identidad Efectos colaterales
  • 15. Universidad Rey Juan Carlos - Ingenieria del Software I 15 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Invocación Implícita Basada en Eventos ? ? ? ? ?? ? ! ! !! ! ! ! Objetos o Procesos Invocación Implícita
  • 16. Universidad Rey Juan Carlos - Ingenieria del Software I 16 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Invocación Implícita Basada en Eventos Descripción En lugar de invocaciones de procedimientos explicitas o directas, un componente anuncia uno o más eventos y otros componentes registran el interés en un evento asociando un procedimiento a dicho evento. La ocurrencia de un evento causa la invocación “implicita” de procedimientos en otros módulos. Los componentes son los módulos cuyas interfaces ofrecen un conjunto de procedimientos y de eventos Los conectores incluyen llamadas a procedimientos tradicionales así como el ligado de eventos con llamadas a procedimientos ? ? ?? ?? ? ! ! !! ! ! !
  • 17. Universidad Rey Juan Carlos - Ingenieria del Software I 17 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Invocación Implícita Basada en Eventos Restricciones: Quien anuncia el evento no conoce a que componentes afecta el evento No se pueden hacer asunciones acerca del orden de procesamiento Ventajas Provee un robusto soporte de reusabilidad Facilita la evolución del sistema Desventajas Perdida de control en el comportamiento del sistema Problemas en el intercambio de datos Es difícil asegurar la corrección global del sistema ? ? ?? ?? ? ! ! !! ! ! !
  • 18. Universidad Rey Juan Carlos - Ingenieria del Software I 18 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Sistemas en Capas Aplicaciones Usuarios Utilidad básica Nivel Núcleo Llamadas a Procedimientos
  • 19. Universidad Rey Juan Carlos - Ingenieria del Software I 19 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Sistemas en Capas Descripción Organizado jerárquicamente en capas, donde cada capa provee servicios a la capa superior y es servido por la capa inferior Los componentes son cada una de las capas Los conectores son los protocolos de interacción entre las capas Restricciones: La interacción está limitada a las capas adyacentes Ventajas Facilita la descomposición del problema en varios niveles de abstracción. Aplicaciones
  • 20. Universidad Rey Juan Carlos - Ingenieria del Software I 20 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Sistemas en Capas Soporta la mejora, los cambios solo afectan a las capas vecinas Se pueden cambiar las implementaciones respetando las interfaces con las capas adyacentes. Desventajas No todos los sistemas pueden estructurarse en capas. Es difícil encontrar la separación en capas adecuada Aplicaciones
  • 21. Universidad Rey Juan Carlos - Ingenieria del Software I 21 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Sistemas basados en depósitos Pizarra (datos Compartidos) ks7 ks8 ks6 ks5 ks4 ks3 ks2ks1 Memoria Procesamiento Accesos Directos
  • 22. Universidad Rey Juan Carlos - Ingenieria del Software I 22 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Sistemas basados en depósitos Descripción Existen dos tipos de componentes Una estructura central de datos (representa el estado del proceso) Componentes independientes (operan en función del depósito de datos) Las interacciones entre el repositorio y los demás componentes es variable: La entrada de los datos es seleccionada por los componentes El estado de los datos del repositorio selecciona el proceso a ejecutar (pizarra) Pizarra (datos Compartidos) ks7 ks8 ks6 ks5 ks4 ks3 ks2ks1
  • 23. Universidad Rey Juan Carlos - Ingenieria del Software I 23 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Sistemas basados en depósitos Ventajas Posibilita la integración de agentes. Adecuado para la resolución de problemas no deterministas. Se puede resumir el estado de conocimiento en cada momento del proceso Desventajas Estructura de datos común a todos los agentes Problemas de carga a la hora de chequear y vigilar el estado de la pizarra. Pizarra (datos Compartidos) ks7 ks8 ks6 ks5 ks4 ks3 ks2ks1
  • 24. Universidad Rey Juan Carlos - Ingenieria del Software I 24 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Máquina virtual o intérprete Datos (Estado del programa) Programa siendo interpretado Máquina de Interpretación simulada Estado Interno Del Interprete Instrucción seleccionada Datos seleccionados Entradas Salidas
  • 25. Universidad Rey Juan Carlos - Ingenieria del Software I 25 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Máquina virtual o intérprete Descripción Formado por cuatro componentes Un motor de simulación o interpretación Una memoria que contiene el código a interpretar Una representación del estado de la interpretación Una representación del estado del programa que se esta simulando Ventajas Solución software a problemas hardware. Desventajas No siempre es aplicable Reducido a lenguajes de programación
  • 26. Universidad Rey Juan Carlos - Ingenieria del Software I 26 ARQUITECTURAS SOFTWARE Estilos Arquitectónicos Otros Estilos Procesos distribuidos Sistemas cliente/servidor Sistemas en 3 capas Programa Principal/Subrutinas Típica de lenguajes procedurales Un programa principal gestiona el control de ejecución de las subrutinas Transición de Estados Arquitecturas Heterogéneas Se da por la mezcla de estilos Existen diferentes maneras de combinar
  • 27. Universidad Rey Juan Carlos - Ingenieria del Software I 27 ARQUITECTURAS SOFTWARE Lenguajes de Descripción de Arquitecturas (LDAs) Un LDA es un lenguaje o notación para describir una arquitectura software: Descripción de componentes, conectores y enlaces entre ellos. Herramientas para la verificación de la arquitectura y el prototipado rápido. Existen LDAs de propósito general y otros de dominio específico (DSLs) Requisitos Composición Debe describir el sistema como una composición de partes
  • 28. Universidad Rey Juan Carlos - Ingenieria del Software I 28 ARQUITECTURAS SOFTWARE Lenguajes de Descripción de Arquitecturas (LDAs) Configuración Debe describir la arquitectura independientemente de los componentes Abstracción Debe describir los roles abstractos que juegan los componentes Reutilización Debe permitir reutilizar componentes, conectores, y arquitecturas Heterogeneidad Debe permitir combinar descripciones heterogéneas Análisis Debe permitir diversas formas de análisis de la arquitectura
  • 29. Universidad Rey Juan Carlos - Ingenieria del Software I 29 ARQUITECTURAS SOFTWARE Lenguajes de Descripción de Arquitecturas (LDAs) Ejemplos Lenguaje Unificado de Modelado (UML) Lenguajes de interconexión de módulos y de descripción de interfaz (CORBA-IDL) Lenguajes de descripción de arquitectura: Unicon (Mary Shaw y colaboradores - CMU) Wright (Allen y Garlan) Darwin (Magee y Kramer - IC) Rapide (Luckham) C2 (Medvidovic) LEDA (U. Málaga)
  • 30. Universidad Rey Juan Carlos - Ingenieria del Software I 30 ARQUITECTURAS SOFTWARE Bibliografía 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/p1- arquitecturas.ppt