MODELOS DE ESTIMATIVAS DE SOFTWARE BASEADOS EM DADOS HISTÓRICOS
modelos de estimativas de software baseados em dados históricos modelos de estimativas de software baseados em dados históricos
30De acordo com Carlos Eduardo Vazquez et al (2003, p.156) o processode estimativa de um projeto envolve, basicamente, quatro atividades:1. Estimar o tamanho do produto a ser gerado;2. Estimar o esforço empregado na execução do projeto;3. Estimar a duração do projeto;4. Estimar o custo do projeto.Para obter as respostas aos questionamentos iniciais de tempo e custoa partir da aplicação de um processo de estimativa, antes de qualquer coisa, énecessário decidir a unidade para medir o tamanho do produto.Devido ao propósito principal de um processo de estimativa ser o defornecer informações que beneficiem o planejamento e o controle dos projetos desoftware o mais cedo possível durante seu ciclo de vida, a utilização de pontos defunção como unidade padrão de tamanho é a mais acertada. Isso se dá por umasérie de motivos.Carlos Eduardo Vazquez et al (2003) escreve que:Em primeiro lugar, para que uma estimativa de tamanho baseada em LOCseja confiável, é necessário, atrasando a geração de indicadores úteis parao seu gerenciamento. A própria definição de linguagem de programação aser utilizada no desenvolvimento do projeto, fundamental para o processode contagem de linhas de código, nem sempre é realizada na fase inicial deseu ciclo de vida, já que algumas características funcionais e até nãofuncionaisdo software devem ser exploradas antes de se tomar algumadecisão. Por outro lado, como a obtenção de pontos de função dependeunicamente do conhecimento da funcionalidade requerida para o software enão da tecnologia empregada em seu desenvolvimento, uma estimativa detamanho pode ser realizada desde a fase inicial do levantamento derequisitos e ser refinada à medida que se avança no entendimento doprojeto.É fato que softwares bem projetados ou com alto índice decomponentização ou de reutilização de código têm seus indicadores baseados emLOC penalizados. Por exemplo, um sistema com 50.000 LOC, mas que exigiu umalto esforço para a definição de uma arquitetura bem elaborada, irá apresentar umaprofundidade final média inferior à de outro projeto similar e de funcionalidadeequivalente, porém com arquitetura menos trabalhada, com 60.000 LOC e que
31pontos de função, essa distorção não seria observada, uma vez que não existiriadiferença relevante no tamanho estimado de ambos os projetos.O processo de estimativa inicia-se a partir dos primeiros níveis deabstração dos requisitos do projeto. Para ser completo e eficiente, deve emconsideração as experiências e os dados históricos de projetos passados, osrecursos que cercam os projetos. A cada etapa realizada, as estimativas obtidasdevem passar por um processo de aprovação antes de registradas na base histórica.Além de poderem ser utilizadas como fonte de informação para projetos futuros,servirão como insumo para as estimativas das etapas seguintes. Reestimar deve seruma atividade constante durante todo o ciclo de vida do desenvolvimento dosoftware. Na etapa final do processo, com o produto concluído, as medidas reais detamanho, histórica, servindo também para a validação e o aprimoramento de todo oprocesso de estimativa.Independentemente da etapa em que se esteja no processo, existemtécnicas de estimativas que podem ser utilizadas. Basicamente, essas técnicas sãoclassificadas em duas categorias: métodos diretos ou métodos derivados.Os métodos diretos são aqueles baseados na opinião de especialistas.O procedimento padrão consiste em reunir a opinião de um ou mais especialistas,que fornecem uma suposição direta da estimativa, buscando-se principalmente emsuas intuições e experiências passadas.Os métodos derivados, também conhecidos como métodos de modeloalgorítmico ou métodos paramétricos, fornecem um ou mais algoritmos detransformação que produzem a estimativa desejada em função de variáveis que serelacionam com alguns atributos de software. Por exemplo, uma estimativa detamanho não é realizada diretamente em valores de pontos de função, mas sim emdiferentes atributos de software que podem ser correlacionados a eles.4.1 Estimativa de tamanho em ponto de funçãoDe acordo com IFPUG (1991), determinam-se os Pontos por Funçãode uma aplicação em três etapas de avaliação. A primeira resulta na contagem depontos de funções não-ajustados, que refletem as funções específicas emensuráveis do negócio, provida ao usuário pela aplicação. A segunda etapa da
- Page 1 and 2: FERNANDO DE MATOS MÔRAMODELOS DE E
- Page 3 and 4: 3MODELOS DE ESTIMATIVAS DE SOFTWARE
- Page 5 and 6: 5EPÍGRAFEagir [...]”“[...] Par
- Page 7 and 8: 7ABSTRACTThis work will approach on
- Page 9 and 10: 95. ESTIMATIVAS DE SOFTWARE BASEADO
- Page 11 and 12: 111.2.2 Objetivos EspecíficosDesej
- Page 13 and 14: 132 POR QUE MEDIR SOFTWARE?2.1 Moti
- Page 15 and 16: 15- quais produtos devem ser desenv
- Page 17 and 18: 17- a desconsideração de delimita
- Page 19 and 20: 19- qual o tamanho da lista de pedi
- Page 21 and 22: 21tamanho e um dos primeiros passos
- Page 23 and 24: 233.2 Conceito de usuárioUsuário
- Page 25 and 26: 253.6 Funções do Tipo Transação
- Page 27 and 28: 27- Que enviam dados ou informaçõ
- Page 29: 294 ESTIMATIVADesde a década de 80
- Page 33 and 34: 33Externa (AIE) e Arquivos Lógicos
- Page 35 and 36: 35Além disso, as variações encon
- Page 37 and 38: 37essas duas dimensões. Dentre as
- Page 39 and 40: 395 ESTIMATIVAS DE SOFTWARE BASEADO
- Page 41 and 42: 41II - a aptidão para traduzir a e
- Page 43 and 44: 43Para estimativas de FP, a decompo
- Page 45 and 46: 456 ESTUDO DE CASODurante um mês f
- Page 47 and 48: 47ContagemProcesso Elementar ouGrup
- Page 49 and 50: 49Emissão de Relatório deProdutos
- Page 51 and 52: 517 CONCLUSÃOMedição resulta em
- Page 53 and 54: 53Consulta na Internet:AZEVEDO, Dou
31pontos de função, essa distorção não seria observada, uma vez que não existiriadiferença relevante no tamanho estimado de ambos os projetos.O processo de estimativa inicia-se a partir dos primeiros níveis deabstração dos requisitos do projeto. Para ser completo e eficiente, deve emconsideração as experiências e os dados históricos de projetos passados, osrecursos que cercam os projetos. A cada etapa realizada, as estimativas obtidasdevem passar por um processo de aprovação antes de registradas na base histórica.Além de poderem ser utilizadas como fonte de informação para projetos futuros,servirão como insumo para as estimativas das etapas seguintes. Reestimar deve seruma atividade constante durante todo o ciclo de vida do desenvolvimento dosoftware. Na etapa final do processo, com o produto concluído, as medidas reais detamanho, histórica, servindo também para a validação e o aprimoramento de todo oprocesso de estimativa.Independentemente da etapa em que se esteja no processo, existemtécnicas de estimativas que podem ser utilizadas. Basicamente, essas técnicas sãoclassificadas em duas categorias: métodos diretos ou métodos derivados.Os métodos diretos são aqueles baseados na opinião de especialistas.O procedimento padrão consiste em reunir a opinião de um ou mais especialistas,que fornecem uma suposição direta da estimativa, buscando-se principalmente emsuas intuições e experiências passadas.Os métodos derivados, também conhecidos como métodos de modeloalgorítmico ou métodos paramétricos, fornecem um ou mais algoritmos detransformação que produzem a estimativa desejada em função de variáveis que serelacionam com alguns atributos de software. Por exemplo, uma estimativa detamanho não é realizada diretamente em valores de pontos de função, mas sim emdiferentes atributos de software que podem ser correlacionados a eles.4.1 Estimativa de tamanho em ponto de funçãoDe acordo com IFPUG (1991), determinam-se os Pontos por Funçãode uma aplicação em três etapas de avaliação. A primeira resulta na contagem depontos de funções não-ajustados, que refletem as funções específicas emensuráveis do negócio, provida ao usuário pela aplicação. A segunda etapa da