Revisão: Estimando o tamanho do projeto

Documentos relacionados
Lista de Exercícios 02: Revisão

Bruno Hott COCOMO II

Medidas de Esforço de Desenvolvimento de Software

Estimativa de Esforço. Estimativas de Software. Subjetividade da Estimativa. Incerteza de Estimativa. Técnicas de Estimativas

Estimativas de Software

Plano de Projeto. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Métricas de Software

Uso das ferramentas APF e COCOMO para estimativa da capacidade produtiva da TI

Ferramenta: Spider-CoCoMo

Engenharia de Software II

GPS - Gestão de Projeto de Software

Medidas de Esforço de Desenvolvimento de Software

"A estimativa de tamanho de software é o coração do processo de estimativas de um projeto de software". (PUTMAN,1992)

Análise de Ponto de Função APF. Aula 01

7. Gerenciamento dos Custos do Projeto. Bruno Hott

COCOMO II - Um modelo para estimativa de custos de Gerência de Projetos

Orientação prática para preenchimento da Planilha de Contagem NESMA (EFP)

GESTÃO DE PROJETOS Unidade 4 Gerenciamento de Tempo. Luiz Leão

Estimativa por Pontos de Caso de Uso

Gerenciamento Objetivo de Projetos com PSM

Gerenciamento do Tempo de Projetos. Parte 05. Gerenciamento de Projetos Espaciais CSE-301. Docente: Petrônio Noronha de Souza

REUSO E REUSABILIDADE

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO

3 Medição de Software

Ciência da Computação ENGENHARIA DE SOFTWARE. Métricas e Estimativas do Projeto

Planejamento e Desempenho de Custos. Disciplina: Gerenciamento de Projetos Docente: Cristina Almeida

Análise de Ponto de Função APF. Aula 04

INTRODUÇÃO INTRODUÇÃO 31/03/2015 GESTÃO DO TEMPO CRONOGRAMA GERENCIAMENTO DE PROJETOS DEFINIÇÃO DA ATIVIDADE DEFINIÇÃO DA ATIVIDADE

Análise de Pontos de Função Carlos Eduardo Vazquez

ANÁLISE DE PONTOS DE FUNÇÃO E SUA IMPORTÂNCIA PARA PROJETOS DE DESENVOLVIMENTO DE SOFTWARE

Análise Estruturada. Análise Essencial e Estruturada

Qualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa

Capítulo 23. Planejamento de Projeto Pearson PrenticeHall. Todos os direitos reservados. slide 1

Estimativas e Métricas Engenharia de Software

Introdução à Ciência da Computação II

2. Modelos de Desenvolvimento de Software

Análise de Ponto de Função APF. Aula 05

Processo de Desenvolvimento. Edjandir Corrêa Costa

5 Resultados de Fadiga

SUMÁRIO PARTE I DIRECIONANDO A PRODUÇÃO, 2

A análise de séries temporais é uma área da estatística dedicada ao estudo de dados orientados no tempo (MONTGOMERY, 2004).

Gerenciamento do Tempo. Igor Muzetti Pereira

Estimativa por Use Case Point (UCP)

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Medição, Estimativas e Gerenciamento de Projetos de Software

GESTÃO DE PROJETOS Unidade 9 Gerenciando de Custos no Projeto. Luiz Leão

ANDRÉ FRANCISCO DE MOURA

9 Relações para redução das velocidades de propagação de chama turbulentas no motor em velocidades de chama laminares dos combustíveis

Qualidade de software. Prof. Emiliano Monteiro

GERENCIAMENTO DOS CUSTOS DO PROJETO

AULA 09 Regressão. Ernesto F. L. Amaral. 17 de setembro de 2012

Medidas de Esforço de Desenvolvimento de Software

Métricas. Métricas. [Engenharia de Software II] Adriano J. Holanda 11/9/2017

Pontos de Função - PF COCOMO

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é:

GERENCIAMENTO DO TEMPO DO PROJETO

Processos de software

Qual o nível de detalhe adequado para os requisitos?

Ajuste de modelos de séries temporais para pressão atmosférica de Uberlândia

Transcrição:

Bruno Hott COCOMO

Revisão: Estimando o tamanho do projeto Medidas mais comuns: Pontos de Função (PF) e Linhas de Código (LOC) Vantagem do PF sobre LOC é que os Pontos de Função podem ser obtidos logo no início do ciclo de vida, diretamente dos requisitos ou especificações. Os PF são úteis para estimativas independentes de linguagem, realizadas no início do ciclo de vida do projeto. Por outro lado, a utilização das LOC na previsão do esforço total de um projeto continua tendo sucesso para uma ampla quantidade de projetos, envolvendo diversas linguagens Bruno Hott - DECSI/UFOP 2

NESMA: Early FPA Counting A NESMA reconhece três tipos de contagem de pontos de função: contagem de pontos de função detalhada contagem de pontos de função estimativa contagem de pontos de função indicativa Os métodos estimativo e indicativo para a contagem de pontos de função foram desenvolvidos pela NESMA para permitir que uma contagem de pontos de função seja feita nos momentos iniciais do ciclo de vida de um sistema. A contagem indicativa da NESMA é também conhecida no mundo como "método holandês". Bruno Hott - DECSI/UFOP 3

