SlideShare uma empresa Scribd logo
1 de 19
Arquitectura de Software 
Gustavo Alzate Sandoval 
Comunidad Avanet - @avanet 
Microsoft Community Specialist Colombia 
http://www.eltavo.net 
@ElTavoDev
Agenda 
¿Arquitectura SW? Patrones y estilos 
Aspectos 
transversales 
1 2 3 4 5 6 
Patrones 
De diseño 
Principios Atributos calidad 
7 
Validación 
Arquitectura
¿Qué es? 
• Proceso a través de cual se define la estructura 
base para una solución, la cual debe contemplar 
los aspectos funcionales y no funcionales 
• Diseño de alto nivel de la estructura de un sistema 
• Toma de decisiones, que afectan el éxito del 
sistema 
• Garantía de los atributos de calidad requeridos
¿Qué es?
Principios 
• Construir para el cambio y extensibilidad 
• Modelar para minimizar riesgos 
• Separación de incumbencias 
• Principio de única responsabilidad 
• Principio de mínimo conocimiento 
• Don’t repeat yourself (DRY) 
• Bajo acoplamiento 
• Alta cohesión
Consideraciones 
• Determinar el tipo de aplicación 
• Determinar la estrategia de despliegue 
• Definir las tecnologías apropiadas 
• Determinar los atributos de calidad 
• Determinar los aspectos transversales
Patrones o estilos 
Conjunto de principios que proporciona un marco de 
trabajo y resuelve problemas comúnmente conocidos. 
• Cliente servidor 
• Basado en componentes 
• Orientado a dominio 
• Arquitectura en capas 
• Bus de mensajes 
• N Tier / 3 Tier 
• Orientada a objetos 
• SOA
Atributos de calidad 
Factores generales que afectan de una forma u otra el 
comportamiento del sistema, como por ejemplo el 
rendimiento, usabilidad etc. Los atributos de calidad 
son determinados por las preocupaciones del 
negocio o Divers de negocio. 
• Mantenibilidad 
• Reusabilidad 
• Disponibilidad 
• Interoperailidad 
• Rendimiento
Atributos de calidad 
Factores generales que afectan de una forma u otra el 
comportamiento del sistema, como por ejemplo el 
rendimiento, usabilidad etc. Los atributos de calidad 
son determinados por las preocupaciones del 
negocio o Divers de negocio. 
• Escalabilidad 
• Seguridad 
• “Testeability” 
• Usabilidad
Aspectos transversales 
Funcionalidades comunes para uno o varios sistemas, 
permiten generar un marco de trabajo para 
desarrollo más ágil y permiten centralizar y reutilizar 
implementaciones. La programación orientada a 
aspectos promueve este principio. Para la 
implementación de estos aspectos transversales 
tenga en cuenta las siguientes consideraciones: 
• Analice cuales funcionalidades pueden ser 
reutilizadas en cada capa y evalué si también 
pueden ser reutilizadas por otros sistemas.
Aspectos transversales 
• Evalúe la estrategia de despliegue para los 
componentes transversales, si se pueden instalar 
en un Tier independiente para reutilizarlos 
• Considere usar inyección de dependencias para la 
utilización de estos componentes en sus 
aplicaciones 
• Considere usar librerías de terceros para este tipo 
de aspectos transversales, como por ejemplo 
Entreprise library, spring, etc.
Aspectos transversales 
• Autenticación 
• Autorización 
• Chaching 
• Comunicación 
• Manejo de errores 
• Logeo de errores y traza 
• Validación 
• Mensajería
Patrones de diseño 
Son la base para la búsqueda de soluciones a 
problemas comunes en el desarrollo de software. 
Posee principalmente dos características: 
• Debe haber comprobado su efectividad 
resolviendo el problema 
• Debe ser reutilizable
Patrones de diseño 
Patrones estructurales: 
• Adapter 
• Bridge 
• Composite 
• Decorator 
• Proxy
Patrones de diseño 
Patrones Creacionales 
• Abstract Factory 
• Builder 
• Factory Method 
• Prototype 
• Singleton
Patrones de diseño 
Patrones de comportamiento: 
• Chain of Responsibility 
• Command 
• Iterator 
• Observer 
• Strategy
Preguntas 
http://www.eltavo.net 
@ElTavoDev
GRACIAS!!!

