SlideShare una empresa de Scribd logo
1 de 30
Software
Diseño de Software
Segundo Fidel Puerto Garavito
Segundo.puerto@Uniminuto.edu.co
Arquitecturas de
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
2
ARQ
Índic
ARQUITECTURAS SOFTWARE
Introducción
Motivación
Incremento en el tamaño y
Necesidad de aprender de
complejidad del software
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.
3
ARQ
Intro
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,
capas en un sistema jerárquico, etc.
filtros,
Interacciones: llamadas a procedimientos, protocolos C/S,
protocolos de acceso a BD, etc.
4
ARQ
Intro
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.
5
ARQ
Intro
ARQUITECTURAS SOFTWARE
Introducción
¿De qué no se ocupa?
Diseño
Diseño
Diseño
detallado.
de
de
algoritmos.
estructuras de datos.
6
ARQ
Intro
ARQUITECTURAS SOFTWARE
s 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
elección
e inconvenientes, condicionando la
de uno u otro estilo.
7
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s Arquitectónicos
Clasificación General de los Estilos
Sistemas
de Datos
Basados en Flujos Máquinas Virtuales
Interpretes
Sistemas basados en el
conocimiento
Pipes and filters
filtros)
(tuberías y
Batch Sequential Sistemas Centrados en Datos
(repositorios)Sistemas Call/Return
Sistemas Principal/subrutinas
Sistemas OO
Capas jerárquicas
Bases de Datos
Sistemas de HiperTexto
Sistemas de pizarra
Componentes Independientes
Procesos de comunicación
Sistemas de Acontecimientos
8 Universidad Rey Juan Carlos - Ingenieria del
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s Arquitectónicos
Pipes and Filters (tuberías y filtros)
Filters
Pipes
9
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s 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
10
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s 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
filtros11
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s Arquitectónicos
Tipos Abstractos de Datos y OO
Obj: objetos
Op:invocaciones a
métodos
12
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s 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
13
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s Arquitectónicos
Tipos Abstractos de Datos y OO
Desventajas
Para invocar métodos
su identidad
de un objeto se debe conocer
Efectos colaterales
14 Universidad Rey Juan Carlos - Ingenieria del
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s Arquitectónicos
Invocación Implícita Basada en Eventos
15
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s 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
16
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s 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
Problemas en el intercambio de datos
Es difícil asegurar la corrección global del
sistema
sistema
17
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s Arquitectónicos
Sistemas en Capas
Aplicaciones
Utilidad básica
Llamadas a
Procedimientos
Nivel
Núcleo
Usuarios
18 Universidad Rey Juan Carlos - Ingenieria del
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s 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.
19
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s 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
20
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s Arquitectónicos
Sistemas basados en depósitos
Procesamiento
ks2ks1
ks8 ks3
ks7
ks4
Memoria
ks6 ks5Accesos Directos
21
Pizarra
(datos Compartidos)
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s 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
ks2El estado de los datos del repositorio selecciona
el proceso a ejecutar (pizarra)
ks1
ks8 ks3
ks7 ks4
22
ks6 ks5
Pizarra
(datos Compartidos)
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s 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
de la pizarra.
carga a la hora de chequear y vigilar el estado
ks2ks1
ks8 ks3
ks7 ks4
23 Universidad Rey Juan Carlos - Ingenieria del
ks6 ks5
Pizarra
(datos Compartidos)
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s Arquitectónicos
Máquina virtual o intérprete
Datos
(Estado del
programa)
Entradas Programa
siendo
interpretado
Instrucción
seleccionada
Datos
seleccionados
Máquina de
Interpretación
simulada
Estado Interno
Del Interprete
Salidas
24
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s 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
25
ARQ
Estilo
ARQUITECTURAS SOFTWARE
s 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
26
ARQ
Estilo
ARQUITECTURAS SOFTWARE
Lenguajes de Descripción de Arquitecturas
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
27
Lengua
(LDAs)
ARQUITECTURAS SOFTWARE
Lenguajes de Descripción de Arquitecturas
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
28
Lengua
(LDAs)
ARQUITECTURAS SOFTWARE
Lenguajes de Descripción de Arquitecturas
Ejemplos
Lenguaje Unificado de Modelado (UML)
Lenguajes de interconexión de módulos y de
de interfaz (CORBA-IDL)
Lenguajes de descripción de arquitectura:
descripción
Unicon (Mary Shaw y colaboradores
Wright (Allen y Garlan)
Darwin (Magee y Kramer - IC)
Rapide (Luckham)
C2 (Medvidovic)
LEDA (U. Málaga)
- CMU)
29
Lengua
(LDAs)
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
30
ARQ
Biblio

Más contenido relacionado

La actualidad más candente

Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9Ian Sommerville
 
Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Javier Rubiano Quiroga
 
ISO - Arquitectura Evento Implícito 2014
ISO - Arquitectura Evento Implícito 2014ISO - Arquitectura Evento Implícito 2014
ISO - Arquitectura Evento Implícito 2014Marianny G España
 
Forma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposiciónForma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposiciónJuan Anaya
 
Teoria del modelado de objetos otros diagramas actividad despliegue
Teoria del modelado de objetos otros diagramas actividad despliegueTeoria del modelado de objetos otros diagramas actividad despliegue
Teoria del modelado de objetos otros diagramas actividad despliegueRobert Rodriguez
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlROQUE Caldas Dominguez
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and viewsDr Reeja S R
 
Modelado del análisis
Modelado del análisisModelado del análisis
Modelado del análisisJavier Rivera
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
Organización y arquitectura de computadores
Organización y arquitectura de computadoresOrganización y arquitectura de computadores
Organización y arquitectura de computadoresSofylutqm
 
Arquitectura del computador
Arquitectura del computadorArquitectura del computador
Arquitectura del computadorAndres Vargas
 

La actualidad más candente (20)

Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1
 
ISO - Arquitectura Evento Implícito 2014
ISO - Arquitectura Evento Implícito 2014ISO - Arquitectura Evento Implícito 2014
ISO - Arquitectura Evento Implícito 2014
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintactico
 
Base de datos distribuidos
Base de datos distribuidosBase de datos distribuidos
Base de datos distribuidos
 
Forma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposiciónForma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposición
 
Teoria del modelado de objetos otros diagramas actividad despliegue
Teoria del modelado de objetos otros diagramas actividad despliegueTeoria del modelado de objetos otros diagramas actividad despliegue
Teoria del modelado de objetos otros diagramas actividad despliegue
 
Clase mer
Clase  merClase  mer
Clase mer
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysql
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and views
 
Modelado del análisis
Modelado del análisisModelado del análisis
Modelado del análisis
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Organización y arquitectura de computadores
Organización y arquitectura de computadoresOrganización y arquitectura de computadores
Organización y arquitectura de computadores
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Arquitectura del computador
Arquitectura del computadorArquitectura del computador
Arquitectura del computador
 
Arquitecturas de software
Arquitecturas de softwareArquitecturas de software
Arquitecturas de software
 
Modos de Direccionamiento
Modos de DireccionamientoModos de Direccionamiento
Modos de Direccionamiento
 
ASP.NET WEB API
ASP.NET WEB APIASP.NET WEB API
ASP.NET WEB API
 

Similar a Arquitecturas de sw

Arquitecturas de Ing SW
Arquitecturas de Ing SWArquitecturas de Ing SW
Arquitecturas de Ing SWRonald Gomez
 
Proyecto piper filter
Proyecto piper filterProyecto piper filter
Proyecto piper filterDeiby Pereyra
 
Tipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemasTipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemasRafael D Martinez
 
Arquitectura del desarrollo del software
Arquitectura del desarrollo del softwareArquitectura del desarrollo del software
Arquitectura del desarrollo del softwareJose Morales
 
Arquitectura software.taxonomias.comportamiento.001
Arquitectura software.taxonomias.comportamiento.001Arquitectura software.taxonomias.comportamiento.001
Arquitectura software.taxonomias.comportamiento.001Jose Emilio Labra Gayo
 
Ici opc-unidad v-tema 6
Ici opc-unidad v-tema 6Ici opc-unidad v-tema 6
Ici opc-unidad v-tema 6Nelson Gimon
 
Tipos de modelos de procesos
Tipos de modelos de procesosTipos de modelos de procesos
Tipos de modelos de procesosEIYSC
 
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
 
Análisis y diseño de sistemas sesion 13 - diagrama de componentes y despliegue
Análisis y diseño de sistemas   sesion 13 - diagrama de componentes y despliegueAnálisis y diseño de sistemas   sesion 13 - diagrama de componentes y despliegue
Análisis y diseño de sistemas sesion 13 - diagrama de componentes y despliegueGianfrancoEduardoBra
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...negroues
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...negroues
 
Arquitectura de un sistema de informacion
Arquitectura de un sistema de informacionArquitectura de un sistema de informacion
Arquitectura de un sistema de informacionMauricio Duero
 
Diseño del sistema
Diseño del sistemaDiseño del sistema
Diseño del sistemathyago1211
 
Arquitecturas
ArquitecturasArquitecturas
Arquitecturasenlinea70
 

Similar a Arquitecturas de sw (20)

Arquitecturas de Ing SW
Arquitecturas de Ing SWArquitecturas de Ing SW
Arquitecturas de Ing SW
 
Proyecto piper filter
Proyecto piper filterProyecto piper filter
Proyecto piper filter
 
Tipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemasTipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemas
 
Arquitectura del desarrollo del software
Arquitectura del desarrollo del softwareArquitectura del desarrollo del software
Arquitectura del desarrollo del software
 
Tipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemasTipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemas
 
Arquitectura software.taxonomias.comportamiento.001
Arquitectura software.taxonomias.comportamiento.001Arquitectura software.taxonomias.comportamiento.001
Arquitectura software.taxonomias.comportamiento.001
 
DAS+Plantilla
DAS+PlantillaDAS+Plantilla
DAS+Plantilla
 
Ici opc-unidad v-tema 6
Ici opc-unidad v-tema 6Ici opc-unidad v-tema 6
Ici opc-unidad v-tema 6
 
Tipos de modelos de procesos
Tipos de modelos de procesosTipos de modelos de procesos
Tipos de modelos de procesos
 
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.
 
Análisis y diseño de sistemas sesion 13 - diagrama de componentes y despliegue
Análisis y diseño de sistemas   sesion 13 - diagrama de componentes y despliegueAnálisis y diseño de sistemas   sesion 13 - diagrama de componentes y despliegue
Análisis y diseño de sistemas sesion 13 - diagrama de componentes y despliegue
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
OMT
OMTOMT
OMT
 
Arquitectura de un sistema de informacion
Arquitectura de un sistema de informacionArquitectura de un sistema de informacion
Arquitectura de un sistema de informacion
 
Unidad 4. diseno del sistema
Unidad 4. diseno del sistemaUnidad 4. diseno del sistema
Unidad 4. diseno del sistema
 
1127082.ppt
1127082.ppt1127082.ppt
1127082.ppt
 
Diseño del sistema
Diseño del sistemaDiseño del sistema
Diseño del sistema
 
Arquitecturas
ArquitecturasArquitecturas
Arquitecturas
 

Último

EXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdf
EXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdfEXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdf
EXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdfVirginiaPrieto1
 
Infografia de El Minierismo reflejado en la Arquitectura
Infografia de El Minierismo reflejado en la ArquitecturaInfografia de El Minierismo reflejado en la Arquitectura
Infografia de El Minierismo reflejado en la Arquitecturafrenyergt23
 
Rotafolio de la obesidad en adolecentes y adultos
Rotafolio de la obesidad en adolecentes y adultosRotafolio de la obesidad en adolecentes y adultos
Rotafolio de la obesidad en adolecentes y adultosCelesteGomesLopes
 
música de la Región caribe colombiana .pptx
música de la Región caribe colombiana .pptxmúsica de la Región caribe colombiana .pptx
música de la Región caribe colombiana .pptxyesidescudero2
 
El marinerismo y sus características en la arquitectura
El marinerismo y sus características en la arquitecturaEl marinerismo y sus características en la arquitectura
El marinerismo y sus características en la arquitecturacorcegajoselyt
 
LAVADO DE MANOS TRIPTICO modelos de.docx
LAVADO DE MANOS TRIPTICO modelos de.docxLAVADO DE MANOS TRIPTICO modelos de.docx
LAVADO DE MANOS TRIPTICO modelos de.docxJheissonAriasSalazar
 
Cuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
CuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfjCuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
CuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfjLuisMartinez556504
 
EXPOSICION FOTOGRAFICA 1946-2024 Aniversario Conservatorio Carlos Valderrama ...
EXPOSICION FOTOGRAFICA 1946-2024 Aniversario Conservatorio Carlos Valderrama ...EXPOSICION FOTOGRAFICA 1946-2024 Aniversario Conservatorio Carlos Valderrama ...
EXPOSICION FOTOGRAFICA 1946-2024 Aniversario Conservatorio Carlos Valderrama ...alfredo estrada
 
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdfcomo me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdfleonar947720602
 
ANALISIS DE FORMAS NATURALES EN EL DIBUJOpdf
ANALISIS DE FORMAS NATURALES EN EL DIBUJOpdfANALISIS DE FORMAS NATURALES EN EL DIBUJOpdf
ANALISIS DE FORMAS NATURALES EN EL DIBUJOpdfMoisés Anchahua Huamaní
 
El Legado de Walter Gropius y Frank Lloyd Wright en la Arquitectura Moderna_c...
El Legado de Walter Gropius y Frank Lloyd Wright en la Arquitectura Moderna_c...El Legado de Walter Gropius y Frank Lloyd Wright en la Arquitectura Moderna_c...
El Legado de Walter Gropius y Frank Lloyd Wright en la Arquitectura Moderna_c...MariangelUrrieta
 
planeacion de encuentros pedagogicos atencion primera infancia
planeacion de encuentros pedagogicos atencion primera infanciaplaneacion de encuentros pedagogicos atencion primera infancia
planeacion de encuentros pedagogicos atencion primera infanciaIbethRincon
 
Módulo de teoría sobre fotografía pericial
Módulo de teoría sobre fotografía pericialMódulo de teoría sobre fotografía pericial
Módulo de teoría sobre fotografía pericialntraverso1
 
Arribando a la concreción II. Títulos en inglés, alemán y español
Arribando a la concreción II. Títulos en inglés, alemán y españolArribando a la concreción II. Títulos en inglés, alemán y español
Arribando a la concreción II. Títulos en inglés, alemán y españolLuis José Ferreira Calvo
 
PRIMER EXAMEN_merged (3).pdfdsadsadasdasd
PRIMER EXAMEN_merged (3).pdfdsadsadasdasdPRIMER EXAMEN_merged (3).pdfdsadsadasdasd
PRIMER EXAMEN_merged (3).pdfdsadsadasdasdpachecojean639
 
Geometría para alumnos de segundo medio A
Geometría para alumnos de segundo medio AGeometría para alumnos de segundo medio A
Geometría para alumnos de segundo medio APabloBascur3
 
minierismo historia caracteristicas gabriel silva.pdf
minierismo historia caracteristicas gabriel silva.pdfminierismo historia caracteristicas gabriel silva.pdf
minierismo historia caracteristicas gabriel silva.pdfgabrielandressilvaca
 
Resumen de generalidades de la fotografia.
Resumen de generalidades de la fotografia.Resumen de generalidades de la fotografia.
Resumen de generalidades de la fotografia.CentroEspecializacio
 
Generalidades de las cámaras fotogr[aficas
Generalidades de las cámaras fotogr[aficasGeneralidades de las cámaras fotogr[aficas
Generalidades de las cámaras fotogr[aficasntraverso1
 
Catálogo Mayo en Artelife Regalería Cristiana
Catálogo Mayo en Artelife Regalería CristianaCatálogo Mayo en Artelife Regalería Cristiana
Catálogo Mayo en Artelife Regalería Cristianasomosartelife
 

Último (20)

EXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdf
EXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdfEXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdf
EXPONENTES DEL MODERNISMO-VIRGINIA PRIETO.pdf
 
Infografia de El Minierismo reflejado en la Arquitectura
Infografia de El Minierismo reflejado en la ArquitecturaInfografia de El Minierismo reflejado en la Arquitectura
Infografia de El Minierismo reflejado en la Arquitectura
 
Rotafolio de la obesidad en adolecentes y adultos
Rotafolio de la obesidad en adolecentes y adultosRotafolio de la obesidad en adolecentes y adultos
Rotafolio de la obesidad en adolecentes y adultos
 
música de la Región caribe colombiana .pptx
música de la Región caribe colombiana .pptxmúsica de la Región caribe colombiana .pptx
música de la Región caribe colombiana .pptx
 
El marinerismo y sus características en la arquitectura
El marinerismo y sus características en la arquitecturaEl marinerismo y sus características en la arquitectura
El marinerismo y sus características en la arquitectura
 
LAVADO DE MANOS TRIPTICO modelos de.docx
LAVADO DE MANOS TRIPTICO modelos de.docxLAVADO DE MANOS TRIPTICO modelos de.docx
LAVADO DE MANOS TRIPTICO modelos de.docx
 
Cuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
CuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfjCuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
Cuadernillobdjjdjdjdjjdjdkdkkdjdjfujfjfj
 
EXPOSICION FOTOGRAFICA 1946-2024 Aniversario Conservatorio Carlos Valderrama ...
EXPOSICION FOTOGRAFICA 1946-2024 Aniversario Conservatorio Carlos Valderrama ...EXPOSICION FOTOGRAFICA 1946-2024 Aniversario Conservatorio Carlos Valderrama ...
EXPOSICION FOTOGRAFICA 1946-2024 Aniversario Conservatorio Carlos Valderrama ...
 
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdfcomo me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
como me enamore de ti (1).pdf.pdf_20240401_120711_0000.pdf
 
ANALISIS DE FORMAS NATURALES EN EL DIBUJOpdf
ANALISIS DE FORMAS NATURALES EN EL DIBUJOpdfANALISIS DE FORMAS NATURALES EN EL DIBUJOpdf
ANALISIS DE FORMAS NATURALES EN EL DIBUJOpdf
 
El Legado de Walter Gropius y Frank Lloyd Wright en la Arquitectura Moderna_c...
El Legado de Walter Gropius y Frank Lloyd Wright en la Arquitectura Moderna_c...El Legado de Walter Gropius y Frank Lloyd Wright en la Arquitectura Moderna_c...
El Legado de Walter Gropius y Frank Lloyd Wright en la Arquitectura Moderna_c...
 
planeacion de encuentros pedagogicos atencion primera infancia
planeacion de encuentros pedagogicos atencion primera infanciaplaneacion de encuentros pedagogicos atencion primera infancia
planeacion de encuentros pedagogicos atencion primera infancia
 
Módulo de teoría sobre fotografía pericial
Módulo de teoría sobre fotografía pericialMódulo de teoría sobre fotografía pericial
Módulo de teoría sobre fotografía pericial
 
Arribando a la concreción II. Títulos en inglés, alemán y español
Arribando a la concreción II. Títulos en inglés, alemán y españolArribando a la concreción II. Títulos en inglés, alemán y español
Arribando a la concreción II. Títulos en inglés, alemán y español
 
PRIMER EXAMEN_merged (3).pdfdsadsadasdasd
PRIMER EXAMEN_merged (3).pdfdsadsadasdasdPRIMER EXAMEN_merged (3).pdfdsadsadasdasd
PRIMER EXAMEN_merged (3).pdfdsadsadasdasd
 
Geometría para alumnos de segundo medio A
Geometría para alumnos de segundo medio AGeometría para alumnos de segundo medio A
Geometría para alumnos de segundo medio A
 
minierismo historia caracteristicas gabriel silva.pdf
minierismo historia caracteristicas gabriel silva.pdfminierismo historia caracteristicas gabriel silva.pdf
minierismo historia caracteristicas gabriel silva.pdf
 
Resumen de generalidades de la fotografia.
Resumen de generalidades de la fotografia.Resumen de generalidades de la fotografia.
Resumen de generalidades de la fotografia.
 
Generalidades de las cámaras fotogr[aficas
Generalidades de las cámaras fotogr[aficasGeneralidades de las cámaras fotogr[aficas
Generalidades de las cámaras fotogr[aficas
 
Catálogo Mayo en Artelife Regalería Cristiana
Catálogo Mayo en Artelife Regalería CristianaCatálogo Mayo en Artelife Regalería Cristiana
Catálogo Mayo en Artelife Regalería Cristiana
 

Arquitecturas de sw

  • 1. Software Diseño de Software Segundo Fidel Puerto Garavito Segundo.puerto@Uniminuto.edu.co Arquitecturas de
  • 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 2 ARQ Índic
  • 3. ARQUITECTURAS SOFTWARE Introducción Motivación Incremento en el tamaño y Necesidad de aprender de complejidad del software 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. 3 ARQ Intro
  • 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, capas en un sistema jerárquico, etc. filtros, Interacciones: llamadas a procedimientos, protocolos C/S, protocolos de acceso a BD, etc. 4 ARQ Intro
  • 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. 5 ARQ Intro
  • 6. ARQUITECTURAS SOFTWARE Introducción ¿De qué no se ocupa? Diseño Diseño Diseño detallado. de de algoritmos. estructuras de datos. 6 ARQ Intro
  • 7. ARQUITECTURAS SOFTWARE s 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 elección e inconvenientes, condicionando la de uno u otro estilo. 7 ARQ Estilo
  • 8. ARQUITECTURAS SOFTWARE s Arquitectónicos Clasificación General de los Estilos Sistemas de Datos Basados en Flujos Máquinas Virtuales Interpretes Sistemas basados en el conocimiento Pipes and filters filtros) (tuberías y Batch Sequential Sistemas Centrados en Datos (repositorios)Sistemas Call/Return Sistemas Principal/subrutinas Sistemas OO Capas jerárquicas Bases de Datos Sistemas de HiperTexto Sistemas de pizarra Componentes Independientes Procesos de comunicación Sistemas de Acontecimientos 8 Universidad Rey Juan Carlos - Ingenieria del ARQ Estilo
  • 9. ARQUITECTURAS SOFTWARE s Arquitectónicos Pipes and Filters (tuberías y filtros) Filters Pipes 9 ARQ Estilo
  • 10. ARQUITECTURAS SOFTWARE s 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 10 ARQ Estilo
  • 11. ARQUITECTURAS SOFTWARE s 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 filtros11 ARQ Estilo
  • 12. ARQUITECTURAS SOFTWARE s Arquitectónicos Tipos Abstractos de Datos y OO Obj: objetos Op:invocaciones a métodos 12 ARQ Estilo
  • 13. ARQUITECTURAS SOFTWARE s 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 13 ARQ Estilo
  • 14. ARQUITECTURAS SOFTWARE s Arquitectónicos Tipos Abstractos de Datos y OO Desventajas Para invocar métodos su identidad de un objeto se debe conocer Efectos colaterales 14 Universidad Rey Juan Carlos - Ingenieria del ARQ Estilo
  • 15. ARQUITECTURAS SOFTWARE s Arquitectónicos Invocación Implícita Basada en Eventos 15 ARQ Estilo
  • 16. ARQUITECTURAS SOFTWARE s 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 16 ARQ Estilo
  • 17. ARQUITECTURAS SOFTWARE s 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 Problemas en el intercambio de datos Es difícil asegurar la corrección global del sistema sistema 17 ARQ Estilo
  • 18. ARQUITECTURAS SOFTWARE s Arquitectónicos Sistemas en Capas Aplicaciones Utilidad básica Llamadas a Procedimientos Nivel Núcleo Usuarios 18 Universidad Rey Juan Carlos - Ingenieria del ARQ Estilo
  • 19. ARQUITECTURAS SOFTWARE s 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. 19 ARQ Estilo
  • 20. ARQUITECTURAS SOFTWARE s 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 20 ARQ Estilo
  • 21. ARQUITECTURAS SOFTWARE s Arquitectónicos Sistemas basados en depósitos Procesamiento ks2ks1 ks8 ks3 ks7 ks4 Memoria ks6 ks5Accesos Directos 21 Pizarra (datos Compartidos) ARQ Estilo
  • 22. ARQUITECTURAS SOFTWARE s 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 ks2El estado de los datos del repositorio selecciona el proceso a ejecutar (pizarra) ks1 ks8 ks3 ks7 ks4 22 ks6 ks5 Pizarra (datos Compartidos) ARQ Estilo
  • 23. ARQUITECTURAS SOFTWARE s 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 de la pizarra. carga a la hora de chequear y vigilar el estado ks2ks1 ks8 ks3 ks7 ks4 23 Universidad Rey Juan Carlos - Ingenieria del ks6 ks5 Pizarra (datos Compartidos) ARQ Estilo
  • 24. ARQUITECTURAS SOFTWARE s Arquitectónicos Máquina virtual o intérprete Datos (Estado del programa) Entradas Programa siendo interpretado Instrucción seleccionada Datos seleccionados Máquina de Interpretación simulada Estado Interno Del Interprete Salidas 24 ARQ Estilo
  • 25. ARQUITECTURAS SOFTWARE s 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 25 ARQ Estilo
  • 26. ARQUITECTURAS SOFTWARE s 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 26 ARQ Estilo
  • 27. ARQUITECTURAS SOFTWARE Lenguajes de Descripción de Arquitecturas 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 27 Lengua (LDAs)
  • 28. ARQUITECTURAS SOFTWARE Lenguajes de Descripción de Arquitecturas 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 28 Lengua (LDAs)
  • 29. ARQUITECTURAS SOFTWARE Lenguajes de Descripción de Arquitecturas Ejemplos Lenguaje Unificado de Modelado (UML) Lenguajes de interconexión de módulos y de de interfaz (CORBA-IDL) Lenguajes de descripción de arquitectura: descripción Unicon (Mary Shaw y colaboradores Wright (Allen y Garlan) Darwin (Magee y Kramer - IC) Rapide (Luckham) C2 (Medvidovic) LEDA (U. Málaga) - CMU) 29 Lengua (LDAs)
  • 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 30 ARQ Biblio