220 likes | 342 Views
Estimativa de Esforço. Walter de Abreu Cybis Outubro, 2003. Laboratório de Utilizabilidade da Informática Departamento de Informática e Estatística Universidade Federal de Santa Catarina. Estimativa de Esforço. Realizar estimativas sobre Hardware, Software, Pessoal e Tempo com base....
E N D
Estimativa de Esforço Walter de Abreu Cybis Outubro, 2003 Laboratório de Utilizabilidade da Informática Departamento de Informática e Estatística Universidade Federal de Santa Catarina
Estimativa 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ç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ç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/Í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/Í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 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 Software • Pontos por Função • Vantagens • independe do ambiente de programação • Problemas • Abstrata e Subjetiva - difícil de ser medida a posteriori
Estimativa 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çã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 Complexidade
Pontos 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 Complexidade
Pontos 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 Complexidade
Pontos 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 Complexidade
Pontos 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 Complexidade
Pontos por Função • Valores para Ponderação • Transações • Arquivos
Pontos por Função • Tabela para contabilização de pontos
Pontos 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ó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)
Mé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ções • Linguagem de Programação LOC/PF Assembly 300 COBOL 100 FORTRAN 100 PASCAL 90 ADA 70 L.O.O. 30
Resumo 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 reduzidomedidas do software de projetos passadosinformações históricas
Resumo 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