La Ingeniería de Líneas de Productos Software ---Software Product Line Engineering (SPLE) en inglés--- es una técnica de desarrollo de software que busca aplicar los principios de la fabricación industrial para la obtención de aplicaciones informáticas: esto es, una Línea de Productos Software ---Software Product Line (SPL)--- se emplea para producir una familia de productos con características comunes, cuyos miembros, sin embargo, pueden tener características diferenciales. Identificar a priori estas características comunes y diferenciales permite maximizar la reutilización, reduciendo el tiempo y el coste del desarrollo. Describir estas relaciones con la suficiente expresividad se vuelve un aspecto fundamental para conseguir el éxito. La Ingeniería Dirigida por Modelos ---Model Driven Engineering (MDE) en inglés--- se ha revelado en los últimos años como un paradigma que permite tratar con artefactos software con un alto nivel de abstracción de forma efectiva. Gracias a ello, las SPLs puede aprovecharse en gran medida de los estándares y herramientas que han surgido dentro de la comunidad de MDE. No obstante, aún no se ha conseguido una buena integración entre SPLE y MDE, y como consecuencia, los mecanismos para la gestión de la variabilidad no son suficientemente expresivos. De esta manera, no es posible integrar la variabilidad de forma eficiente en procesos complejos de desarrollo de software donde las diferentes vistas de un sistema, las transformaciones de modelos y la generación de código juegan un papel fundamental. Esta tesis presenta MULTIPLE, un marco de trabajo y una herramienta que persiguen integrar de forma precisa y eficiente los mecanismos de gestión de variabilidad propios de las SPLs dentro de los procesos de MDE. MULTIPLE proporciona lenguajes específicos de dominio para especificar diferentes vistas de los sistemas software. Entre ellas se hace especial hincapié en la vista de variabilidad ya que es determinante para la especificación de SPLs. Para esta vista se proporcionan mecanimos precisos de especificación, instanciación, validación y verificación. MULTIPLE permite, además, implementar procesos complejos de desarrollo de software empleando transformaciones de modelos y generación de código. La herramienta MULTIPLE ha sido utilizado en cinco casos de estudio en ámbitos tan diferentes como el desarrollo de familias de sistemas expertos, el análisis de una SPL de gran tamaño en un ambiente industrial, la bioinformática, las métricas software o las arquitecturas software.