SlideShare uma empresa Scribd logo
Estimativa de Métricas de Separação de 
Interesses em Processos de Refatoração  para 
            Extração de Aspectos

        Introdução ao Desenvolvimento de Software Orientado por Aspectos

                                                                           José Corrêa
                                                                           Leonardo Rodrigues
                                                                           Miquéias Souza
                                                                           Sérgio Souza
INTRODUÇÃO




   Orientado a Objetos:

       • Espalhamento de Código
           • Mesma implementação em várias classes
           • Localização de todos os Concerns a serem alterados
           • Difícil manutenibilidade
       • Código entrelaçado
           • Mistura de código
           • Dificuldade em entender a implementação
           • Alterar sem afetar outros interesses
   Orientado a Aspectos:

      • Modularização de interesses
      • Escalabilidade
      • Manutenibilidade
      • Reutilização de código
      • Maior produtividade
INTRODUÇÃO




   Dúvida:


                            Vale a pena migrar?

             Aplicação OO                         Aplicação OA
MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO




    Ferramenta:

    ConcernMapper
                      ConcernMetrics

    Funcionalidades
    Mapeamento lógico de interesses transversais
    Estimativa de métricas de separação de interesses




                                          Mapeamento do interesse logging usando o ConcernMetrics
MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO




    Funcionalidades:

       •   Mapeamento lógico de interesses transversais
           • Permite uma visão modularizada dos interesses transversais
           • Métodos e Atributos de interesses transversais

       •   Estimativa de métricas de separação de interesses
           • Calculo das métricas clássicas de separação de interesses

           1. Concern Diffusion over Operations (CDO)
               • MC onde ‘M’ representa os métodos e ‘c’ os interesses
                 concerns. Conta o número de métodos e ou adendos que
                 chamam os métodos em MC.
           2. Concern Diffusion over Components (CDC)
               • CC onde ‘C’ representa os componentes e ‘c’ os interesses
                 concerns. Conta o número de componentes que acessam os
                 componentes em CC. Componentes são classes (Sistema
                 OO) e classes e aspectos (Sistema OA).
MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO




    Implementação:

    Calculo de CDO e CDC:

       •   Framework ASM2 Manipulação, analise e reengenharia de bytecodes.

       Sistemas OO é direto:
          Chamadas estão incluídas fisicamente no bytecode.

       Sistemas OA exige analise:
          Identificar as chamadas que podem ser incluídas no mesmo adendo.
MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO




    Implementação:

    Calculo de CDO e CDC:

      Algoritmo
      t1.m(arg1) and t2.m(arg2), onde ti denota o alvo da chamada
      e argi denota seu argumento (i = 1 ou i = 2).

      As duas chamadas podem ser agrupadas em um mesmo adendo, usando
      os recursos de quantificação de AspectJ, quando as seguintes condições
      são simultaneamente válidas:

       1.   t1 e t2 são variáveis da mesma classe (ou mesma classe, no caso de métodos estáticos).
       2.   arg1 e arg2 representam o mesmo valor constante (seja ele, um inteiro, real, string, etc).
MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO




    Implementação:

    Calculo de CDO e CDC:

     Chamadas a start
       • Mesmo tipo (Transaction)
       • Mesmos Argumentos, valor constante (1)

    ㄨ Chamada a log
       • Diferentes argumentos (“panic” e “finished”)
