Lenguajes y Sistemas Informáticos
URI permanente para esta colecciónhttps://hdl.handle.net/11441/11583
Examinar
Examinando Lenguajes y Sistemas Informáticos por Premio "Premio Extraordinario de Doctorado US"
Mostrando 1 - 14 de 14
- Resultados por página
- Opciones de ordenación
Tesis Doctoral A mature agile approach in web engineering contexts(2017-02-24) Torrecilla Salinas, Carlos Joaquín; Mejías Risoto, Manuel; Escalona Cuaresma, María José; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosEn los últimos años la importancia de la Web y los desarrollos Web en la vida de ciudadanos y empresas ha aumentado significativamente. Desde sus inicios, la comunidad investigadora intentó definir aproximaciones metodológicas para los entornos Web. De ese modo, mientras que los sistemas Web eran desarrollados inicialmente sin seguir una aproximación estructurada que pudiera garantizar resultados de calidad, aparecieron diferentes propuestas que ayudaron a establecer la Ingeniería Web como una rama diferenciada dentro de la Ingeniería del Software con líneas de investigación específicas. Podemos por tanto afirmar que los Sistemas Web, aquellos desarrollados para ser publicados y consumidos en Internet, son el sujeto de estudio de la Ingeniería Web, , la cual puede definirse como la aplicación sistemática, cuantificable y estructurada al desarrollo, evolución y mantenimiento de aplicaciones Web. Los sistemas Web se caracterizan, entre otros aspectos, por una aproximación flexible a los requisitos y por la necesidad de ciclos cortos de feedback, con el fin de adaptarse y ajustarse a nuevas necesidades de clientes y usuarios. Además, los Sistemas Web incorporan características especiales como estructuras navegacionales complejas, necesidad de reducir el tiempo de desarrollo y puesta en producción, o la importancia de los requisitos de seguridad y mantenimiento. Aunque algunas de estas características aparecen también en sistemas de otro tipo, es en los entornos Web donde se manifiestan de manera conjunta e intensa. Por otro lado, uno de los principios de las metodologías Ágiles es abrazar el cambio, por lo que las aproximaciones Ágiles podrían ofrecer un marco adecuado para algunas de las características específicas de los sistemas Web Como es sabido, las aproximaciones clásicas a los requisitos, que incluyen una fase inicial de definición e introducción de los mismos, demandan un entorno estable y no cambiante. En general, este no es el caso de los entornos Web, donde los requisitos son fluidos y cambiantes. Por otro lado, la aproximación iterativa incremental a los requisitos propuesta por los métodos Ágiles se podría adecuar mucho mejor a estas necesidades. Desde el comienzo del siglo XXI se ha podido observar una tendencia creciente en el uso de métodos Ágiles en la industria por parte de algunos de los grandes del sector como Microsoft, Amazon o Yahoo. Esta tendencia también tiene lugar en los entornos Web, encontrando incluso artículos que muestran un incremento de la calidad y mejora en los resultados de los proyectos que usan métodos Ágiles . Finalmente, CMMI-DEV (Capability Maturity Model Integration for Development), como parte de la familia CMMI (Capability Maturity Model Integration), proporciona un marco comparativo que permite evaluar el nivel de madurez alcanzado en el desarrollo de software. El hecho de adquirir los niveles de madurez más altos de CMMI suele estar relacionado con mejoras en la calidad de los productos desarrollados. Por tanto, el uso de métodos Ágiles para alcanzar los objetivos propuestos por los diferentes niveles de madurez de CMMI-DEV podría ofrecer a las organizaciones que desarrollan sistemas Web la posibilidad de combinar calidad y madurez con la capacidad de responder rápidamente a los cambios. Tanto CMMI como los métodos Ágiles proponen principios válidos que no han de ser necesariamente incompatibles, aunque alguna vez se hayan visto como tales. Por ejemplo, CMMI se ha catalogado a veces como un proceso pesado, altamente ceremonioso y orientado a la generación de documentación, mientras que los métodos Ágiles se han asociado en algunos casos a falta de estructura o disciplina en comparación con las técnicas clásicas de desarrollo. La posibilidad de usar una aproximación Ágil para que una organización que desarrolla sistemas Web alcance un determinado nivel de madurez CMMI podría eliminar miedos y dudas en clientes y usuarios potenciales, así como ayudar a la institucionalización de los métodos y prácticas Ágiles, mientras que mantendría la capacidad de respuesta y adaptación rápida que estos ofrecen, que son elementos básicos para el desarrollo Web. La investigación llevada a cabo en este trabajo de tesis se centra por tanto en la definición de un marco Ágil que permita a las organizaciones que desarrollan sistemas Web progresar a través de los distintos niveles de madurez de CMMI, sin perder la habilidad de adaptarse a cambios inesperados. Como Scrum y eXtreme Programming (XP) son los métodos Ágiles de mayor implantación, nuestro trabajo comenzará con un “gap analysis” de ambas propuestas frente a los objetivos sugeridos por los diversos niveles de madurez de CMMI-DEV, relacionándolos con las diferentes características específicas de los entornos Web. La idea principal es evaluar si alguna de las dos propuestas puede, por sí misma, ser usada para alcanzar los requisitos de CMMI-DEV. Tras este análisis, y una vez que se hayan identificado los “gaps” entre CMMI-DEV y Scrum/XP, trataremos de destacar, de entre el resto de propuestas Ágiles existentes, alguna otra que permita cubrir las carencias detectadas. La idea es definir un conjunto de técnicas Ágiles que puedan cubrir todos los requisitos de CMMI-DEV para sus diferentes niveles de madurez. Para concluir, intentaremos evaluar la coherencia de este conjunto de prácticas, presentando un marco Ágil consistente y coherente, que denominaremos NDT-Agile, que pueda ser usado como referencia para que organizaciones que desarrollan sistemas Web puedan alcanzar un determinado nivel de madurez de CMMI-DEV. Como conclusión, podemos decir que el objetivo final de este trabajo de tesis es proporcionar una respuesta sistemática a la idea de institucionalizar las propuestas Ágiles para el desarrollo de sistemas Web.Tesis Doctoral Acercando el conocimiento en la web a los agentes software. Un marco de trabajo para la construcción de Wrappers Semánticos(2005-03-04) Arjona Fernández, José Luis; Corchuelo Gil, Rafael; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosEn los últimos años la web se ha consolidado como uno de los respiratorios de información más importantes. Una gran reto para los agentes software ha sido tratar con esa cantidad, poco manejable de datos, para extraer información con significado. Este proceso es difícil por las siguientes razones: En primer lugar, la información en la web tiene como objeto su consumo por seres humanos y no contien e una descripción de su semántica, lo que ayudaría a los agentes entenderla. En segundo lugar, la web cambia continuamente, lo que tiene generalmente un impacto en la representación de la información pero no en su semántica. Por último, es un enorme repositorio con 4200 Terabytes de información lista para ser consumida. Los miembros de The Distributed Group han estado trabajando en sistemas distribuidos desde 1997. Concretamente, han trabajado en modelos de interacción multipartitos que proporcionan al programador los mecanismos adecuados para describir interacciones complejas desde un punto de vista conceptual. Los resultados obtenidos se han materializado en publicaciones revistas importantes y tesis doctorales. El trabajo de investigación en esta memoria abrió una nueva línea de investigación en el grupo. Su objetivo es facilitar el diseño e implementación de agentes software. Actualmente, esta línea de investigaicón se refuerza con la tesis de Joaquín Peña, en el que se están desarrollando mecanismos para describir abstractamente las interacciones complejas en sociedades multi-agentes. En esta memoria presentamos un nuevo marco de trabajo para la extracción de información con significado de la web sintáctica actual. Sus principales ventajas son: asocia semántica a la información extraída, mejorando la interoperabilidad del agente: trata los cambios en la web, potenciando la adaptabilidad: además, establece una separación de responsabilidades en la tarea de extracción, automatizando el desarrollo de extractores de conocimiento distribuidos. Por último, el detallado estudio del trabajo relacionado demuestra que nuestra propuesta constituye una contribución original.Tesis Doctoral Análisis sintáctico eficiente de gramáticas de adjunción e inserción de árboles(2003) Carrillo Montero, Vicente; Díaz Madrigal, Víctor Jesús; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosTesis Doctoral Una Aproximación Semicualitativa al Tratamiento Automático de Requisitos de Calidad. Aplicación a la obtención automática de acuerdos de nivel de servicio en MOWS(2002-09-23) Ruiz Cortés, Antonio; Corchuelo Gil, Rafael; Toro Bonilla, Miguel; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos; Universidad de Sevilla. TIC205: Ingeniería del Software AplicadaDe acuerdo con el tipo de técnicas empleadas, las propuestas que abordan el tratamiento sistemático de los requisitos de calidad pueden ser clasificadas en cuantitativas y cualitativas. Las primeras resultan muy adecuadas para tratar con requisitos de calidad duros, pero insuficientes para tratar con requisitos blandos. Por su parte, las propuestas cualitativas han sido utilizadas ha sta ahora únicamente con requisitos blandos. En esta tesis presentamos una propuesta que hace posible trabajar al mismo tiempo con ambos tipos de requisitos. Dicha propuesta se compone de un modelo de referencia, un soporte lingüístico ejecutable y un conjunto de herramientas de apoyo que facilitan la automatización de algunas actividades relacionadas con los requisitos de calidad de productos software, y particularmente de servicios WEB. Esta propuesta es el resultado de una profunda revisión de trabajos relacionados por lo que aglutina buena parte de los aspectos positivos encontrados y añade algunos nuevos que consideramos de gran interés dentro de este contexto de investigación: consciencias temporal, capacidad de negociación, dualidad e interoperabilidad.Tesis Doctoral Energy and performance-aware scheduling and shut-down models for efficient cloud-computing data centers.(2018-12-10) Fernández Cerero, Damián; Fernández Montes González, Alejandro; Ortega Ramírez, Juan Antonio; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosThis Doctoral Dissertation, presented as a set of research contributions, focuses on resource efficiency in data centers. This topic has been faced mainly by the development of several energy-efficiency, resource managing and scheduling policies, as well as the simulation tools required to test them in realistic cloud computing environments. Several models have been implemented in order to minimize energy consumption in Cloud Computing environments. Among them: a) Fifteen probabilistic and deterministic energy-policies which shut-down idle machines; b) Five energy-aware scheduling algorithms, including several genetic algorithm models; c) A Stackelberg game-based strategy which models the concurrency between opposite requirements of Cloud-Computing systems in order to dynamically apply the most optimal scheduling algorithms and energy-efficiency policies depending on the environment; and d) A productive analysis on the resource efficiency of several realistic cloud–computing environments. A novel simulation tool called SCORE, able to simulate several data-center sizes, machine heterogeneity, security levels, workload composition and patterns, scheduling strategies and energy-efficiency strategies, was developed in order to test these strategies in large-scale cloud-computing clusters. As results, more than fifty Key Performance Indicators (KPI) show that more than 20% of energy consumption can be reduced in realistic high-utilization environments when proper policies are employed.Tesis Doctoral Energy saving policies in grid computing and smart environments(2013-01-21) Fernández Montes González, Alejandro; Ortega Ramírez, Juan Antonio; González Abril, Luis; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosThis work studies the problem of energy consumption growth in two spheres: Grid-Computing and Smart Environments. These problems are tackled through the establishment of energy-saving policies developed for each environment in order to save the maximum energy as possible. In the Grid-Computing environment, seven energypolicies were designed in an attempt to minimize energy consumption through shutting resources down and booting them. It is proved that approximately 40% of energy can be saved. Efficiency of various grid locations was compared using Data Envelopment Analysis methodology. In Smart Environments where sensors perceive lighting conditions, the energy-saving policy adjusts lighting in order to satisfy user preferences and prevents energy from being wasted. A set of wireless sensors were deployed on two offices at the department of Computer Languages and Systems. The dataset created over several months was employed to extract information about user lighting preferences, from the application of which it is proven that around 70% of energy can be saved in lighting appliances.Tesis Doctoral Enterprise Data Integration: On Extracting Data from HTML Tables(2020-12-22) Roldán Salvador, Juan Carlos; Corchuelo Gil, Rafael; Jiménez Aguirre, Patricia; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosThe Web is a universal communication channel that provides a vast amount of valuable data about a plethora of topics. In recent years, there has been a quick rise of data-hungry products and services that have motivated the need for ways to extract web to feed them with as little effort as possible. HTML tables are a source of up-to-date data that is not being extracted and loaded into major knowledge bases in an automated manner. Extracting them is challenging because there are several common layouts in which data are displayed and they present several encoding and formatting problems; furthermore, the available general-purpose data extractors ignore the particularities of HTML table encodings and do not suffice to deal with the intricacies of web tables. In this dissertation, we have studied the problem of extracting data from HTML tables with no supervision. After completing an extensive review of the literature, we realised that none of the available table-specific proposals provided a holistic approach to solve this problem. This motivated us to work on TOMATE, a table extraction proposal that encompasses every table extraction task with an emphasis in the crucial task of identifying cell functions. Our experimental analysis proved that we have advanced the state of the art with several proposals that are intended to help both researchers and practitioners. While working on this dissertation, we have developed a number of marginal contributions, namely: Aquila, a proposal to synthesise meta-data tags for HTML documents; Kizomba, a general extraction proposal that was called; and Romulo, a proposal to cluster data. Furthermore, we have collaborated on the inception of a start-up project called Stargazr where we hope to put much of the knowledge generated in this dissertation into practice.Tesis Doctoral Evolution, testing and configuration of variability intensive systems(2015-03-04) Galindo Duarte, José Ángel; Baudry, Benoit; Benavides Cuevas, David Felipe; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosOne of the key characteristics of software is its ability to be adapted and configured to different scenarios. Recently, software variability has been studied as a first-class concept in different domains ranging from software product lines to pervasive systems. Variability is the ability of a software product to vary depending on different circumstances. Variability intensive systems are those software products where variability management is a core engineering activity. The varying parts of those systems are commonly modeled by us- ing different variability model flavors, being feature modeling one of the most common ones. Feature models were first introduced by Kang et al. back in 1990 and are a compact representation of a set of configurations in a variability intensive system. The large number of configurations that a feature model can encode makes the manual analysis of feature models an error prone and costly task. Then, computer-aided mechanisms appeared as a solution to extract useful information from feature models. This process of extracting information from feature models is known as ¿Automated Analysis of Feature models¿ that has been one of the main areas of research in the last years where more than thirty analysis operations have been proposed.Tesis Doctoral Evolutionary Algorithms to Discover Quantitative Association Rules(2011) Martínez Ballesteros, María del Mar; Riquelme Santos, José Cristóbal; Troncoso Lora, Alicia; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosTesis Doctoral Functional and performance testing of feature model analysis tools Extending the fama ecosystem(2010) Segura Rueda, Sergio; Benavides Cuevas, David Felipe; Ruiz Cortés, Antonio; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosLa ingeniería de líneas de productos es un paradigma de desarrollo orientado a construir familias de sistemas software que reutilicen características comunes en lugar de construir cada producto desde cero. Un aspecto fundamental para la gestión de una línTesis Doctoral Mejoras en eficiencia y eficacia de algoritmos evolutivos para aprendizaje supervisado(2004) Giráldez Rojo, Raúl; Riquelme Santos, José Cristóbal; Aguilar Ruiz, Jesús Salvador; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosLos algoritmos evolutivos conforman una de las más importantes familias de modelos computacionales con aplicación en el campo del aprendizaje automático, cuya validez y efectividad han sido ampliamente estudiada en la bibliografía. Enmarcada dentro del área del aprendizaje supervisado, esta tesis doctoral tiene como objetivo fundamental el desarrollo de diversos métodos algorítmicos dirigidos hacia la mejora de este tipo de técnicas para la generación de reglas de decisión. Se pretende reducir el coste computacional asociado a los aspectos críticos de los algoritmos evolutivos, así como aumentar la calidad de los resultados mediante una búsqueda más eficiente y eficaz de las soluciones.Tesis Doctoral Moses: a metaheuristic optimization software ecosystem. Applications to the automated analysis of software product lines and service-based applications(2013-10-01) Parejo Maestre, José Antonio; Ruiz Cortés, Antonio; Segura Rueda, Sergio; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos; Universidad de Sevilla. TIC205: Ingeniería del Software AplicadaMuchas de las situaciones a las que nos enfrentamos cada día pueden expresarse como problemas de optimización. Un problema de optimización se resuelve encontrando, de entre un conjunto de soluciones candidatas, aquella que mejor satisface un conjunto de objetivos. Encontrar la mejor solución para un problema de optimización es difícil o incluso inviable en muchos casos reales. Los algoritmos heurísticos se han utilizado durante décadas para guiar la búsqueda de soluciones satisfactorias para problemas de optimización duros en un plazo de ejecución asequible. Las metaheurísticas son esquemas de algoritmos reutilizables que facilitan el diseño de algoritmos heurísticos para resolver problemas de optimización duros. El uso de metaheurísticas para resolver problemas de optimización es un tema ampliamente estudiado. En este contexto, los ingenieros de software recientemente se dieron cuenta de los beneficios del uso de metaheurísticas para resolver problemas de optimización duros, generalmente conocidos como problemas de búsqueda (del inglés search-based problems). Esto ha llevado a una línea de investigación emergente sobre problemas basados en búsqueda que se aprecia en las conferencias de ingeniería de software y los números especiales de revistas sobre el tema. Sin embargo, a pesar de sus muchas ventajas, la aplicación de metaheurísticas presenta numerosos obstáculos. En primer lugar, la implementación de las metaheurísticas como programas eficientes es un proceso complejo y propenso a errores que requiere desarrolladores expertos. Aunque se han propuesto algunas herramientas de apoyo, por lo general éstas sólo automatizan tareas aisladas de este proceso. Otro desafío clave en la aplicación de metaheurísticas es la experimentación. Esto se debe a que no hay ningún método teórico general para elegir un programa metaheurístico adecuado para un problema dado, pues deben realizarse experimentos para comparar las técnicas candidatas y sus posibles variantes. Esto puede conducir a cientos de alternativas posibles que deben compararse haciendo que el diseño, la ejecución y el análisis de los experimentos sean complejos y se dilaten en el tiempo. Finalmente, los experimentos se realizan generalmente con herramientas genéricas y sin directrices respecto a las amenazas a la validez, su automatización y replicabilidad. El objetivo de esta tesis es el de reducir el costo de la aplicación de metaheurísticas para la resolución de problemas de optimización. Para tal fin, se presenta un conjunto de herramientas para apoyar la selección, configuración y evaluación de las soluciones basadas en metaheurísticas. En primer lugar, se presenta un marco de comparación, en base al cual se han estudiado las características de varios frameworks para optimización con metaheurísticas (MOFs). Esto da soporte la selección del MOF adecuado para el problema de optimización a resolver. En segundo lugar, se presenta un lenguaje de descripción experimental (SEDL), y una extensión del mismo (MOEDL), para dar soporte a la descripción de los experimentos y sus resultados, de manera sucinta, autocontenida y procesable automáticamente. En tercer lugar, se presenta un conjunto de operaciones de análisis de documentos SEDL. Entre otras, estas operaciones dan soporte a la validación automática de las amenazas potenciales a la validez, y advertir a los usuarios de SEDL y sugerir posibles soluciones. En cuarto lugar, se presenta un ecosistema software (MOSES) para dar soporte a la integración de las herramientas de metaheurísticas y de experimentación. Además, se presenta una implementación de referencia del ecosistema, incluyendo las siguientes herramientas: i) FOM, el framework desarrollado por los autores, ii) un entorno de ejecución Experimental (E3) para el análisis automatizado, la ejecución y la replicación de experimentos descritos en SEDL y MOEDL, y iii) una suite de herramientas de software en línea (STATService) que da soporte al análisis estadístico con los test más comunes en el contexto de las metaheurísticas. Para la validación de este trabajo, se ha usado MOSES para resolver dos problemas de optimización basados en búsqueda relevantes en el contexto de la ingeniería del software: la maximización de la calidad de composiciones de servicios web y las pruebas de rendimiento en el análisis de los modelos de características. Como resultado, MOSES ha disminuido el esfuerzo en la implementación y la carga de la experimentación, y se han diseñado algoritmos que mejoran el estado de la técnica para ambos problemas.Tesis Doctoral New internal and external validation indices for clustering in Big Data(2019-10-17) Luna Romera, José María; García Gutiérrez, Jorge; Martínez Ballesteros, María del Mar; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosEsta tesis, presentada como un compendio de artículos de investigación, analiza el concepto de índices de validación de clustering y aporta nuevas medidas de bondad para conjuntos de datos que podrían considerarse Big Data debido a su volumen. Además, estas medidas han sido aplicadas en proyectos reales y se propone su aplicación futura para mejorar algoritmos de clustering. El clustering es una de las técnicas de aprendizaje automático no supervisado más usada. Esta técnica nos permite agrupar datos en clusters de manera que, aquellos datos que pertenezcan al mismo cluster tienen características o atributos con valores similares, y a su vez esos datos son disimilares respecto a aquellos que pertenecen a los otros clusters. La similitud de los datos viene dada normalmente por la cercanía en el espacio, teniendo en cuenta una función de distancia. En la literatura existen los llamados índices de validación de clustering, los cuales podríamos definir como medidas para cuantificar la calidad de un resultado de clustering. Estos índices se dividen en dos tipos: índices de validación internos, que miden la calidad del clustering en base a los atributos con los que se han construido los clusters; e índices de validación externos, que son aquellos que cuantifican la calidad del clustering a partir de atributos que no han intervenido en la construcción de los clusters, y que normalmente son de tipo nominal o etiquetas. En esta memoria se proponen dos índices de validación internos para clustering basados en otros índices existentes en la literatura, que nos permiten trabajar con grandes cantidades de datos, ofreciéndonos los resultados en un tiempo razonable. Los índices propuestos han sido testeados en datasets sintéticos y comparados con otros índices de la literatura. Las conclusiones de este trabajo indican que estos índices ofrecen resultados muy prometedores frente a sus competidores. Por otro lado, se ha diseñado un nuevo índice de validación externo de clustering basado en el test estadístico chi cuadrado. Este índice permite medir la calidad del clustering basando el resultado en cómo han quedado distribuidos los clusters respecto a una etiqueta dada en la distribución. Los resultados de este índice muestran una mejora significativa frente a otros índices externos de la literatura y en datasets de diferentes dimensiones y características. Además, estos índices propuestos han sido aplicados en tres proyectos con datos reales cuyas publicaciones están incluidas en esta tesis doctoral. Para el primer proyecto se ha desarrollado una metodología para analizar el consumo eléctrico de los edificios de una smart city. Para ello, se ha realizado un análisis de clustering óptimo aplicando los índices internos mencionados anteriormente. En el segundo proyecto se ha trabajado tanto los índices internos como con los externos para realizar un análisis comparativo del mercado laboral español en dos periodos económicos distintos. Este análisis se realizó usando datos del Ministerio de Trabajo, Migraciones y Seguridad Social, y los resultados podrían tenerse en cuenta para ayudar a la toma de decisión en mejoras de políticas de empleo. En el tercer proyecto se ha trabajado con datos de los clientes de una compañía eléctrica para caracterizar los tipos de consumidores que existen. En este estudio se han analizado los patrones de consumo para que las compañías eléctricas puedan ofertar nuevas tarifas a los consumidores, y éstos puedan adaptarse a estas tarifas con el objetivo de optimizar la generación de energía eliminando los picos de consumo que existen la actualidad.Tesis Doctoral On the automated analysis of software product lines using feature models: a framework for developing automated tool support(2007) Benavides Cuevas, David Felipe; Ruiz Cortés, Antonio; Durán Toro, Amador; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosEn los últimos años, ha habido un gran empuje por parte de la comunidad investigadora en torno a una nueva línea de investigación. Se trata de las líneas de producto software. Las líneas de producto software se centran en proponer soluciones, métodos y técnicas para la producción y construcción de una serie de productos software que comparten características comunes pero que también tienen partes peculiares. De esta manera, la construcción de un nuevo producto se debería hacer partiendo de una base común de tal modo que no haya que empezar desde cero.