Envíanos tu consulta
Términos y condiciones *
logoImagina
Formación
Modalidades
Próximas Convocatorias
Temario
FAQ
Solicitar información
iconoCurso

Curso de ArchUnit

DISPONIBLE EN MODALIDAD:
aMedidaIcon
Aula Virtual Personalizada
arrowRightDark

Este curso te enseña a aplicar y validar principios arquitectónicos en aplicaciones Java mediante ArchUnit. Domina la implementación de reglas personalizadas, la integración en flujos CI/CD y la refactorización de proyectos para garantizar un diseño óptimo y escalable.

iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient

Formación en ArchUnit bonificable para empresas

A quién va dirigido nuestro curso de ArchUnit

Desarrolladores y arquitectos de software interesados en aplicar principios de arquitectura mediante pruebas automatizadas en proyectos Java.

Objetivos de nuestro curso de ArchUnit

  • Comprender los principios básicos de la arquitectura de software y cómo ArchUnit los respalda.
  • Implementar reglas arquitectónicas personalizadas en aplicaciones Java.
  • Validar la adherencia a las reglas arquitectónicas mediante pruebas automatizadas.
  • Integrar ArchUnit en flujos CI/CD para asegurar la calidad del código.
  • Desarrollar habilidades para refactorizar aplicaciones incumplidoras y optimizar su diseño.

Qué vas a aprender en nuestro curso de ArchUnit

Este curso te enseña a aplicar y validar principios arquitectónicos en aplicaciones Java mediante ArchUnit. Domina la implementación de reglas personalizadas, la integración en flujos CI/CD y la refactorización de proyectos para garantizar un diseño óptimo y escalable.

Requisitos de nuestro curso de ArchUnit

  • Conocimientos sólidos en Java y patrones de diseño.
  • Familiaridad con frameworks de pruebas como JUnit o TestNG.
  • Herramientas instaladas: JDK 8 o superior, Maven o Gradle, e IDE como IntelliJ IDEA o Eclipse.
  • Acceso a un equipo con 8 GB de RAM, 20 GB de almacenamiento libre y conexión a Internet estable.
  • Permisos para ejecutar configuraciones de proyectos en el entorno de desarrollo.

Temario del curso de ArchUnit

tema 1

Introducción a ArchUnit

  • Qué es ArchUnit y su propósito en la arquitectura de software
  • Ventajas de ArchUnit en la validación de reglas arquitectónicas
  • Escenarios de uso comunes en proyectos Java
  • Comparativa con otras herramientas de validación arquitectónica
  • Componentes principales de ArchUnit y cómo interactúan
  • Revisión de casos de éxito en el uso de ArchUnit
  • Conceptos clave: dependencias, ciclos y cohesión
  • Requisitos previos para integrar ArchUnit en un proyecto
  • Ejercicio práctico: Instalación y configuración inicial
  • Creación de un proyecto base para pruebas con ArchUnit
iconArrowDown
tema 2

Fundamentos de la arquitectura de software

  • Introducción a los principios arquitectónicos
  • Importancia de las capas en la arquitectura
  • Patrones de diseño comunes y cómo aplicarlos
  • Identificación de dependencias cíclicas
  • Prácticas recomendadas para modularidad
  • Introducción a conceptos de acoplamiento y cohesión
  • Relación entre arquitectura y pruebas
  • Casos prácticos de errores arquitectónicos
  • Ejercicio práctico: Analizando una arquitectura problemática
  • Ejercicio práctico: Propuesta de mejoras arquitectónicas
iconArrowDown
tema 3

Instalación y configuración de ArchUnit

  • Requisitos técnicos para instalar ArchUnit
  • Configuración de Maven y Gradle para proyectos con ArchUnit
  • Estructura básica de un proyecto compatible con ArchUnit
  • Dependencias esenciales para pruebas con ArchUnit
  • Configuración del entorno de desarrollo en IntelliJ IDEA y Eclipse
  • Introducción a los métodos de ArchUnit API
  • Ejercicio práctico: Integración de ArchUnit en un proyecto existente
  • Solución de problemas comunes al configurar ArchUnit
  • Pruebas iniciales con ArchUnit
  • Ejercicio práctico: Validación de la instalación mediante una prueba básica
