+ All Categories
Home > Technology > [VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de Software

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

Date post: 03-Jul-2015
Category:
Upload: ufrgs
View: 51 times
Download: 0 times
Share this document with a friend
Description:
Apresentação do PolymorphicView no VEM2014, evento pertencente ao CBSoft2014.
19
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
Transcript
Page 1: [VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de Software

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

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

Introdução

Polimorfismo

Conceito chave da OO

Benefícios

Formato de uso

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

Problema

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

Proposta: PolymorphicView

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

Proposta: PolymorphicView

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

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

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

Experimento: JUnit

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

Experimento: JUnit

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

Experimento: FindBugs

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

Experimento: FindBugs

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

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

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

Conclusões e Trabalhos Futuros

Limitações

Dificuldade em analisar todos os níveis dehierarquia

Em alguns casos, precisou-se recorrer aocódigo

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

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?

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

Dúvidas?

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

Muito Obrigado!

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

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

INF-UFRGS/FacIn-UniRitter

Page 16: [VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de Software
Page 17: [VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de Software
Page 18: [VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de Software
Page 19: [VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de Software

Recommended