1 / 33

Economia da Engenharia de SW

Economia da Engenharia de SW. Sessão 1 Métricas de SW Prof. E.A.Schmitz 2012. Alguns problemas práticos das fábricas de SW. Quanto custa a construção de um produto ? Quanto tempo demora a construção ? Qual é a produtividade de nossa equipe ? Quanto gastamos em retrabalho ?

yeriel
Download Presentation

Economia da Engenharia de SW

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Economia da Engenharia de SW Sessão 1 Métricas de SW Prof. E.A.Schmitz 2012

  2. Alguns problemas práticos das fábricas de SW • Quanto custa a construção de um produto ? • Quanto tempo demora a construção ? • Qual é a produtividade de nossa equipe ? • Quanto gastamos em retrabalho ? • Será que estamos melhorando?

  3. Métricas de softwarehttp://sunset.usc.edu/classes/cs577b_2001/metricsguide/metrics.html • Métricas de software: • dados numéricosassociadosaodesenvolvimento de software • Métricassuportam: • Planejamento – servemcomo base paraestimativa de custo, recursos, cronogramação e orçamentação. • Organização de projeto – métricassuportam a forma de organizar o projeto • Controle – sãousadasparaacompanhar as atividades de desenvolvimento e verificaraderenciaaoplano • Melhoria – ferramentaessencialpara a melhoria de processos: identificação, ajustes e medida dos efeitos

  4. Métricas • Métrica: • quantifica uma característica de um processo ou produto • Métrica: • direta: pode ser observável diretamente • derivada: obtidas a partir de métricas diretas • Examplos métricas diretas: • número de linhas de código, páginas de documentação, número de testes, requisitos, etc etc. • Examplos de métricas derivadas: • linhas de código por programador-horas.

  5. Indicadores • Indicador: • representação de uma métrica que provê um entendimento melhor do projeto ou do processo de desenvolvimento de software. • forma adequada para avaliar o andamento de projetos ou processos. • Indicador: • pode ser o comportamento de uma métrica no tempo • uma relação entre duas métricas. • Indicadores: • podem incluir a comparação de valores atuais versus planejados, estabilidade ou qualidade.

  6. Métricas de Processo (Grady) • Métricas privadas (individuais): • taxa de defeitos individuais, por módulos, erros encontrados durante o desenvolvimento, linhas de código ou pontos por função por módulo ou função • Métricas públicas (consolidação das métricas privadas): • taxa de defeitos por projeto, esforço, tempo consumido em uma visão ampla

  7. Métricas orientadas ao tamanho • Registram dados históricos de projetos: • linhas de código • esforço (pessoas/mês), • custo, • erros • Coletam indicadores úteis: • erros e defeitos, custo, • erros por pessoa/mês, • linhas de código por pessoa/mês, • custo por página de documentação e etc. • Problemas: • Dependente a linguagem de programação empregada • Penalizam códigos bem escritos • Não adaptáveis a linguagens visuais • Dificuldade para estimar projetos

  8. Métricas orientadas à funcionalidade • Medem a funcionalidade do sistema (valor) • Ponto de função (Albrecht) : • relação empírica entre tipos de domínio da informação do software e o seu nível de complexidade estimado

  9. Pontos de função • Métrica criada por Peter Albrecht em 1984 • Objetiva: • isolar os fatores intrínsecos do sistema • prover medida baseada na visão externa e independente de tecnologia • ser aplicada bem cedo no ciclo do projeto • ser compreensível por usuários não-técnicos • ter baixo custo de aplicação • Sucesso da métrica: • Passou a ser usada em licitações • Permite coletar dados para benchmark

  10. Métrica Pontos de função • Número de pontos de função (FP) de um sistema depende de: • Unadjusted function points (UFP): • parâmetros observáveis pelo usuário • Technical Complexity Factor (TCF) • dificuldades da implementação • FP = TCF x UFP

  11. Pontos de função não-ajustados -UFP • UFP =soma ( função observável pelo usuário • * • complexidade da função) • Funções observáveis: • arquivos, interfaces, entradas, saídas, consultas • Complexidade: • simples, média, complexa

  12. Tabela de cálculo de pontos de função (UFP) Total = UFP = número de pontos de função não ajustados

  13. Contagem dos Arquivos Lógicos Internos (ALI) ALI: grupo lógico de dados sob o ponto de vista do usuário. Inclui todos os arquivos lógicos que são gerados, usados ou mantidos pelo sistema. Exemplos: arquivos tabelas do banco de dados

  14. Contagem dos ALI

  15. Contagem dos Arquivos de Interface Externa (AIE) AIE: Arquivo passado ou compartilhado entre sistemas. Exemplos: arquivos compartilhados bancos compartilhados bibliotecas de rotinas

  16. Contagem dos AIEs

  17. Contagem das Entradas Externas (EE) EE: transação com dados ou controles do usuário que: (i) entram pelam borda externa do sistema (ii) adicionam ou alteram dados num arquivo lógico interno. • Exemplos: • arquivos de entrada • formulários de entrada

  18. Contagem das EEs

  19. Contagem das Saídas Externas (SE) • SE: dados ou controles de saída que saem pela interface do sistema após o processamento ter ocorrido. • Exemplos: • arquivos de saída • relatórios de saída: impressos ou em tela, mensagens do sistema e de erro

  20. Contagem das SEs

  21. Contagem das Consultas Externas (CE) CE : entrada de dados que causam uma saída imediata. É sempre uma combinação de uma entrada com uma saída. A saída da consulta não deve usar dados derivados. Exemplos: prompts helps

  22. Contagem das CEs

  23. Exemplo de cálculo de PFs Estimativa do sistema: Arquivos: 3 simples Interfaces: 1 simples Entradas: 5 simples, 2 médias, 2 complexas Saídas: 3 simples Consultas: 1 simples, 2 médias Cálculo de pontos Entradas = 5*3+2*4+2*6 =35 Saídas = 3*4 =12 Arquivos =3*7 =21 Interface =1*5 =5 Consultas=1*3+2*4 =11 Total = 84 pontos

  24. Fator de complexidade técnica (TCF) • TCF = 0.65 + 0.01 x  Fi i = 1..14 • A cada Fi , fatores de complexidade técnica, deve ser atribuído um valor entre 0 e 5 significando a importância deste fator no sistema. • Valor 0 (zero) significa que o fator não se aplica e valor 5 (cinco) significa que tem um peso muito importante. • 0,65TCF1,35

  25. Fatores de complexidade técnica (TCF) • F8-Atualização on-line • F9-Processamento complexo • F10-Reutilização de código • F11-Facilidade de implantação • F12-Facilidade operacional • F13-Múltiplos locais • F14-Facilidade de alteração • F1- Comunicação de dados • F2-Processamento distribuído • F3-Desempenho • F4-Utilização do equipamento • F5-Volume de transações • F6-Entrada de dados on-line • F7-Eficiência do usuário final

  26. Exemplos de medidas baseadas em PFs • 1 PF = 100 linhas de código fonte • número de páginas de documentação = PF 1.15 • número de casos de teste = PF 1.2 • defeitos = PF 1.25 • prazo do projeto(meses)= PF 0.4 • equipe (pessoas)= PF/150 • equipe de manutenção= PF/500 (Capers Jones)

  27. Pontos de função e linhas de código

  28. Medidas de produtividade Planejamento de projeto deve responder: • Qual a duração do projeto? • Quantas pessoas serão necessárias para a sua execução? Para responder é necessário saber: • Quanto trabalho um profissional consegue produzir por unidade de tempo.

  29. Medidas de produtividade Porque a estimativa da produtividade é difícil? • objetivos conflitantes dos projetos • falta de uma especificação detalhada do produto • variação no esforço de reuso • emergência de novas técnicas, processos e métodos. (Stutzke)

  30. Estimando esforço de desenvolvimento Dados: 1-Uma estimativa para o número de pontos de função de um sistema. (NPF) 2-Uma estimativa da produtividade da equipe em Pontos de função / homem.mês (PR) ( obtida a partir do histórico da empresa) Calcular a distribuição de probabilidade para a variável “esforço”(E) : E= NPF/PR

  31. Qual a produtividade média nos EUA?

  32. Estimando esforço Fatores do esforço necessário para uma atividade • E = Esforço (Pessoas.Mes ou PM) • S= Tamanho da atividade (p.ex. M2) • P = Produtividade da equipe (p.ex. M2/PM) • E = S/P

  33. Bibliografia • 1-Jones, C.; "Applied software measurement", McGraw-Hill, 1991 • 2-International Function Point Users Group - Function Point Counting Practices Manual (Release 4.0), January, 1994 (www.bannister.com/ifpug/home/docs/docs.html)

More Related