sexta-feira, 16 de outubro de 2015

Code Metrics - Visual Studio


Pesquisei um pouco sobre métricas de software C# utilizando o próprio visual studio e consegui alguns resultados interessantes.
O próprio Visual Studio gera algumas métricas que podem ser interessantes para o nosso artigo, como por exemplo:
  • Profundidade de herança;
  • Acoplamento da classe;
  • Linhas de código;
  • Complexidade do código;
Abaixo segue 2 links que encontrei onde explica detalhadamente os resultados das métricas geradas pelo Visual Studio:
Peguei como exemplo um projeto que estou desenvolvendo e gerei as métricas. Os resultados estão nesta planilha que compartilhei em nosso dropbox:



quinta-feira, 15 de outubro de 2015

Livro sobre engenharia de software experimental


Empirical Research in Software Engineering
Concepts, Analysis, and Applications

 

 
Escrito por um dos principais pesquisadores em engenharia de software experimental, o livro descreve os passos necessários para realizar a pesquisa empírica. Ele explica como planejar e experiências de projeto, realizar revisões sistemáticas e estudos de caso, e analisar os resultados produzidos pelos estudos empíricos.
O livro apresenta conceitos de pesquisa empírica com exercícios, exemplos e estudos de casos da vida real, tornando-o adequado para um curso sobre engenharia de software experimental. O autor discute o processo de desenvolvimento de modelos preditivos, como previsão de defeitos e predição  de mudança, em dados recolhidos a partir de repositórios de código-fonte. Ele também abrange a aplicação de técnicas de aprendizado de máquina em engenharia de software empírica, incluindo diretrizes para publicação e comunicação de resultados, e apresenta ferramentas de software populares para a realização de estudos empíricos.

 

Sumário de ferramentas de análise de código fonte

Eis algumas ferramentas para cálculo de métricas de software (MALHOTRA, 2015)



MALHOTRA, Ruchika. Empirical Research in Software Engineering: Concepts, Analysis, and Applications. CRC Press, 2015.

quarta-feira, 7 de outubro de 2015

Contribuições de Fabrício e outras que encontrei:

Satisfação e Motivação: Perspectiva de profissionais de TI
Título: Satisfaction and Motivation: IT Practitioners' Perspective
http://dl.acm.org/citation.cfm?id=2439532.2439536&coll=DL&dl=GUIDE&CFID=719128113&CFTOKEN=71422406

A relação entre os modelos de personalidade e tarefas de desenvolvimento em engenharia de software
Título: The relationship of personality models and development tasks in software engineering
http://dl.acm.org/citation.cfm?id=2599990.2600012&coll=DL&dl=GUIDE&CFID=719128113&CFTOKEN=71422406

Tipos de personlaidade em Engenharia de software
Título: Personality Types in Software Engineering
http://ir.lib.uwo.ca/cgi/viewcontent.cgi?article=1005&context=electricalpub

Relação entre a personalidade, processos e características das tarefas da equipe com a satisfação no trabalho e quality de software
Título: How do personality, team processes and task characteristics relate to job satisfaction and software quality.pdf
http://dl.acm.org/citation.cfm?id=1480571

Uma avaliação empírica da influência da personalidade humana em testes de software exploratório
Título: An empirical evaluation of the influence of human personality on exploratory software testing
http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5383088&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5383088

Uma investigação empírica de traços da personalidade de testadores de softwares
Título: An Empirical Investigation of Personality Traits of Software Testers.pdf
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7166081&newsearch=true&queryText=An%20Empirical%20Investigation%20of%20Personality%20Traits%20of%20Software%20Testers

Importa a pesonalidade?: uma análise da capacidade de revisão de código
Título: Does personality matter- an analysis of code-review ability.pdf
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5350520&newsearch=true&queryText=Does%20personality%20matter-%20an%20analysis%20of%20code-review%20ability.pdf

Investigando os efeitos de traços de personalidade sobre a programação em pares em um ambiente de ensino superior através de uma família de experimentos
Título: Investigating the effects of personality traits on pair programming in a higher education setting through a family of experiments.pdf
http://link.springer.com/article/10.1007%2Fs10664-012-9238-4

Ligações entre as personalidades, pontos de vista e atitudes de engenheiros de software
Título: Links between the personalities, views and attitudes of software engineers
http://dl.acm.org/citation.cfm?id=1767504

Tipos de personalidade em engenharia de software
Título: Personality Types in Software Engineering
http://dl.acm.org/citation.cfm?id=766410

Grupo de Trabalho em engneharia de software: personalidade, padrões e desempenho
Título: Software engineering group work- personality, patterns and performance
http://dl.acm.org/citation.cfm?id=1796900.1796921&coll=DL&dl=GUIDE&CFID=719128113&CFTOKEN=71422406

