Buscar

Métricas de software


Prévia do material em texto

A disciplina de métricas de software refere-se à aplicação de técnicas quantitativas para medir e avaliar diferentes aspectos do processo de desenvolvimento de software, do produto resultante e do próprio processo de software. Essas métricas são utilizadas para fornecer insights sobre a qualidade, desempenho, eficiência e outros atributos relevantes do software. Aqui estão os principais aspectos dessa disciplina:
 1. Objetivos das Métricas de Software
- Avaliação da Qualidade: Medir e monitorar a qualidade do software ao longo do ciclo de vida do desenvolvimento.
- Controle do Processo: Identificar áreas de melhoria no processo de desenvolvimento e garantir conformidade com padrões e práticas recomendadas.
- Tomada de Decisão: Fornecer informações objetivas para apoiar decisões relacionadas ao desenvolvimento, manutenção e evolução do software.
- Estimativas e Planejamento: Utilizar métricas históricas para estimar o esforço, custo e tempo necessários para projetos futuros.
- Gestão de Riscos: Identificar e mitigar potenciais riscos relacionados ao desenvolvimento e manutenção do software.
 2. Tipos de Métricas de Software
- Métricas de Processo: Avaliam o processo de desenvolvimento, como tempo de ciclo, produtividade da equipe e taxa de defeitos.
- Métricas de Produto: Avaliam características do produto de software, como tamanho, complexidade, desempenho e confiabilidade.
- Métricas de Qualidade: Avaliam a qualidade do software com base em critérios como correção, confiabilidade, usabilidade e manutenibilidade.
- Métricas de Projeto: Avaliam o design e a arquitetura do software, como coesão, acoplamento e conformidade com padrões de projeto.
- Métricas de Teste: Avaliam a eficácia dos testes de software, incluindo cobertura de código, taxa de falhas e eficiência dos testes.
 3. Métodos de Coleta de Métricas
- Métricas Estáticas: Calculadas a partir do código-fonte ou da documentação do software sem a necessidade de execução do programa.
- Métricas Dinâmicas: Obtidas através da execução do software, como tempo de execução, uso de recursos e resultados de testes.
- Métricas Subjetivas: Coletadas por meio de avaliações humanas, como revisões de código, pesquisas de satisfação do usuário e análises de usabilidade.
 4. Ferramentas e Técnicas de Métricas de Software
- Ferramentas de Análise Estática: Como SonarQube, PMD, Checkstyle, que automatizam a análise do código-fonte e fornecem métricas relacionadas à qualidade.
- Ferramentas de Análise Dinâmica: Como JUnit, Selenium, que automatizam a execução de testes e fornecem métricas de cobertura e eficácia dos testes.
- Frameworks de Gerenciamento de Métricas: Como MetricsGrimoire, que ajudam a coletar, armazenar e visualizar métricas de software de várias fontes.
 5. Desafios e Considerações Éticas
- Seleção Adequada de Métricas: Escolher métricas relevantes e significativas para o contexto e os objetivos do projeto.
- Interpretação Correta: Evitar interpretações equivocadas ou simplistas das métricas, considerando o contexto e outras variáveis.
- Viés e Manipulação: Garantir a integridade e objetividade das métricas, evitando manipulações para atender a interesses pessoais ou organizacionais.
- Privacidade e Segurança: Proteger informações sensíveis coletadas durante a medição e análise de métricas de software.
 6. Benefícios das Métricas de Software
- Melhoria Contínua: Identificar áreas de melhoria no processo de desenvolvimento e no produto de software.
- Tomada de Decisão Informada: Basear decisões relacionadas a projetos de software em dados objetivos e quantitativos.
- Avaliação da Qualidade: Monitorar a qualidade do software ao longo do tempo e avaliar o impacto de mudanças e melhorias.
- Estimativas Precisas: Utilizar métricas históricas para estimar com maior precisão o esforço, custo e tempo necessários para projetos futuros

Mais conteúdos dessa disciplina