1 cap 5 –planejamento de projetos de software ricardo l schneider fes

23
1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

Upload: internet

Post on 18-Apr-2015

107 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

1

Cap 5 –Planejamento de Projetos de Software

Ricardo L Schneider

FES

Page 2: 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”

Page 3: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

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

Page 4: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

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

Page 5: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

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

Page 6: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

6

Escopo do Projeto Dados Controles Funcões Performance Restrições Interfaces Confiabilidade

Page 7: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

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?

Page 8: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

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)?

Page 9: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

9

Viabilidade

Tecnológica Financeira/econômica “Tempo para o mercado” Recursos necessários

Page 10: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

10

Viabilidade econômico/financeira

V0

V1

Vn

Page 11: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

11

Viabilidade econômico/financeira

V0

V1

Vn

Taxa de juros: i

VA

Page 12: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

12

Planejamento (estimativa) dos Recursos

Humanos: Skills (conhecimentos):

Organizacionais (gerente, lider, …) Especialidades (banco de dados, rede, …)

Esforço Número de pessoas

Page 13: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

13

Recursos reusáveis de software Off-the-shelf (software de prateleira) Componentes completos Componentes parciais Novos componentes

Recursos ambientais Hardware Software Facilidades

Page 14: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

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

Page 15: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

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

Page 16: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

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

Page 17: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

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 …

Page 18: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

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

Page 19: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

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

Page 20: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

20

COCOMO (Barry Boehm)

Page 21: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

21

Tempo estimado (meses)

Page 22: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

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

Page 23: 1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES

23

Decisão de comprar x fabricar

Produtos de software

Mão de obra do projeto (Outsourcing)