iconArrowDown
tema 4

Creación de reglas arquitectónicas con ArchUnit

  • Estructura de una regla arquitectónica en ArchUnit
  • Uso de clases predeterminadas y personalizadas
  • Reglas básicas: evitar dependencias cíclicas
  • Creación de reglas de naming conventions
  • Definición de dependencias permitidas entre paquetes
  • Introducción a la validación de anotaciones y visibilidades
  • Creación de reglas para capas: presentación, lógica y datos
  • Ejercicio práctico: Escribir reglas arquitectónicas personalizadas
  • Ejemplo práctico: Validación de convenciones en una arquitectura por capas
  • Análisis de resultados y ajustes en las reglas
iconArrowDown
tema 5

Validación de reglas arquitectónicas

  • Métodos para ejecutar reglas en ArchUnit
  • Validación de clases y paquetes
  • Análisis de dependencias y violaciones de reglas
  • Reportes detallados generados por ArchUnit
  • Uso de assertions para garantizar el cumplimiento de reglas
  • Estrategias para priorizar violaciones críticas
  • Ejercicio práctico: Validar un proyecto con múltiples reglas
  • Comparativa entre pruebas unitarias y arquitectónicas
  • Refactorización basada en los resultados de ArchUnit
  • Ejercicio práctico: Corrección de violaciones detectadas
iconArrowDown
tema 6

Integración de ArchUnit con JUnit

  • Configuración de ArchUnit para trabajar con JUnit 4 y 5
  • Creación de pruebas arquitectónicas en el contexto de JUnit
  • Ejecución de pruebas arquitectónicas en suites de pruebas
  • Integración de pruebas arquitectónicas en pipelines CI/CD
  • Ejercicio práctico: Escribir y ejecutar pruebas con JUnit y ArchUnit
  • Análisis de resultados en informes de pruebas automatizadas
  • Beneficios de integrar pruebas arquitectónicas con pruebas unitarias
  • Casos de uso para integración de ArchUnit en JUnit
  • Solución de problemas comunes en la integración con JUnit
  • Ejercicio práctico: Automatización de pruebas arquitectónicas en Jenkins
iconArrowDown
tema 7

Detección y eliminación de dependencias cíclicas

  • Qué son las dependencias cíclicas y su impacto
  • Métodos para identificar dependencias cíclicas con ArchUnit
  • Ejercicio práctico: Creación de una regla para evitar ciclos
  • Refactorización de dependencias cíclicas en proyectos grandes
  • Uso de ArchUnit para evaluar mejoras en dependencias
  • Estrategias avanzadas para minimizar acoplamientos
  • Ejercicio práctico: Análisis de un proyecto con ciclos complejos
  • Importancia de documentar las reglas arquitectónicas
  • Ejemplo práctico: Aplicación en un proyecto real
  • Evaluación de impacto tras la eliminación de ciclos
iconArrowDown
tema 8

Aplicaciones avanzadas de ArchUnit

  • Creación de reglas complejas en proyectos grandes
  • Validación de interacciones entre módulos en microservicios
  • Uso de ArchUnit para validar contratos en API REST
  • Configuración de reglas específicas para proyectos Spring Boot
  • Estrategias para mantener reglas actualizadas en proyectos en crecimiento
  • Ejercicio práctico: Creación de reglas avanzadas en un proyecto modular
  • Análisis del impacto en el rendimiento de las pruebas
  • Generación de reportes personalizados con resultados de validación
  • Integración con herramientas de análisis estático
  • Ejercicio práctico: Uso de ArchUnit para evaluar cambios de arquitectura
iconArrowDown
tema 9

Proyecto final

  • Definición de un caso práctico empresarial
  • Aplicación de reglas arquitectónicas en un proyecto de múltiples módulos
  • Validación de dependencias y convenciones de nomenclatura
  • Integración completa con JUnit y pipelines CI/CD
  • Análisis de resultados y corrección de violaciones detectadas
  • Documentación de las reglas aplicadas en el proyecto
  • Presentación de resultados y lecciones aprendidas
  • Evaluación final del curso
  • Retrospectiva del aprendizaje logrado
  • Certificación del participante
iconArrowDown