Escolar Documentos
Profissional Documentos
Cultura Documentos
Metricas Software
Metricas Software
Esta seo traz artigos que apresentam como e quando utilizar as diferentes abordagens
tradicionais de apoio ao desenvolvimento de projetos de software
Mtricas de Software
Como utiliz-las no gerenciamento de projetos de software
De que se trata o artigo?
thamine.abreu@gmail.com
maraujo@acessa.com
50
A coleta adequada de mtricas, com suas respectivas anlises, pode auxiliar o Engenheiro
de Software na tomada de decises ao longo
do desenvolvimento de um projeto, visando a
melhoria da qualidade do processo e do produto
em construo.
Utilizao de mtricas
Existem dois tipos de mtricas no contexto de desenvolvimento de produtos de software: as mtricas diretas, que so
realizadas em termos de atributos observveis, como por
exemplo, esforo, tamanho e custo, e as mtricas indiretas ou
derivadas, que podem ser obtidas atravs de outras mtricas,
como por exemplo, complexidade, confiabilidade, e facilidade
de manuteno. Quanto ao contexto, podem ser aplicadas em
produtos ou em processos. Quando as mtricas incidem diretamente no produto de software, so chamadas de mtricas de
predio, quando em processos de software, so comumente
chamadas de mtricas de controle e sua aplicao normalmente
realizada em processos j maduros e controlados.
Para obter resultados significativos, as mtricas devem ser
aplicadas em um ciclo constante, que envolve as etapas de
planejamento, medio, anlise de resultados, tomada de deciso e implementao das decises. Desta maneira, pode-se
construir uma base histrica do artefato medido que permitir
ao engenheiro de software analisar que processos, ferramentas
e mtodos melhor se aplicam quele tipo de produto. Alguns
cuidados tambm devem ser tomados no processo de medio,
como o momento e a escolha do conjunto de mtricas mais
relevantes a serem aplicadas, e a comparao entre produtos
atravs da aplicao de mtricas (pois nenhum produto igual
a outro). O escopo, os desenvolvedores e o ambiente so fatores
que podem influenciar o processo de desenvolvimento. Assim,
comparaes devem ser cuidadosamente analisadas.
As mtricas podem e devem ser aplicadas durante as fases
de desenvolvimento do software, o que garante ainda mais
seu impacto positivo no produto final.
Segundo alguns especialistas, para medir artefatos de software atravs de mtricas significativas, as medies devem ser
definidas de acordo com objetivos especficos. Nesse sentido, o
Figura 1.
O GQM pode ser aplicado em todo o ciclo de vida de produtos, processos e artefatos de software e bem alinhado com
o ambiente organizacional, sendo um meio adequado para
conseguir dados confiveis e conhecimento sobre as prticas
de software da organizao para conduzir a melhoria do
processo. Nesse contexto, til para auxiliar na compreenso
e formar um baseline das prticas aplicadas no desenvolvimento de software, evoluir as atividades de medio, guiar e
monitorar processos de software e reduzir custos de desenvolvimento, por exemplo. O GQM pode ser utilizado tambm
como base de fundamentao para outras tcnicas de medio
de software.
O GQM pode ser muito til na definio de quais mtricas
so necessrias de serem coletadas e analisadas para responder
questes sobre um determinado objetivo. Isso importante
para evitar que esforo seja gasto com coleta desnecessria de
mtricas, que provavelmente nunca sero utilizadas.
51
Existem diversas formas de clculo da CC, atravs de frmulas, ou pela contagem de caminhos possveis. A Tabela 3
ilustra as possveis formas de clculo da complexidade
ciclomtica para este algoritmo.
Para programas grandes e complexos, calcular a complexidade ciclomtica de cada funo pode se tornar uma
tarefa exaustiva. Por este motivo, ferramentas automatizadas
podem ser utilizadas, como o plugin Metrics for Eclipse
(ver seo Links), um plugin gratuito para a IDE Eclipse
que calcula a complexidade em sistemas desenvolvidos na
linguagem Java. A Figura 3 ilustra o clculo realizado pela
ferramenta.
DESCRIO
Existem trs tipos de contagem que podem ser levadas em conta: contagem de PF de projeto de desenvolvimento, de aplicaes instaladas e
de projetos de manuteno.
Determinar o escopo de contagem e a fronteira da aplicao A fronteira da aplicao definida estabelecendo um limite lgico entre a aplicao que est sendo medida, o usurio e outras aplicaes. O
escopo para a contagem define a parte do sistema (funcionalidades) a ser contada.
Determinar a contagem de pontos de funo no ajustados Essa contagem leva em conta dois tipos de funo: de dados e transacionais, bem como sua complexidade (simples, mdia ou complexa).
Contagem das funes de dados
Contagem referente s funcionalidades relativas aos requisitos de dados internos e externos aplicao.
Contagem referente s funcionalidades de processamento de dados do sistema fornecidas para o usurio, como entradas e consultas externas.
Baseado em diversas caractersticas gerais de sistemas, que avaliam a funcionalidade geral da aplicao que est sendo contada e seus nveis
de influncia que podem ser determinados com base em uma escala de 0 a 5.
PFs ajustados so calculados, considerando o tipo de contagem definido no primeiro passo.
Complexidade
Situao
1-10
11-20
21-50
Maior que 50
Tabela 2.
52
Forma de clculo
Clculo
N= nmero de ns
CC = P + 1
onde:
P= nmero ns predicados (decises)
Atravs do nmero de regies fechadas do grfico
construdo, considerando tambm a regio externa
CC = 5
1, 2, 10
1, 3, 4, 10
1, 3, 5, 6, 10
1, 3, 5, 7, 8, 10
1, 3, 5, 7, 9, 10
Figura 4.
53
Listagem 1.
public
return
}
public
double
return
}
Listagem 2.
public double calculaSalario(){
return horasTrabalhadas * valorHora;
}
Listagem 3.
54
Figura 5. Coleta da Mtrica NOO pela ferramenta Metrics for Eclipse, aqui
chamada de Number of Overridden Methods
Concluso
Mtricas de software so medidas quantitativas acerca de
processos ou produtos de software. O artigo procurou mostrar
D
s
Feedback
eu
55
sobre e
s
edio
ta