“Não se pode gerenciar o que não se pode medir”.
[Tom De Marco]
“Se você não sabe para onde você quer ir, qualquer caminho você pode seguir. Se você não sabe onde você está, um mapa não vai ajudar!”.
[Roger Pressman]
O que são métricas de software?
· Uma métrica é a medição de um atributo (propriedades ou características ) de uma determinada entidade (produto, processo ou recursos). Exemplos:
· Tamanho do produto de software (ex: Número de Linhas de código)
· Número de pessoas necessárias para implementar um caso de uso
· Número de defeitos encontrados por fase de desenvolvimento
· Esforço para a realização de uma tarefa
· Tempo para a realização de uma tarefa
· Custo para a realização de uma tarefa
· Grau de satisfação do cliente (ex: adequação do produto ao propósito, conformidade do produto com a especificação)
Por que medir software?
· Entender e aperfeiçoar o processo de desenvolvimento
· Melhorar a gerência de projetos e o relacionamento com clientes
· Reduzir frustrações e pressões de cronograma
· Gerenciar contratos de software
· Indicar a qualidade de um produto de software
· Avaliar a produtividade do processo
· Avaliar os benefícios (em termos de produtividade e qualidade) de novos métodos e ferramentas de engenharia de software
· Avaliar retorno de investimento
Propriedades desejáveis de uma métrica:
· Facilmente calculada, entendida e testada
· Passível de estudos estatísticos
· Expressa em alguma unidade
· Obtida o mais cedo possível no ciclo de vida do software
· Passível de automação
· Repetível e independente do observador
· Sugere uma estratégia de melhoria
Em resumo...
· Uma métrica deve ser:
· Válida: quantifica o que queremos medir
· Confiável: produz os mesmos resultados dadas as mesmas condições
· Prática: barata, fácil de computar e fácil de interpretar
· Dois contextos para medição de software
· Processo: ex. produtividade
· Produto: ex. qualidade
Categorização de Métricas:
· Métricas diretas (fundamentais ou básicas)
Medida realizada em termos de atributos observados
(usualmente determinada pela contagem)
Ex.: custo, esforço, no. linhas de código, capacidade de memória, no. páginas, no. diagramas, etc.
· Métricas indiretas (derivadas)
Medidas obtidas a partir de outras métricas
Ex.: complexidade, eficiência, confiabilidade, facilidade de manutenção
· Métricas orientadas a tamanho
São medidas diretas do tamanho dos artefatos de software associados ao processo por meio do qual o software é desenvolvido.
Ex.: esforço, custo, no. KLOC, no. páginas de documentação, no. Erros
· Métricas orientadas por função
Consiste em um método para medição de software do ponto de vista do usuário, determinando de forma consistente o tamanho e a complexidade de um software
· Métricas de produtividade
Concentram-se na saída do processo de engenharia de software.
Ex.: no. de casos de uso/iteração.
· Métricas de qualidade
Oferecem uma indicação de quanto o software se adeqüa às exigências implícitas e explícitas do cliente.
Ex.: erros/fase
· Métricas técnicas
Concentram-se nas características do software e não no processo por meio do qual o software foi desenvolvido.
Ex.: complexidade lógica e grau de manutenibilidade
Conclusão
As atividades de medição devem ser guiadas por objetivos.Plano de Métricas detalham como criar programas de medição para atender a objetivos técnicos específicos.Tendências recentes: evolução de métricas ou modelos específicos para amplos programas organizacionais de métricas
Referencias:
1. Chou, Tim. The Hidden Cost of Software. Maio 29, 2003.
2. Negulescu, Radu. Software Engineering McGill University, 2002.
3. Métricas de Software http://www.internext.com.br/mssa/medidas.html
4. Haufe, Maria Isabel. Produtividade no Desenvolvimento de Software.
5. Métricas e Estimativas de Software – O início de um rally de regularidade.
6. Pressman, Roger. S. Engenharia de Software. Makron Books, 1995.
Thiago Cambiaghi dos Santos - 0850334
Marcelo Machado Gomes – 1801271201
Nenhum comentário:
Postar um comentário