Mais conteúdo relacionado

Destaque

9. Uso De Procedimientos Almacenados
9.  Uso De Procedimientos Almacenados9.  Uso De Procedimientos Almacenados
9. Uso De Procedimientos Almacenadosguest3cf6ff
 
Copaso Presentacion
Copaso PresentacionCopaso Presentacion
Copaso PresentacionGerman R
 
Saber para vivir o saber morir
Saber para vivir o saber morirSaber para vivir o saber morir
Saber para vivir o saber morirGio Núñez
 
Ventajas del Operador Logístico en la Administración de Inventarios
Ventajas del Operador Logístico en la Administración de InventariosVentajas del Operador Logístico en la Administración de Inventarios
Ventajas del Operador Logístico en la Administración de Inventarios303 Inversiones Ltda.
 
Resolución C9 Vino Turista
Resolución C9 Vino TuristaResolución C9 Vino Turista
Resolución C9 Vino TuristaMiguel Aliste
 
Gestion 2.0 en el CPR Barranco de Poqueira
Gestion 2.0 en el CPR Barranco de PoqueiraGestion 2.0 en el CPR Barranco de Poqueira
Gestion 2.0 en el CPR Barranco de PoqueiraManuel López Caparrós
 
Salario y sueldo ley de infonavit y ley
Salario y sueldo ley de infonavit y leySalario y sueldo ley de infonavit y ley
Salario y sueldo ley de infonavit y leyAlan Garibay
 
softwere de diseño grafico
softwere de diseño graficosoftwere de diseño grafico
softwere de diseño graficoXmxuri Shimuzu
 
Normativa Laboral
Normativa LaboralNormativa Laboral
Normativa Laboralguest74cb02
 
Vocabulario sena caracterizacion de la logistica
Vocabulario sena caracterizacion de la logisticaVocabulario sena caracterizacion de la logistica
Vocabulario sena caracterizacion de la logisticaandreamon24
 
Herramientas para levantar procedimientos
Herramientas para levantar procedimientosHerramientas para levantar procedimientos
Herramientas para levantar procedimientosRaul Rojas
 
Los modos de comunicación. Los componentes del discurso oral.
Los modos de comunicación. Los componentes del discurso oral. Los modos de comunicación. Los componentes del discurso oral.
Los modos de comunicación. Los componentes del discurso oral. EDUTIC_aulas_digitales
 
Levantamiento de procesos
Levantamiento de procesosLevantamiento de procesos
Levantamiento de procesosColvista SAS
 

Destaque (20)

9. Uso De Procedimientos Almacenados
9.  Uso De Procedimientos Almacenados9.  Uso De Procedimientos Almacenados
9. Uso De Procedimientos Almacenados
 
Diseño Curricular
Diseño CurricularDiseño Curricular
Diseño Curricular
 
Copaso Presentacion
Copaso PresentacionCopaso Presentacion
Copaso Presentacion
 
Saber para vivir o saber morir
Saber para vivir o saber morirSaber para vivir o saber morir
Saber para vivir o saber morir
 
Autocuidado
AutocuidadoAutocuidado
Autocuidado
 
Ventajas del Operador Logístico en la Administración de Inventarios
Ventajas del Operador Logístico en la Administración de InventariosVentajas del Operador Logístico en la Administración de Inventarios
Ventajas del Operador Logístico en la Administración de Inventarios
 
Resolución C9 Vino Turista
Resolución C9 Vino TuristaResolución C9 Vino Turista
Resolución C9 Vino Turista
 
Gestion 2.0 en el CPR Barranco de Poqueira
Gestion 2.0 en el CPR Barranco de PoqueiraGestion 2.0 en el CPR Barranco de Poqueira
Gestion 2.0 en el CPR Barranco de Poqueira
 
