Las Líneas de Productos de Software (LPS) basadas en la reutilización, pretenden mejorar tiempo de comercialización, evolución del software y bajar costos de desarrollo. Productos de software, miembros de la familia LPS, son derivados instanciando una Arquitectura de Referencia (RA: “Reference Architecture”) genérica, con componentes comunes y variantes. La ventaja para una empresa es obtener productos concretos instanciando la RA, reutilizando un repositorio de activos (“assets”). Sin embargo, diseñar una RA para un dominio dado, es tarea compleja y costosa en vista de que ésta debe ser evolutiva, acorde con los cambios tecnológicos. Se puede atacar el problema considerando que la empresa crea desde cero su LPS, aplicando una estrategia descendente (“top-down”), para definir el repositorio de activos inspirándose en productos del mercado existentes en el dominio. Otra forma es seguir una estrategia ascendente (“bottom-up”) cuando una empresa tiene varios productos desarrollados y determinar mediante un proceso de reingeniería, componentes o módulos que pueden ser reutilizados como activos; esta es la estrategia seguida en la presente investigación. El objetivo de este trabajo es describir un proceso bottom-up semi-formal, sistemático y repetible de diseño de la RA, representada por un grafo conexo no dirigido. El proceso es aplicado al caso de estudio de aplicaciones de Transacciones Financieras, sub-dominio de la Computación Móvil del consorcio CONECTIUM Limited C.A., que también contempla aplicaciones en los sub-dominios Sistemas de Salud y Contenidos de Entretenimiento. Los resultados obtenidos son ilustrativos, repetibles y de utilidad para la práctica industrial, facilitando así la Ingeniería de una LPS.
Software Product Lines (SPL), based on reuse, claim to improve software
evolution, time to market and decrease software development costs. Concrete
software products, members of the SPL family, are derived by instantiating a generic
Reference Architecture (RA), holding common and variant components. Advantages
for an enterprise are to obtain concrete products derived from RA by reusing the
asset repository, which has been built in parallel while constructing RA. However,
the RA design is a complex and costly task, since it must be evolutionary according
to technological changes. A way to cope with this problem is to consider a topdown
strategy, where the enterprise builds the SPL from zero; however existing
products on the market must be studies to construct the asset repository. Another
way is to follow a bottom-up strategy, considering products already developed
by the enterprise and apply a reengineering process to determine components or
modules that can be reused as assets; this is the strategy followed in this research.
The goal of this work is to describe a systematic and repeatable bottom-up process
to design RA, represented by a non-directed and connected graph. The process is
applied to the case study of Finantial Transactions applications, sub-domain of the
Mobile Computing domain of the CONECTIUM Limited C.A consortium, holding
also sub-domains of Healthcare and Entretainment Contents applications. It is
expected that the results obtained will be illustrative, repeatable and useful for the
industrial practice, to facilitate SPL Engineering