A reusable software architecture for geographic information systems based on software product line engineering el 31 de Diciembre del 2015