• JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
 
  Bookmark and Share
 
 
Tese de Doutorado
Documento
Autor
Nome completo
Daniel Lucredio
Unidade da USP
Área do Conhecimento
Data de Defesa
Imprenta
São Carlos,2009
Orientador
Banca examinadora
Fortes, Renata Pontin de Mattos (Presidente)
Braga, Rosana Teresinha Vaccare
Garcia, Alessandro Fabricio
Ricarte, Ivan Luiz Marques
Werner, Claudia Maria Lima
Título em português
Uma abordagem orientada a modelos para reutilização de software
Palavras-chave em português
Desenvolvimento orientado a modelos
Engenharia de Domínio
Linguagens específicas de domínio
Linhas de produtos de software
Programação generativa
Reutilzação de szoftware
Resumo em português
A reutilização de software busca aumentar a qualidade e produtividade no desenvolvimento de software, evitando a duplicação do esforço e reaproveitando o máximo possível das experiências de projetos passados. Apesar de simples, esta idéia não é facilmente colocada em prática, principalmente de maneira sistemática e controlada. Técnicas de engenharia de domínio e linhas de produtos de software buscam facilitar esta tarefa, porém ainda existem outros fatores que dificultam a adoção da prática da reutilização. Entre estes, destacam-se os problemas inerentes ao desenvolvimento de software da maneira como é conduzido atualmente, baseado em código-fonte. Estes problemas têm suas origens na crescente demanda por software cada vez mais complexo e afetam negativamente a capacidade de reutilizar software. O desenvolvimento orientado a modelos surge como uma alternativa atraente neste cenário, elevando a importância de modelos dentro do ciclo de vida do software, incorporando-os como parte integrante do produto final por meio de técnicas de modelagem e geração de código. Com isto, parte da complexidade do software fica escondida dentro dos geradores, protegendo os desenvolvedores, reduzindo a incidência de erros, aumentando a produtividade, qualidade, interoperabilidade e manutenibilidade dos artefatos produzidos. Nesta dissertação defende-se a tese de que o desenvolvimento orientado a modelos pode efetivamente aumentar e/ou melhorar a reutilização de software, e que para isso ela deve ser tratada de forma consistente dentro de um processo de engenharia de domínio. Para demonstrar esta tese, é apresentada uma abordagem orientada a modelos para reutilização de software, com atividades que guiam o desenvolvedor durante a análise, projeto e implementação do domínio. São também apresentados os resultados de uma avaliação envolvendo três estudos empíricos, realizados em ambiente acadêmico e industrial, que buscou determinar a viabilidade da abordagem e os benefícios que podem ser alcançados com a combinação de técnicas do desenvolvimento orientado a modelos e da reutilização de software. Os resultados mostram que a abordagem pode trazer diferentes benefícios para organizações de software, incluindo aumento da quantidade e qualidade da reutilização, e reduzindo a complexidade de desenvolvimento e configuração de produtos
Título em inglês
A model-driven software reuse approach
Palavras-chave em inglês
Domain engineering
Domain-Specific languages
Generative programming
Model-driven development
Software product lines
Software reuse
Resumo em inglês
Software reuse aims at increasing quality and productivity in software development, avoiding effort duplication and reusing all past experiences possible. Although it is a simple idea, it is not easy to put reuse in practice, especially in a systematic and controlled way. Domain engineering and software product lines techniques try to make this task easier, but there are many other factors that difficult the reuse adoption. Among these factors are the problems that are inherent to software development in the way it is conducted today, based on source code. These problems arise from the growing demand for increasingly complex software, negatively affecting the ability to reuse. Model-driven development is an attractive alternative in this scenario, leveraging the importance of models in the software life cycle, incorporating them as part of the final product through modeling and code generation techniques. As a result, part of the software complexity becomes hidden inside the generators, shielding the developers, reducing errors, increasing the productivity, quality, interoperability and maintainability of the produced assets. In this dissertation is presented the thesis that model-driven development can effectively increase and/or improve software reuse, and that to achieve this goal it must be treated in a consistent way inside a domain engineering process. To demonstrate this thesis, a model-driven software reuse approach is presented, with activities that guide the developer during domain analysis, design and implementation. The results of an evaluation involving three empirical studies are also presented. The studies were performed in both academic and industrial environments, and aimed at determining the viability of the approach and the benefits that can be achieved with the combination of model-driven development and software reuse techniques. The results showed that the approach can bring different benefits to software organizations, such as software reuse quantity and quality improvements, and complexity reduction in product development and configuration tasks
 
