Slides

[VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de Software

Description
1. PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de Software Fábio Petrillo, Guilherme Lacerda, Marcelo Pimenta, Carla Freitas…
Categories
Published
of 19
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  • 1. PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de Software Fábio Petrillo, Guilherme Lacerda, Marcelo Pimenta, Carla Freitas {fspetrillo,gslacerda,mpimenta,carla}@inf.ufrgs.br INF-UFRGS/FacIn-UniRitter
  • 2. Introdução Polimorfismo  Conceito chave da OO  Benefícios  Formato de uso
  • 3. Problema
  • 4. Proposta: PolymorphicView
  • 5. Proposta: PolymorphicView
  • 6. Experimento: Processo 1. Extrair os dados dos projetos 2. Pesquisar todas as classes abstratas e interfaces 3. Filtrar DIT >= 1, NOC >= 1, NAM >= 1, pelo menos um cliente 4. Construir o PolymorphicView 5. Analisar o polimorfismo através da visualização 6. Complementar a análise com o código fonte
  • 7. Experimento: JUnit
  • 8. Experimento: JUnit
  • 9. Experimento: FindBugs
  • 10. Experimento: FindBugs
  • 11. Discussão  Apoio na localização de estruturas polimórficas  Forma de encontrar e detectar patterns  PolymorphicView Perspectiva Estrutural + Perspectiva Comportamental  Compreensão de padrões arquiteturais
  • 12. Conclusões e Trabalhos Futuros Limitações  Dificuldade em analisar todos os níveis de hierarquia  Em alguns casos, precisou-se recorrer ao código
  • 13. Conclusões e Trabalhos Futuros Perspectivas  como os tipos polimórficos se relacionam com seus clientes?  quais padrões de projeto que adotam polimorfismo são encontrados?  quais anti-padrões são encontrados?  há diferenças entre o uso de polimorfismo em Java e em outras linguagens?  uso do polimorfismo é uma opção deste as primeiras versões de um tipo ou é o resultado de um processo de evolução do software, através de refatorações, por exemplo?
  • 14. Dúvidas?
  • 15. Muito Obrigado! Fábio Petrillo, Guilherme Lacerda, Marcelo Pimenta, Carla Freitas {fspetrillo,gslacerda,mpimenta,carla}@inf.ufrgs.br INF-UFRGS/FacIn-UniRitter
  • Search
    Related Search
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks