1 / 32

bartFilter – Abordagem para Mensurar Qualidade de Código Java em Ambiente de Reuso

bartFilter – Abordagem para Mensurar Qualidade de Código Java em Ambiente de Reuso. Mestranda: Aline Timóteo Orientador: Silvio Meira C.E.S.A.R. - Recife Center for Advanced Studies and Systems UFPE – Federal University of Pernambuco alt@cin.ufpe.br. Sumário. Motivação

alayna
Download Presentation

bartFilter – Abordagem para Mensurar Qualidade de Código Java em Ambiente de Reuso

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. bartFilter – Abordagem para Mensurar Qualidade de Código Java em Ambiente de Reuso Mestranda: Aline Timóteo Orientador: Silvio Meira C.E.S.A.R. - Recife Center for Advanced Studies and Systems UFPE – Federal University of Pernambuco alt@cin.ufpe.br http://www.rise.com.br

  2. Sumário • Motivação • Proposta de Trabalho • Atividades • Disciplinas • Métricas de Código: Survey • Analise de Ferramentas • Calendário http://www.rise.com.br

  3. Motivação http://www.rise.com.br

  4. Reuso • O que é reuso? • [Basili, 1991; Frakes, 1994] [Kruger, 1992] Reuse is a process of creating software systems from existing software rather than building software system from scratch. http://www.rise.com.br

  5. Benefícios do Reuso [Basili, 1996] • Qualidade • Produtividade • Confiabilidade • Redução de Esforço • Trabalho redundante e tempo de desenvolvimento • Time-to-market • Documentação • Custo de manutenção • Tamanho da equipe Reuse é uma vantagem competitiva!!! http://www.rise.com.br

  6. Instalando um Programa de Reuso • Modelo de Griss [Griss, 1994] • Níveis de reuso • Modelo de Sametinger [Sametinger, 1997] • Análise de domínio, projeto piloto, Institucionalização • Pontos comuns: • Ambiente de suporte a reuso • Repositórios para assets, ferramentas de busca e recuperação, ferramentas para o controle de versão... http://www.rise.com.br

  7. Ferramentas para Busca e Recuperação de Assets [Garcia, 2006] • CodeFinder, Agora, CLARiFi, InteliZap, Strathcona, Bart ... • Eficiência na busca e recuperação de assets • Busca por palavras, contexto, semântica • Comunicação com diferentes tipos de repositório • Deve estar preparada para dar suporte nas diversas fases do desenvolvimento • Código, documentos, modelos http://www.rise.com.br

  8. O Problema • Possuir repositorio não garante reuso! • Not Invented Here (NIH) [Frakes, 1995] • Como analisar a qualidade dos artefatos armazenados no repositório? http://www.rise.com.br

  9. Proposta de Trabalho http://www.rise.com.br

  10. Proposta • Basic Asset Retrieval Tool (B.A.R.T.) [Santos, 2006] • Ferramenta para busca e recuperação de ativos em sistemas de controle de versão de software • O objetivo do B.A.R.T. é auxiliar o processo de desenvolvimento de software • Diminuindo o tempo de análise e implementação, aumentando a qualidade, através do acesso facilitado a artefatos reutilizáveis http://www.rise.com.br

  11. Proposta bartFilter Qualidade de Código Métricas + Atributos de Qualidade http://www.rise.com.br

  12. Proposta bartFilter exemplo http://www.rise.com.br

  13. Atividades http://www.rise.com.br

  14. Disciplinas http://www.rise.com.br

  15. Métricas de Código: Survey Software metrics is a method to quantify attributes in software processes, products and projects. [Daskalantonakis, 1992] http://www.rise.com.br

  16. Motivação para Metricas de Software • Segundo [Sommerville, 2003] • Encontrar um valor numérico para quantificar atributos de produtos ou processos de software. • Comparar estes valores entre eles ou com valores obtidos em outros projetos da organização. • A partir destes dados obter conclusões sobre a qualidade de produtos e processos. http://www.rise.com.br

  17. Métricas de Código : Survey • Antes 1991: Métricas Baseadas em Complexidade • Produtividade, esforço, manutenabilidade… • Depois 1992: Metricas Baseadas em Conceitos de Orientação a Objetos • Maturidade das tecnicas de Engenharia de Software • Uso efetivo do paradigma OO • Produtividade, esforço, manutenabilidade, acoplamento, coesão, herança… http://www.rise.com.br

  18. Antes 1991: Métricas Baseadas em Complexidade • Cyclomatic Complexity [McCabe, 1976] • Halstead Metric [Halstead, 1977] • Outras métricas de complexidade [Yin, 1978; McClure, 1978;Woodfield, 1980; Henry, 1981] • Relação entre métricas de complexidade e manutenção [Kafura, 1987]. • Relação entre métricas de complexidade e esforço de desenvolvimento [Lind, 1989]. • Relação entre a métrica de McCabe e a produtividade durante a manutenção do software [Gill, 1991]. http://www.rise.com.br

  19. Depois 1992: Metricas Baseadas em Conceitos de Orientação a Objetos • Chidamber and Kemerer Metrics [Chidamber, 1994] • Lorenz and Kidd Metrics [Lorenz, 1994] • Algumas outras métricas criadas [Brito, 1994; Briand, 1997; Harrison, 1998, Chatzigeorgiou, 2003] • Alguns trabalhos analizando as métricas foram publicados [Mayer, 1999; Schneidewind, 1999; Aalshayeb, 2003; Subramanyam, 2003] • Alguns trabalhos sobre validação de métricas foram publicados [Basili, 1996; Briand 1999; Emam, 2001] http://www.rise.com.br

  20. Timeline http://www.rise.com.br

  21. Analise de Ferramentas • Metodologia • Passo 1: Selecionar métricas e atributos de qualidade • Passo 2: Aplicar o GQM [GQM, 1994] (Goal, Question, Metrics) nas métricas e atributos de qualidade selecionados • Passo 3: Selecionar ferramentas para coleta das métricas • Passo 4: Coletar as métricas nos projetos • Passo 5: Analisar os resultados http://www.rise.com.br

  22. Passo 1: Selecionar métricas e atributos de qualidade http://www.rise.com.br

  23. Passo 2: Aplicar o GQM nas métricas e atributos de qualidade selecionados http://www.rise.com.br

  24. Passo 3: Selecionar ferramentas para coleta das métricas • Metrics • Jdepend • Javancss • Refactorit • JHawk Metrics • Coverlipse • Burn http://www.rise.com.br

  25. Passo 4: Coletar as métricas nos projetos http://www.rise.com.br

  26. Passo 5: Analisar os resultados • Definir guia para análise das métricas • Rever relacionamento de atributos e métricas • n para m e não 1 para n. • Representação das métricas • Qual a melhor forma de representar os resultados? Quais os tipos de gráficos possíveis? http://www.rise.com.br

  27. Calendário http://www.rise.com.br

  28. http://www.rise.com.br

  29. Referências • [Alshayeb, 2003] Alshayeb, M., Li, M.; (2003), "An Empirical Validation of Object-Oriented Metrics in Two Different Iterative Software Processes", IEEETransactions on Software Engineering archive, Volume 29, page(s): 1043 - 1049. • [Basili, 1991] Basili, V.R., Rombach, H. D.; (1991), “Support for Comprehensive Reuse”, Software Engineering Journal, Special issue on software process and its support, Volume 06, page(s): 306-316. • [Basili, 1996] Basili, V. R., Briand, L. C., Melo, W. L.; (1996), “A Validation of Object-Oriented Design Metrics as Quality Indicators”, IEEE Transactions on Software Engineering, Volume 22, page(s): 751-761, Piscataway, NJ, USA. • [Briand, 1997] Briand, L., Devanbu, W., Melo W.; (1997), "An investigation into coupling measures for C++", 19th International Conference on Software Engineering, page(s): 412-421, Boston, USA. • [Bauer, 1993] D. Bauer, A Reusable Parts Center , IBM Systems Journal, Vol. 32, No. 04, June, 1993, pp. 620-624. • [Briand, 1999] Briand, L.C., Morasca, S., Basili, V.R.; (1999), "Defining and validating measures for object-based high-level design", Software Engineering, IEEE Transactions, Volume 25, page(s): 722-743. • [Brito, 1994] Brito, Abreu, F., Carapuça, R.; (1994), "Object-Oriented Software Engineering: Measuring and controlling the development process", 4th Interntional Conference on Software Quality, Mc Lean, VA, USA. • [Chatzigeorgiou, 2003] Chatzigeorgiou, A.; (2003), "Mathematical Assessment of Object-Oriented Design Quality", IEEE Transactions on Software Engineering, Volume 29, page(s): 1050-1053. • [Chidamber, 1994] Chidamber, S. R., Kemerer, C. F.; (1994), "A Metrics Suite for Object Oriented Design", IEEE Transactions on Software Engineering, Volume 20, page(s): 476-493, Piscataway, USA. • [Daskalantonakis, 1992] Daskalantonakis, M. K.; (1992), “A Pratical View of Software Measurement and Implementation Experiences Within Motorola”, IEEE Transactions on Software Engineering, Volume 18, page(s): 998 – 1010. http://www.rise.com.br

  30. Referências • [Emam, 2001] Emam, K. E., Benlarbi, S., Goel, N., Rai, S. N.; (2001), "The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics", IEEE Transaction on Software Engineering, Volume 27, page(s): 630-650. • [Frakes, 1994] Frakes, W. B., Isoda, S.; (1994), “Success Factors of Systematic Reuse”, IEEE Software, Volume 11, page(s): 14-19. • [Garcia, 2006] Garcia, V. C., Lucrédio, D., Durão, F. A., Almeida, E. S. d., Fortes, R. P. d., Meira, S. R. d. L.; (2006), "From Specification to Experimentation: A Software Component Search Engine Architecture", the 9th International Symposium on Component-Based Software Engineering (CBSE), Lecture Notes in Computer Science, Springer-Verlag, Sweden. • [Gill, 1991] Gill, G. K., Kemerer, C. F.; (1991), "Cyclomatic Complexity Density and Software Maintenance Productivity", IEEE Transactions on Software Engineering, page(s):1284-1288. • [GQM, 1994] accessible in: https://www.goldpractices.com/practices/gqm/ • [Griss, 1994] Griss, M. L.; (1994), “Software reuse experience at Hewlett-Packard”, Proceedings of the 16th international conference on Software engineering, page(s): 270, Sorrento, Italy. • [Halstead, 1977] Halstead, M.H.; (1977), “Elements of Software Science”, page(s): 128, New York, USA. • [Harrison, 1998] Harrison, R., Counsell, S., Nithi, R.; (1998), "Coupling Metrics for Object-Oriented Design", 5th International Software Metrics Symposium Metrics, page(s): 150-156. • [Henry, 1981] Henry, S., Kafura, D.; (1981), "Software Structure Metrics Based on Information Flow", Software Engineering, IEEE Transactions, page(s): 510-518. • [Lind, 1989] Lind, R. K., Vairavan, K.; (1989), "An Experimental Investigation of Software Metrics and Their Relationship to Software Development Effort", IEEE Transactions on Software Engineering, page(s): 649-653, Piscataway, NJ, USA. • [Lorenz, 1994] Lorenz M. and Kidd J.; (1994), "Object-Oriented Software Metrics: A Practical Guide", Prentice Hall, Englewood Cliffs, New Jersey, USA. • [Mayer, 1999] Mayer, T., Hall, T.; (1999), "A Critical Analysis of Current OO Design Metrics", Software Quality Journal, Volume 8, page(s): 97-110. • [McCabe, 1976] McCabe, T. J.; (1976) “A Complexity Measure”. IEEE Transactions of Software Engineering, Volume SE-2, page(s): 308-320. http://www.rise.com.br

  31. Referências • [McClure, 1978] McClure, C. L.; (1978), "A Model for Program Complexity Analysis", 3rd International Conference on Software Engineering, page(s): 149-157, Piscataway, NJ, USA. • [Pressman, 1997] Pressman, R. S.; (1997), "Software engineering a practitioner's approach", 4th.ed, McGraw-Hill, page(s): 852, New York, USA. • [Kafura, 1987] Kafura, D., Reddy, G.; (1987), "The Use of Software Complexity Metrics in Software Maintenance", IEEE Transactions on Software Engineering archive, Volume 13 , page(s): 335-343, Piscataway, NJ, USA. • [Krueguer, 1992] Krueger, C. W.; (1992), “Software Reuse” , ACM Computing Surveys, Volume 24, page(s): 131-183. • [Sametinger, 1997] Sametinger, J.; (1997), “Software Engineering with Reusable Components”, Springer Verlag, page(s): 275. • [Santos, 2006] Santos, E. C. R.; Durão, F.A.; Martins, A. C.; Mendes, R.; Melo, C. A.; Melo, B. J. M.; Garcia, V. C.; Almeida, E. S.; Meira, S. R. L.; (2006), “Towards an Effective Context-Aware Proactive Asset Search and Retrieval Tool”, in the Sixth Workshop on Component-Based Development (WDBC), Recife, Brazil. • [Schneidewind, 1999] Schneidewind, N.F.; (1999), "Measuring and evaluating maintenance process using reliability, risk, and test metrics", Software Engineering, IEEE Transactions, Volume 25, page(s):769-781. • [Sommerville, 2004] Sommerville, I.; (2004), “Engenharia de Software”, Editora Addison Wesley, 6º Edição, São Paulo – SP. • [Subramanya, 2003] Subramanya, R., Krishnan, M. S.; (2003), "Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implication for Software Defects", IEEE Transactions on Software Engineering, Volume 29, page(s): 297-310. • [VanDoren, 1997] VanDoren, E., Sciences, k., Springs, C.; (1997), "Cyclomatic Complexity", Web Publication, access in: http://www.sei.cmu.edu/str/descriptions/cyclomatic_body.html • [Woodfield, 1980] Woodfield, N.; (1980), "Enhanced effort estimation by extending basic programming models to include modularity factors", ACM publication. • [Yin, 1978] Yin, B. H., Winchester, J. W.; (1978), "The establishment and use of measures to evaluate the quality of software designs", Software quality assurance workshop on Functional and performance, page(s): 45-52, New York, NY, USA. http://www.rise.com.br

  32. Dúvidas, comentários e sugestões Aline Timóteo C.E.S.A.R. - Recife Center for Advanced Studies and Systems UFPE – Federal University of Pernambuco alt@cin.ufpe.br http://www.rise.com.br

More Related