Post on 18-Apr-2015
1
Cap 5 –Planejamento de Projetos de Software
Ricardo L Schneider
FES
2
Observações sobre Estimativas
“… Um bom gerente é a pessoa com a habilidade de ver o que vai dar errado antes de realmente dar errado …”
“e com a coragem de fazer estimativas quando o futuro ainda é incerto”
3
Estimativas de recursos, custo e programa de trabalho requerem: Experiência Disponibilidade de dados históricos Coragem para fazer previsões quantitativas
quando só se dispõe de informações qualitativas
4
Fatores de influência: Complexidade do projeto
(influenciada pelas experiências anteriores: 1o projeto x 10o projeto de mesmo tipo)
Tamanho do projeto(complexidade adicional de inter-relacionamentos)
Grau de incerteza
5
Objetivos do Planejamento de Projeto:
Prover uma estrutura que possibilite ao gerente fazer estimativas razoáveis de recursos, custo e programa de trabalho (schedule) Realizado no início do projeto e atualizado
regularmente, à medida que o projeto avança Define cenários para os melhores e piores
casos, estabelecendo os limites
6
Escopo do Projeto Dados Controles Funcões Performance Restrições Interfaces Confiabilidade
7
Informações necessárias para o escopo (questões livres):
Cliente/usuário: Quem é o interessado no projeto? Quem vai usar a solução? Qual vai ser o benefício econômico? Existe outra fonte de solução?
8
Entendimento do problema: Quais as saídas geradas por uma boa solução? Que problemas a solução vai resolver? Em que ambiente a solução vai ser usada? Alguma necessidade especial de performance
ou restrição vai afetar a solução? Efetividade da coleta de informações:
As pessoas são as corretas para responder? As perguntas são relevantes? Alguém mais pode fornecer informações? Podemos perguntar mais coisas (mais tarde)?
9
Viabilidade
Tecnológica Financeira/econômica “Tempo para o mercado” Recursos necessários
10
Viabilidade econômico/financeira
V0
V1
Vn
11
Viabilidade econômico/financeira
V0
V1
Vn
Taxa de juros: i
VA
12
Planejamento (estimativa) dos Recursos
Humanos: Skills (conhecimentos):
Organizacionais (gerente, lider, …) Especialidades (banco de dados, rede, …)
Esforço Número de pessoas
13
Recursos reusáveis de software Off-the-shelf (software de prateleira) Componentes completos Componentes parciais Novos componentes
Recursos ambientais Hardware Software Facilidades
14
Opções de estimativas de projeto:1. Retardar a estimativa ao máximo (100%
de correção ao final do projeto!)
2. Basear as estimativas em projetos similares, já completados
3. Usar técnicas de decomposição
4. Usar um ou mais modelos empíricos
15
Técnicas de decomposição:
Classificação por tamanho: Usando lógica fuzzi (nebulosa) Usando Pontos de Função Componentes padrões Mudanças em relação a software existente
16
Decomposição baseada no problema Usando LOC
Subsistema A 2300 LOC
Subsistema B 5300 LOC
Subsistema C 4950 LOC
Usando PFSubsistema A 300 FP
Subsistema B 258 FP
Subsistema C 420 FP
17
Decomposição baseada no processo
1. Definição do Projeto
1.1 Reunião com gerência
1.1.1 Preparar a reunião
1.1.2 Marcar a reunião
1.1.3 Conduzir a reunião
1.1.4 …
18
Métodos empíricos Orientados a LOC:
Walston-Felix: E = 5.2 (Kloc)0.91
Bailey-Basili: E = 5.5 + 0.73 (Kloc)1.16
Boehm: E = 3.2 (Kloc)1.05
Doty: E = 5.288 (Kloc)1.047
19
Orientados a FP:
Albrecht: E = -13.39 + 0.545 FP
Kemerer: E = 60.62 x 7.728 10-8 FP3
Matson,..: E = 586.7 + 15.12 FP
20
COCOMO (Barry Boehm)
21
Tempo estimado (meses)
22
Fórmulas completas do Cocomo:
Modo Esforço Nominal
Orgânico: E = 3.2 (Kloc)1.05
Mistos E = 3.0 (Kloc)1.12
Embutidos: E = 2.8 (Kloc)1.20
23
Decisão de comprar x fabricar
Produtos de software
Mão de obra do projeto (Outsourcing)