SlideShare una empresa de Scribd logo
por Diego Plascencia
ESTILOS Y PATRONES
APLICABLES A LA
ARQUITECTURA DE
SOFTWARE
¿QUE SON? ¿CUALES HAY?
¿QUE DIFERENCIAS TIENEN?
Estilos de
Arquitectura
¿Que es un estilo de
arquitectura?
“...es una colección nombrada de decisiones de diseño de
arquitectura que...”
“son aplicables en un
contexto de desarrollo
dado”
“restringe las decisiones
de diseño de arquitectura
que son específicas a un
sistema en particular
dentro del contexto”
“resultan en cualidades
beneficiosas en cada
sistema resultante”
Entonces... ¿Qué es un
Estilo de Arquitectura?
● Son los “tipos” de arquitecturas
● Una forma de categorizarlas
● “Reglas” o “prácticas” para realizarlas
¿Qué Estilos Hay?
Estilo de...
● Tubería y filtros
● Pizarra o repositorio
● Capas
● Orientada a objetos
● ...
Veamos Algunos
Ejemplo de
Estilos
Estilo de Tubería y Filtros
1. Un filtro recibe una entrada
2. Realiza operaciones con esta
3. Produce una salida
4. Pasa al siguiente filtro a través de una
tubería (flujo)
● Componentes = filtros
● Conectores = tubería
Estilo Orientado a Objetos
● Los objetos son representaciones
● Basado en los principios OO (herencia,
polimorfismo, encapsulamiento).
● Se comunican (invocaciones a procedimientos)
● Componentes = objetos/managers
● Conectores = invocaciones
Patrones de
Arquitectura
¿Que es un patrón de
arquitectura?
“...es una colección nombrada de decisiones de diseño de
arquitectura que...”
“son aplicables a un
problema recurrente de
diseño”
“Parametrizado para
tener en cuenta los
diferentes contextos de
desarrollo de software en
los que aparece ese
problema.”
Entonces... ¿Qué es un
Patrón de Arquitectura?
● Reutilización de arquitecturas
● Que resuelven problemas que se repiten
● Y tienen estructuras específicas
¿Qué Patrones Hay?
Patrón de...
● Modelo Vista Controlador
● Capas
● Tuberías y Filtros
● Pizarrón
● Microkernel
● Broker
● ...
Veamos Algunos
Ejemplo de
Patrones
Patrón de Capas
● Los componentes (capas) se apilan
● Cada capa depende de (construye sobre) la
de abajo
● La capa de hasta abajo tiene el nivel de
abstracción más bajo
Patrón MVC
● Modelo Vista Controlador
● El modelo encapsula los datos
● El controlador recibe entradas (eventos) para
modificar el modelo
● La vista muestra una representación del modelo
Diferencias entre
Patrón y Estilo
Patrón Estilo
Específico
Es un “molde” para resolver un problema
específico en un contexto específico y
resulta en una estructura específica
General
Menciona cómo se relacionan los
componentes, sus conectores, traen
consigo un marco de trabajo, vocabulario,
métodos.
Pero...
Observa de nuevo
Si, se repiten
Algunos autores sugieren
que se trata de lo mismo
Por lo que no hay una respuesta
certera a ¿Qué diferencia hay?
Conclusión
Tanto los patrones como los estilos de
arquitectura tienen el mismo propósito,
reutilizar arquitecturas, solucionar
problemas similares ya resueltos con
anterioridad con arquitecturas probadas,
detalladas, documentadas y efectivas.
GRACIAS
Welicki, León. Patrones y Antipatrones: una Introducción - Parte I. Retrieved April 21, 2017, from
https://msdn.microsoft.com/es-es/library/bb972242.aspx#authorbrief
Buschmann, F., & Schmidt, D. C. (1996). Pattern-oriented software architecture. Chichester: Wiley.
Taylor, R. N., Medvidović, N., & Dashofy, E. M. (2010). Software architecture: Foundations, theory, and practice.
Hoboken (NJ): J. Wiley.
Reynoso, C. y Kicillog, N. (2004). Estilos y patrones en la estrategia de arquitectura de Microsoft. Buenos
Aires: Universidad de Buenos Aires.
Garlan, D., Shaw M (1995). An Introduction to Software Architecture. Pittsburgh: Carnegie Mellon University

Más contenido relacionado

La actualidad más candente

1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseñolandeta_p
 
Presentacion herramientas CASE
Presentacion herramientas CASEPresentacion herramientas CASE
Presentacion herramientas CASEdavidsande
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
Ulises Cruz
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de softwareVictor Varela
 
Fase de Elaboración RUP
Fase de Elaboración RUPFase de Elaboración RUP
Fase de Elaboración RUP
Adrian González
 
herramientas case
herramientas caseherramientas case
herramientas case
tomaspetto
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 
Arquitectura del software
Arquitectura del softwareArquitectura del software
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
guest0a6e49
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
Paulo Gandra de Sousa
 
