In the Model-Driven Software Engineering (MDSE) context, software production can be performed by defining models. Despite the advantages of this methodology, different domains require specific support tools and modeling languages, which, in turn, must be developed along with the final software. Because of this, developers face problems when applying the method. The objective of this work is twofold: 1) to identify the most critical problems when developing with this method; 2) discuss and provide possible solutions to those problems. The critical problems were identified by performing a systematic mapping, empirical studies, collaborations and interviews with specialists. It has been identified that MDSE, according to basic literature, has an excessively high abstraction level which leads to a lack of adequate processes and developer training, besides the need for modeling tools. A new method is necessary to allow developers to treat models and source-code differently. Therefore, in this thesis, the need for evolving MDSE processes is discussed. In this manner, this work introduces a new development method described as a possible concrete evolution of MDSE that defines a paradigm for software development. This method is defined along with domain specific languages, a tool-chain and sample software systems. After conducting analytic and experimental studies, it has been concluded that these applications also represent a valuable contribution for implementing service-oriented systems which can be employed in real world applications. / No contexto da Engenharia de Software Dirigida por Modelos (MDSE), a produção de software pode ser realizada por meio de definições de modelos. Apesar dos benefícios desse método de desenvolvimento, diferentes domínios exigem a especificação de linguagens de modelagem e ferramentas específicas, que, por sua vez, precisam ser desenvolvidos em conjunto com o software final. Desta forma, desenvolvedores encontram problemas ao utilizar este método. Este trabalho possui duplo objetivo: 1) identificar os problemas mais críticos deste método; 2) discutir e fornecer possíveis soluções aos problemas. A identificação de problemas foi realizada por meio de um mapeamento sistemático, estudos empíricos, colaborações e entrevistas com especialistas. Foi identificado que MDSE, de acordo com a literatura básica, possui um nível de abstração excessivamente alto, acarretando em carência de processos adequados e de treinamento de desenvolvedores que vão além de problemas de necessidade de ferramentas de modelagem. Portanto, nesta tese, discute-se a necessidade de evoluir processos de MDSE que permita aos desenvolvedores uma nova forma de tratar modelos e código-fonte. Para tanto, neste trabalho também é descrito um novo método de desenvolvimento, descrito como uma possível evolução concreta do MDSE, o qual define um paradigma para desenvolver software. Este método é exemplificado em várias aplicações dentro deste trabalho. Após conduzir estudos analíticos e experimentais, concluiu-se que estas aplicações também possibilitam uma contribuição significativa no domínio de software orientado a serviços que podem ser empregadas em software do mundo real.
Identifer | oai:union.ndltd.org:IBICT/oai:teses.usp.br:tde-09112018-102226 |
Date | 19 March 2018 |
Creators | Thiago Gottardi |
Contributors | Rosana Teresinha Vaccare Braga, Fabio Moreira Costa, Renata Pontin de Mattos Fortes, Daniel Lucredio, Paulo Cesar Masiero |
Publisher | Universidade de São Paulo, Ciências da Computação e Matemática Computacional, USP, BR |
Source Sets | IBICT Brazilian ETDs |
Language | English |
Detected Language | English |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/doctoralThesis |
Source | reponame:Biblioteca Digital de Teses e Dissertações da USP, instname:Universidade de São Paulo, instacron:USP |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0018 seconds