SlideShare una empresa de Scribd logo
1 de 22
Buenas Prácticas para la
Construcción de Aplicaciones de
Software
Francisco Castellanos
https://www.linkedin.com/in/fvcastellanos/
https://github.com/fvcastellanos
Jorge Alvarez
https://www.linkedin.com/in/jorge-alvarez
https://github.com/jealvarez
La Aplicación
Diseño de la Arquitectura
de la Aplicación
La Aplicación
La Aplicación en la Nube
Buenas Prácticas y
Recomendaciones
En lugar de
Obtener
Análisis de Requisitos
• Metodologías Ágiles
• Iterativas
• Definir historias de usuario
• Como usuario quiero/necesito facturar las ventas de modo que pueda tener una bitácora
electrónica de ellas
• Definir tareas a ser realizadas por cada historia de usuario (épicas/no épicas)
• Definir tamaño de la ventana del ciclo (2 semanas)
Diseño
Diseño
Implementación (1/4)
Base de Código
• Control de Versiones
• SVN  Git
• Base de Código = Repositorio
• Beneficios
• Varios Despliegues
Implementación (2/4)
Dependencias
• Utilizar un sistema de gestión de paquetes
• Especificar versiones de cada dependencia
• Beneficios
• No depender de paquetes instalados en el sistema
• Cualquier desarrollador puede probar el código base en su entorno de desarrollo
Implementación (3/4)
Cambios en la Base de Código
• Crear ramas por tarea
• Feature Branches
• Crear una petición de cambio antes de
unificar los cambios en curso
• Pull Request
• Revisión de Código
• Estilo en el código
• Lógica del negocio
• Rendimiento del código implementado
Implementación (4/4)
Configuración
• Debería ser lo único que tenga que variar entre entornos
• Desarrollo, PreProducción, Producción
• Guardar la configuración en el entorno
• Credenciales (Cifradas)
• Valores de despliegue
• Nombre de la Aplicación
• Beneficios
• Despliegues específicos a través de perfiles (desarrollo, preproducción, producción)
• No se modifica el código base entre ambientes
Pruebas
• Unitarias
• Funcionalidad
• Integración
• Con servicios
• Automatizadas
• Escenarios
• Beneficios
• Disminuir la probabilidad de errores en
producción
Evolución (1/2)
Construir, Distribuir y Ejecutar
• Construcción
• Repositorio de Código + Dependencias  Paquete
ejecutable.
• Utilizar etiquetas  v1.0, Timestamp
• Distribución
• Construcción + Configuración lista para ejecutarse en el
entorno de ejecución
• Almacenar en un repositorio
• Ejecución
• Ejecutar como proceso la distrubución creada
• java –jar
Evolución (1/2)
Recomendaciones
• Ambientes homogéneos
Beneficios
• Despliegues continuos
Demostración
Buenas Prácticas para la Construcción de Aplicaciones de Software
Buenas Prácticas para la Construcción de Aplicaciones de Software

Más contenido relacionado

Similar a Buenas Prácticas para la Construcción de Aplicaciones de Software

Windows server 2012 jose luis
Windows server 2012 jose luisWindows server 2012 jose luis
Windows server 2012 jose luisyanez1814
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevidaclaudiappaez
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsEsteban Saavedra
 
Azure Functions Spanish
Azure Functions SpanishAzure Functions Spanish
Azure Functions SpanishCDS
 
Windows server 2012 jose luis
Windows server 2012 jose luisWindows server 2012 jose luis
Windows server 2012 jose luisyanez1814
 
Patrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaPatrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaFrancisco Arturo Viveros
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareMiguel Sanchez
 
Comparativo entre plataformas de ESB
Comparativo entre plataformas de ESBComparativo entre plataformas de ESB
Comparativo entre plataformas de ESBIntellego Chile
 
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equipos
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equiposPlain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equipos
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equiposVicenç García-Altés
 

Similar a Buenas Prácticas para la Construcción de Aplicaciones de Software (20)

JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
Windows server 2012 jose luis
Windows server 2012 jose luisWindows server 2012 jose luis
Windows server 2012 jose luis
 
Metodo watch
Metodo watchMetodo watch
Metodo watch
 