Fase 2 modelado del análisis de i web
Fase 2 modelado del análisis de i webFase 2 modelado del análisis de i web
Fase 2 modelado del análisis de i web
ROSA IMELDA GARCIA CHI
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
Juan Pablo Bustos Thames
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
jose_rob
 
Patrones GOF
Patrones GOFPatrones GOF
Arquitectura de software orientada a patrones
Arquitectura de software orientada a patronesArquitectura de software orientada a patrones
Arquitectura de software orientada a patrones
Gustavo De la Cruz Tovar
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos TradicionalesSergio Sanchez
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetoshector_h30
 
Arquitecturas de software exposicion
Arquitecturas de software   exposicionArquitecturas de software   exposicion
Arquitecturas de software exposicion
juca piro
 
Modelo 4+1
Modelo 4+1Modelo 4+1
Modelo 4+1
Israel Rey
 

La actualidad más candente (20)

1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño
 
Presentacion herramientas CASE
Presentacion herramientas CASEPresentacion herramientas CASE
Presentacion herramientas CASE
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de software
 
Fase de Elaboración RUP
Fase de Elaboración RUPFase de Elaboración RUP
Fase de Elaboración RUP
 
herramientas case
herramientas caseherramientas case
herramientas case
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Arquitectura del software
Arquitectura del softwareArquitectura del software
Arquitectura del software
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
 
Fase 2 modelado del análisis de i web
Fase 2 modelado del análisis de i webFase 2 modelado del análisis de i web
Fase 2 modelado del análisis de i web
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
Arquitectura de software orientada a patrones
Arquitectura de software orientada a patronesArquitectura de software orientada a patrones
Arquitectura de software orientada a patrones
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
 
Arquitecturas de software exposicion
Arquitecturas de software   exposicionArquitecturas de software   exposicion
Arquitecturas de software exposicion
 
Modelo 4+1
Modelo 4+1Modelo 4+1
Modelo 4+1
 

Similar a Estilos y Patrones Aplicables a la Arquitectura de Software

CC51A_Clase13-14_Patrones_Arquitectonicos.ppt
CC51A_Clase13-14_Patrones_Arquitectonicos.pptCC51A_Clase13-14_Patrones_Arquitectonicos.ppt
CC51A_Clase13-14_Patrones_Arquitectonicos.ppt
BayronHernandez12
 
S07_s1 -h Patrones de Diseño-páginas.pdf
S07_s1 -h Patrones de Diseño-páginas.pdfS07_s1 -h Patrones de Diseño-páginas.pdf
S07_s1 -h Patrones de Diseño-páginas.pdf
nixondavidquispechin1
 
Patrones de diseño [DdA-2]
Patrones de diseño [DdA-2]Patrones de diseño [DdA-2]
Patrones de diseño [DdA-2]
Karloz Dz
 
Arquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoArquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseño
Germania Rodriguez
 
patronesdiseño2009.ppt
patronesdiseño2009.pptpatronesdiseño2009.ppt
patronesdiseño2009.ppt
OscargiovanniAndiaMo
 
Capitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_webCapitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_web
gabiar1708
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
Nii Caytuiro
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
Nii Caytuiro
 
Arquitectura software.taxonomias.definiciones.001
Arquitectura software.taxonomias.definiciones.001Arquitectura software.taxonomias.definiciones.001
Arquitectura software.taxonomias.definiciones.001
Jose Emilio Labra Gayo
 
Patrones de-diseño-mañana
Patrones de-diseño-mañanaPatrones de-diseño-mañana
Patrones de-diseño-mañana
ale abad aguilar
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseñoaleja0940
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño Ikaolong
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño Ikaolong
 
Patrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. JaramilloPatrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. Jaramillo2008PA2Info3
 
Monografia decorator
Monografia decoratorMonografia decorator
Monografia decoratorvaneyui
 
Estilos de Software
Estilos de SoftwareEstilos de Software
Estilos de Software
bjjuarez
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a Objetos
Dat@center S.A
 

Similar a Estilos y Patrones Aplicables a la Arquitectura de Software (20)

CC51A_Clase13-14_Patrones_Arquitectonicos.ppt
CC51A_Clase13-14_Patrones_Arquitectonicos.pptCC51A_Clase13-14_Patrones_Arquitectonicos.ppt
CC51A_Clase13-14_Patrones_Arquitectonicos.ppt
 
S07_s1 -h Patrones de Diseño-páginas.pdf
S07_s1 -h Patrones de Diseño-páginas.pdfS07_s1 -h Patrones de Diseño-páginas.pdf
S07_s1 -h Patrones de Diseño-páginas.pdf
 
chuy
chuy chuy
chuy
 
Patrones de diseño [DdA-2]
Patrones de diseño [DdA-2]Patrones de diseño [DdA-2]
Patrones de diseño [DdA-2]
 
Arquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoArquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseño
 
patronesdiseño2009.ppt
patronesdiseño2009.pptpatronesdiseño2009.ppt
patronesdiseño2009.ppt
 
Capitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_webCapitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_web
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Introducción Patrones de Diseño
Introducción Patrones de DiseñoIntroducción Patrones de Diseño
Introducción Patrones de Diseño
 
Clase ii patrones de diseño
Clase ii patrones de diseñoClase ii patrones de diseño
Clase ii patrones de diseño
 
Arquitectura software.taxonomias.definiciones.001
Arquitectura software.taxonomias.definiciones.001Arquitectura software.taxonomias.definiciones.001
Arquitectura software.taxonomias.definiciones.001
 
Patrones de-diseño-mañana
Patrones de-diseño-mañanaPatrones de-diseño-mañana
Patrones de-diseño-mañana
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
Patrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. JaramilloPatrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. Jaramillo
 
Monografia decorator
Monografia decoratorMonografia decorator
Monografia decorator
 
Estilos de Software
Estilos de SoftwareEstilos de Software
Estilos de Software
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a Objetos
 

Último

Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 

Último (6)

Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 

Estilos y Patrones Aplicables a la Arquitectura de Software

  • 1. por Diego Plascencia ESTILOS Y PATRONES APLICABLES A LA ARQUITECTURA DE SOFTWARE ¿QUE SON? ¿CUALES HAY? ¿QUE DIFERENCIAS TIENEN?
  • 3. ¿Que es un estilo de arquitectura? “...es una colección nombrada de decisiones de diseño de arquitectura que...” “son aplicables en un contexto de desarrollo dado” “restringe las decisiones de diseño de arquitectura que son específicas a un sistema en particular dentro del contexto” “resultan en cualidades beneficiosas en cada sistema resultante”
  • 4. Entonces... ¿Qué es un Estilo de Arquitectura? ● Son los “tipos” de arquitecturas ● Una forma de categorizarlas ● “Reglas” o “prácticas” para realizarlas
  • 5. ¿Qué Estilos Hay? Estilo de... ● Tubería y filtros ● Pizarra o repositorio ● Capas ● Orientada a objetos ● ...
  • 7. Estilo de Tubería y Filtros 1. Un filtro recibe una entrada 2. Realiza operaciones con esta 3. Produce una salida 4. Pasa al siguiente filtro a través de una tubería (flujo) ● Componentes = filtros ● Conectores = tubería
  • 8. Estilo Orientado a Objetos ● Los objetos son representaciones ● Basado en los principios OO (herencia, polimorfismo, encapsulamiento). ● Se comunican (invocaciones a procedimientos) ● Componentes = objetos/managers ● Conectores = invocaciones
  • 10. ¿Que es un patrón de arquitectura? “...es una colección nombrada de decisiones de diseño de arquitectura que...” “son aplicables a un problema recurrente de diseño” “Parametrizado para tener en cuenta los diferentes contextos de desarrollo de software en los que aparece ese problema.”
  • 11. Entonces... ¿Qué es un Patrón de Arquitectura? ● Reutilización de arquitecturas ● Que resuelven problemas que se repiten ● Y tienen estructuras específicas
  • 12. ¿Qué Patrones Hay? Patrón de... ● Modelo Vista Controlador ● Capas ● Tuberías y Filtros ● Pizarrón ● Microkernel ● Broker ● ...
  • 14. Patrón de Capas ● Los componentes (capas) se apilan ● Cada capa depende de (construye sobre) la de abajo ● La capa de hasta abajo tiene el nivel de abstracción más bajo
  • 15. Patrón MVC ● Modelo Vista Controlador ● El modelo encapsula los datos ● El controlador recibe entradas (eventos) para modificar el modelo ● La vista muestra una representación del modelo
  • 17. Patrón Estilo Específico Es un “molde” para resolver un problema específico en un contexto específico y resulta en una estructura específica General Menciona cómo se relacionan los componentes, sus conectores, traen consigo un marco de trabajo, vocabulario, métodos.
  • 19. Algunos autores sugieren que se trata de lo mismo Por lo que no hay una respuesta certera a ¿Qué diferencia hay?
  • 20. Conclusión Tanto los patrones como los estilos de arquitectura tienen el mismo propósito, reutilizar arquitecturas, solucionar problemas similares ya resueltos con anterioridad con arquitecturas probadas, detalladas, documentadas y efectivas.
  • 21. GRACIAS Welicki, León. Patrones y Antipatrones: una Introducción - Parte I. Retrieved April 21, 2017, from https://msdn.microsoft.com/es-es/library/bb972242.aspx#authorbrief Buschmann, F., & Schmidt, D. C. (1996). Pattern-oriented software architecture. Chichester: Wiley. Taylor, R. N., Medvidović, N., & Dashofy, E. M. (2010). Software architecture: Foundations, theory, and practice. Hoboken (NJ): J. Wiley. Reynoso, C. y Kicillog, N. (2004). Estilos y patrones en la estrategia de arquitectura de Microsoft. Buenos Aires: Universidad de Buenos Aires. Garlan, D., Shaw M (1995). An Introduction to Software Architecture. Pittsburgh: Carnegie Mellon University