SlideShare une entreprise Scribd logo
1  sur  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!!!

Contenu connexe

En vedette

9. Uso De Procedimientos Almacenados
9.  Uso De Procedimientos Almacenados9.  Uso De Procedimientos Almacenados
9. Uso De Procedimientos Almacenados
guest3cf6ff
 
Saber para vivir o saber morir
Saber para vivir o saber morirSaber para vivir o saber morir
Saber para vivir o saber morir
Gio Núñez
 
Resolución C9 Vino Turista
Resolución C9 Vino TuristaResolución C9 Vino Turista
Resolución C9 Vino Turista
Miguel Aliste
 
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
Alan Garibay
 
softwere de diseño grafico
softwere de diseño graficosoftwere de diseño grafico
softwere de diseño grafico
Xmxuri Shimuzu
 
Normativa Laboral
Normativa LaboralNormativa Laboral
Normativa Laboral
guest74cb02
 
Vocabulario sena caracterizacion de la logistica
Vocabulario sena caracterizacion de la logisticaVocabulario sena caracterizacion de la logistica
Vocabulario sena caracterizacion de la logistica
andreamon24
 
Herramientas para levantar procedimientos
Herramientas para levantar procedimientosHerramientas para levantar procedimientos
Herramientas para levantar procedimientos
Raul Rojas
 
Levantamiento de procesos
Levantamiento de procesosLevantamiento de procesos
Levantamiento de procesos
Colvista SAS
 

En vedette (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
 

Similaire à Introducción a la Arquitectura de Software

Perspectiva de la evolucion
Perspectiva de la evolucionPerspectiva de la evolucion
Perspectiva de la evolucion
Andres Pineda
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Micky Jerzy
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Micky Jerzy
 

Similaire à 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
 

Plus 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
 

Dernier

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Dernier (12)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
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
 
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
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
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.
 
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...
 
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
 
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
 
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
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 

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

Notes de l'éditeur

  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