Estimativa de EsforçoEstimativa de Esforço
Walter de Abreu Cybis
Outubro, 2003
Laboratório de Utilizabilidade da InformáticaDepartamento de Informática e EstatísticaUniversidade Federal de Santa Catarina
Estimativa de EsforçoEstimativa de Esforço
Realizar estimativas sobre Hardware, Software, Pessoal e Tempo com base....
Visão do Software na consideração de Métricas e Medidas
Históricas
no emprego de Métodos e Modelos de Estimativas
Estimativa de EsforçoEstimativa de Esforço
Visão do Software Declaração de Objetivo e metas Modelo de Casos de uso/Cenários
principais Especificação Funcional : Principais
Funções Especificação Não Funcional: Desempenho
e qualidade Ambiente: condições e restrições
Estimativa de EsforçoEstimativa de Esforço
Informações e medidas Históricas Ajudam a reduzir o risco das
estimativas.
ATRIBUTOS DOS DADOS HISTÓRICOS devem ser razoavelmente precisos devem ser coletados para o maior
número de projetos possíveis as medidas devem ser interpretadas da
mesma maneira durante todo o projeto as aplicações devem ser similares a do
trabalho que se quer estudar
Tipos de Métricas/ÍndicesTipos de Métricas/Índices
Métricas de Produtividade do Processo Orientadas ao Tamanho do Software
LOC – Lines of code Orientadas às Funções/Características do Software
PF – Ponto por Função
Métricas de Qualidade do Produto Final Acerto, Integridade, Manutenibilidade,
Usabilidade, etc
Métricas Técnicas do Software Modularidade, Complexidade, etc...
Tipos de Métricas/ÍndicesTipos de Métricas/Índices
Alguns índices associados Esforço :
– KLOC/pessoa*mês– PF/pessoa*mês
Custo : – R$/KLOC ; – R$/PF
Acerto :– erros encontrados/KLOC
....
Métricas Orientadas ao Tamanho do SoftwareMétricas Orientadas ao Tamanho do Software
Linhas de Código (LOC)
Problemas: diferenças entre linguagens de
programação
Vantagens métrica objetiva fácil de medir
Métricas Orientadas a Funções/Características do SoftwareMétricas Orientadas a Funções/Características do Software
Pontos por Função
Vantagensindepende do ambiente de programação
ProblemasAbstrata e Subjetiva - difícil de ser
medida a posteriori
Estimativa de EsforçoEstimativa de Esforço
Métodos de Estimativa Contagem de Pontos por Função (Function Point)
5 Funções Principais– Entradas Externas– Saídas Externas – Consultas Externas– Arquivos Internos– Arquivos Externos
Que são pontuadas conforme – nível de complexidade – fatores de ponderação
Pontos por FunçãoPontos por Função Entradas Externas
(External Input – EI) Processo elementar no qual os dados atravessam os limites do sistema de fora para dentro. Estes dados podem vir de uma tela de entrada ou de uma outra aplicação para atualizar um ou mais arquivos internos.
DET (Data Element Type) é um único e não repetido campo de dado, reconhecível pelo usuário.
FTR (Files Types Referenced) : arquivos atualizados ou referenciados
Nível de ComplexidadeNível de Complexidade
Pontos por FunçãoPontos por Função Saídas Externas
(External Output - EO) Processo elementar no qual dados derivados atravessam os limites do sistema de dentro para fora Os dados criam relatórios ou arquivos de saída que são enviados para outras aplicações.
DET : Se um mesmo DET é usado tanto na saída como na entrad, ele é contado apenas uma vêz.
FTR: Se um mesmo FTR é usado tanto na saída como na entrada, ele é contado apenas uma vêz.
Nível de ComplexidadeNível de Complexidade
Pontos por FunçãoPontos por Função
Consulta Externa (External Inquiry -EQ)
Processo elementar no qual componentes tanto de entrada como de saída resultam na recuperação de dados de um ou mais arquivo interno. A entrada não atualiza qualquer arquivo interno e a saída não contém dado derivado.
Nível de ComplexidadeNível de Complexidade
Pontos por FunçãoPontos por Função Arquivos Internos
(Internal Logical Files -ILF) Grupo de dados lógicamente relacionados que reside internamente aos limites do sistema e que é mantido por entradas externas. Um ILF é comuments referenciado como FTR.
RET (Record Element Type ) é um sub grupo de elementos de dados dentro de um arquivo interno ou externo
DET (Data Element Type) é um único e não repetido campo de dado, reconhecível pelo usuário.
Nível de ComplexidadeNível de Complexidade
Pontos por FunçãoPontos por Função
Arquivos Externos (External Logical Files -ELF)
Grupo de dados lógicamente relacionados que reside externamente aos limites do sistema e que é mantido por outras aplicações. Um ELF é comuments referenciado como FTR.
Nível de ComplexidadeNível de Complexidade
Pontos por FunçãoPontos por Função
Valores para PonderaçãoTransações
Arquivos
Pontos por FunçãoPontos por Função
Tabela para contabilização de pontos
Pontos por FunçãoPontos por Função
Fator de Ajuste de Complexidade (Fai) definido a partir de 14 questões sobre
desempenho, processamento distribuído, interatividade, manutenibilidade, ...
Cálculo de Pontos por Função FP = contagem total * (0,65+0,01 Fai)
Métodos de estimativa baseados em linhas de códigoMétodos de estimativa baseados em linhas de código
Modelo COCOMO (COnstrutive COst MOdel) Esforço (pessoa*mês)
– E = a*(KLOC)*exp(b) Tempo de Desenvolvimento (meses)
– T = c*E*exp(d) Tabela de Coeficientes (função de tipo de
projeto)
Projeto a b c d Simples 2,4 1,05 2,5 0,38 Intermediário 3,0 1,12 2,5 0,35 Complexo 3,6 1,20 2,5 0,32
Métodos de estimativa baseados em linhas de códigoMétodos de estimativa baseados em linhas de código Modelo PUTNAM (Modelo de estimativa baseada
em múltiplas variáveis) K = L3/ Ck3T4
K: esforço de desenvolvimento (pessoas*ano) L: linhas de código Ck : constante do estado da tecnologia
– 2000 para um ambiente pobre (sem métodos ou documentação)
– 8000 para um ambiente bom– 11000 para um ambiente excelente (ferramentas
case) T: tempo de desenvolvimento em anos
Encontro entre Métricas Orientadas ao Tamanho e a FunçõesEncontro entre Métricas Orientadas ao Tamanho e a Funções
Linguagem de Programação LOC/PFAssembly 300COBOL 100FORTRAN 100PASCAL 90ADA 70L.O.O. 30
Resumo sobre Estimativas de EsforçoResumo sobre Estimativas de Esforço Estimativas EXIGEM
Experiência Acesso à boas informações históricas Coragem
RISCO INERENTE medido pelo grau de incerteza nas estimativas
quantitativas fatores que aumentam o risco: complexidade,
tamanho do projeto e grau de estruturação pode ser reduzido
medidas do software de projetos passadosinformações históricas
Resumo sobre Estimativas de EsforçoResumo sobre Estimativas de Esforço
Nunca serão exatas. São afetadas por variáveis humanas, técnicas, ambientais e políticas
Para se ter estimativas com graus aceitáveis de risco, existem um conjunto de opções:
retardar as estimativas do projeto usar técnicas de decomposição (dividir o problema
complexo em pequenos problemas) desenvolver modelos empíricos adquirir ferramentas de estimativa
Top Related