Arquivos
AVISO - A consulta a este documento fica condicionada na aceitação das seguintes condições de uso:
Este trabalho é somente para uso privado de atividades de pesquisa e ensino. Não é autorizada sua reprodução para quaisquer fins lucrativos. Esta reserva de direitos abrange a todos os dados do documento bem como seu conteúdo. Na utilização ou citação de partes do documento é obrigatório mencionar nome da pessoa autora do trabalho.
tese.pdf (3.08 Mbytes)
Data de Publicação
2009-09-02
 
Número de visitas
2197
Número de downloads
802
 
AVISO: O material descrito abaixo refere-se a trabalhos decorrentes desta tese ou dissertação. O conteúdo desses trabalhos é de inteira responsabilidade do autor da tese ou dissertação.
  • ALMEIDA, Eduardo S., et al. Domain Implementation in Software Product Lines Using OSGi [online]. In Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008), Madrid, Spain, 2008. Madrid, Spain : IEEE, 2008. p. 72-81. ISBN 978-0-7695-3091-8. [cited 2012-11-28]. Available from : <http://dx.doi.org/10.1109/ICCBSS.2008.19>
  • GARCIA, Vinicius C., et al. Toward a Code Search Engine Based on the State-of-Art and Practice [online]. In 2006 13th Asia Pacific Software Engineering Conference (APSEC'06), Bangalore, India, 2006. Bangalore, India : IEEE, 2006. p. 61-70. ISBN 0-7695-2685-3. [cited 2012-11-28]. Available from : <http://dx.doi.org/10.1109/APSEC.2006.57>
  • GARCIA, Vinicius Cardoso, et al. From Specification to Experimentation : A Software Component Search Engine Architecture. In GORTON, Ian, et al. Component-Based Software Engineering [online]. Editor. Berlin, Heidelberg : Springer Berlin Heidelberg, 2006. chap. 6. p. 82-97. Lecture Notes in Computer Science. ISBN 978-3-540-. [cited 2012-10-28]. Available from : <http://dx.doi.org/10.1007/11783565_6>
  • LISBOA, Liana Barachisio, et al. A systematic review of domain analysis tools. Information and Software Technology [online], 2010, vol. 52, n. 1, p. 1-13. ISSN 09505849. [cited 2012-11-28]. Available from : <http://dx.doi.org/10.1016/j.infsof.2009.05.001>
  • LUCRéDIO, Daniel, et al. Performing Domain Analysis for Model-Driven Software Reuse. In MEI, Hong. High Confidence Software Reuse in Large Systems [online]. Editor. Berlin, Heidelberg : Springer Berlin Heidelberg, 2008. chap. 19. p. 200-211. Lecture Notes in Computer Science. ISBN 978-3-540-. [cited 2012-10-28]. Available from : <http://dx.doi.org/10.1007/978-3-540-68073-4_19>
  • LUCRéDIO, Daniel, et al. Software reuse : The Brazilian industry scenario. Journal of Systems and Software [online], 2008, vol. 81, n. 6, p. 996-1013. ISSN 01641212. [cited 2012-11-28]. Available from : <http://dx.doi.org/10.1016/j.jss.2007.08.036>
  • LUCRéDIO, Daniel, M. FORTES, Renata P., and WHITTLE, Jon. MOOGLE : a metamodel-based model search engine. Software & Systems Modeling [online], 2012, vol. 11, n. 2, p. 183-208. ISSN 1619-1374. [cited 2012-11-28]. Available from : <http://dx.doi.org/10.1007/s10270-010-0167-7>
  • LUCRéDIO, Daniel, M. FORTES, Renata P., and WHITTLE, Jon. MOOGLE : A Model Search Engine. In CZARNECKI, Krzysztof, et al. Model Driven Engineering Languages and Systems [online]. Editor. Berlin, Heidelberg : Springer Berlin Heidelberg, 2008. chap. 22. p. 296-310. Lecture Notes in Computer Science. ISBN 978-3-540-. [cited 2012-10-28]. Available from : <http://dx.doi.org/10.1007/978-3-540-87875-9_22>
Copyright © 2011 Biblioteca Digital de Teses e Dissertações da USP. Todos os direitos reservados.