PolymorphicView: 
Visualizando o uso do Polimorfismo 
em Projetos de Software 
Fábio Petrillo, Guilherme Lacerda, Marcelo ...
Introdução 
Polimorfismo 
 Conceito chave da OO 
 Benefícios 
 Formato de uso
Problema
Proposta: PolymorphicView
Proposta: PolymorphicView
Experimento: Processo 
1. Extrair os dados dos projetos 
2. Pesquisar todas as classes abstratas e interfaces 
3. Filtrar ...
Experimento: JUnit
Experimento: JUnit
Experimento: FindBugs
Experimento: FindBugs
Discussão 
 Apoio na localização de estruturas polimórficas 
 Forma de encontrar e detectar patterns 
 PolymorphicView ...
Conclusões e Trabalhos Futuros 
Limitações 
 Dificuldade em analisar todos os níveis de 
hierarquia 
 Em alguns casos, p...
Conclusões e Trabalhos Futuros 
Perspectivas 
 como os tipos polimórficos se relacionam com seus clientes? 
 quais padrõ...
Dúvidas?
Muito Obrigado! 
Fábio Petrillo, Guilherme Lacerda, Marcelo Pimenta, Carla Freitas 
{fspetrillo,gslacerda,mpimenta,carla}@...
[VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de Software
[VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de Software
[VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de Software
[VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de Software
Próximos SlideShares
Carregando em…5
×

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

306 visualizações

Publicada em

Apresentação do PolymorphicView no VEM2014, evento pertencente ao CBSoft2014.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
306
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Aqui vamos apresentar a dinâmica e as iterações



  • Aqui vamos apresentar a dinâmica e as iterações



  • Aqui vamos apresentar a dinâmica e as iterações



  • Aqui vamos apresentar a dinâmica e as iterações



  • Aqui vamos apresentar a dinâmica e as iterações



  • Aqui vamos apresentar a dinâmica e as iterações



  • Aqui vamos apresentar a dinâmica e as iterações



  • Aqui vamos apresentar a dinâmica e as iterações



  • Aqui vamos apresentar a dinâmica e as iterações



  • Aqui vamos apresentar a dinâmica e as iterações



  • Aqui vamos apresentar a dinâmica e as iterações



  • Aqui vamos apresentar a dinâmica e as iterações



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

    1. 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. 2. Introdução Polimorfismo  Conceito chave da OO  Benefícios  Formato de uso
    3. 3. Problema
    4. 4. Proposta: PolymorphicView
    5. 5. Proposta: PolymorphicView
    6. 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. 7. Experimento: JUnit
    8. 8. Experimento: JUnit
    9. 9. Experimento: FindBugs
    10. 10. Experimento: FindBugs
    11. 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. 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. 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. 14. Dúvidas?
    15. 15. Muito Obrigado! Fábio Petrillo, Guilherme Lacerda, Marcelo Pimenta, Carla Freitas {fspetrillo,gslacerda,mpimenta,carla}@inf.ufrgs.br INF-UFRGS/FacIn-UniRitter

    ×