[en] Software Product Line Engineering (SPLE) is a research field that seeks to industrialize software development using techniques such as mass-production and mass-customization or reusing software components. A geographic information system (GIS) is an information system that works, in some way, with geographic information. Although each GIS is used in a particular area, there are many features common to all of them. In addition, strong standardization has been carried out so that most GIS software components are interoperable. Consequently, the application of SPLE in this domain is a feasible and interesting problem. Applying SPLE to a new domain is a complex process and, in order to guarantee the validity of the final design of the SPL and its evolution, it is important to strictly follow a methodology appropriate to the specific domain. Considering that it does not exist a suitable methodology for the context of our work (i.e., web-based GIS applications developed in a software company with several products in the market), we have decided to combine several existing methodologies and extend their scope with additional tasks that will are very useful in our context. After defining our SPL following this methodology, we found that the traditional techniques to implement SPL are not suitable for our domain, due to the peculiarities and requirements in the development of web-based GIS applications. Therefore, we have defined and implemented a new derivation engine for automatic software generation that maintains the formalities behind SPLE but at the same time provides a new degree of flexibility thanks to the use of a well-known industrial technique: scaffolding.

[gl] A enxeñería de liñas de produto software (LPS) é un campo de investigación que pretende industrializar o desenvolvemento de software usando técnicas como a producción e customización en masa, ou a reutilización de componentes software. Un sistema de información xeográfica (SIX) é un sistema de información que traballa, de algún modo, con información de carácter xeográfico. Aínda que cada SIX utilízase nun área en particular, existen moitas características comúns a todos eles. Ademáis, levouse a cabo unha forte estandarización de xeito que a maior parte dos componentes software SIX son interoperables. Polo tanto, a aplicación da inxeñería de LPS neste dominio é un problema factible e interesante. Aplicar enxeñería de LPS a un novo dominio é un proceso complexo e, para garantizar a validez do deseño final da LPS e a súa evolución, é importante seguir de maneira estricta unha metodoloxía adecuada ao dominio concreto. Tendo en conta que non existe ningunha metodoloxía adecuada para o contexto do noso traballo (é dicir, aplicacións SIX baseadas na web desenvoltas nunha compañía de desarrollo de software con varios productos no mercado), decidimos combinar varias metodoloxías existentes e extender o seu alcance con determinadas tarefas que servirán para sacar o máximo aproveitamento ao noso contexto. Tras a definición da nosa LPS seguindo esta metodoloxía, encontramos que as técnicas tradicionais para implementar LPS non son axeitadas para o noso dominio, debido ás particularidades e requerimentos no desenvolvemento de aplicacións SIX basadas na web. Polo tanto deseñamos e implementamos un novo motor de derivación para a xeración automática de software que mantén as formalidades das LPS pero, ó mesmo tempo, proporciona un novo grado de flexibilidade grazas ó uso dunha coñecida técnica industrial: scaffolding.