ESTUDO DE CASO JSPIDER




    JSpider: (http://j-spider.sourceforge.net)

    JSpider é um robô que permite recuperar e validar páginas Web.
    Versão OO e OA (Binkley et al).

          Interesse Logging

                • Calculo de CDO.




                          Métrica CDO para o interesse logging nas versões OO e OA
ESTUDO DE CASO JSPIDER




    JSpider:(http://j-spider.sourceforge.net)




          Interesse Logging

                • Calculo de CDC.




                          Métrica CDC para o interesse logging nas versões OO e OA
ESTUDO DE CASO JSPIDER




    JSpider:(http://j-spider.sourceforge.net)

    Análise dos Resultados

          • Calculo de CDO: Diferenças de valores, por adição ou remoção de código.
          • Calculo de CDC: Sem diferenças.
Trabalhos Relacionados




     ConcernMetrics (CM) x ConcernTagger (CT):

     ConcernTagger

         • Extensão que também permite o mapeamento lógico de interesses
         transversais e elementos sintáticos. Calculando métricas como
         CDC e CDO.

         Diferenças – CM e CT

             • Identificação manual de interesses transversais. (Métodos e
             chamadas a esses métodos)

             • Calculo semi-automático

             • Não realiza estimativas de novos valores de CDO e CDC para
             “aspectização” do código OO.
Conclusão




     Conclusão:


     A ferramenta ConcernMetrics, utilizada para mapeamento de interesses
     transversais em códigos de sistemas OO, se mostrou eficiente atendendo
     a seu propósito de calcular métricas para uma possível modularização de
     interesses a ser realizada.

     Diante de analise dessas métricas, os mantenedores de software estudam
     a viabilidade de se utilizar aspectos em seus sistemas ou não.

Mais conteúdo relacionado

Semelhante a Estimativa de métricas de separação de interesses

Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
Wagner Zaparoli
 
ContextLongMethod - CBSOFT 2016 - TOOLS
ContextLongMethod - CBSOFT 2016 - TOOLSContextLongMethod - CBSOFT 2016 - TOOLS
ContextLongMethod - CBSOFT 2016 - TOOLS
Federal University of Sergipe
 
Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masiero
Maitsudá Matos
 
Programação Oritentada a Aspecto
Programação Oritentada a AspectoProgramação Oritentada a Aspecto
Programação Oritentada a Aspecto
Benicio Ávila
 
Usp Ufba Qualidade De Codigo
Usp Ufba Qualidade De CodigoUsp Ufba Qualidade De Codigo
Usp Ufba Qualidade De Codigo
Campus Party Brasil
 
Aula02.pptx
Aula02.pptxAula02.pptx
Pesquisa Operacional
Pesquisa OperacionalPesquisa Operacional
Pesquisa Operacional
André Gustavo Santos
 
Engenharia informática
Engenharia informáticaEngenharia informática
Engenharia informática
LeYa
 
Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1
marcosdcmartinsss
 
Computacao
ComputacaoComputacao
Computacao
paola muniz
 
Arquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMGArquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMG
djonatascostsa
 
Estimativa de software usando pontos de função
Estimativa de software usando pontos de funçãoEstimativa de software usando pontos de função
Estimativa de software usando pontos de função
Claudio Martins
 
TDC2016SP - Trilha Arquitetura Empresarial
TDC2016SP - Trilha Arquitetura EmpresarialTDC2016SP - Trilha Arquitetura Empresarial
TDC2016SP - Trilha Arquitetura Empresarial
tdc-globalcode
 
Visão geral da engenharia de software qualidade de software
Visão geral da engenharia de software   qualidade de softwareVisão geral da engenharia de software   qualidade de software
Visão geral da engenharia de software qualidade de software
jordanavy
 
Métricas e Visualização de Código-fonte
Métricas e Visualização de Código-fonteMétricas e Visualização de Código-fonte
Métricas e Visualização de Código-fonte
Marcilio Valois
 
Aula1 dia 22 02 2022.pdf
Aula1  dia 22 02 2022.pdfAula1  dia 22 02 2022.pdf
Aula1 dia 22 02 2022.pdf
MarcondesTiburcio
 
Pesquisa e Conceituação de Sistemas - Metodologia
Pesquisa e Conceituação de Sistemas - MetodologiaPesquisa e Conceituação de Sistemas - Metodologia
Pesquisa e Conceituação de Sistemas - Metodologia
Antonio Sallum Librelato
 
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escalDev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
Luiz Guilherme Bauer Fraga Moreira
 
Visão geral da engenharia de software qualidade de software
Visão geral da engenharia de software   qualidade de softwareVisão geral da engenharia de software   qualidade de software
Visão geral da engenharia de software qualidade de software
jordanavy
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
Milfont Consulting
 

Semelhante a Estimativa de métricas de separação de interesses (20)

Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
 
ContextLongMethod - CBSOFT 2016 - TOOLS
ContextLongMethod - CBSOFT 2016 - TOOLSContextLongMethod - CBSOFT 2016 - TOOLS
ContextLongMethod - CBSOFT 2016 - TOOLS
 
Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masiero
 
Programação Oritentada a Aspecto
Programação Oritentada a AspectoProgramação Oritentada a Aspecto
Programação Oritentada a Aspecto
 
Usp Ufba Qualidade De Codigo
Usp Ufba Qualidade De CodigoUsp Ufba Qualidade De Codigo
Usp Ufba Qualidade De Codigo
 
Aula02.pptx
Aula02.pptxAula02.pptx
Aula02.pptx
 
Pesquisa Operacional
Pesquisa OperacionalPesquisa Operacional
Pesquisa Operacional
 
Engenharia informática
Engenharia informáticaEngenharia informática
Engenharia informática
 
Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1
 
Computacao
ComputacaoComputacao
Computacao
 
Arquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMGArquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMG
 
Estimativa de software usando pontos de função
Estimativa de software usando pontos de funçãoEstimativa de software usando pontos de função
Estimativa de software usando pontos de função
 
TDC2016SP - Trilha Arquitetura Empresarial
TDC2016SP - Trilha Arquitetura EmpresarialTDC2016SP - Trilha Arquitetura Empresarial
TDC2016SP - Trilha Arquitetura Empresarial
 
Visão geral da engenharia de software qualidade de software
Visão geral da engenharia de software   qualidade de softwareVisão geral da engenharia de software   qualidade de software
Visão geral da engenharia de software qualidade de software
 
Métricas e Visualização de Código-fonte
Métricas e Visualização de Código-fonteMétricas e Visualização de Código-fonte
Métricas e Visualização de Código-fonte
 
Aula1 dia 22 02 2022.pdf
Aula1  dia 22 02 2022.pdfAula1  dia 22 02 2022.pdf
Aula1 dia 22 02 2022.pdf
 
Pesquisa e Conceituação de Sistemas - Metodologia
Pesquisa e Conceituação de Sistemas - MetodologiaPesquisa e Conceituação de Sistemas - Metodologia
Pesquisa e Conceituação de Sistemas - Metodologia
 
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escalDev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
 
Visão geral da engenharia de software qualidade de software
Visão geral da engenharia de software   qualidade de softwareVisão geral da engenharia de software   qualidade de software
Visão geral da engenharia de software qualidade de software
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 

Mais de SergioSouza

Banco de Dados Temporais - Temporal DataBase
Banco de Dados Temporais - Temporal DataBaseBanco de Dados Temporais - Temporal DataBase
Banco de Dados Temporais - Temporal DataBase
SergioSouza
 
Ubuntu 8.04 LTS 2008
Ubuntu 8.04 LTS 2008Ubuntu 8.04 LTS 2008
Ubuntu 8.04 LTS 2008
SergioSouza
 
Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]
SergioSouza
 
Dispositivos de [Entrada E SaíDa]
Dispositivos de [Entrada E SaíDa]Dispositivos de [Entrada E SaíDa]
Dispositivos de [Entrada E SaíDa]
SergioSouza
 
Uml Para Web
Uml Para WebUml Para Web
Uml Para Web
SergioSouza
 
ProteçãO Juridica Do Software
ProteçãO Juridica Do SoftwareProteçãO Juridica Do Software
ProteçãO Juridica Do Software
SergioSouza
 
Oracle EXPLICAÇÕES EM PDF
Oracle EXPLICAÇÕES EM PDFOracle EXPLICAÇÕES EM PDF
Oracle EXPLICAÇÕES EM PDF
SergioSouza
 
SISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAISSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS
SergioSouza
 
Software Aplicativo
Software AplicativoSoftware Aplicativo
Software Aplicativo
SergioSouza
 
Oracle [Metodologia]
Oracle [Metodologia]Oracle [Metodologia]
Oracle [Metodologia]
SergioSouza
 
Microsoft Surface
Microsoft SurfaceMicrosoft Surface
Microsoft Surface
SergioSouza
 

Mais de SergioSouza (11)

Banco de Dados Temporais - Temporal DataBase
Banco de Dados Temporais - Temporal DataBaseBanco de Dados Temporais - Temporal DataBase
Banco de Dados Temporais - Temporal DataBase
 
Ubuntu 8.04 LTS 2008
Ubuntu 8.04 LTS 2008Ubuntu 8.04 LTS 2008
Ubuntu 8.04 LTS 2008
 
Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]
 
Dispositivos de [Entrada E SaíDa]
Dispositivos de [Entrada E SaíDa]Dispositivos de [Entrada E SaíDa]
Dispositivos de [Entrada E SaíDa]
 
Uml Para Web
Uml Para WebUml Para Web
Uml Para Web
 
ProteçãO Juridica Do Software
ProteçãO Juridica Do SoftwareProteçãO Juridica Do Software
ProteçãO Juridica Do Software
 
Oracle EXPLICAÇÕES EM PDF
Oracle EXPLICAÇÕES EM PDFOracle EXPLICAÇÕES EM PDF
Oracle EXPLICAÇÕES EM PDF
 
SISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAISSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS
 
Software Aplicativo
Software AplicativoSoftware Aplicativo
Software Aplicativo
 
Oracle [Metodologia]
Oracle [Metodologia]Oracle [Metodologia]
Oracle [Metodologia]
 
Microsoft Surface
Microsoft SurfaceMicrosoft Surface
Microsoft Surface
 

Último

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 

Último (8)

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 

Estimativa de métricas de separação de interesses

  • 1. Estimativa de Métricas de Separação de  Interesses em Processos de Refatoração  para  Extração de Aspectos Introdução ao Desenvolvimento de Software Orientado por Aspectos José Corrêa Leonardo Rodrigues Miquéias Souza Sérgio Souza
  • 2. INTRODUÇÃO Orientado a Objetos: • Espalhamento de Código • Mesma implementação em várias classes • Localização de todos os Concerns a serem alterados • Difícil manutenibilidade • Código entrelaçado • Mistura de código • Dificuldade em entender a implementação • Alterar sem afetar outros interesses Orientado a Aspectos: • Modularização de interesses • Escalabilidade • Manutenibilidade • Reutilização de código • Maior produtividade
  • 3. INTRODUÇÃO Dúvida: Vale a pena migrar? Aplicação OO Aplicação OA
  • 4. MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO Ferramenta: ConcernMapper ConcernMetrics Funcionalidades Mapeamento lógico de interesses transversais Estimativa de métricas de separação de interesses Mapeamento do interesse logging usando o ConcernMetrics
  • 5. MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO Funcionalidades: • Mapeamento lógico de interesses transversais • Permite uma visão modularizada dos interesses transversais • Métodos e Atributos de interesses transversais • Estimativa de métricas de separação de interesses • Calculo das métricas clássicas de separação de interesses 1. Concern Diffusion over Operations (CDO) • MC onde ‘M’ representa os métodos e ‘c’ os interesses concerns. Conta o número de métodos e ou adendos que chamam os métodos em MC. 2. Concern Diffusion over Components (CDC) • CC onde ‘C’ representa os componentes e ‘c’ os interesses concerns. Conta o número de componentes que acessam os componentes em CC. Componentes são classes (Sistema OO) e classes e aspectos (Sistema OA).
  • 6. MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO Implementação: Calculo de CDO e CDC: • Framework ASM2 Manipulação, analise e reengenharia de bytecodes. Sistemas OO é direto: Chamadas estão incluídas fisicamente no bytecode. Sistemas OA exige analise: Identificar as chamadas que podem ser incluídas no mesmo adendo.
  • 7. MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO Implementação: Calculo de CDO e CDC: Algoritmo t1.m(arg1) and t2.m(arg2), onde ti denota o alvo da chamada e argi denota seu argumento (i = 1 ou i = 2). As duas chamadas podem ser agrupadas em um mesmo adendo, usando os recursos de quantificação de AspectJ, quando as seguintes condições são simultaneamente válidas: 1. t1 e t2 são variáveis da mesma classe (ou mesma classe, no caso de métodos estáticos). 2. arg1 e arg2 representam o mesmo valor constante (seja ele, um inteiro, real, string, etc).
  • 8. MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO Implementação: Calculo de CDO e CDC:  Chamadas a start • Mesmo tipo (Transaction) • Mesmos Argumentos, valor constante (1) ㄨ Chamada a log • Diferentes argumentos (“panic” e “finished”)
  • 9. ESTUDO DE CASO JSPIDER JSpider: (http://j-spider.sourceforge.net) JSpider é um robô que permite recuperar e validar páginas Web. Versão OO e OA (Binkley et al). Interesse Logging • Calculo de CDO. Métrica CDO para o interesse logging nas versões OO e OA
  • 10. ESTUDO DE CASO JSPIDER JSpider:(http://j-spider.sourceforge.net) Interesse Logging • Calculo de CDC. Métrica CDC para o interesse logging nas versões OO e OA
  • 11. ESTUDO DE CASO JSPIDER JSpider:(http://j-spider.sourceforge.net) Análise dos Resultados • Calculo de CDO: Diferenças de valores, por adição ou remoção de código. • Calculo de CDC: Sem diferenças.
  • 12. Trabalhos Relacionados ConcernMetrics (CM) x ConcernTagger (CT): ConcernTagger • Extensão que também permite o mapeamento lógico de interesses transversais e elementos sintáticos. Calculando métricas como CDC e CDO. Diferenças – CM e CT • Identificação manual de interesses transversais. (Métodos e chamadas a esses métodos) • Calculo semi-automático • Não realiza estimativas de novos valores de CDO e CDC para “aspectização” do código OO.
  • 13. Conclusão Conclusão: A ferramenta ConcernMetrics, utilizada para mapeamento de interesses transversais em códigos de sistemas OO, se mostrou eficiente atendendo a seu propósito de calcular métricas para uma possível modularização de interesses a ser realizada. Diante de analise dessas métricas, os mantenedores de software estudam a viabilidade de se utilizar aspectos em seus sistemas ou não.