linhas de código

3
Linhas de Código A técnica de mensuração por linhas de código (LOC – Lines of Code) é uma das medidas mais antigas para determinação do tamanho, esforço e, conseqüentemente, produtividade no desenvolvimento de software. Ela consiste basicamente na contagem da quantidade do número de linhas de código de um programa de software. É uma técnica de fácil automação, eliminando esforços manuais. Porém, é uma técnica que conta com muitas desvantagens. Podemos citar, entre elas, o fato de que é inexato ter que medir a produtividade de um projeto de desenvolvimento com a saída de somente uma das fases (fase de codificação); a experiência do desenvolvedor, pois o número de linhas de código pode variar de pessoa a pessoa; a diferença entre linguagens (o número de linhas de código de uma aplicação desenvolvida em Cobol certamente é diferente da quantidade de linhas de código da mesma aplicação desenvolvida em linguagem C); a ausência de padrões de contagem, já que não há uma definição de certas características, como a contagem de comentários, declarações de dados, e a incapacidade de medição do tamanho de um sistema em fases iniciais de desenvolvimento, tornando o gerenciamento do projeto um tanto quanto complicado. As métricas de software, do ponto de vista de medição, podem ser divididas em duas categorias: medidas diretas e indiretas. Sob uma outra ótica, é possível definir uma nova classificação das medições: métricas orientadas ao tamanho, baseadas nas medições diretas da Engenharia de Software; métricas orientadas à função, que oferecem medidas indiretas;

Upload: filipent

Post on 23-Jun-2015

2.761 views

Category:

Documents


82 download

TRANSCRIPT

Page 1: Linhas de Código

Linhas de Código

A técnica de mensuração por linhas de código (LOC – Lines of Code) é uma das medidas mais antigas para determinação do tamanho, esforço e, conseqüentemente, produtividade no desenvolvimento de software. Ela consiste basicamente na contagem da quantidade do número de linhas de código de um programa de software. É uma técnica de fácil automação, eliminando esforços manuais. Porém, é uma técnica que conta com muitas desvantagens. Podemos citar, entre elas, o fato de que é inexato ter que medir a produtividade de um projeto de desenvolvimento com a saída de somente uma das fases (fase de codificação); a experiência do desenvolvedor, pois o número de linhas de código pode variar de pessoa a pessoa; a diferença entre linguagens (o número de linhas de código de uma aplicação desenvolvida em Cobol certamente é diferente da quantidade de linhas de código da mesma aplicação desenvolvida em linguagem C); a ausência de padrões de contagem, já que não há uma definição de certas características, como a contagem de comentários, declarações de dados, e a incapacidade de medição do tamanho de um sistema em fases iniciais de desenvolvimento, tornando o gerenciamento do projeto um tanto quanto complicado.As métricas de software, do ponto de vista de medição, podem ser divididas em duas categorias: medidas diretas e indiretas.

Sob uma outra ótica, é possível definir uma nova classificação das medições: métricas orientadas ao tamanho, baseadas nas medições diretas da Engenharia de

Software; métricas orientadas à função, que oferecem medidas indiretas; métricas orientadas às pessoas, as quais dão indicações sobre a forma como as pessoas

desenvolvem os programas de computador.

Métricas Orientadas ao TamanhoA medida de software mais familiar é a contagem de linhas de código.Esta métrica possa parecer simples, existe discordância sobre o que constitui uma linha de código. A medida de linhas de código não deveria contar linhas de comentário e linhas em branco, pois não afeta a sua funcionalidade.Está fortemente ligado à linguagem de programação utilizada, impossibilitando a utilização de dados históricos para projetos que não utilizam a mesma linguagem.

Page 2: Linhas de Código

Um conjunto de métricas de qualidade e produtividade pode ser desenvolvido com esta técnica.

Medição de Software não é padronizadaAinda não existem normas de ampla aceitação para a medição de software. Mesmo entre as medições mais conhecidas existem variações quanto à sua aplicação. Por exemplo, existem diferentes maneiras para contabilizar linhas de código. Mesmo para a medição de tamanho do produto a literatura sugere a utilização de linhas de código ou de pontos de função, com um intenso debate entre os adeptos de cada uma das formas de medir [18, 28].

1 KLOC = Milhares de linhas de código.

Podemos considerar como medidas diretas do processo de engenharia de software o custo e o esforço aplicados no desenvolvimento e manutenção do software e do produto, a quantidade de linhas de código produzidas e o total de defeitos registrados durante um determinado período de tempo. Porém, a qualidade e a funcionalidade do software ou a sua capacidade de manutenção são mais difíceis de ser avaliadas e só podem ser medidas de forma indireta.Também podemos dividir as métricas de software, sob o ponto de vista de aplicação, em duas categorias: métricas de produtividade e de qualidade. As métricas de produtividade se concentram na saída do processo de engenharia de software e métricas de qualidade indicam o quanto o software atende aos requisitos definidos pelo usuário.Entre as medidas diretas do produto as linhas de código (LOC) produzidas, velocidade de execução, tamanho de memória e defeitos registrados ao longo de certos espaços de tempo.

Métricas Orientadas ao Tamanho

São medidas diretas do software e do processo por meio do qual ele é desenvolvido.

Uma tabela pode ser mantida sobre dados de projetos dos últimos anos, como mostra a figura abaixo.

A partir dos dados descritos para cada projeto da tabela um conjunto de métricas de qualidade e de produtividade orientadas ao tamanho pode ser desenvolvido para cada projeto. Médias podem ser computadas levando-se em conta todos os projetos.

Exemplos de algumas métricas:Produtividade = KLOC/pessoa-mês.Qualidade = defeitos/KLOC

Custo = $/LOCDocumentação = Pg.Doc/KLOC

Repare que estas métricas orientadas ao tamanho giram em torno do número de linhas de código como a medida principal. Esta abordagem gera algumas discussões.

Page 3: Linhas de Código

As pessoas que são a favor afirmam LOC estão presentes em todos os projetos e são fáceis de serem contadas, que muitos modelos existentes utilizam esta medida como chave e que já existe um grande volume de literatura e de dados baseados em linhas de código.Por outro lado, opositores afirmam que as medidas LOC são dependentes da linguagem de programação, que penalizam programas bem projetados porém mais curtos, que elas não podem acomodar facilmente linguagens não procedimentais e que seu uso em estimativas requer um nível de detalhes que pode ser difícil de se conseguir ( ou seja, como estimar o número de linhas de código de um programa muito antes de análise e projeto terem sido concluídos? ).