Economia da Engenharia de SW

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

description

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 ? - PowerPoint PPT Presentation

Transcript of Economia da Engenharia de SW

Page 1: Economia da Engenharia de SW

Economia da Engenharia de SW

Sessão 1

Métricas de SWProf. E.A.Schmitz

2012

Page 2: Economia da Engenharia de SW

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?

Page 3: Economia da Engenharia de SW

Métricas de softwarehttp://sunset.usc.edu/classes/cs577b_2001/metricsguide/metrics.html

Métricas de software:

dados numéricos associados ao desenvolvimento de software

Métricas suportam:

1.Planejamento – servem como base para estimativa de custo, recursos, cronogramação e orçamentação.

2.Organização de projeto – métricas suportam a forma de organizar o projeto

3.Controle – são usadas para acompanhar as atividades de desenvolvimento e verificar aderencia ao plano

4. Melhoria – ferramenta essencial para a melhoria de processos: identificação, ajustes e medida dos efeitos

Page 4: Economia da Engenharia de SW

Métricas

Métrica: quantifica uma característica de um processo ou

produtoMétrica:

direta: pode ser observável diretamentederivada: 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.

Page 5: Economia da Engenharia de SW

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 tempouma relação entre duas métricas.

Indicadores:podem incluir a comparação de valores atuais versus

planejados, estabilidade ou qualidade.

Page 6: Economia da Engenharia de SW

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

Page 7: Economia da Engenharia de SW

Métricas orientadas ao tamanho

Registram dados históricos de projetos:linhas de códigoesforç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 empregadaPenalizam códigos bem escritosNão adaptáveis a linguagens visuaisDificuldade para estimar projetos

Page 8: Economia da Engenharia de SW

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

Page 9: Economia da Engenharia de SW

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

Page 10: Economia da Engenharia de SW

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

Page 11: Economia da Engenharia de SW

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

Page 12: Economia da Engenharia de SW

Tabela de cálculo de pontos de função (UFP)

Total = UFP = número de pontos de função não ajustados

Parâmetro de medição Fator de Peso por complexidade

Simples Média Complexa

Entradas externas 3 4 6

Saídas externas 4 5 7

Consulta externas 3 4 6

Arq. lógicos internos 7 10 15

Arquivos interface externos 5 7 10

Page 13: Economia da Engenharia de SW

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

Page 14: Economia da Engenharia de SW

Contagem dos ALI

Complexidade dos arquivos internos depende de:

• número de registros lógicos (RL)do arquivo

• número de dados elementares referenciados (DER)

DERRL 1-19 20-50 51+1 S S M

2-5 S M C6+ M C C

Page 15: Economia da Engenharia de SW

Contagem dos Arquivos de Interface Externa (AIE)

AIE: Arquivo passado ou compartilhado entre sistemas.

Exemplos:

arquivos compartilhados

bancos compartilhados

bibliotecas de rotinas

Page 16: Economia da Engenharia de SW

Contagem dos AIEs

Complexidade dos AIEs depende de:

• número de RL do arquivo

• número de DERs

DERRL 1-19 20-50 51+1 S S M

2-5 S M C6+ M C C

Page 17: Economia da Engenharia de SW

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

Page 18: Economia da Engenharia de SW

Contagem das EEs

Complexidade de uma EE depende de:

• número de Arquivos Lógicos Referenciados (ALR) pela transação

• número DERs que cruzam a interface e atualizam campos dos ALI

DERALR. 1-4 5-15 16+0-1 S S M2-3 S M C4+ M C C

Page 19: Economia da Engenharia de SW

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

Page 20: Economia da Engenharia de SW

Contagem das SEs

Complexidade das SEs depende de:

• número de DERs distintos apresentados na saída

• número de ALRs

DERALR 1-5 6-19 20+0-1 S S M2-3 S M C4+ M C C

Page 21: Economia da Engenharia de SW

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

Page 22: Economia da Engenharia de SW

Contagem das CEs

Complexidade das CEs depende de:

• número de DERs distintos apresentados na saída

• número de ALRs

DERALR 1-5 6-19 20+0-1 S S M2-3 S M C4+ M C C

Page 23: Economia da Engenharia de SW

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 pontosEntradas = 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

Page 24: Economia da Engenharia de SW

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,65TCF1,35

Page 25: Economia da Engenharia de SW

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

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

Fatores de complexidade técnica (TCF)

Page 26: Economia da Engenharia de SW

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)

Page 27: Economia da Engenharia de SW

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

Page 28: Economia da Engenharia de SW

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.

Page 29: Economia da Engenharia de SW

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)

Page 30: Economia da Engenharia de SW

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

Page 31: Economia da Engenharia de SW

Qual a produtividade média nos EUA?

Distribution for /C5P

RO

BA

BIL

ITY

0,000

0,027

0,053

0,080

0,106

0,133

2,00 3,67 5,33 7,00 8,67 10,33 12,00

Page 32: Economia da Engenharia de SW

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

Page 33: Economia da Engenharia de SW

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)