Return to search

Analysis and Improvement of a Software Production Process based on the Combination of Model Driven Development and Software Product Lines

La reutilización es un factor clave para reducir los costos y mejorar la calidad de las propiedades de productos software como la seguridad, fiabilidad o rendimiento. Siguiendo este factor surge la aproximación para el desarrollo de software de Líneas de Productos Software; esta aproximación promete, entre otras cosas, acortar el tiempo del desarrollo de los sistemas software y reducir significativamente los costes de desarrollo y mantenimiento. Por otro lado, el Desarrollo Dirigido por Modelos es un enfoque para el desarrollo de software que propone el uso de modelos en varios niveles de abstracción y transformaciones de modelo como artefactos principales. El uso de modelos como los principales artefactos en el desarrollo de software ofrece muchas ventajas a los desarrolladores, por ejemplo, las transformaciones de modelo permiten la conversión de un modelo fuente en otro modelo objetivo, el aumento del nivel de abstracción permite a los desarrolladores centrarse en el problema a resolver y restar importancia a los detalles de implementación. Ambos paradigmas, en la búsqueda de optimizar el tiempo de producción y calidad en el software generado, pueden reunir importantes ventajas en el proceso de producción de software.

La combinación de Desarrollo Dirigido por Modelos y Líneas de Producto Software para producir productos software requiere la identificación de nuevos retos y necesidades de los stakeholders involucrados. La investigación presentada en esta tesis tiene el objetivo, apoyada en varios estudios empíricos realizados en entornos industriales, de aumentar el conocimiento y realizar una serie de propuestas de mejora del proceso de desarrollo software fundamentado en la combinación de Desarrollo Dirigido por Modelos y Líneas de Producto Software. Para alcanzar
este objetivo se han estudiado cuatro dimensiones: procesado de requisitos, usabilidad, comprensión (en la configuración de productos) y gestión de errores. Cada una de estas dimensiones ha sido abordada en un estudio empírico, estudios presentados en trabajos de investigación y que forman la parte nuclear de esta tesis.

Como resultado del trabajo realizado en esta tesis se han elaborado una serie de propuestas para mejorar el proceso de desarrollo software basado en la combinación de Desarrollo Dirigido por Modelos y Líneas de Producto Software y se han generado siete trabajos de investigación. Cinco de estos trabajos han sido presentados en conferencias de relevancia en el ámbito de la Ingeniería del Software: CAiSEForum'15, CAiSE'16, ESEM'16, ISD'17 y ESEM'17. Estos resultados de investigación han sido aplicados en el proceso de desarrollo de software de placas de inducción de la división de electrodomésticos de BSH (Bosch, Siemens, Gaggenau, Neff y Balay) y están siendo utilizados para su aplicación en la actual implantación para el desarrollo de software del PLC que controla los trenes en la empresa Construcciones y Auxiliar de Ferrocarriles. / Software reuse is a key factor in reducing costs and improving the quality of software product properties such as security, reliability, or performance. Taking this factor in account, the Software Product Line approach appears for software development. This approach promises to decrease the time spent in developing software systems and to significantly reduce the costs for development and maintenance of software systems, among other things.
In addition, Model Driven Development is an approach for software development that proposes the use of models at various levels of abstraction and model transformations as main artifacts. The use of models as the main artifacts in software development offers many advantages for developers. For instance, model transformations allow the conversion of a source model into another target model. The increase in the level of abstraction allows the developers to focus on the problem to solve, subtracting importance to the implementation details. Both paradigms search to optimize the production time and quality of the generated software, and can result in important advantages in the software production process.

However, the combination of Model Driven Development and Software Product Lines to develop software products requires the identification of the challenges and needs of the involved stakeholders. The research presented in this dissertation, supported by several empirical studies carried out in industrial environments, aims to increase the knowledge in the field and to do a set of proposals to improve the software development process based on the combination of Model Driven Development and Software Product Lines. To achieve this objective, four dimensions have been studied: requirements processing, usability, comprehension (configuring software products), and error management. The dimensions have been addressed through empirical studies, presented in research papers. These papers conform the core of this dissertation.

