Fundamentos de Engenharia de Software Ferramentas de apoio a gerência de projetos: WBS e PERT/CPM Gerência de Projetos • Um projeto é UM empreendimento único, com início, meio e fim, envolvendo múltiplas atividades executadas por múltiplos agentes • Principais atividades: planejamento e controle Gerência de Projetos • Planejamento: o objetivo do projeto é decomposto em atividades; às atividades são alocados os agentes e demais recursos necessários; as atividades são escalonadas temporalmente: PLANO DE AÇÂO • Controle: monitoramento da execução face ao plano. WBS: Work Breakdown Structure • método de decomposição • método (e modelo) para representar, numa forma hierárquica, as partes de um processo (ou produto) • tipos de WBS: por processo, por produto, híbrido • formas de representação: – árvore – lista indentada WBS • os elementos são numerados seqüencialmente em cada nível • o nível mais alto é identificado (convencionalmente) como 0. • Assim, p ex., 4.2.1 identifica o primeiro elemento (no terceiro nível) do segundo elemento (no segundo nível) do quarto elemento (no primeiro nível) WBS (representado em árvore) processo 0.0 nivel mais alto processo 1.0 segundo nível processo 2.0 segundo nível processo 2.1 terceiro nível processo 3.0 segundo nível processo 2.2 terceiro nível processo 2.2.1 quarto nível processo 4.0 segundo nível processo 4.1 terceiro nível processo 2.2.2 quarto nível processo 5.0 segundo nível processo 4.2 terceiro nível processo 4.2.1 quanro nível processo 4.2.2 quarto nível WBS (representado em lista) 0. processo de mais alto nível 1. processo no primeiro nível 2. processo no primeiro nível 2.1. processo no segundo nível 2.2. processo no segundo nível 2.2.1. processo no terceiro nível 2.2.2. processo no terceiro nível 3. processo no primeiro nível 4. processo no primeiro nível 4.1. processo no segundo nível 4.2. processo no segundo nível 4.2.1. processo no terceiro nível 4.2.2. processo no terceiro nível 5. processo no primeiro nível WBS em árvore (Conferência) Preparar Conferência Programa Tema Material Palestrante Obter Materiais Preparar Kits Realização Data Local Marketing Listas Brochura Projetar Brochura Registro Enviar Brochura WBS em lista (Conferência) ID 1 T ask Name 1 Preparar o programa Duration 1 day Start Wed 5/16/01 Finish Predecessors Wed 5/16/01 2 1.1 Definir tema e seus tópicos 1 day Wed 5/16/01 Wed 5/16/01 3 1.2 Contratar palestrantes 1 day Wed 5/16/01 Wed 5/16/01 4 1.3 Preparar material didático 1 day Wed 5/16/01 Wed 5/16/01 5 1.3.1 Conseguir material dos palestrantes 1 day Wed 5/16/01 Wed 5/16/01 6 1.3.2 Preparar e imprimir material 1 day Wed 5/16/01 Wed 5/16/01 1 day Wed 5/16/01 Wed 5/16/01 7 2 Definir local e data 8 2.1 Definir data 1 day Wed 5/16/01 Wed 5/16/01 9 2.2 Selecionar local da c onferencia 1 day Wed 5/16/01 Wed 5/16/01 10 2.3 Confirmar reservas 1 day Wed 5/16/01 Wed 5/16/01 1 day Wed 5/16/01 Wed 5/16/01 11 3 Criar o plano de marketing 12 3.1 Projetar e imprimir fol hetos 1 day Wed 5/16/01 Wed 5/16/01 13 3.2 Obter mala direta 1 day Wed 5/16/01 Wed 5/16/01 14 3.3 Enviar fol hetos 1 day Wed 5/16/01 Wed 5/16/01 15 3.4 Receber e confirmar i nscrições 1 day Wed 5/16/01 Wed 5/16/01 Resource Names T WBS por processo • mostra um “quadro” das atividades que compõem o projeto. • o nível mais alto identifica o projeto por um nome. • o segundo nível identifica os principais blocos de trabalho tais como planejamento, análise de requisitos, projeto, etc. WBS por processo • os elementos no nível mais baixo representam tarefas ou atividades concretas, que são as menores unidades de trabalho contabilizáveis gerencialmente • os recursos são alocadas a essas tarefas. • essas unidades são especificadas em “work packages”. Um “work package” deve consumir de uma a duas pessoas por uma a duas semanas. WBS por processo • a especificação de um “work packagë” deve conter: – – – – – – nome e breve descrição da tarefa duração estimada recursos necessários tarefas predecessoras e sucessoras produtos critérios de término WBS por produto • Mostra: – a conjunto de partes constituintes do produto • Níveis: – primeiro nível identifica o nome do projeto – o segundo nível identifica os componentes: hardware, software, dados Como construir um WBS • abordagem top down; refinamentos (decomposições) sucessivos; ou seja, começamos decompondo o elemento no nível 0, depois os elementos no nível 1; depois no nível 2, e assim, sucessivamente. • rolling wave: como uma onda que segue para a frente no tempo; as decomposições do nível 2 (ou 1, ou 3) vão até as folhas. Como construir um WBS - etapas 1. determine o objetivo do WBS 2. identifique o topo do WBS: nome do projeto 3. particione* o WBS em seus principais componentes 4. particione* cada um dos componentes (ou elementos) em elementos. E assim sucessivamente. 5. termine o particionamento quando o objetivo do WBS for alcançado. * : cada partição deve conter 7 ± 2 elementos Exemplos de WBS (2) Referências PMI-“PMBOK - Project Management Body of Knowledge”, Project Management Institute (pmbok.zip) Kerzner, H. “Project management”, VNR- 1979 Tausworthe, R. “The work breakdown structure in software project management” J. Systems and Software, 1:181-6, 1980. Fundamentos de Engenharia de Software Escalonamento – PERT-CPM LISTA DE ATIVIDADES Id. A B C D E F Atividade Retirar a porta Retirar a fechadura Limpar e lixar Consertar a fechadura Comprar tinta, lixa e pincel Dar a primeira demão Id. G H I J Atividade Lavar o pincel, 1 vez Deixar secar Dar a segunda demão Lavar o pincel e guardar K Deixar secar L Colocar a fechadura M Colocar a porta QUADRO DE PRIORIDADES Antes Atividade Depois Antes Atividade Depois - A B F H I A B C, D G, H I J, K B, E C F I J - B D L I K L - E C D, K L M C F G, H L M - F G I REDE PERT – (AOA) B A 1 D 2 L 10 3 11 K J E 9 4 I 7 C 8 G 5 F H 6 M 12 REDE PERT – (AON) D A L B K M G E C I F H J LISTA DE ATIVIDADES – (duração – horas) Id Atividade Dur. Id Atividade Dur. A Retirar a porta 0,25 H Deixar secar B Retirar fechadura 0,25 I Dar segunda demão 0,75 C Limpar e lixar 1 J Lavar pincel 0,25 D Consertar fechadura 2 K Deixar secar 10 E Comprar tinta, lixa e pincel 2 L Colocar fechadura 0,5 F Dar primeira demão 0,75 M Colocar porta 0,5 G Lavar pincel 0,25 10 REDE PERT 1,75 0,25 A 1 B 2 0,5 2 D 24,5 24,5 3 10 K 2 2 E 4 0 0 14,5 14,5 13,75 4 5 J I 8 G 3 3 11 9 7 C L F M 12 25,5 25,5 13,75 13,75 H 6 25 25 3,75 3,75 REDE PERT 1,75 0,25 B 2 A D 24,5 24,5 3 2 2 E 4 A 0,25 B 0,25 C 1 D 2 E 2 F 0,75 G 0,25 14,5 14,5 13,75 4 5 M J 12 I 8 G 3 3 11 25 25 9 7 C L 10 K 1 0 0 2 0,5 F 25,5 25,5 13,75 13,75 H 6 3,75 3,75 H 10 I 0,75 J 0,25 K 10 L 0,5 M 0,5 REDE PERT 1,75 0,25 A 1 B 2 0,5 2 D 24,5 24,5 3 10 K 2 2 E 4 0 0 14,5 14,5 13,75 4 5 J I 8 G 3 3 11 9 7 C L F M 12 25,5 25,5 13,75 13,75 H 6 25 25 3,75 3,75 FOLGA DAS ATIVIDADES Evento Início Evento Fim Tci Tcf Tti Ttf Folga: Livre Total Independente Dependente CAMINHO CRÍTICO 2 1,75 0,25 A 1 B 0,5 2 D 24,5 24,5 3 10 K 2 2 E 4 0 0 14,5 14,5 13,75 4 5 J I 8 G 3 3 11 9 7 C L F M 12 25,5 25,5 13,75 13,75 H 6 25 25 3,75 3,75 Método do caminho crítico (CPM) EFT(i) EST(i) Atv(i) dur (i) LST(i) LFT(i) Método do caminho crítico (CPM) – Passo 1 (Forward): marcar em cada um dos nós o “tempo mais cedo de início” EST(i) que esta atividade pode ser iniciada. EST(i) é igual ao maior dos “tempo mais cedo de término” (EFT(j)) de suas atividades predecessoras; EFT(i) = EST(i) + Di – Passo 2 (Backward): marcar em cada um dos nós o “tempo mais tarde de término” LFT(i) que uma atividade pode terminar. (LFT(i)) é igual ao menor dos “tempo mais tarde de início”(LST(j) das atividades sucessoras; LST(i) = LFT(i) – Di – Passo 3 (Folga): para cada um dos nós determine a diferença entre o tempo mais cedo e o tempo mais tarde LST(i)-EST(i) = LFT(i)-EFT(i). – Passo 4 (Caminho crítico): conjunto de nós em que a folga é zero. REDE CPM 0.5 0.25 0.5 B A D 22.5 24,5 24.5 14,5 (0,25) (0,25) 1.5 24,5 (2) 0.25 0 2.5 1.75 1.75 2 K 4 3,75 14,5 G 13,5 0 2 E 2 3 C (2) 0 3 2 3,75 13,75 (0,75) 3 3 3,75 3,75 H 13,75 (0,5) 25 25 25,5 M (0,5) (10) 24,5 25 25,5 I 14,5 (0,75) 14,5 14,5 14,75 J (0,25) (10) 3,75 L 13,75 13,75 F (1) 2 (0,25) 24,5 25 13,75 25,25 25,5 REDE CPM 0.5 0.25 0.5 B A D 22.5 24,5 24.5 14,5 (0,25) (0,25) 1.5 24,5 (2) 0.25 0 2.5 1.75 1.75 2 K 4 3,75 14,5 G 13,5 0 2 E 2 3 C (2) 0 3 2 3,75 (0,75) 3 3 13,75 3,75 3,75 H 13,75 (0,5) 25 25 25,5 M (0,5) (10) 24,5 25 25,5 I 14,5 (0,75) 14,5 14,5 14,75 J (0,25) (10) 3,75 L 13,75 13,75 F (1) 2 (0,25) 24,5 25 13,75 25,25 25,5 PERT - Duração das atividades • Duração Média a + 4m + b D= 6 Variância b–a V=( )2 6 onde m: estimativa provável a: estimativa otimista b: estimativa pessimista Duração do caminho crítico tC = ti C2 = i2 z= Tx - tC C onde i conjunto das atividades no caminho crítico tem distribuição normal N(0, 1) a probabilidade do projeto ser concluído até o tempo Tx é: P(T Tx ) = P (Z z) = 1 – P (Z > z) Tabela da Distribuição Normal Padrão 0.00 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.0 0.0000 0.0040 0.0080 0.0120 0.0160 0.0199 0.0239 0.0279 0.0319 0.0359 0.1 0.0398 0.0438 0.0478 0.0517 0.0557 0.0596 0.0636 0.0675 0.0714 0.0753 0.2 0.0793 0.0832 0.0871 0.0910 0.0948 0.0987 0.1026 0.1064 0.1103 0.1141 0.3 0.1179 0.1217 0.1255 0.1293 0.1331 0.1368 0.1406 0.1443 0.1480 0.1517 0.4 0.1554 0.1591 0.1628 0.1664 0.1700 0.1736 0.1772 0.1808 0.1844 0.1879 0.5 0.1915 0.1950 0.1985 0.2019 0.2054 0.2088 0.2123 0.2157 0.2190 0.2224 0.6 0.2257 0.2291 0.2324 0.2357 0.2389 0.2422 0.2454 0.2486 0.2517 0.2549 0.7 0.2580 0.2611 0.2642 0.2673 0.2704 0.2734 0.2764 0.2794 0.2823 0.2852 0.8 0.2881 0.2910 0.2939 0.2967 0.2995 0.3023 0.3051 0.3078 0.3106 0.3133 0.9 0.3159 0.3186 0.3212 0.3238 0.3264 0.3289 0.3315 0.3340 0.3365 0.3389 1.0 0.3413 0.3438 0.3461 0.3485 0.3508 0.3531 0.3554 0.3577 0.3599 0.3621 1.1 0.3643 0.3665 0.3686 0.3708 0.3729 0.3749 0.3770 0.3790 0.3810 0.3830 1.2 0.3849 0.3869 0.3888 0.3907 0.3925 0.3944 0.3962 0.3980 0.3997 0.4015 1.3 0.4032 0.4049 0.4066 0.4082 0.4099 0.4115 0.4131 0.4147 0.4162 0.4177 1.4 0.4192 0.4207 0.4222 0.4236 0.4251 0.4265 0.4279 0.4292 0.4306 0.4319 1.5 0.4332 0.4345 0.4357 0.4370 0.4382 0.4394 0.4406 0.4418 0.4429 0.4441 1.6 0.4452 0.4463 0.4474 0.4484 0.4495 0.4505 0.4515 0.4525 0.4535 0.4545 Tabela da Distribuição Normal Padrão Exercício 2 A C 4 1 D B Atv. a m b A 7 10 12 B 9 12 17 C 20 24 26 D 16 18 20 3 Probabilidade de conclusão em 35 dias? Exercício [(b-a)/6]2 (a + 4m + b)/6 ti i2 Atividade a m b A 7 10 12 9,8 0,69 B 9 12 17 12,3 1,77 C 20 24 26 23,6 1,00 D 16 18 20 18 0,44 Exercício 11,4 9,8 2 A C (23,6) (9,8) 4 1 1,6 0 35 33,4 D B (12,3) (18,0) 17 12,3 3 Exercício 11,4 9,8 2 A C (23,6) (9,8) 4 1 1,6 0 35 33,4 D B (12,3) (18,0) 17 12,3 3 35 - 33,4 = 11,4 - 9,8 = 1,6 Exercício a m b A 7 10 12 9,8 0,69 B 9 12 17 12,3 1,77 C 20 24 26 23,6 1,00 D 16 18 20 ti i2 Atividade 18 0,44 33,4 1,69 Exercício tC = 33,4 C2 = 1,69 C = 1,3 P(t <= 35) ? Z= T - tC C = 35 – 33,4 1,3 = 1,23 P(t <= 35) = P(z <= 1,23) = 0,8907