Salario y sueldo ley de infonavit y ley
Salario y sueldo ley de infonavit y leySalario y sueldo ley de infonavit y ley
Salario y sueldo ley de infonavit y ley
 
CPR
CPRCPR
CPR
 
softwere de diseño grafico
softwere de diseño graficosoftwere de diseño grafico
softwere de diseño grafico
 
Normativa Laboral
Normativa LaboralNormativa Laboral
Normativa Laboral
 
Vocabulario sena caracterizacion de la logistica
Vocabulario sena caracterizacion de la logisticaVocabulario sena caracterizacion de la logistica
Vocabulario sena caracterizacion de la logistica
 
Proceso de Administración
Proceso de AdministraciónProceso de Administración
Proceso de Administración
 
Herramientas para levantar procedimientos
Herramientas para levantar procedimientosHerramientas para levantar procedimientos
Herramientas para levantar procedimientos
 
Educacion vial
Educacion vialEducacion vial
Educacion vial
 
Química orgánica
Química orgánicaQuímica orgánica
Química orgánica
 
Los modos de comunicación. Los componentes del discurso oral.
Los modos de comunicación. Los componentes del discurso oral. Los modos de comunicación. Los componentes del discurso oral.
Los modos de comunicación. Los componentes del discurso oral.
 
Levantamiento de procesos
Levantamiento de procesosLevantamiento de procesos
Levantamiento de procesos
 
Apresto Laboral
Apresto LaboralApresto Laboral
Apresto Laboral
 

Semelhante a Introducción a la Arquitectura de Software

Semelhante a Introducción a la Arquitectura de Software (20)

Rup
RupRup
Rup
 
Principios del RUP
Principios del RUPPrincipios del RUP
Principios del RUP
 
Arquitecturas de software exposicion
Arquitecturas de software   exposicionArquitecturas de software   exposicion
Arquitecturas de software exposicion
 
Metodo watch
Metodo watchMetodo watch
Metodo watch
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Metodología rup final
Metodología rup finalMetodología rup final
Metodología rup final
 
Perspectiva de la evolucion
Perspectiva de la evolucionPerspectiva de la evolucion
Perspectiva de la evolucion
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 
Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de software
 
METODOLOGIA RUP.pptx
METODOLOGIA RUP.pptxMETODOLOGIA RUP.pptx
METODOLOGIA RUP.pptx
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdf
 
Espoch
EspochEspoch
Espoch
 
Métricas de calidad de software
Métricas de calidad de softwareMétricas de calidad de software
Métricas de calidad de software
 
Métricas de calidad de software
Métricas de calidad de softwareMétricas de calidad de software
Métricas de calidad de software
 
Metricas
MetricasMetricas
Metricas
 
metricas.pdf
metricas.pdfmetricas.pdf
metricas.pdf
 
Rup
RupRup
Rup
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Proceso unificado de desarrollo de software
Proceso unificado de desarrollo de softwareProceso unificado de desarrollo de software
Proceso unificado de desarrollo de software
 

Mais de Gustavo Alzate Sandoval

Mais de Gustavo Alzate Sandoval (7)

Cloud architecture patterns and pratices
Cloud architecture patterns and praticesCloud architecture patterns and pratices
Cloud architecture patterns and pratices
 
Introducción microsoft azure
Introducción microsoft azureIntroducción microsoft azure
Introducción microsoft azure
 
DocumentDB la base de datos NoSql de Microsoft Azure
DocumentDB la base de datos NoSql de Microsoft AzureDocumentDB la base de datos NoSql de Microsoft Azure
DocumentDB la base de datos NoSql de Microsoft Azure
 
Big data, Hadoop, HDInsight
Big data, Hadoop, HDInsightBig data, Hadoop, HDInsight
Big data, Hadoop, HDInsight
 
Introducción a Asp.Net Mvc
Introducción a Asp.Net MvcIntroducción a Asp.Net Mvc
Introducción a Asp.Net Mvc
 
Html5 Java Script Apis
Html5 Java Script ApisHtml5 Java Script Apis
Html5 Java Script Apis
 
Introducción a No sql
Introducción a No sqlIntroducción a No sql
Introducción a No sql
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 

