Temario del curso

QA/CI

  • ¿Qué es QA?
  • ¿Qué es CI?
  • Los costos del desarrollo de software, el refactoring y la corrección de errores
  • Identificación y comprensión del proyecto
  • Beneficio para la organización

DDD

  • Desarrollo de software basado en los requisitos comerciales, suposiciones DDD
  • Problemas en la comunicación IT-Empresa
  • Modelo de dominio

Prácticas recomendadas

  • Principios KISS y DRY
  • Estandares de codificación
  • Creación de código reutilizable a través de la 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
  • Coplamiento entre objetos
  • Falta de cohesión de métodos
  • Número de hijos
  • Complejidad ciclomática
  • Métricas de clase
  • Métricas del modelo
  • Métricas para uso

Pruebas de software

  • ¿Qué, cuándo y cómo probar?
  • Método "caja blanca" y "caja negra"
  • El papel de las pruebas en las metodologías ágiles
  • TDD solo un posible aumento del costo del proyecto
  • Pruebas unitarias con JUnit (Java), PHPUnit (PHP)
  • Pruebas de comportamiento con JBehave (Java), Behat y Mink (PHP)
  • Pruebas funcionales

Refactoring

  • ¿Qué es el refactoring?
  • Tecnología de la deuda
  • Olor del código
  • Patrones de refactoring

Documentación

  • El papel de la documentación en las metodologías ágiles
  • ¿Qué documentar?
  • Tipos de documentación
  • Documentación y metodologías ágiles, o se puede decir (Software funcional por encima de la documentación exhaustiva)?
  • Estandar XMI
  • Generación automática de documentación desde Javadoc (Java), ApiGen (PHP)

Herramientas y entorno CI

  • Herramientas y entorno 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
  • Aceptar el cambio
  • Etapas cortas
  • Equipo interdisciplinario
  • Extreme Programming, revisión de código
  • Individuos e interacciones por encima de procesos y herramientas

Síntesis

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

Requerimientos

Conocimiento de los procesos de desarrollo de software

 14 Horas

Número de participantes


Precio por Participante​

Testimonios (5)

Próximos cursos

Categorías Relacionadas