Estimativas de software



Documentos relacionados
Capítulo 23 Planejamento de Projeto. Aula 1 Cronograma do Projeto

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

Planejamento e Gerenciamento de Software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

O que é um processo de software?

Gerando Estimativas Confiáveis com COCOMO II e o Banco de Dados do ISBSG

Aplicação de Fórmulas Matemáticas na Gerencia de Projeto com Ênfase no Modelo COCOMO II

Planejamento e Gerenciamento de Projeto de Software

Processos de Desenvolvimento de Software

Engenharia de Software

Fábrica de Software 29/04/2015

Qualidade de Software. Anderson Belgamo

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática

10 áreas de conhecimento e 5 processos

Visão Geral Parte 1. O que é engenharia de software?

Plano de Projeto G Stock. G Stock. Plano de Projeto. Versão 1.0

INICIAÇÃO DO PROJETO PLANEJAMENTO PRELIMINAR. Engenharia de Software INE Planejamento de projetos de SW. O Planejamento de projetos de SW

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

Métricas para Contratação de Desenvolvimento de Software

Métricas para Contratação de Desenvolvimento de Software

17/02/2009. Curso Superior de Tecnologia: Redes de Computadores. Disciplina: Gestão de Projetos de TI Prof.: Fernando Hadad Zaidan. Unidade 2.

MÉTRICAS DE SOFTWARE

Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira

PLANEJAMENTO DO PROJETO

Planejamento de Projetos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

Modelos para Estimativas de Custo. Hermano Perrelli

- Project Management Institute. Disciplina de Engenharia de Software. PMP- Project Management Professional PMBOK


UNIVERSIDADE FEDERAL DO PARANÁ - UFPR Bacharelado em Ciência da Computação

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

PLANEJAMENTO DO PROJETO

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira

Pós Graduação Engenharia de Software

Métricas para Contratação de Fábricas de Software - Pontos de Função

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Cargo Função Superior CBO. Tarefas / Responsabilidades T/R Como Faz

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Prof. Celia Corigliano. Unidade II GERENCIAMENTO DE PROJETOS

O processo de melhoria de processo

Padrões de Qualidade e Métricas de Software. Aécio Costa

Gerenciamento de Projeto

Engenharia de Software Processo de Desenvolvimento de Software

Gerenciamento de Projeto de Software Leitura: Sommerville - Pressman

Engenharia de Negócios. Gestão de Sistemas Complexos. Planejamento Time Box

Aprenda as melhores práticas para construir um completo sistema de teste automatizado

Gerência e Planejamento de Projeto. SCE Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002

Escolhendo o pessoal

Engenharia de Software II

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

Gerência de Projetos. Aula 07. Prof. Gladimir Ceroni Catarino

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO

Gerenciamento de Projeto de Software

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

1) Objetivos. 3) Estabelecer o Escopo do Software. 2) Principais Atividades

Professor: Curso: Disciplina:

Prototipação de Software

Detalhamento da Fase de Planejamento e Programação de Projeto. Gerenciamento de Tempo

Projectos de Software

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

Manutenção desoftware. SCE 186- Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestrede2002

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

Introdução a Informática. Prof.: Roberto Franciscatto

Engenharia de Requisitos

Engenharia de Software 01 - Introdução. Márcio Daniel Puntel marciopuntel@ulbra.edu.br

Termo de Abertura Sistema de Vendas de Pizzas Online (PizzaWeb) - Versão 1.0

Aula 7. Planejamento e Controle de Custos e Recursos

Planejamento Recursos

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Estimativas de Software Fundamentos, Técnicas e Modelos... e o principal, integrando isso tudo!

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software

Modelos do Design de Software

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Processos de Software

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Engenharia de Software

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

Modelos de Qualidade de Produto de Software

Engenharia de Software

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Princípios da Engenharia de Software aula 05 Gerenciamento de planejamento de projetos. Prof.: Franklin M. Correia

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

2.Gerência de Projetos: Métricas de Software

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Requisitos de Software

Tópicos Especiais em Engenharia de Software

ENGENHARIA DE SOFTWARE I

Transcrição:

Estimativas de software Fazer boas estimativas é uma das mais desafiadoras e importantes atividades da engenharia de software. Estimativas de custos ferramentas (H/S) e infra-estrutura pessoal (salários e encargos mensais) dependente dos prazos Estimativas de prazos dependente das atividades dependente de pessoal Estimativas de esforço Medida que associa atividades a serem realizadas com o pessoal necessário em um certo período de tempo. Estimativas de software Trabalhador Atividade Atividades (WBS) Estimativas de tamanho Equipe Estimativas de produtividade Estimativas Estimativas de de esforço: esforço: Valor Valor em em pessoa-mês pessoa-mês para para realizar realizar cada cada atividade atividade WBS Work Breakdown Structure Estimativas Estimativas de de prazos prazos análise análise do do caminho caminho crítico crítico cálculos cálculos da da duração duração total total diagrama diagrama de de Gantt Gantt cronograma cronograma Estimativas Estimativas de de custo: custo: cálculos cálculos do do gasto gasto com com pessoal pessoal de de acordo acordo com com 0 esforço, esforço, alocação alocação e Alocação pessoa-atividade prazos. prazos.

Estimativas e Métricas Estimativas são baseadas em métricas históricas e empíricas Métricas históricas Obtidas a partir de experiências anteriores da equipe Métricas empíricas Dados estatísticos de diferentes equipes Métricas Planejamento, Gerenciamento e Avaliação são realizados com base em métricas A medição possibilita Avaliar a qualidade dos produtos Avaliar a produtividade da equipe Avaliar métodos e ferramentas Realizar estimativas no planejamento Métricas do processo Métricas de produtividade Métricas do produto Métricas da qualidade e métricas técnicas