As result of the work carried out for this dissertation, a set of proposals to improve the software development process based on the combination of Model Driven Development and Software Product Lines have been generated. Furthermore, seven research papers have been published. Five of these works have been presented at relevant conferences in the Software Engineering field: CAiSE Forum'15, CAiSE'16, ESEM'16, ISD'17 and ESEM'17. These research results have been applied in the software development process of the induction hobs from the electrical appliances division of BSH (under the brands Bosch, Siemens, Gaggenau, Neff, and Balay), and are also being used in the current implementation of the PLC that controls the trains manufactured by the Construcciones y Auxiliar de Ferrocarriles company. / La reutilització és un factor clau per a reduir els costos i millorar la qualitat de les propietats de productes programari com la seguretat, fiabilitat o rendiment. Seguint aquest factor sorgeix l'aproximació per al desenvolupament de programari utilitzant Línies de Productes Programari; aquesta aproximació promet, entre altres coses, escurçar el temps del desenvolupament dels sistemes programari i reduir significativament els costos de desenvolupament i manteniment. D'altra banda, el Desenvolupament Dirigit per Models és un enfocament per al desenvolupament de programari que proposa l'ús de models en diversos nivells d'abstracció i transformacions de model com artefactes principals. L'ús de models com els principals artefactes en el desenvolupament de programari ofereix molts avantatges als desenvolupadors, per exemple, les transformacions de model permeten la conversió d'un model font en un altre model objectiu, l'augment del nivell d'abstracció permet als desenvolupadors centrar-se en el problema a resoldre i restar importància als detalls d'implementació. Tots dos paradigmes, en la cerca d'optimitzar el temps de producció i qualitat en el programari generat, poden reunir importants avantatges en el procés de producció de programari.La combinació de Desenvolupament Dirigit per Models i Línies de Producte Programari per a produir productes programari requereix la identificació de nous reptes i
necessitats dels \ingles{stakeholders} involucrats.

La recerca presentada en aquesta tesi té l'objectiu, recolzada en diversos estudis empírics realitzats en entorns industrials, d'augmentar el coneixement i realitzar una sèrie de propostes de millora del procés de desenvolupament de programari fonamentat en la combinació de Desenvolupament Dirigit per Models i Línies de Producte Programari. Per a aconseguir aquest objectiu s'han estudiat quatre dimensions: processament de requisits, usabilitat, comprensió (en la configuració de productes) i gestió d'errors.
Cadascuna d'aquestes dimensions ha sigut abordada en un estudi empíric, estudis presentats en treballs de recerca i que formen la part nuclear d'aquesta tesi.

Com a resultat del treball realitzat en aquesta tesi s'han elaborat una sèrie de propostes per a millorar el procés de desenvolupament programari basat en la combinació de Desenvolupament Dirigit per Models i Línies de Producte Programari i s'han generat set treballs de recerca. Cinc d'aquests treballs han sigut presentats en conferències de rellevància en l'àmbit de l'Enginyeria del Programari: CAiSEForum'15, CAiSE'16, ESEM'16, ISD'17 i ESEM'17. Aquests resultats de recerca han sigut aplicats en el procés de desenvolupament de programari de plaques d'inducció de la divisió d'electrodomèstics de BSH (Bosch, Siemens, Gaggenau, Neff i Balay) i estan sent utilitzats per a la seua aplicació en l'actual implantació per al desenvolupament de programari del PLC que controla els trens en l'empresa Construcciones y Auxiliar de Ferrocarriles. / Echeverría Ochoa, J. (2018). Analysis and Improvement of a Software Production Process based on the Combination of Model Driven Development and Software Product Lines [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/107734

Identiferoai:union.ndltd.org:upv.es/oai:riunet.upv.es:10251/107734
Date10 September 2018
CreatorsEcheverría Ochoa, Jorge
ContributorsCetina Englada, Carlos, Pastor López, Oscar, Universitat Politècnica de València. Departamento de Sistemas Informáticos y Computación - Departament de Sistemes Informàtics i Computació
PublisherUniversitat Politècnica de València
Source SetsUniversitat Politècnica de València
LanguageSpanish
Detected LanguageSpanish
Typeinfo:eu-repo/semantics/doctoralThesis, info:eu-repo/semantics/acceptedVersion
Rightshttp://rightsstatements.org/vocab/InC/1.0/, info:eu-repo/semantics/openAccess

Page generated in 0.0028 seconds