Métricas e Estimativas de Software

3
“A medição de software se dedica a derivar um valor numérico para algum atributo de um produto ou processo de software. Comparandose esses valores uns com os outros e aos padrões que se aplicam em sua organização, você pode ser capaz de tirar conclusões. Sobre a qualidade de software ou os processos de software” [Sommerville]. Ou seja, uma métrica de software é uma medição que se refere a um software, processo ou documentação. Existem várias classificações para as métricas de software. Algumas delas estão listadas a seguir. Internas ou Externas Métricas Internas ou Estáticas: medições de um produto de software a partir de suas próprias características internas sem a necessidade de execução dos programas. Por exemplo, linhas de código, números de erros encontrados em revisões, dados coletados na documentação, etc. Métricas Externas ou Dinâmicas: são medições de um produto de software a partir do comportamento do sistema ou do seu efeito no ambiente durante a execução dos seus programas. Diretas ou Indiretas Métricas Diretas, Básicas ou Quantitativas: não dependem da medição de outros atributos. Exemplo: custo/esforço do desenvolvimento, linhas de código, velocidade de execução, quantidade de memória, número de erros, quantidade de defeitos. Concentramse na saída do processo de engenharia de software. Métricas Indiretas, Derivadas ou Qualitativas: dependem da medição de outros atributos. Exemplo: produtividade, qualidade e técnicas (funcionalidade, manutenabilidade, complexidade, eficiência, confiabilidade, modularidade, portabilidade). Indicam o quanto o software atende aos requisitos definidos pelo usuário. Orientadas a Tamanho, Função ou Pessoas Métricas Orientadas a Tamanho: baseadas no número de linhas de código produzidas (LOC) Métricas Orientadas a Função: baseadas na funcionalidade de software, tais como a Analise de Pontos de Função. Métrica Orientadas a Pessoas: indicam a forma como as pessoas devem desenvolver os programas. Objetivas ou subjetivas Objetivas: independem do autor da medição ou julgamento humano. Exemplo: quantidade de defeitos. Subjetiva: dependem do autor da medição ou julgamento humano. Exemplo: classificar a criticidade de um defeito. Produtividade, Qualidade ou Técnica Produtividade: resultado do processo de desenvolvimento

description

méticars

Transcript of Métricas e Estimativas de Software

Page 1: Métricas e Estimativas de Software

“A medição de software se dedica a derivar um valor numérico para algum atributo de um produto ou processo de software. Comparando­se esses valores uns com os outros e aos padrões que se aplicam em sua organização, você pode ser capaz de tirar conclusões. Sobre a qualidade de software ou os processos de software” [Sommerville]. Ou seja, uma métrica de software é uma medição que se refere a um software, processo ou documentação. 

Existem várias classificações para as métricas de software. Algumas delas estão listadas a seguir. 

Internas ou Externas ● Métricas Internas ou Estáticas: medições de um produto de software a partir de suas 

próprias características internas sem a necessidade de execução dos programas. Por exemplo, linhas de código, números de erros encontrados em revisões, dados coletados na documentação, etc. 

● Métricas Externas ou Dinâmicas: são medições de um produto de software a partir do comportamento do sistema ou do seu efeito no ambiente durante a execução dos seus programas. 

Diretas ou Indiretas ● Métricas Diretas, Básicas ou Quantitativas: não dependem da medição de outros 

atributos. Exemplo: custo/esforço do desenvolvimento, linhas de código, velocidade de execução, quantidade de memória, número de erros, quantidade de defeitos. Concentram­se na saída do processo de engenharia de software. 

● Métricas Indiretas, Derivadas ou Qualitativas: dependem da medição de outros atributos. Exemplo: produtividade, qualidade e técnicas (funcionalidade, manutenabilidade, complexidade, eficiência, confiabilidade, modularidade, portabilidade). Indicam o quanto o software atende aos requisitos definidos pelo usuário. 

Orientadas a Tamanho, Função ou Pessoas ● Métricas Orientadas a Tamanho: baseadas no número de linhas de código produzidas 

(LOC) ● Métricas Orientadas a Função: baseadas na funcionalidade de software, tais como a 

Analise de Pontos de Função. ● Métrica Orientadas a Pessoas: indicam a forma como as pessoas devem desenvolver 

os programas. 

Objetivas ou subjetivas ● Objetivas: independem do autor da medição ou julgamento humano. Exemplo: 

quantidade de defeitos. ● Subjetiva: dependem do autor da medição ou julgamento humano. Exemplo: classificar 

a criticidade de um defeito. 

Produtividade, Qualidade ou Técnica ● Produtividade: resultado do processo de desenvolvimento 

Page 2: Métricas e Estimativas de Software

● Qualidade: nível de exigência ou satisfação do usuário ● Técnica: funcionalidade, manutenabilidade, modularidade, complexidade, eficiência, 

confiabilidade, portabilidade. 

Exemplos de Métricas ● Fan­in e Fan­out: Fan­in é o número de funções que chamam a função X. Fan­out é o 

número de funções chamadas pela função X. ● Extensão de Código: quanto maior for o tamanho do código de um componente, mais 

complexo e propenso a erros este componente será ● Complexidade Ciclomática: complexidade de controle do programa. Utiliza grafos e a 

seguinte fórmula: ○ M=E­N+2P, onde: 

M = complexidade ciclomática E = quantidade de setas N = quantidade de nós P = quantidade de componentes conectados 

● Extensão de Identificadores: extensão média de identificadores distintos de um programa. Quanto maiores forem os identificadores, mais eles serão significativos e mais compreensível será o programa. 

● Profundidade de aninhamento das declarações condicionais: declarações IF profundamente aninhadas são difíceis de compreender e são potencialmente propensas a erros. 

● Índice de Fog: extensão média das palavras e sentenças nas documentações ● Mean Time To Failure (MTTF): tempo que o software roda sem falhar ● Densidade do defeito: quantidade de defeitos (durante um período de tempo) pelo 

tamanho do software ● Mean Time Between Failures (MTBF): tempo médio entre as falhas. Ajuda a prever 

quando ocorrerá a próxima falha.  

Questões Comentadas

FCC ­ 2012 ­ TJ/RJ ­ Analista Judiciário: Analista de Sistemas Métricas de software são formas de quantificar o esforço necessário para a construção de um sistema de software. Sobre métricas de software é correto afirmar que  

A. um indicador é parte de uma métrica.   B. custo, funcionalidade e número de erros são métricas indiretas.   C. a métrica de pontos de função só pode ser calculada com o código terminado.   D. linhas de código, esforço e memória são métricas diretas.   E. métricas de produtividade indicam o quanto o software atende aos requisitos.  

 Comentários: Revisando: 

A. Indicador é a combinação de métricas.  

Page 3: Métricas e Estimativas de Software

B. Custo e número de erros são métricas diretas. Funcionalidade, sim, é uma métrica indireta. 

C. A métrica de pontos de função pode ser calculada mesmo sem código D. Alternativa correta. E. Métricas de produtividade avaliam o processo, e não o produto.