Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo
Mtrica um conjunto de medidas. Medio existe em qualquer processo de construo de qualquer coisa. A medio realizada no apenas na Engenharia de Software. fundamental para qualquer atividade, principalmente de engenharia. Seu propsito avaliar alguma coisa. A partir dela, podemos ter o entendimento da eficcia de algumas situaes, como do processo de software. Por exemplo, para avaliar se o processo pelo qual uma empresa produz software bom ou ruim, como se faz? O CMM um modelo para avaliar a qualidade do processo. Ele se baseia em medidas como tempo, nmero de erros, de linhas de cdigo, de manutenes, etc., para saber se o processo est funcionando bem. No possvel avaliar algo sem alguma medio. Os processos que esto no nvel mximo do CMM tm um melhoramento contnuo, o que significa que eles so constantemente medidos. As mtricas so aqui quantitativas (nmeros). Medidas de qualidade e medidas de produtividade so extradas do processo de software. A medio, alm de ajudar na avaliao do processo de software, ajuda ainda nas estimativas, por exemplo, para estimar quanto tempo necessrio para a produo de um sistema. Atualmente erra-se muito nessas estimativas por no se ter muito conhecimento ou medio do processo. Com a medio, aperfeioamentos reais podem ser conseguidos ao longo do tempo. Ento, as razes para medir processos, produtos e recursos de software podem ser:
Um engenheiro de software realiza medidas e desenvolve mtricas de modo a obter indicadores. Medida um valor real, quantidade, dimenso, capacidade ou tamanho de algum atributo. Ex. nmero de erros encontrados. Mtrica um conjunto de medidas tentando obter algum sentido. Ex. erros encontrados por pessoa-hora empregada. Traz alguma informao que pode ser til.
Indicador uma mtrica, ou conjunto de mtricas, que fornece compreenso de um processo de software, de um projeto de software ou do produto propriamente dito. Ex. comparando duas mtricas, chega-se a uma concluso que permite embasar uma tomada de deciso.
Exemplos
1. O que medida, mtrica e indicador? Vide acima. 2. Defina duas medidas, uma mtrica e um indicador para avaliar um carro. Medidas: potncia, peso bruto; Mtrica: potncia por peso bruto; Indicador: comparando-se a potncia por peso bruto de dois carros, pode-se concluir qual mais veloz. 3. O que so mtricas do processo? E do projeto? Qual a principal diferena entre elas? Mtricas do processo e do projeto de software so medidas quantitativas que permitem ao pessoal de software ter idia da eficcia do processo de software. Indicadores de projeto permitem organizao de engenharia de software ter idia da eficcia de um determinado processo existente, enquanto os indicadores de processo tentam identificar problemas que atingem a produo de todos os projetos na empresa.
A medio fundamental para qualquer atividade de engenharia. A medio nos permite obter entendimento nos dando um mecanismo para avaliao objetiva. A medio pode ser aplicada ao processo de software, com o objetivo de melhor-lo continuamente. Mtricas do processo e do projeto de software so medidas quantitativas que permite ao pessoal de software ter idia da eficcia do processo de software.
o
Com medies, as tendncias (boas ou ms) podem ser detectadas, melhores estimativas podem ser feitas e aperfeioamentos reais podem ser conseguidos ao longo do tempo. H quatro razes para medir processos, produtos e recursos de software: para caracterizar, para avaliar, para prever ou para aperfeioar.
Uma medida fornece uma indicao quantitativa da extenso, quantidade, dimenso, capacidade ou tamanho de algum atributo de um produto, ou de um processo. A IEEE define mtricas como medida quantitativa de grau em que um sistema, componente ou processo possui um determinado atributo. Quando dados de um nico ponto so coletados (por exemplo, quantidade de erros descobertos na reviso de um nico mdulo, pessoas-horas gastas na reviso de um nico mdulo, etc...), uma medida estabelecida. Um medio ocorre como resultado da coleta de um ou mais pontos. Uma mtrica de software relaciona as medidas individuais de alguma forma (por exemplo, um nmero mdio de erros encontrados por reviso ou um nmero mdio de erros encontrados por pessoa-hora, emprega nas revises). Um engenheiro de software realiza medidas e desenvolve mtricas de modo a obter indicadores. Um indicador uma mtrica, ou combinao de mtricas, que fornece compreenso de um processo de software, de um projeto de software, ou do produto propriamente dito.
Exemplo:
Quatro equipes de software esto trabalhando em um grande projeto de software. Cada equipe precisa conduzir revises de projeto, mas pode selecionar o tipo de reviso que ir usar. Pelo exame da mtrica, erros encontrados por pessoa-hora empregada, o gerente de projeto nota que duas equipes que esto usando mtodos de reviso mais formais, exibem um valor para os erros encontrados por pessoa-hora empregada, que 40% maior do que o valor das outras equipes. Considerando todos os outros parmetros iguais, isso, para o gerente de projeto, um indicador de que os mtodos de revises formais podem fornecer um retorno maior do investimento em tempo que outra abordagem de reviso menos formal. Este pode, ento, decidir sugerir que todas as equipes usem a abordagem menos formal.
A mtrica pode fornecer compreenso ao gerente de um projeto. E compreenso leva a uma tomada de deciso mais precisa. A medio comum no mundo da engenharia. Medimos consumo de energia, peso, dimenses fsicas, temperatura, voltagem, relao entre sinal e rudo.....
Na engenharia de software a medio muito menos comum temos dificuldade em concordar quanto ao que medir e dificuldade em avaliar as medidas que so coletadas. Mtricas devem ser coletadas de modo que os indicadores de processo e de produto possam ser determinados.
Mtricas de Processo
Indicadores de processo permitem organizao de engenharia de software ter idia da eficcia de um processo existente. Elas permitem aos gerentes e profissionais avaliarem o que funciona e o que no funciona. Mtricas de processo so coletadas ao longo de todos os projetos e durante longos perodos. Seu objetivo fornecer indicadores que levem ao aperfeioamento do processo de software a longo prazo.
Mtricas de Projeto
Em alguns casos, as mesmas mtricas de software podem ser usadas para determinar indicadores de projeto e de processo de software.
As mtricas de processo de software podem fornecer benefcios significativos, medida que a organizao trabalha para aperfeioar seu nvel gerencial de maturidade de processo. Todavia, essas mtricas podem ser mal utilizadas, criando mais problemas do que conseguem resolver. Grady (1992) sugere uma etiqueta de mtricas de software, que apropriada tanto para os gerentes quanto para os profissionais, quando eles instituem um programa de mtricas de processo: Use bom senso e sensibilidade empresarial quando interpretar dados de mtricas. Fornea regularmente realimentao aos indivduos e equipes que coletam medidas e mtricas.
No use mtricas para avaliar indivduos. Trabalhe com profissionais e equipes para estabelecer metas claras e mtricas que devem ser usadas para alcan-las. Nunca use mtricas para ameaar indivduos ou equipes. Dados de mtricas que indicam uma rea problemtica no devem ser considerados negativos. Esses dados so meramente um indicador para melhoria do processo. No fique obcecado com uma nica mtrica em detrimento de outras mtricas importantes.
medida que uma organizao sente-se mais confortvel, coletando e usando mtricas de processo, a derivao de indicadores simples d lugar a uma abordagem mais rigorosa, chamada melhoria estatstica de processo de software - statistical software process improvement (SSPI). A SSPI usa a anlise de falhas de software para coletar informao sobre todos os erros e defeitos encontrados medida em que uma aplicao, sistema ou produto desenvolvido e usado. Erro - falha num produto de trabalho de engenharia de software, ou resultado a ser produzido, que encontrado por engenheiros de software antes do software ser entregue ao usurio final. Defeito - falha encontrada depois da entrega ao usurio final. A anlise de falhas funciona da seguinte maneira:
1. Todos os erros e defeitos so categorizados por origem (por exemplo: falha
de forma decrescente.
4. O custo total de erros e defeitos de cada categoria calculado. 5. Os dados resultantes so analisados, para descobrir as categorias que
eliminar (ou reduzir a frequncia das) classes de erros e defeitos que so mais dispendiosas.
Mtricas de Projeto
Mtricas de processo de software so usadas com finalidade estratgica. Medidas de projeto de software so tticas - mtricas de projeto e indicadores derivados delas so usados por um gerente de projeto e por uma equipe de software, para adaptar o fluxo de trabalho e as atividades tcnicas do projeto. A primeira aplicao das mtricas de projeto, na maioria dos projetos de software, ocorre durante as estimativas. Mtricas coletadas de projetos anteriores so usadas como base, a partir da qual as estimativas de esforo e de tempo so feitas para o trabalho atual de software. medida que o projeto prossegue, medidas de esforo e de tempo despendidos so comparadas com as estimativas originais - o gerente de projeto usa esses dados para monitorar e controlar o progresso. medida que o trabalho tcnico se inicia, outras mtricas de projeto comeam a ter importncia, como:
Taxa de produo - representada em termos de pginas de documentao, horas de reviso, pontos-por-funo e linhas de cdigo fonte entregue.
Primeiro essas mtricas so usadas para minimizar o cronograma de desenvolvimento, fazendo os ajustes necessrios para evitar atrasos e problemas, e riscos em potencial. Mtricas de projeto so usadas para avaliar a qualidade do produto durante sua evoluo e, quando necessrio modificar a abordagem tcnica para aperfeioar a qualidade.
medida que a qualidade aperfeioada, os defeitos so minimizados, e, medida que a contagem de defeitos decresce, a quantidade de retrabalho durante o projeto tambm reduzida. Isto leva diminuio do custo total do projeto.
A tabela lista cada projeto de software desenvolvido e as correspondentes medidas daqueles projetos. Deve-se notar que o esforo e o custo registrados na tabela referem-se a todas as atividades de engenharia de software (anlise, projeto, codificao e teste), no apenas codificao. Para o desenvolvimento de mtricas foi escolhida uma medida base da tabela anterior - LOC (Linhas de Cdigo-Fonte) A partir dos dados rudimentares, contidos na tabela anterior, um conjunto de mtricas simples orientadas a tamanho pode ser desenvolvido para cada projeto.
Erros por KLOC (milhares de Linhas de Cdigo Fonte) Defeitos por KLOC R$ por LOC (estimado...) Pginas de documentao por KLOC.
Erros por pessoa-ms LOC por pessoa-ms $ por pgina de documentao (estimado...)
Mtricas orientadas a tamanho no so universalmente aceitas como o melhor modo de medir o processo de desenvolvimento de software.
A maior parte da controvrsia gira em torno do uso de linhas de cdigo fonte como medidas-chave. Adeptos da medida de linhas de cdigo fonte alegam que LOC um artefato de todos os projetos de desenvolvimento de software, que pode ser facilmente contado e que muitos modelos de estimativa usam tal artefato. Por outro lado, os oponentes argumentam que as medidas de LOC:
So dependentes da linguagem de programao. Penalizam programas curtos, mas bem projetados. No podem acomodar facilmente linguagens no procedimentais e que seu uso na estimativa requer um nvel de detalhes que pode ser difcil de alcanar, ou seja, significa que o planejador deve estimar o LOC a ser produzido, muito antes que a anlise e o projeto tenham sido completados.
X X X X X
3 4 3 7 5
4 5 4 10 7
6 7 6 15 20
Quantidades de entradas do usurio - cada entrada do usurio, que fornece dados distintos orientados aplicao do software, contada. Entradas devem ser distinguidas de consultas, que so contadas separadamente. Quantidade de sadas do usurio - cada sada do usurio, que fornece informao orientada aplicao para o usurio, contada. Nesse contexto, sada refere-se a relatrios, telas, mensagens de erro, etc. Itens de dados individuais dentro de um relatrio no so contados separadamente. Novas consultas do usurio - uma consulta definida como uma entrada online, que resulta na gerao de alguma resposta imediata do software sob forma de sada on-line. Cada consulta distinta contada. Quantidade de arquivos - cada arquivo lgico (isto , grupo de dados lgicos que pode ser parte de uma base de dados maior ou um arquivo separado) contado. Quantidade de interfaces externas - todas as interfaces para transmitir informao a outro sistema, so contadas. que so usadas
Uma vez coletados esses dados, um valor de complexidade associado com cada contagem. Organizaes que usam os mtodos de pontos por funo desenvolvem critrios para determinar se uma instncia particular simples, mdia ou complexa. No entanto, esta determinao um tanto subjetiva. Para determinar os pontos por funo usada a seguinte relao: FP = contagem total X [0,65 + 0,01 X (F )] i Os F (i=1 a 14) so valores de ajuste de complexidade, baseados nas i respostas s seguintes perguntas:
1. O sistema requer salvamento (backup) e recuperao (recovery)? 2. Comunicaes de dados so necessrias? 3. H funes de processamento distribudas? 4. O desempenho crtico? 5. O sistema vai ser executado em um ambiente operacional existente,
intensivamente utilizado?
6. O sistema requer entrada de dados on-line? 7. A entrada de dados on-line, exige que a transao de entrada seja
8. Os arquivos mestre so atualizados on-line? 9. As entradas, sadas, arquivos ou consultas so complexas? 10. 11. 12. 13.
O processamento interno complexo? O cdigo projetado para se reusado? A converso e a instalao esto includas?
O sistema est projetado para instalaes mltiplas em diferentes organizaes? A aplicao est projetada para facilitar modificaes e para facilidade de uso pelo usurio?
14.
Cada uma destas questes respondida usando uma escala que varia entre: 0 - no importante e no aplicvel 5 - absolutamente essencial Os valores na equao e os fatores de peso da tabela, foram determinados empiricamente. Uma vez calculados, os pontos por funo so usados de modo anlogo LOC, como forma de normalizar medidas de produtividade, qualidade e outros atributos de software. Tais como:
Erros por FP Defeitos por FP $ por FP Pginas de documentao por FP FP por ms.