Software product line for web-based geographic information systems
- Miguel Rodríguez Luaces Codirector
- Oscar Pedreira Codirector
Universidad de defensa: Universidade da Coruña
Fecha de defensa: 26 de julio de 2017
- Nieves R. Brisaboa Presidenta
- María José Escalona Cuaresma Secretario/a
- Gilberto Gutiérrez Retamal Vocal
Tipo: Tesis
Resumen
La ingeniería de líneas de producto software (LPS) es un campo de investigación que pretende industrializar el desarrollo de software usando técnicas como la producción y customización en masa, o la reutilización de componentes software. Un sistema de información geográfica (SIG) es un sistema de información que trabaja, de alguna manera, con información de carácter geográfico. A pesar de que cada SIG se utiliza en un área en particular, hay muchas características comunes a todos ellos. Además, se ha llevado a cabo una fuerte estandarización de forma que la mayor parte de componentes software SIG son interoperables. En consecuencia, la aplicación de la ingenería de LPS en este dominio es un problema factible e interesante. Aplicar ingenería de LPS a un nuevo dominio es un proceso complejo y, para garantizar la validez del diseño final de la LPS y su evolución, es importante seguir de manera estricta una metodología adecuada al dominio concreto. Considerando que no existe una metodología adecuada para el contexto de nuestro trabajo (es decir, aplicaciones SIG basadas en web desarrolladas en una compañía de desarrollo de software con varios productos en el mercado), hemos decidido combinar varias metodologías existentes y extender su alcance con determinadas tareas que servirán para sacar el máximo provecho a nuestro contexto. Tras la definición de nuestra LPS siguiendo esta metodología, hemos encontrado que las técnicas tradicionales para implementar LPS no son adecuadas para nuestro dominio, debido a las particularidades y requerimientos en el desarrollo de aplicaciones GIS basadas en la web. Por lo tanto hemos definido e implementado un nuevo motor de derivación para la generación automática de software que mantiene las formalidades detrás de las LPS pero, al mismo tiempo, proporciona un nuevo grado de flexibilidad gracias al uso de una conocida técnica industrial: scaffolding.