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

Post on 03-Jul-2015

51 views 0 download

description

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

transcript

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

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. FiltrarDIT >= 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

Experimento: JUnit

Experimento: JUnit

Experimento: FindBugs

Experimento: FindBugs

Discussão

Apoio na localização de estruturas polimórficas

Forma de encontrar e detectar patterns

PolymorphicViewPerspectiva Estrutural + Perspectiva Comportamental

Compreensão de padrões arquiteturais

Conclusões e Trabalhos Futuros

Limitações

Dificuldade em analisar todos os níveis dehierarquia

Em alguns casos, precisou-se recorrer aocódigo

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ãoencontrados?

quais anti-padrões são encontrados?

há diferenças entre o uso de polimorfismo em Java e em outraslinguagens?

uso do polimorfismo é uma opção deste as primeiras versões deum tipo ou é o resultado de um processo de evolução dosoftware, através de refatorações, por exemplo?

Dúvidas?

Muito Obrigado!

Fábio Petrillo, Guilherme Lacerda, Marcelo Pimenta, Carla Freitas

{fspetrillo,gslacerda,mpimenta,carla}@inf.ufrgs.br

INF-UFRGS/FacIn-UniRitter