O uso do MBTI (Myer-Briggs Type Indicator) em engenharia de software
MBTI é um instrumento utilizado para identificar características e preferências pessoais, criado por Katharine Cook Briggs e Isabel Briggs Myers
Título: The use of MBTI in Software Engineering
http://oro.open.ac.uk/24433/7/EBAA5796.pdf

Conhecendo a personalidade do Engenheiro de Software para melhorar o desenvolvimento de software
Título: Knowing Software Engineer's Personality to Improve Software Development
http://www.scitepress.org/DigitalLibrary/Index/DOI/10.5220/0003446300990104

Os cinco grandes fatores de personalidade e desempenho da equipe: implicações para a seleção bem sucedida de equipes de design de produto
Título: The big five personality factors and team performance- implications for selecting successful product design teams
http://www.sciencedirect.com/science/article/pii/S0923474897000106

Estudo empírico de como a personalidade, processos e características das tarefas da equipe podem ser relacionadas com a satisfação e qualidade de software
Título: Empirical study of how personality, team processes and task characteristics relate to satisfaction and software quality
http://dl.acm.org/citation.cfm?id=1414004.1414056&coll=DL&dl=GUIDE&CFID=719128113&CFTOKEN=71422406

A relação entre a personalidade do Gerente de Projetos e o sucesso de projetos de desenvolvimento de software
Título: Building the linkage between project managers' personality and success of software projects
http://dl.acm.org/citation.cfm?id=1671248.1671295&coll=DL&dl=GUIDE&CFID=719128113&CFTOKEN=71422406

Título: How does project managers' personality matter?: building the linkage between project managers' personality and the success of software development projects
http://dl.acm.org/citation.cfm?id=1639950.1640049&coll=DL&dl=GUIDE&CFID=719128113&CFTOKEN=71422406

Um estudo quasi-experimental sobre a influência da personalidade e do clima da Equipe no desenvolvimento de software
Título: A quasi-experimental study on the influence of personality and team climate in software development
http://dl.acm.org/citation.cfm?id=2592841.2592893&coll=DL&dl=GUIDE&CFID=719128113&CFTOKEN=71422406

Modelo formal de atribuição de recursos humanos para as equipes em projetos de software
Título: Formal model for assigning human resources to teams in software projects
http://dl.acm.org/citation.cfm?id=1937186.1937322&coll=DL&dl=GUIDE&CFID=719128113&CFTOKEN=71422406


Analysis of non technical skills for ICT profiles
(Análise de habilidades não técnicas para perfis de TI)

O artigo é mais voltado para a área de RH e fala sobre a importância da avaliação de habilidades não técnicas na área de TIC. Foram analisadas mais de 3.000 ofertas de emprego na área de TIC publicadas na Espanha.

Concluiu-se que os perfis de competências transversais (que não está relacionado à parte técnica do cargo) são diferentes para cada caso e que estes dados devem orientar as exigências para o desenvolviemnto da carreira do profissional de TIC.

http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5556608&newsearch=true&queryText=profile%20professional%20ict
Encontrei esse Livro: "Avaliação de desempenho com foco em competência"

Ele é mais direcionado à remuneração, mas tem pontos que podem ser analisados.

sexta-feira, 2 de outubro de 2015

Ferramentas Métricas de Software


Comecei uma pesquisa sobre as ferramentas existentes utilizadas para métricas de software e pelo que analisei o sourceminer é a ferramenta mais utilizada pela comunidade e dela as funcionalidade que podemos utilizar são: 

  • Polymetric;
  • TreeMap;
  • Dependency;
Encontrei algumas outras ferramentas como a JMetric e Crab (Kalibro). A primeira é um plugin para eclipse, já a segunda foi integrada por padrão com a ferramenta Analizo, que também faz parte do projeto Mezuro. Todas as informações sobre os projetos estão concentradas em http://softwarelivre.org/mezuro e especificamente sobre a Kalibro em http://softwarelivre.org/mezuro/kalibro.Existe um artigo chamado "Crab: Uma Ferramenta de Configuração e Interpretação de Métricas de Software para Avaliação de Qualidade de Código∗" que nele mostra o funcionamento da ferramenta e o que ela pode oferecer.


Link do artigo:


http://ccsl.ime.usp.br/files/Crab_PauloMeirelles_artigoSBES2009_Final.pdf


Links das ferramentas:


http://sourceforge.net/projects/jmetric/


http://ccsl.ime.usp.br/pt-br/kalibro

http://www.sourceminer.org/