Ecosistemas de Desarrollo Software - Automatización

5,922 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
5,922
On SlideShare
0
From Embeds
0
Number of Embeds
4,201
Actions
Shares
0
Downloads
41
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ecosistemas de Desarrollo Software - Automatización

  1. 1. Ecosistemas dedesarrollo software Líneas de automatización Asignatura: Desarrollo de Software Basado en Modelos y Aspectos Máster: Ingeniería y Tecnologías del Software Organiza: Departamento de Lenguajes y Sistemas Informáticos Lugar: Escuela Técnica Superior de Ingeniería Informática Fecha: 14/02/2012
  2. 2. Manuel Recena Sotocomencé a programar GW-Basic este es mi proyecto personal y y dedico gran parte de mi tiempo a con esta maravilla profesional gestionar los números de la empresa prototipar e implementar UI relación con los clientes limpiar la oficina mantener infraestructura evolucionar nuestro laboratorio desarrollar definición de producto participar en charlas, grupos de trabajo consultoría tecnológica auditoria de proyectos software http://www.linkedin.com/in/recena @recena recena@klicap.es recena@gmail.com
  3. 3. DE QUÉ HABLAREMOS๏ Build๏ Automatic Documentation Generation๏ Testing๏ Continuous Inspection๏ Continuous Deployment
  4. 4. 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
  5. 5. 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 resultadofinal de nuestro proyecto de una forma frecuente con el objetivo de ver la evolución de sus efectos cuales? cuales? causa efecto principio de causalidaddefinición propia y con toda humildad y respeto hacia Martin Fowler
  6. 6. Build๏ Compilación๏ Empaquetado๏ Distribución (generación distribuibles 1)1 http://www.manuelrecena.com/blog/archives/125
  7. 7. Build๏ 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 artefacto1 http://www.manuelrecena.com/blog/archives/125
  8. 8. Build๏ Herramientas ๏ Maven, Rake, Ant, Ivy, Buildr, Gradle, Phing, SCons, ...๏ Requisitos para su ejecución
  9. 9. Automatic Doc Generation๏ La documentación como un artefacto más que debemos mantener๏ Enfoques: ๏ A partir del código fuente ๏ A partir de formatos ágiles
  10. 10. Automatic Doc Generation๏ Una entrada, múltiples salidas๏ Imagen corporativa๏ Edición colaborativa
  11. 11. Automatic Doc Generation๏ Herramientas ๏ Maven sites, doxygen, javadoc, JSDoc, phpDocumentator, docbook, Sphinx, Markdown, Textile, RDoc, Org Mode, Creole, ReStructured Text (ReST), ASCIIDoc, POD, Roff, ...
  12. 12. Testing๏ Unitarias / Funcionales๏ Integración / Sistemas๏ Rendimiento
  13. 13. Testing๏ Herramientas ๏ JUnit, Selenium, The Grinder, DbUnit, BrowserStack, TestNG, ...๏ Requisitos para su ejecución
  14. 14. Continuous Inspection๏ Analizar desde un punto de vista estático๏ Verificar y comprobar pautas y reglas de codificación๏ Detectar posibles fallos de programacion
  15. 15. Continuous Inspection๏ Herramientas ๏ Sonar๏ Requisitos para su ejecución
  16. 16. Continuous Deployment๏ Verificar que el despliegue no se rompe๏ Despliegues en múltiples entornos๏ Habilitar la instalación en entornos de producción
  17. 17. Continuous Deployment๏ Despliegue en infraestructura propia o externa (Jelastic, Google App Engine, Heroku, ...)๏ Virtualización como pieza clave para nuestros entornos de despliegue en local
  18. 18. BENEFICIOS๏ Transparencia๏ Agilidad๏ Productividad๏ Control / Trazabilidad
  19. 19. EL CAMINO CONTINUAVagrant
  20. 20. GRACIASImagen de fondo Rubber Grip, http://subtlepatterns.com/?p=573

×