Contacta con nosotros

Temario del curso

QA/CI

  • ¿Qué es la Garantía de Calidad (QA)?
  • ¿Qué es la Integración Continua (CI)?
  • Costos del desarrollo de software, refactorización y corrección de errores
  • Identificación y comprensión del proyecto
  • Beneficios para la organización

DDD

  • Desarrollo de software basado en requisitos empresariales y los principios de DDD
  • Problemas en la comunicación entre TI y el negocio
  • Modelo de dominio

Mejores Prácticas

  • Principios KISS y DRY
  • Estándares de codificación
  • Creación de código reutilizable mediante POO y patrones de diseño
  • Identificación y reducción de la complejidad ciclomática

Métricas de Software

  • Peso del método por clase
  • Respuesta para una clase
  • Profundidad del árbol de herencia
  • Acoplamiento entre objetos
  • Falta de cohesión de los métodos
  • Número de hijos
  • Complejidad ciclomática
  • Métricas de clase
  • Métricas de modelo
  • Métricas para uso práctico

Pruebas de Software

  • ¿Qué, cuándo y cómo realizar pruebas?
  • Métodos de "caja blanca" y "caja negra"
  • El rol de las pruebas en las metodologías ágiles
  • TDD: ¿Solo un posible aumento en los costos del proyecto?
  • Pruebas unitarias con JUnit (Java) y PHPUnit (PHP)
  • Pruebas de comportamiento con JBehave (Java), Behat y Mink (PHP)
  • Pruebas funcionales

Refactorización

  • ¿Qué es la refactorización?
  • Tecnología de deuda técnica
  • Indicios de código deficiente (code smell)
  • Patrones de refactorización

Documentación

  • El rol de la documentación en las metodologías ágiles
  • ¿Qué documentar?
  • Tipos de documentación
  • Documentación y metodologías ágiles: ¿es posible decir "software funcional sobre documentación exhaustiva"?
  • Estándar XMI
  • Generación automática de documentación desde Javadoc (Java) y ApiGen (PHP)

Herramientas y Entorno de CI

  • Herramientas y entorno de CI
    • PMD (Java), phpmd (PHP)
    • CPD (Java), phpcpd (PHP)
    • Contador de líneas de código (Java), phploc (PHP)
    • UCDetector (Java), phpdcd (PHP)
    • Jdepend (Java), phpdepend (PHP)
  • Servidor de Integración Continua Jenkins

Ágil y CI/QA

  • Planificación y desarrollo incremental
  • Aceptación del cambio
  • Fases cortas
  • Equipos interdisciplinarios
  • Programación Extrema y revisión de código
  • Individuos e interacciones sobre procesos y herramientas

Conclusión

  • Discusión
  • Preguntas
  • ¿Cómo iniciar el proceso de implementación?

Requerimientos

Conocimientos sobre procesos de desarrollo de software

 14 Horas

Número de participantes


Precio por participante

Testimonios (4)

Próximos cursos

Categorías Relacionadas