Modularización efectiva: Domando a la Hydra

Logística
Día: 
Lunes 26
Hora: 
10:00am
Salón: 
Salón 1
Duración: 
2 horas
Resumen: 

El software evoluciona hacia una mayor complejidad y mayor tamaño. Actualmente no tenemos argumentos para pensar que esta tendencia cambiará. Por otro lado, las demandas en características como la flexibilidad de cambio son cada vez más exigentes. ¿Cómo podemos abordar este problema? Uno de los conceptos más útiles para abordarlo ha sido el de modularización, que significa particionar al sistema de acuerdo a ciertos principios de diseño y a una estrategia de desarrollo, gobernando las dependencias entre las partes resultantes. Sin embargo, balancear las fuerzas involucradas en implementar una buena modularización no es trivial en la mayoría de los casos, las técnicas y prácticas disponibles son imposibles de consultar de una sola fuente y en realidad no existe consenso en la industria sobre cuales de estas son las mejores en cada caso. Adicionalmente, la modularización en sí misma introduce nuevos retos, entre los que se cuentan la dificultad de configuración y el denominado "infierno de dependencias". En este tutorial exploraremos los beneficios y problemas de la modularización, a continuación describiremos principios de diseño, patrones, prácticas y tecnologías del ecosistema Java que puedes emplear para introducir una estrategia de modularización efectiva en tus desarrollos

Agenda: 
  • Beneficios de la modularización
  • Riesgos y efectos negativos
  • Elfectos del tamaño y la estructura social
  • Métricas relacionadas a la modularidad
  • Características de un diseño modular efectivo
  • Principios, Prácticas y Patrones
  • Tecnologías y Herramientas