AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva,...

12
AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre

Transcript of AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva,...

Page 1: AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre.

AspectJ in practice: π-PSF

Killer TimeAmirton Chagas, Elton Renan, José Dihego,

Natanael Silva, Thiago Alexandre

Page 2: AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre.

O Sistema

• O sistema PI-PSF visa atender as necessidades básicas de gestão de pessoal e pacientes de um Posto de Saúde do PSF (Programa Saúde da Família), além de um controle das doenças que afetam a região coberta pelo posto.

Page 3: AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre.

O Sistema

• Aproximadamente 20.000 linhas de código, em 90 classes.

• O subsistema analisado ignorou os protótipos de tela e implementações para banco de dados Objeto-Relacional, e conta com cerca de 11.000 linhas de código, distribuídas em 59 classes.

Page 4: AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre.

Concerns Identificados

Page 5: AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre.

Resumo das atividades

• Foram marcadas 10914 linhas em 22 horas de trabalho dos membros da equipe.

• Analisamos o código com a finalidade de identificar os concerns e dividimos em partes.

• Novos concerns encontrados nos trabalhos individuais foram compartilhados e discutidos.

Page 6: AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre.

Exemplo não trivial 1 – Geração de Relatório

Page 7: AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre.

Exemplo não trivial 2 - Internacionalização

Page 8: AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre.

Exemplo não trivial 3 - Conversão

Page 9: AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre.

Tangling

Page 10: AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre.

Métricas

Page 11: AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre.

Problemas e dúvidas encontrados

• Não conseguimos usar o ConcernTagger junto com SVN.

• Não conseguimos botar uma versão da base de dados no ar.

Page 12: AspectJ in practice: π-PSF Killer Time Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre.

Conclusões

• O projeto demonstrou algumas falhas de modularização.

• Definir os concerns foi mais difícil que identificá-los.