ecosistemas de desarrollo software - automatización
TRANSCRIPT
![Page 1: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/1.jpg)
Ecosistemas de desarrollo software
Líneas de automatización
Asignatura : Desarro l lo de Sof tware Basado en Modelos y AspectosMáster : Ingenier ía y Tecnologías de l Sof twareOrganiza : Departamento de Lenguajes y S is temas In formát icosLugar : Escuela Técnica Super ior de Ingenier ía In formát icaFecha: 14/02/2012
![Page 2: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/2.jpg)
@recena
http://www.linkedin.com/in/recena
comencé a programar GW-Basic con esta maravilla
este es mi proyecto personal y profesional
y dedico gran parte de mi tiempo a
gestionar los números de la empresaprototipar e implementar UI
relación con los clienteslimpiar la oficina
mantener infraestructuraevolucionar nuestro laboratorio
desarrollardefinición de producto
participar en charlas, grupos de trabajoconsultoría tecnológica
auditoria de proyectos software
Manuel Recena Soto
![Page 3: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/3.jpg)
DE QUÉ HABLAREMOS
๏ Build
๏ Automatic Documentation Generation
๏ Testing
๏ Continuous Inspection
๏ Continuous Deployment
![Page 4: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/4.jpg)
ANTES DE COMENZAR...Un ecosistema de desarrollo software es un espacio
de trabajo en el que conviven una serie de herramientas que acompañadas de unas buenas
prácticas permiten a un equipo de desarrollo modelar una metodología de trabajo
modelo conceptual
![Page 5: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/5.jpg)
ANTES DE COMENZAR...La integración continua es una práctica en el
desarrollo de software que consiste en poner en común todos los cambios que afecten al resultado
final de nuestro proyecto de una forma frecuente con el objetivo de ver la evolución de sus efectos
causa efecto
definición propia y con toda humildad y respeto hacia Martin Fowler
principio de causalidad
cuales? cuales?
![Page 6: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/6.jpg)
๏ Compilación
๏ Empaquetado
๏ Distribución (generación distribuibles 1)
Build
1 http://www.manuelrecena.com/blog/archives/125
![Page 7: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/7.jpg)
๏ Detectar qué cambios en el repositorio de código hacen que algo se rompa
๏ Distribuir rápidamente artefactos que se reutilizan
๏ Disponer de múltiples configuraciones de un mismo artefacto
Build
1 http://www.manuelrecena.com/blog/archives/125
![Page 8: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/8.jpg)
๏ Herramientas
๏ Maven, Rake, Ant, Ivy, Buildr, Gradle, Phing, SCons, ...
๏ Requisitos para su ejecución
Build
![Page 9: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/9.jpg)
๏ La documentación como un artefacto más que debemos mantener
๏ Enfoques:
๏ A partir del código fuente
๏ A partir de formatos ágiles
Automatic Doc Generation
![Page 10: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/10.jpg)
๏ Una entrada, múltiples salidas
๏ Imagen corporativa
๏ Edición colaborativa
Automatic Doc Generation
![Page 11: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/11.jpg)
๏ Herramientas
๏ Maven sites, doxygen, javadoc, JSDoc, phpDocumentator, docbook, Sphinx, Markdown, Textile, RDoc, Org Mode, Creole, ReStructured Text (ReST), ASCIIDoc, POD, Roff, ...
Automatic Doc Generation
![Page 12: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/12.jpg)
๏ Unitarias / Funcionales
๏ Integración / Sistemas
๏ Rendimiento
Testing
![Page 13: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/13.jpg)
๏ Herramientas
๏ JUnit, Selenium, The Grinder, DbUnit, BrowserStack, TestNG, ...
๏ Requisitos para su ejecución
Testing
![Page 14: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/14.jpg)
๏ Analizar desde un punto de vista estático
๏ Verificar y comprobar pautas y reglas de codificación
๏ Detectar posibles fallos de programacion
Continuous Inspection
![Page 15: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/15.jpg)
๏ Herramientas
๏ Sonar
๏ Requisitos para su ejecución
Continuous Inspection
![Page 16: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/16.jpg)
๏ Verificar que el despliegue no se rompe
๏ Despliegues en múltiples entornos
๏ Habilitar la instalación en entornos de producción
Continuous Deployment
![Page 17: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/17.jpg)
๏ Despliegue en infraestructura propia o externa (Jelastic, Google App Engine, Heroku, ...)
๏ Virtualización como pieza clave para nuestros entornos de despliegue en local
Continuous Deployment
![Page 18: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/18.jpg)
๏ Transparencia
๏ Agilidad
๏ Productividad
๏ Control / Trazabilidad
BENEFICIOS
![Page 19: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/19.jpg)
EL CAMINO CONTINUA
Vagrant
![Page 20: Ecosistemas de Desarrollo Software - Automatización](https://reader034.vdocuments.pub/reader034/viewer/2022042614/556a6fd0d8b42ab0468b5211/html5/thumbnails/20.jpg)
GRACIAS
Imagen de fondo Rubber Grip, http://subtlepatterns.com/?p=573