Desarrollo de nuevos métodos y tecnologías para acelerar la construcción de software : un enfoque basado en modelos y frameworks de generación avanzados. (2015)
Un desafío importante en la Ingeniería de Software es el incrementar la velocidad con que los desarrolladores construyen el software. Si bien los lenguajes de alto nivel y los frameworks de infraestructura han permitido mejorar significativamente la productividad de los desarrolladores, la creciente complejidad de los sistemas hace necesario explorar nuevas técnicas para asistir a los desarrolladores en construir software en un menor tiempo. Un trabajo previo de los autores de esta propuesta en esta área, fue el mejoramiento del framework Lion, de la empresa HEINSOHN BUSINESS TECHNOLOGY (HBT), con características de generación automática de código [61]. Los resultados de este trabajo comenzarán a ser utilizados por la empresa beneficiaria en las próximas semanas. Pruebas preliminares sobre el framework Lion sugieren que el tiempo requerido por parte de los desarrolladores para generar una nueva aplicción y acoplarle los componentes utilitarios de Lion, podría reducirse de un par de semanas a unas pocas horas. Luego, se espera que estas herramientas permitan capitalizar las buenas prácticas adquiridas en los proyectos ya desarrollados, reducir significativamente la curva de aprendizaje para nuevos desarrolladores, aumentar la velocidad de construcción de aplicaciones empresariales y, por consiguiente, responder más ágilmente a las demandas cambiantes del mercado nacional e internacional. La premisa de la presente propuesta es que la productividad en construcción de software puede incrementarse aún más, a través de la incorporación de técnicas de desarrollo dirigido por modelos y frameworks avanzados de generación de código [4, 5]. Bajo dicha premisa, esta propuesta consiste en desarrollar nuevos métodos y tecnologías basados en modelos y frameworks de generación, así como su aplicación en una organización de desarrollo de software (como es la empresa Heinsohn), con el fin de medir su efectividad. Los principales temas de innovación tecnológica que se quieren aplicar en el proyecto propuesto son los siguientes: Aplicación del enfoque metodológico MDE [4, 5] para incorporar el modelado de elementos de aplicaciones como parte de la disciplina del uso del framework de generación. Si bien el enfoque MDE no es nuevo, la contribución de esta propuesta es la incorporación de MDE en forma sistemática a una organización de desarrollo de software (Heinsohn) con un alto nivel de madurez (CMMI 5), pero que históricamente ha desarrollado software con métodos más tradicionales. Automatización en la generación de interfaces usuario con contenidos estándares, basándose también en técnicas derivadas de MDE. Exploración e incorporación de nuevos tipos de interfaces usuario adicionales al estándar JSF [6], con el fin de buscar soluciones que ofrezcan mayor agilidad en la interacción con el usuario, mayor rapidez en el desarrollo de páginas y posiblemente menores riesgos de que estas páginas puedan ser alteradas en ejecución por usuarios maliciosos. Dado el enfoque práctico de este proyecto, las principales tareas incluyen: la migración del framework Lion al estándar actual de la plataforma Java Empresarial (Java EE 6) [3], la exploración de diferentes alternativas de implementación aplicando el enfoque MDE (desarrollo dirigido por modelos) en dicho framework, así como también su integración con diferentes tipos de interfaz de usuario [6].