NESMA: Contagem detalhada de pontos de função A contagem (detalhada) de pontos de função: determina-se todas as funções de todos os tipos (LIF, EIF, EI, EQ, EO) determina-se a complexidade de cada função (Baixa, Média, Alta) calcula-se o total de pontos de função não ajustados Bruno Hott - DECSI/UFOP 4

NESMA: Contagem estimativa de pontos de função A contagem estimativa é realizada da seguinte forma: determina-se todas as funções de todos os tipos (LIF, EIF, EI, EQ, EO) toda função do tipo dado (LIF, EIF) tem sua complexidade funcional avaliada como Baixa, e toda função transacional (EI, EQ, EO) é avaliada como de complexidade média calcula-se o total de pontos de função não ajustados Logo, a única diferença em relação à contagem usual de pontos de função é que a complexidade funcional não é determinada individualmente para cada função, mas prédefinida para todas elas. Bruno Hott - DECSI/UFOP 5

NESMA: Contagem indicativa de pontos de função A contagem indicativa de pontos de função: determina-se a quantidade das funções do tipo dado (LIFs e EIFs) calcula-se o total total de pontos de função não ajustados da aplicação da seguinte forma: tamanho indicativo (pf) = 35 x número de LIFs + 15 x número de EIFs Portanto esta estimativa é baseada somente na quantidade de arquivos lógicos existentes (LIFs e EIFs) A contagem indicativa é baseada na premissa de que existem aproximadamente três EIs (para adicionar, alterar, e excluir dados do ALI), duas EQs, e uma EO na média para cada ILF, e aproximadamente uma EQ e uma EO para cada EIF. Bruno Hott - DECSI/UFOP 6

NESMA: Resultados da pesquisa feita com mais de 100 projetos Bruno Hott - DECSI/UFOP 7

NESMA: Resultados da pesquisa feita com mais de 100 projetos Bruno Hott - DECSI/UFOP 8

Revisão: Estimando o Esforço e o Prazo Modelos Paramétricos Assumem a existência de uma relação matemática entre tamanho, esforço e prazo. Tal relação é afetada por parâmetros de performance. Os relacionamentos são baseados em suposições teóricas e/ou dados históricos. Exemplos de modelos paramétricos são COCOMO (COnstructive COst Model) e SLiM (Software Life Cycle Model). Modelos Baseados em Atividades Também chamada estimativa bottom-up, esta modalidade consiste em enumerar todas as atividades do projeto e estimar o esforço e prazo para cada uma delas. Analogia Esta técnica baseia-se na comparação das características do projeto com a de outros projetos concluídos. As diferenças são identificadas, sendo introduzidas as mudanças necessárias para produzir as estimativas. Relações Simples de Estimativas Trata-se de uma simplificação dos modelos paramétricos. Neste caso, utilizam-se relações matemáticas simples, baseadas em dados históricos locais, ao invés de modelos matemáticos abrangentes. De uma forma geral, os relacionamentos deste tipo não são aplicáveis a organizações e contextos diferentes dos originalmente utilizados para a coleta dos dados. Exemplo: Estimar o esforço a partir de um modelo linear do tipo Esforço = Tamanho x Produtividade. Bruno Hott - DECSI/UFOP 9

Revisão: Estimando o Esforço e o Prazo Normalmente, faltam dados históricos que permitam a utilização de uma abordagem simplificada. Nesse caso, pode ser interessante optar por um modelo paramétrico. Os modelos paramétricos mais amplamente utilizados para a determinação do esforço são o COCOMO (atualmente em sua segunda versão) e o SLIM Bruno Hott - DECSI/UFOP 10

COCOMO: Introdução COCOMO é um dos modelos de estimativa de software mais amplamente utilizado no mundo Desenvolvido por Barry Boehm em 1981 COCOMO estima o esforço e prazo para o desenvolvimento de um produto baseado em entradas que relacionam o tamanho do software e alguns direcionadores de custo que afetam a produtividade Bruno Hott - DECSI/UFOP 11

COCOMO: Modelo COCOMO é baseado em uma medida física (linhas de código fonte) Estimativas se tornam mais precisas ao longo do desenvolvimento Erros de estimativas: Estimativas iniciais podem estar erradas por um fator de 4x Ao longo do processo de desenvolvimento, as estimativas se tornam mais precisas (e o modelo leva em conta parametros mais detalhados) Bruno Hott - DECSI/UFOP 12

COCOMO: Estrutura Geral OUTPUT= A (size) B M Todos os modelos COCOMO possuem a mesma estrutura básica OUTPUT pode ser esforço ou tempo A medida fundamental é o tamanho do código (expresso em número de linhas de código O tamanho do código tem um efeito exponencial no esforço (porém é bem próximo de 1) Vários fatores de ajuste são usados para fazer com que o modelo seja mais preciso Bruno Hott - DECSI/UFOP 13

COCOMO: 1 pessoa-mês = 152 horas de trabalho SLOC = DSI (Delivered Source Instructions) Apenas o código entregue ao cliente. Isto é, não contam testes de unidades, código de conversão, utilidades, etc.) Bruno Hott - DECSI/UFOP 14