Metodo watch
Metodo watchMetodo watch
Metodo watch
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevida
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Proceso de software
Proceso de softwareProceso de software
Proceso de software
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
Azure Functions Spanish
Azure Functions SpanishAzure Functions Spanish
Azure Functions Spanish
 
Windows server 2012 jose luis
Windows server 2012 jose luisWindows server 2012 jose luis
Windows server 2012 jose luis
 
Patrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaPatrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración Moderna
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de software
 
Metodo watch y lps
Metodo watch y lpsMetodo watch y lps
Metodo watch y lps
 
Metodo watch y lps
Metodo watch y lpsMetodo watch y lps
Metodo watch y lps
 
Iniciación Con CakePHP
Iniciación Con CakePHPIniciación Con CakePHP
Iniciación Con CakePHP
 
Webinar Oracle Application Express
Webinar Oracle Application ExpressWebinar Oracle Application Express
Webinar Oracle Application Express
 
Comparativo entre plataformas de ESB
Comparativo entre plataformas de ESBComparativo entre plataformas de ESB
Comparativo entre plataformas de ESB
 
Introduccion Java.ppt
Introduccion Java.pptIntroduccion Java.ppt
Introduccion Java.ppt
 
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equipos
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equiposPlain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equipos
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equipos
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 

Último

SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 

Último (20)

SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 

Buenas Prácticas para la Construcción de Aplicaciones de Software

  • 1. Buenas Prácticas para la Construcción de Aplicaciones de Software Francisco Castellanos https://www.linkedin.com/in/fvcastellanos/ https://github.com/fvcastellanos Jorge Alvarez https://www.linkedin.com/in/jorge-alvarez https://github.com/jealvarez
  • 2.
  • 3.
  • 5. Diseño de la Arquitectura de la Aplicación
  • 11. Análisis de Requisitos • Metodologías Ágiles • Iterativas • Definir historias de usuario • Como usuario quiero/necesito facturar las ventas de modo que pueda tener una bitácora electrónica de ellas • Definir tareas a ser realizadas por cada historia de usuario (épicas/no épicas) • Definir tamaño de la ventana del ciclo (2 semanas)
  • 13. Implementación (1/4) Base de Código • Control de Versiones • SVN  Git • Base de Código = Repositorio • Beneficios • Varios Despliegues
  • 14. Implementación (2/4) Dependencias • Utilizar un sistema de gestión de paquetes • Especificar versiones de cada dependencia • Beneficios • No depender de paquetes instalados en el sistema • Cualquier desarrollador puede probar el código base en su entorno de desarrollo
  • 15. Implementación (3/4) Cambios en la Base de Código • Crear ramas por tarea • Feature Branches • Crear una petición de cambio antes de unificar los cambios en curso • Pull Request • Revisión de Código • Estilo en el código • Lógica del negocio • Rendimiento del código implementado
  • 16. Implementación (4/4) Configuración • Debería ser lo único que tenga que variar entre entornos • Desarrollo, PreProducción, Producción • Guardar la configuración en el entorno • Credenciales (Cifradas) • Valores de despliegue • Nombre de la Aplicación • Beneficios • Despliegues específicos a través de perfiles (desarrollo, preproducción, producción) • No se modifica el código base entre ambientes
  • 17. Pruebas • Unitarias • Funcionalidad • Integración • Con servicios • Automatizadas • Escenarios • Beneficios • Disminuir la probabilidad de errores en producción
  • 18. Evolución (1/2) Construir, Distribuir y Ejecutar • Construcción • Repositorio de Código + Dependencias  Paquete ejecutable. • Utilizar etiquetas  v1.0, Timestamp • Distribución • Construcción + Configuración lista para ejecutarse en el entorno de ejecución • Almacenar en un repositorio • Ejecución • Ejecutar como proceso la distrubución creada • java –jar
  • 19. Evolución (1/2) Recomendaciones • Ambientes homogéneos Beneficios • Despliegues continuos

Notas del editor

  1. En las empresas se trabaja sin un procedimiento
  2. Modular No Acoplado Aplicación Self Hosted
  3. La configuración varía sustancialmente en cada despliegue, el código no. La prueba de fuego para saber si una aplicación tiene toda su configuración correctamente separada del código es comprobar que el código base puede convertirse en código abierto en cualquier momento, sin comprometer las credenciales.
  4. WireMock
  5. construcción (una “build”)
  6. construcción (una “build”)