Buscar

Aula10 - Estimativas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

1
Estimativas de tamanho, esforço e 
tempo, custo e riscos de software
Prof. Maria Augusta Vieira Nelson
Prof. César de Ávila Rodrigues
PUC Minas
Bibliografia
� Paula Filho, Wilson de Pádua. Engenharia de 
Software: fundamentos, métodos e padrões. 
2a ed. Rio de Janeiro: LTC - Livros Técnicos 
Científicos. 2003. 
� capítulo 10
� Pressman, Roger S. Engenharia de Software. 
5a ed. Rio de Janeiro: McGraw Hill. 2002.
� capítulo 5, 6
� Pfleeger, Shari Lawrence. Engenharia de 
Software: Teoria e Prática. 2a ed. São Paulo: 
Prentice Hall. 2004. 
� capítulo 3
Estimativas
� São feitas durante o planejamento do 
projeto
� Estabelecer estimativas consiste em 
determinar os parâmetros do 
planejamento, que incluem todas as 
informações necessárias para realizar 
planejamento, organização, escolha de 
pessoal, direção, coordenação e 
orçamento.
Etapas para realizar estimativas
� Primeiro define-se o tamanho do projeto
� A partir do tamanho define-se o esforço 
do projeto
� A partir do esforço e expectativas do 
cliente, define-se os recursos e o 
cronograma do projeto
� A partir do esforço, recursos e 
cronogramas, define-se o orçamento do 
projeto.
Estimativas diversas
� Estimativa do tamanho: Determinação da 
complexidade do produto, medida em pontos 
de função.
� Estimativa do esforço: determinação do 
esforço necessário para o projeto, distribuído 
por iterações e fluxos.
� Estimativa dos recursos: Determinação dos 
recursos necessários para o projeto
� Estimativa de cronograma: Determinação 
dos prazos para as iterações do projeto
� Estimativa dos riscos: Determinação dos 
riscos do projeto, com análise de impacto e 
previsão de contramedidas
Estimadores de tamanho
� Os estimadores de tamanho são fortemente 
relacionadas com o esforço despendido em um 
projeto
� servem como ponto de partida do planejamento. 
� Um bom estimador deve atender aos seguintes 
critérios:
� Ser contável através de procedimento bem definido
� Ser calculável a partir da informação contida na 
Especificação de Requisitos de Software 
� Apresentar boa correlação com esforço de 
desenvolvimento.
2
Estimadores de tamanho
� Pontos de Função (FP)
� Pontos de Caso de Uso (UCP)
� Linhas de código (LOC)
� Como resultado de uma estimativa de 
tamanho, temos um número, que identifica a 
medida na unidade escolhida. 
� Por exemplo, podemos ter um software com 150 
UCPs, 350 FP ou 35000 LOC. 
� De posse desse valor, a idéia é estimar o 
esforço total para o desenvolvimento de 
software.
Estimativas de tamanho
� Linhas de código vantagens:
� contagem facilmente automatizável;
�podem ser medidas e comparadas com as 
estimativas;
� são intuitivas:
�têm interpretação física imediata;
� são muito difundidas.
Estimativas de tamanho
� Linhas de código - problemas:
�pouco valor preditivo:
�difíceis de estimar a partir dos requisitos;
� variam com:
�linguagem;
�padrão de codificação;
�padrão de contagem.
Estimativas de tamanho
� Linhas de código:
�aplicações:
�complexidade de manutenção ou alteração de 
requisitos;
�cálculos de produtividade;
�confirmação da contagem de pontos de 
função;
Estimativas de tamanho
� Linhas de código - padrão de contagem:
� linhas em branco:
�não são contadas;
� linhas (exclusivamente) de comentário:
�não são contadas;
�o padrão de codificação força uma linha 
lógica por linha física.
Estimativas de esforço
� cálculo básico do esforço:
E = T / P
� E é o esforço total, 
� T o tamanho do software, 
� P a produtividade de desenvolvimento
� formas típicas: 
� PF/PM (ponto de função por pessoa-mês)
� LC/PM (linhas de código por pessoa-mês)
� premissa: o método estimador de tamanho deve 
apresentar boa correlação com o esforço de 
desenvolvimento. 
3
Estimativa de esforço
� Obtenção de dados de produtividade:
� identificar projetos similares:
� tamanho, linguagem, aplicação, experiência 
da equipe;
� principalmente processo;
� obter a produtividade para cada projeto:
� usar os mesmos métodos de contagem;
Produtividade de desenvolvimento
� A produtividade é extraída de uma base de 
dados histórica contendo métricas de projetos 
passados
� isso pode ser um problema para organizações que 
não possuem tal base ou possuem uma base pouco 
significativa pois estão começando o mecanismo de 
predição.
� Quando uma base de dados histórica 
significativa está disponível
� estimativas podem ser calculadas com mais garantia, 
� cronogramas são estabelecidos para evitar 
dificuldades encontradas nos projetos passados, 
� os riscos podem ser reduzidos 
Exemplo de dados de produtividade
� determinação da produtividade para um 
grupo de projetos semelhantes;
� previsão do esforço para o projeto 
corrente.
PF 1466
PM 129
Produtividade 11,3990
Pontos de função 139,730
Produtividade 11,3990
Esforço previsto: PM = PF/Produtividade 12,258
Base de dados histórica
�Dados significativos:
β0
β1
esforço
pontos de função
Base de dados histórica
�Dados pouco significativos:
pontos de função
esforço
Relevância dos dados históricos
� A verificação da relevância dos dados pode ser 
feita por cálculos estatísticos
� coeficiente de reta de uma regressão linear, 
� cálculo de significância
� visualização gráfica
� Caso os valores medidos não sejam 
adequados, é aconselhável utilizar dados da 
literatura.
� É esperado que, dados de projetos 
semelhantes nas mesmas condições, sejam 
semelhantes.
4
Distorções na base de dados
� Distorções graves podem ser 
introduzidas por:
� Diferenças de linguagens, tecnologia, área 
de aplicação e capacidade da equipe
� Grandes diferenças de tamanho
� Formas não-padronizadas ou não-confiáveis 
de coleta de dados
� Gestão da qualidade deficiente, que 
terminam os projetos antes do ponto 
adequado de qualidade
Estimativa de esforço
� Convergência de estimativas - técnica de 
Delphi:
� grupo de especialistas:
� discute a especificação;
� cada especialista:
� preenche um formulário de estimativa, 
separadamente;
� os resultados são tabulados e mostrados a todos:
� sem identificar os autores;
� a especificação é rediscutida;
� nova rodada de estimativas;
� até convergir.
Estimativa de tempo
� A estimativa de esforço produz um 
número total de esforço. 
� Esse número precisa ser dividido entre os 
papéis executores do processo. 
� Como fazer isso, que é necessário para a
estimativa de cronograma?
Estimativa de tempo
Disciplina \ Fase Concepção Elaboração Construção Transição Total
Requisitos 3 8 5 1 17
Desenho 1,5 8 8 1 18,5
Implementação 0.5 4 25 9 38,5
Testes 0 5 16 5 25
Total 5 25 54 16 100
� Uma forma: alocação estimada de cada fase / 
disciplina. 
� Exemplo:
Estimativa de tempo
� A partir de cada fase definem-se as alocações 
por disciplina, papéis e, a partir das 
considerações do usuário, o cronograma.
� Importante: devem ser contabilizados:
� Feriados, férias e outros compromissos do projeto.
� Atividades de administrativas (reuniões, email, etc)
� Horas não-produtivas (não se produz 100% do 
tempo)
� Horas trabalhadas em outros projeto.
Estimativa de outros recursos
� Outros recursos podem ser necessários 
ao projeto: 
� Equipamentos
� Ferramentas de suporte
� Atividades de treinamento ou contratação 
específica
5
Estimativa de orçamento
� Após a estimativa do esforço de 
desenvolvimento, da definição do 
cronograma e dos recursos, pode ser 
feito o cálculo de orçamento, que 
envolve:
� Os custos de pessoal
� Os custos dos diversos recursos necessários, 
como equipamentos, máquinas, 
treinamentos, etc.
Precisão das estimativas
� Estimativas devem ser feitas 
� o quanto antes no projeto pois afetam a 
distribuição de recursose a viabilidade do 
projeto
� repetidamente durante o ciclo de vida
� a medida que aspectos do projeto se 
modificam, a estimativa pode ser aprimorada 
com base em informações mais completas 
sobre o projeto 
Precisão das estimativas
� Boehm 1995
Estimativas de riscos
� Um risco é um evento indesejável que tem 
consequências negativas
� Dez principais itens de risco segundo Boehm
1. Pessoal insuficiente
2. Cronogramas e orçamentos que não são realistas
3. Desenvolvimento das funções do software erradas
4. Interface com o usuário inadequada
5. Simplificação dos requisitos
6. Fluxo contínuo de modificações nos requisitos
7. Insuficiência nas tarefas realizadas externamente
8. Insuficiência nos componentes fornecidos 
externamente
9. Exceder a capacidade da ciência da computação
Estimativas de riscos
� Um bom planejamento prevê não só o que vai 
ocorrer corretamente no projeto, mas o que 
pode dar errado, quais as consequências dos 
problemas e o que pode ser feito para 
combater tais situações.
� Fatores de riscos de um projeto:
� Legais
� Tecnológicos
� Oriundos do tamanho e complexidade do produto
� De pessoal
� Relativos à aceitação pelo usuário
Tarefas para a estimativa de riscos
� Identificação dos possíveis riscos
� distinguimos os riscos de outros eventos do projeto 
procurando por três aspectos:
� uma perda associada ao evento
� a probabilidade do evento ocorrer
� o grau em que podemos mudar o resultado
� pode ser feita através das seguintes atividades:
� Checklists
� Entrevistas
� Brainstorming
� Análise dos riscos, definindo probabilidade, impacto e 
janela de atuação.
� Priorização dos riscos, considerando a probabilidade e 
impacto
� Previsão de medidas de mitigação e contingência 
(contramedidas curativas e preventivas)
6
Fluxo do 
Praxis de 
planejamento 
do projeto

Continue navegando