Métricas para Planejamento e Gerenciamento Objetivos Dimensão dos produtos Modelos, protótipos, documentos e software Esforço de produção Pessoas necessárias num período de tempo Produtividade Quantidade produzida por esforço Defeitos Número de erros encontrados Custo de produção Valor do esforço de produção e correção de erros Principais Métricas Métricas Linhas-de-Código (LOC) Pontos-por-função (FP) LOC/FP Pessoa-Mês (PM) Pessoa-Mês/LOC Defeitos/LOC Custo/LOC Objetivos Dimensão do produto Dimensão do produto Dimensão do produto Esforço humano Produtividade linear Qualidade Custo

Tamanho = LOC e Ponto-por-Função Métricas relacionadas a tamanho do código Linhas de código fonte (LOC ou SLOC) Mede todo o esforço necessário para entregar um código correto, sem erros. Depende da linguagem Métricas relacionadas a funções Determinadas pela funcionalidade do sistema. Independente de linguagem Em qualquer abordagem é necessário: ter experiência e utilizar dados históricos Esforço humano Determina o número de pessoas para realizar uma atividade num período de tempo Exemplo: Construir um programa com 100 KLOC Produtividade linear dos programadores: 2,9 Pessoa-mês/KLOC O esforço depende do tamanho do software Tamanho da equipe 1 10 100 Esforço 290 P-M 290 P-M 290 P-M Prazo total 290 meses 29 meses 2,9 mês Atenção: a produtividade diminui em equipes maiores, principalmente devido à necessidade de comunicação e integração.

Métricas e linguagens O número de linhas de códigos e a produtividade variam de acordo com a linguagem utilizada Linguagem de programação C++ Cobol Delphi 5 HTML 4 Visual basic 6 SQL Java LOC por FP 53 107 18 14 24 13 46 Métricas e Sistemas Produtividade (Pessoa-mês/KLOC) varia de acordo com o tipo de sistema a ser desenvolvido COCOMO Constructive Cost Model modelo para estimativa de custos de B. Boehm Tipo de Sistema Default (usando COCOMO II) Sistema embutido Comércio eletrônico Sistema Web Sistema Militar Produtividade 2,94 2,58 3,60 3,30 2,77

Abordagens para estimativas de esforço Julgamento de especialista Técnica Delphi Uso da experiência de desenvolvedores Uso métricas históricas Estimativas por Analogia Uso de métricas históricas de projetos anteriores similares Métodos algoritmos COCOMO e COCOMO II Estimativas top-down e bottom-up Podem ser utilizadas com qualquer abordagem Top-down Usada quando não se tem uma arquitetura do software Leva em consideração atividades globais documentação, gerenciamento, testes integrados Falha nas estimativas de atividades relacionadas a detalhes técnicos. Bottom-up Divisão do software em unidades menores arquitetura do software Elaboração da Estrutura de Divisão do Trabalho (WBS) Estimativa para unidades menores são mais precisas Pode subestimar esforços para a integração das unidades O todo não é apenas a soma das partes.

Julgamento por especialistas Arquitetura do software e divisão do trabalho Estimativas de tempo para: problemas antigos (A) e novos (N) problemas fáceis (F), moderados (M), difíceis (D) Mais de um especialista (normalmente três) Métodos algoritmicos O custo é estimado matematicamente como uma função: do produto, do projeto e do processo Esforço = A Tamanho B M A é uma constante que depende da organização que desenvolve B ajusta o valor, aplicando penalidades, em função do tamanho do projeto M é um multiplicador associado a atributos de pessoas, produto e processo O tamanho é a variável fundamental Modelos diferentes apresentam variações para os valores de A, B e M

O modelo COCOMO Modelo empírico baseado na experiência de projetos existentes Versão inicial em 1981 (COCOMO-81) e várias versões até o COCOMO 2 COCOMO-81, fonte: Ian Sommerville COCOMO 2 COCOMO 2 é um modelo de três níveis Nível inicial de prototipação Estimativas baseadas em pontos de objetos e fórmula simples Nível inicial de projeto Estimativas baseadas em pontos de função (FP) que são traduzidas para linhas-de-código (LOC) Nível pós-arquitetura Utiliza linhas-de-código e atributos de produtividade Permite melhoria das estimativas de acordo com o progesso do desenvolvimento

Nível inicial de prototipação Permite estimativas de prototipação com reuso Uso de ferramentas CASE e linguagens de quarta geração Fórmula: PM = ( NOP (1 - %reuso/100 ) ) / PROD PM esforço em pessoa-mês NOP número de pontos de objetos PROD produtividade Valores de produtividade: Nível inicial de projeto Estimativas neste nível são feitas quando os requisitos estão definidos Fórmula: PM= A Tamanho B M+ PM m onde M = PERS RCPX RUSE PDIF PREX FCIL SCED PM m = (ASLOC (AT/100)) / ATPROD A = 2.5 podendo ser ajustado B varia de 1.1 a 1.24 dependendo de Originalidade, flexibilidade, riscos e maturidade.

Multiplicadores Valores de 1 (baixo) a 6 (alto) para RCPX confiabilidade e complexidade do produto RUSE reuso requerido PDIF dificuldade de plataforma PREX experiencia do pessoal PERS capacidade do pesoal SCED prazo requerido FCIL recursos de suporte PM é p esforço requerido para a geração automática de código Nível pós-arquitetura Mesma formula anterior Valor de tamanho ajustado mais preciso ESLOC = ASLOC (AA + SU +0.4DM + 0.3CM +0.3IM)/100