COCOMO 81 Bruno Hott - DECSI/UFOP 15

COCOMO 81: Três modelos Modelo básico: Estimativa rápida Utilizado nos primeiros estágios de desenvolvimento Modelo Intermediário: Mais acurado, necessita de mais características do produto Utilizado em estágios mais avançados de desenvolvimento Modelo Detalhado: Mais detalhado, requer mais informação Bruno Hott - DECSI/UFOP 16

COCOMO 81: Tipos de projetos Modo Orgânico (Organic) Equipes pequenas, ambiente familiar, aplicações bem entendidas, similar aos projetos previamente desenvolvidos, requisitos simples, relativamente pequeno e requer pouca inovação (FÁCIL) Modo Semidestacado (Semidetached) Equipe do projeto tem experiências diversas, requisitos mais complexos, organização possui menos familiaridade com a aplicação (MÉDIO) Modo Embutido (Embedded) Requisitos rigorosos e inflexíveis, produto requer grande inovação, equipe não possui nenhuma familiaridade ou experiência (DIFÍCIL) Bruno Hott - DECSI/UFOP 17

Os modos de desenvolvimento: características do projeto Development Mode Project Characteristics Size Innovation Deadline/ constraints Dev. Environment Organic Small Little Not tight Stable Semi-detached Medium Medium Medium Medium Embedded Large Greater Tight Complex Bruno Hott - DECSI/UFOP 18

Equações MM=a (KDSI) b TDEV=2.5 (MM ) c Basic COCOMO a b c Organic 2.4 1.05 0.38 Semi-detached 3.0 1.12 0.35 Embedded 3.6 1.20 0.32 Bruno Hott - DECSI/UFOP 19

Efeito exponencial do COCOMO Bruno Hott - DECSI/UFOP 20

Exemplo Foi determinado que o projeto se enquadra na características do modo Semi-destacado. Foi estimado que o projeto terá 32000 DSI. Utilizando as fórmulas, pode-se estimar: Bruno Hott - DECSI/UFOP 21

Exemplo Foi determinado que o projeto se enquadra na características do modo Semi-destacado. Foi estimado que o projeto terá 32000 DSI. Utilizando as fórmulas, pode-se estimar: Esforço: 3.0*(32) 1.12 = 146 pessoa-mês Prazo: 2.5*(146) 0.35 = 14 meses Produtividade: 32.000 / 146 = 219 DSI/pm Número médio de pessoas: 146 / 14 = 10 pessoas Bruno Hott - DECSI/UFOP 22

Modelo COCOMO Intermediário O Modelo COCOMO Intermediário estima o esforço do desenvolvimento de software utilizando atributos que levam em conta: requisitos funcionais e não-funcionais atributos do projeto As variáveis direcionadoras são organizadas em 4 classes e 15 subitens Cada valor corresponde a um multiplicador na faixa de [0.7, 1.66] (multiplicador menor que 1 implica em redução de custo Todos os valores são multiplicados juntos para modular esforço Bruno Hott - DECSI/UFOP 23

Direcionadores Bruno Hott - DECSI/UFOP 24

Equações MM=a (KDSI) b 15 MM Korr = MM i=1 EAF i TDEV=2.5 (MM ) c Intermediate COCOMO a b c Organic 3.2 1.05 0.38 Semi-detached 3.0 1.12 0.35 Embedded 2.8 1.20 0.32 Bruno Hott - DECSI/UFOP 25

Modelo Intermediário: Exemplo Projeto A, semidestacado, é um software com 32,000 DSI. Está numa área de missão crítica, de forma que a confiabilidade exigida é alta (RELY HIGH = 1.15). Pode-se estimar: Bruno Hott - DECSI/UFOP 26

Modelo Intermediário: Exemplo Projeto A, semidestacado, é um software com 32,000 DSI. Está numa área de missão crítica, de forma que a confiabilidade exigida é alta (RELY HIGH = 1.15). Pode-se estimar: Esforço: 1.15*3.0*(32) 1.12 = 167 pm Prazo: 2.5*(167) 0.35 = 15 meses Produtividade: 32,000 / 167 = 192 DSI/pm Número médio de pessoas: 167 / 15 = 11 pessoas Bruno Hott - DECSI/UFOP 27

COCOMO 81: Modelo Detalhado Possui mais multiplicadores para cada fase do desenvolvimento Organiza os parâmetros hierarquicamente para simplificar a computação dos sistemas que possuem de diversos módulos Projetos são organizados em quatro fases: Requirements Planning and Product Design (PRD) Detailed Design (DD) Code and Unit Test (CUT) Integration Test (IT) Direcionadores são estimados por fase Dados das fases são então agregados para criar uma estimativa total Bruno Hott - DECSI/UFOP 28

COCOMO 81: Modelo Detalhado Bruno Hott - DECSI/UFOP 29