Baixe o app para aproveitar ainda mais
Prévia do material em texto
Medidas do Esforço de Desenvolvimento de Software Aula 6 Prof. Horácio Ribeiro 1 Nas aulas passadas estudamos como medir a funcionalidade do software 2 Na segunda fase vamos estudar como fazer estimativas de esforço e prazo e acompanhar o desenvolvimento de projetos 3 Objetivos da aula: Aprender a fazer estimativas de prazo e esforço utilizando método COCOMO Aprender como fazer estimativa com ponto função. Classificar o software em grau de dificuldade, segundo critérios do COCOMO. 4 Para uma nova aplicação : Desejamos saber quanto tempo será necessário? Quanto vai custar? Vale a pena? estimativas de custos e prazos em software não é ciência exata; Diminuir o nível de erro da estimativas; Um erro na estimativa pode comprometer o projeto. Estimativas, normalmente, são feitas a partir de série histórica baseada nos projetos feitos anteriormente. Registram-se várias informações (tempo por fase do projeto, de codificação, quantidade de programadores e outras informações). As informações são a base para estimar e acompanhar a execução de novos projetos. tabela de informações gerais projeto prazo (dias) custo (reais) linguagem PF (não ajustado) numero desenvolvedores coruja 230 R$ 130.000,00 PHP 380 2 diario escolar 150 R$ 90.000,00 PHP 278 2 folha 200 R$ 110.000,00 java 315 2 portal 110 R$ 40.000,00 pyton 260 1 projeto analise projeto codificação integraçao totais %pf % prazo % custo %pf % prazo % custo %pf % prazo % custo %pf % prazo % custo PF prazo custo coruja 18,2 9 20 13,7 32 14 46,7 35 45 21,5 24 21 380 230 R$ 130.000,00 diario escolar 17,6 14 23 14,1 27 17 48,8 33 42 19,5 26 18 278 150 R$ 90.000,00 folha 18,6 19,6 18 14,4 30 19 44,7 32,4 44 22,3 18 19 315 200 R$ 110.000,00 portal 18,4 12 19 12,8 34 15,3 43,6 29 44,3 25,2 25 21,4 260 110 R$ 40.000,00 Base de informações: Os dados são colocados em gráficos e estes gráficos definem famílias de curvas. Estas curvas são ajustadas a funções matemáticas. Nível de erro aceitável Depende da faixa de valores Quando não se tem nenhuma informação é comum fazer as estimativas baseadas na experiência dos profissionais. - método Delphos Recomendação do PMI para estimativas de prazo Prazo estimado = PM + Pm + 4*Pmedio 6 Onde : PM é o maior prazo dado Pm é o menor prazo dado Pmedio é a media dos prazos dados Exemplo: 9 técnicos experientes estimaram o prazo: Tecnico1:10 dias tecnico2:20 dias tecnico3:15 dias Técnico4:12 dias tecnico5: 8 dias tecnico6:25 dias Tecnico7:15 dias tecnico8:12 dias tecnico9:15 dias Prazo médio= (10+20+15+12+8+25+15+12+15)/9 = 15 dias Prazo de projeto = ( 25 + 8 + 4*15)/6 = 15,5 (15 dias + meio dia) estimativas sendo PMI projeto analise projeto codificação integraçao totais % pf % prazo % custo % pf % prazo % custo % pf % prazo % custo % pf % prazo % custo PF prazo custo media 18,2 13,7 20 13,8 30,8 16,3 45,9 32,4 43,8 22,1 23,3 19,9 308,3 172,5 92500 maior 18,6 19,6 23 14,4 34 19 48,8 35 45 25,2 26 21,4 380 230 130000 menor 17,6 9 18 12,8 27 14 43,6 29 42 19,5 18 18 260 110 40000 estimativa 18,2 13,9 20,2 13,7 30,7 16,4 46 32,2 43,7 22,2 22,8 19,8 312,2 171,7 90000 O processo de estimativa envolve basicamente quatro atividades: 1 – estimar o tamanho do produto a ser gerado; 2 – Estimar o esforço empregado na execução do projeto; 3 – estimar a duração do projeto; 4 – estimar o custo do projeto. Nível de variação de erro de uma estimativa nas diversas fases do projeto. Pode-se realizar o cálculo da medida em cada fase do desenvolvimento. O assunto estimativas e os custos em projetos foi estudado Barry Boehm (1981). Estudou mais de 5000 projetos de software; Estes softwares foram classificados segundo uma hierarquia de modelos; Recebeu o nome de COCOMO. (COnstructive COst MOdel - Modelo de Custos Construtivos) COCOMO Classificação do tipo do software: Modelo 1 (básico): é um modelo estático de valor simples que computa o esforço de desenvolvimento de software. COCOMO Classificação do tipo do software: Modelo 2 (intermediário): computa o esforço de desenvolvimento como uma função do tamanho, e de um conjunto de direcionadores de custo (definidos em tabelas) que incluem avaliações subjetivas do produto, hardware, experiência do pessoal e dos atributos do projeto. COCOMO Classificação do tipo do software: Modelo 3 (avançado) Chamado de COCOMO avançado incorpora a versão intermediária e faz uma avaliação dos impactos nos direcionadores de custo sobre cada passo do processo de desenvolvimento ( analise, projeto, codificação, testes...) COCOMO Classificação de classes de projeto (tres): 1 – Modo Orgânico ou convencional: projetos de software simples, pequenos, pequenas equipes com relativa experiência. Trabalha-se um conjunto de requisitos não tão rígidos, pode-se exemplificar pequenos sistemas. COCOMO Classificação de classes de projeto (tres): 2 - Modo Semi destacado ou difuso: Projetos de software intermediário (em tamanho e complexidade) na qual temos equipes com vários níveis de experiência que devem programar uma combinação de requisitos rígidos. Por exemplo um sistema de processamento de transações. COCOMO Classificação de classes de projeto (três): 3 – Modo Embutido ou restrito: um projeto que deve ser desenvolvido dentro de restrições operacionais, como por exemplo sistema de controle de telefonia. COCOMO básico - equaçoes: Projeto de software ab bb cb db Orgânico 2,4 1,05 2,5 0,38 Semi destacado 3,0 1,12 2,5 0,35 Embutido 3,6 1,20 2,5 0,32 E = esforço aplicado em pessoas-mês. D = tempo de desenvolvimento em meses cronológicos. Exemplo: Considere um software com 33,3 Kloc, usando o modelo semi destacado temos: O número ideal de pessoas no projeto Duração do projeto: D = 2,5 (E) exp (0,35) = 2,5 *(152)elevado a 0,35 = 14 meses Esforço: E = 3,0 (Kloc) exp (1,12) = 3,0 (33,3) elevado a 1,12 = 152 pessoas-mês N = E/D = 152/14,5 = 11 pessoas Exemplo 2: Considere que após uma análise de ponto função temos 236 PF não ajustado. Como as formulas do COCOMO foram construídas com KLOC. Se utilizarmos a linguagem ACCESS temos: Exemplo 2 Usando o COCOMO básico, gerente considerou o projeto como orgânico E usaremos as formulas: Duração do projeto: D = 2,5 (E) exp (0,35) = 2,5 *(36)elevado a 0,35 = 4,3 meses Esforço: E = 3,0 (Kloc) exp (1,12) = 3,0 (9) elevado a 1,12 = 36 pessoas-mês COCOMO intermediário - equações: NO modelo intermediário o básico é ampliado considerando-se 4 grandes categorias de custos: A – Atributos do produto: I – Confiabilidade exigida do software II – Tamanho do Banco de dados. III – Complexidade do software COCOMO intermediário - equações: NO modelo intermediário o básico é ampliado. considerando-se 4 grandes categorias de custos: B – Atributos do Hardware I – Restrições de desempenho de run-time II - Restrições de memória III – Mudanças do ambiente de software IV – Tempo de resposta COCOMO intermediário - equações: NO modelo intermediário o básico é ampliado. considerando-se 4 grandes categorias de custos: C – Atributos de pessoal I – Capacidade dos analistas II – Capacidade dos programadores III – Experiência na aplicação IV – Experiência no ambiente de Hardware V - Experiência com a linguagem de programação COCOMO intermediário - equações: NO modelo intermediário o básico é ampliado. considerando-se 4 grandes categorias de custos: D – atributos de projeto I – Uso de ferramenta de software. II – técnicas modernas de programação III – Prazo requerido para o desenvolvimento equaçoes do modelo intermediário: O produtodos índices encontrados na tabela torna-se o EAF E = a (kloc) exp (b) * EAF Onde: o coeficiente a e o expoente b são fornecidos pela tabela: Projeto de software a b Orgânico 3,2 1,05 Semi destacado 3,0 1,12 Embutido 2,8 1,20 EAF Considere que, no exemplo 2, anterior (COCOMO intermediário) o gerente considerou o projeto como orgânico E usaremos as formulas: exemplo Calcular EAF: exemplo Analisando os 15 direcionadores o gerente concluiu os seguintes resultados: Complexidade do software: alta Restrições quanto ao uso da memória: Alto Experiência com a linguagem de programação: Baixa Capacidade dos programadores: Baixa Os outros atributos foram considerados normais Assim pode-se determinar o EAF EAF = (1,15 * 1,06*1,14*1,17) = 1,63 Desta forma pode-se estimar o esforço: Prazo: COCOMO II O COCOMO II é uma melhora do COCOMO-81 leva em consideração que há abordagens diferentes para o desenvolvimento; incorpora um conjunto de sub modelos que produzem estimativas detalhadas. Os sub modelos são: A – Um modelo de Composição de aplicação; B – Um modelo de projeto preliminar; C – Um modelo de Reuso; D – Um modelo de pós arquitetura; Até a próxima aula 42 Contactos: Professor Horacio ribeiro www.espacodoprofessor.com Email: profhoracioribeiro@gmail.com Aula 6 43
Compartilhar