A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

bartFilter – Abordagem para Mensurar Qualidade de Código Java em Ambiente de Reuso Mestranda: Aline Timóteo Orientador: Silvio Meira.

Apresentações semelhantes


Apresentação em tema: "bartFilter – Abordagem para Mensurar Qualidade de Código Java em Ambiente de Reuso Mestranda: Aline Timóteo Orientador: Silvio Meira."— Transcrição da apresentação:

1 http://www.rise.com.br 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

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

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

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.

5 http://www.rise.com.br 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!!!

6 http://www.rise.com.br 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...

7 http://www.rise.com.br 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

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

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

10 http://www.rise.com.br 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

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

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

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

14 Disciplinas ReferenciasDisciplinas IN0953Engenharia de Software IN0979Tópicos Avançados em Engenharia de Software IN1007Paradigmas de Linguagens de Programação IN1095Realidade Virtual e Multimídia IN1038Tópicos Avançados em Adm. E Integração de Sistemas IN1067Trabalho Individual

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

16 http://www.rise.com.br 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.

17 http://www.rise.com.br 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…

18 http://www.rise.com.br 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].

19 http://www.rise.com.br 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]

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

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

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

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

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

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

26 http://www.rise.com.br 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?

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

28

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.

30 http://www.rise.com.br 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/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.

31 http://www.rise.com.br 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 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.

32 http://www.rise.com.br 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


Carregar ppt "bartFilter – Abordagem para Mensurar Qualidade de Código Java em Ambiente de Reuso Mestranda: Aline Timóteo Orientador: Silvio Meira."

Apresentações semelhantes


Anúncios Google