Último (11)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Introducción a la Arquitectura de Software

  • 1. Arquitectura de Software Gustavo Alzate Sandoval Comunidad Avanet - @avanet Microsoft Community Specialist Colombia http://www.eltavo.net @ElTavoDev
  • 2. Agenda ¿Arquitectura SW? Patrones y estilos Aspectos transversales 1 2 3 4 5 6 Patrones De diseño Principios Atributos calidad 7 Validación Arquitectura
  • 3. ¿Qué es? • Proceso a través de cual se define la estructura base para una solución, la cual debe contemplar los aspectos funcionales y no funcionales • Diseño de alto nivel de la estructura de un sistema • Toma de decisiones, que afectan el éxito del sistema • Garantía de los atributos de calidad requeridos
  • 5. Principios • Construir para el cambio y extensibilidad • Modelar para minimizar riesgos • Separación de incumbencias • Principio de única responsabilidad • Principio de mínimo conocimiento • Don’t repeat yourself (DRY) • Bajo acoplamiento • Alta cohesión
  • 6. Consideraciones • Determinar el tipo de aplicación • Determinar la estrategia de despliegue • Definir las tecnologías apropiadas • Determinar los atributos de calidad • Determinar los aspectos transversales
  • 7. Patrones o estilos Conjunto de principios que proporciona un marco de trabajo y resuelve problemas comúnmente conocidos. • Cliente servidor • Basado en componentes • Orientado a dominio • Arquitectura en capas • Bus de mensajes • N Tier / 3 Tier • Orientada a objetos • SOA
  • 8. Atributos de calidad Factores generales que afectan de una forma u otra el comportamiento del sistema, como por ejemplo el rendimiento, usabilidad etc. Los atributos de calidad son determinados por las preocupaciones del negocio o Divers de negocio. • Mantenibilidad • Reusabilidad • Disponibilidad • Interoperailidad • Rendimiento
  • 9. Atributos de calidad Factores generales que afectan de una forma u otra el comportamiento del sistema, como por ejemplo el rendimiento, usabilidad etc. Los atributos de calidad son determinados por las preocupaciones del negocio o Divers de negocio. • Escalabilidad • Seguridad • “Testeability” • Usabilidad
  • 10. Aspectos transversales Funcionalidades comunes para uno o varios sistemas, permiten generar un marco de trabajo para desarrollo más ágil y permiten centralizar y reutilizar implementaciones. La programación orientada a aspectos promueve este principio. Para la implementación de estos aspectos transversales tenga en cuenta las siguientes consideraciones: • Analice cuales funcionalidades pueden ser reutilizadas en cada capa y evalué si también pueden ser reutilizadas por otros sistemas.
  • 11. Aspectos transversales • Evalúe la estrategia de despliegue para los componentes transversales, si se pueden instalar en un Tier independiente para reutilizarlos • Considere usar inyección de dependencias para la utilización de estos componentes en sus aplicaciones • Considere usar librerías de terceros para este tipo de aspectos transversales, como por ejemplo Entreprise library, spring, etc.
  • 12. Aspectos transversales • Autenticación • Autorización • Chaching • Comunicación • Manejo de errores • Logeo de errores y traza • Validación • Mensajería
  • 13.
  • 14. Patrones de diseño Son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software. Posee principalmente dos características: • Debe haber comprobado su efectividad resolviendo el problema • Debe ser reutilizable
  • 15. Patrones de diseño Patrones estructurales: • Adapter • Bridge • Composite • Decorator • Proxy
  • 16. Patrones de diseño Patrones Creacionales • Abstract Factory • Builder • Factory Method • Prototype • Singleton
  • 17. Patrones de diseño Patrones de comportamiento: • Chain of Responsibility • Command • Iterator • Observer • Strategy

Notas do Editor

  1. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  2. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  3. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  4. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  5. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  6. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  7. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  8. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  9. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  10. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  11. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  12. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  13. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  14. https://www.google.es/maps/@6.2781971,-75.5889133,15z
  15. https://www.google.es/maps/@6.2781971,-75.5889133,15z