Administração de Projetos: Estimativas Engenharia de Software

Slides:



Advertisements
Apresentações semelhantes
Métricas e Medição de Software
Advertisements

1 ANÁLISE E PROJETO NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO: CONCEITO MODELOS DE PROCESSO PROCESSO UNIFICADO HISTÓRIA CARACTERÍSTICAS AS QUATRO.
Inversor Trifásicos com Três Pernas
Amintas engenharia.
Material pedagógico Multiplicar x 5 Clica!
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Operadores e Funções do LINGO
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Professor Roberto Petry
Engenharia de Software
Engenharia de Software
Técnicas de orçamento de capital
Gestão de Projectos de SW OO: Métricas, Estimações e Planificações
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 3.
Excel Profa. Cristina M. Nunes.
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
O padrão de gerenciamento de projetos de um projeto
Gerenciamento do escopo do projeto
Gerenciamento de tempo do projeto
INTRODUÇÃO A INFORMÁTICA
Análise de regressão linear simples: abordagem matricial
Walter de Abreu Cybis Outubro, 2003
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
CISC e RISC.
Capítulo 7 Multimídia 7.1 Introdução à multimídia
Questionário de Avaliação Institucional
Plano de Projeto de Software
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Gerenciamento do Escopo
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
Técnica de Contagem.
Provas de Concursos Anteriores
MECÂNICA - ESTÁTICA Cabos Cap. 7.
PMBOK 5ª Edição Capítulo 6
Engenharia de Requisitos
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
Aluno: Mário Monteiro Orientador: Sérgio Soares 1.
Resultantes de Sistemas de Forças Cap. 4
MECÂNICA - DINÂMICA Cinemática Plana de um Corpo Rígido Cap. 16.
Cinemática Plana de um Corpo Rígido Cap. 16
MECÂNICA - ESTÁTICA Esforços Internos Cap. 7.
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap Exercícios.
Cap 4 – Métricas do Processo e Projeto de Software
1 Cap 5 –Planejamento de Projetos de Software Ricardo L Schneider FES.
Object Oriented Software Construction (MEYER, Bertrand)
Oferta e Demanda A Curva de Oferta
Universidade São Marcos Curso: Gestão de Negócios Internacionais
PMBOK 5ª Edição Capítulo 5
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Coordenação Geral de Ensino da Faculdade
Análise Fatorial Factor analysis.
EXERCÍCIOS PARA GUARDA-REDES
GESTÃO DE PROJETOS Aula 5 1.
Técnicas de Modelagem para Aplicações em Computação Gráfica
Projeto de Banco de Dados
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Computação Gráfica Aula 3 Transformações Geométricas
Técnicas e Projeto de Sistemas
BPM BUSINESS PROCESS MANAGEMENT Projecto em Informática e Gestão de Empresas Lisboa, 20 de Junho de 2006.
MATRICIAL CONSULTORIA LTDA. PREFEITURA MUNICIPAL DE GARIBALDI 23/10/ : ATENÇÃO Os locais descritos nas planilhas anexas não correspondem ao total.
Máquina de Turing Universal
© 2004 by Pearson Education Computadores: Ferramentas para a Era da Informação Tema 0 PARTE A.
Módulo Compras Relatórios e Relações 1. Objetivo 2 Conhecer os relatórios e as relações do sistema disponibilizadas no módulo Compras.
ISO Processos do Ciclo de Vida do Software
Qualidade de Software Aula 4
Gestão de Projetos de Software
TÉCNICAS DE ESTIMATIVAS
1 Estimativa, Teste e Inspeção de Software Gerência de Projetos: Estimativa de Software Marcos Camada
Transcrição da apresentação:

Administração de Projetos: Estimativas Engenharia de Software Inês G. Boaventura 1o Semestre/2001

Planejamento - Objetivos É um conjunto de atividades associadas ao processo de administração de projetos Permitir um entendimento do trabalho a ser feito Estimar os recursos necessários Estimar a duração cronológica do projeto Estimar esforço e custo a ser despendido

Planejamento - Tarefas Envolve a realização de: medidas pesquisa estimativa análise dos riscos determinação de prazos

Planejamento - atividades associadas 1. Determinação do Escopo do Software Objetivos do Projeto Funções principais Características de desempenho, confiabilidade Cenário de Desenvolvimento

Planejamento - Atividades Associadas 2. Estimativa de recursos Recursos humanos Projeto pequeno: uma única pessoa Projetos grandes: participação varia através do cilco de vida. Recursos de hardware Sistemas para o desenvolvimento Máquina alvo Elementos de hardware do novo sistema

Planejamento - Atividades Associadas 2. Estimativa de recursos Recursos de Software Ferramentas de software:

Planejamento - Atividades Associadas Especificar: . Habilidades exigidas . Diponibilidade . Duração das tarefas . Datas de início Pessoas Espefificar: . Descrição . Disponibilidade . Duração do uso . Data de entrega Ferramentas de Hardware e Software

Planejamento - Atividades Associadas 3. Estimativa de custos 4. Cronogramas

Planejamento O que ? Quanto? Quanto tempo?

Estimativas de Projetos de Software - observações Estimativas de recursos, custos e programação de atividades exigem: Experiência. Acesso a boas informações históricas. Coragem para se comprometer com as medidas quantitativas.

Estimativas de Projetos de Software - observações Estimativas => carregam riscos inerentes Fatores que aumentam os riscos: Desestruturação do projeto Domínio de baixo risco Complexidade baseada nos esforços passados Tamanho do projeto

Estimativas de Projetos de Software 1. Técnicas de Decomposição: Assumem a abordagem de “Divisao e Conquista O problema de estimar o custo e esforço necessário para um projeto é dividido em problemas menores e mais administráveis. Baseiam-se em um delineamento das principais funções do software

Estimativas (cont.) (a) Estimativas de Linhas de Código (LOC) e Pontos por Função (PF) LOC e PF são usadas de duas maneiras durante a estimativa de projetos de software: Como variáveis de estimativa - usadas para “classificar por tamanho” cada elemento do software. Como métricas de linha básica - coletadas a partir de dados históricos e usadas em conjunto com variáveis de estimativa para que se desenvolva projeções de custo e de esforço

Estimativas Aplicação de técnicas LOC e PF a um pacote CAD Declaração do Escopo do Software: O software CAD aceitará dados geométricos bi e tridimencionais de um engenheiro. O engenheiro interagirá e controlará o sistema CAD por meio de uma interface com o usuário que exibirá características de um bom projeto de interface homem máquina. Todos os dados geométricos e outras informações de aopio serão guardados em um banco de dados CAD. Módulos de análise de projetos serão desenvolvidos para produzir a entrada desejada que será exibida em vários dispositivos gráficos. O software será projetado para controlar e interagir com dispositivos periféricos, que incluem um mouse, um digitalizador, uma impressora e um plotter.

Estimativas Aplicação de técnicas LOC e PF a um pacote CAD (cont.) Principais funções identificadas: Facilidade de controle de interfaces com o usuário (IHM) Análise geométrica bidimencional (AGB) Análise geométrica tridimencional (AGT) Gerenciamento de banco de dados (GBD) Facilidades de display gráfico (FDG) Controle de periféricos (CP) Análise de projetos (AP)

Tabela de Estimativas E = (O + 4M + P)/6

Estimativas Depois de LOC (ou FP) estimado: Aplica-se as métricas de produtividade (dados históricos) para cada função. Estima-se o custo Custo = LOC-Esperado * $/LOC Estima-se o esforço (pessoa-mês) Esforço = LOC-Esperado/(LOC/pessoa-mês)

Tabela de estimativas concluída

Estimativas (b) Estimativa do Esforço Passos: Delineamento das funções do software Listagem das tarefas a serem executadas para cada função (análise, projeto, codificação e testes) Esforço estimado para cada tarefa em cada função (pessoa-mês) Taxas de mão de obra aplicadas em cada uma das tarefas Cálculo de custo e o esforço de cada função e tarefa de engenharia de software

Estimativas Tabela de estimativa do esforço

Estimativas de Projeto de Software 2. Modelos Empíricos de Estimativa São fórmulas derivadas empiricamente para fornecer informações de planejamento de projeto. Dados Empíricos - resultam de uma amostra limitada de projetos. Modelos de estimativas de software - não são apropriados para todas as classes de software Devem ser usados criteriosamente

Estimativas de Projeto de Software: Modelos Empíricos Modelos de Recursos são formados por uma ou mais equações empíricas que fornecem informações sobre: Esforço (pessoa-mês) Duração do projeto (meses cronológicos), etc

Estimativas de Projeto de Software: Modelos Empíricos Modelos de Recursos Existem quatro classes de modelos de recursos (Basili) Modelos estáticos de variáveis simples. Modelos estáticos de múltiplas variáveis Modelos dinâmicos de múltiplas variáveis Modelos teóricos

Modelos Estáticos de Variáveis simples Estimativas de Projeto de Software: Modelos Empíricos Modelos de Recursos Modelos Estáticos de Variáveis simples Recurso = C1 X (características Estimadas) Recurso: esforço duração do projeto tamanho da equipe páginas (linhas) de documentação C2

Modelos Estáticos de Variáveis simples Estimativas de Projeto de Software: Modelos Empíricos Modelos de Recursos Modelos Estáticos de Variáveis simples Recurso = C1 X (características Estimadas) Características Estimadas linhas de código fonte (LOC) esforço (se estimado) C1 e C2 - constantes derivadas de dados compilados de projetos passados. Exemplo: COCOMO (Constructive Cost Model) C2

Modelos Estáticos de Múltiplas Variáveis Recurso = C11e1 + C21e2 + ... Estimativas de Projeto de Software: Modelos Empíricos Modelos de Recursos Modelos Estáticos de Múltiplas Variáveis Recurso = C11e1 + C21e2 + ... Onde e1, e2, e3 ... São características do software

Estimativas de Projeto de Software: Modelos Empíricos Modelos de Recursos Modelos Dinâmicos de Múltiplas Variáveis projetam os requisitos de recursos como uma função do tempo recursos são definidos atribuindo-se uma porcentagem de esforço a cada passo de engenharia de software

Estimativas de Projeto de Software: Modelos Empíricos Modelos de Recursos Modelos Teóricos abordam teoricamente modelos dinâmicos de múltiplas variáveis Examina o software de forma minuciosa (ex. Números de operandos e operadores - modelo de estimativa de Putnam)

Estimativas de Projeto de Software: Modelos Empíricos (a) Cocomo (Engenharia Econômica de Software - Barry Boehm) Cocomo Básico Cocomo Intermediário Cocomo Avançado

Estimativas de Projeto de Software: Modelos Empíricos (a) Cocomo (Engenharia Econômica de Software - Barry Boehm) Cocomo Básico Computa: esforço e custo em função do tamanho de programas expresso em linhas de código estimadas.

Estimativas de Projeto de Software: Modelos Empíricos (a) Cocomo (Engenharia Econômica de Software - Barry Boehm) Cocomo Intermediário Computa: esforço como função do tamanho do programa e de um conjunto de “direcionadores de custo” que incluem avaliações subjetivas do produto, do hardware, do pessoal e dos atributos do projeto.

Estimativas de Projeto de Software: Modelos Empíricos (a) Cocomo (Engenharia Econômica de Software - Barry Boehm) Cocomo Avançado Computa: esforço como função do tamanho do programa e de um conjunto de “direcionadores de custo” que incluem avaliações subjetivas do produto, do hardware, do pessoal e dos atributos do projeto. Incorpora: Avaliação do impacto dos direcionadores de custo sobre cada passo de E.S. (análise, projeto, etc)

Estimativas de Projeto de Software: Modelos Empíricos Cocomo Aplicação Projetos Orgânicos (projetos simples) Semidestacado (projetos intermediários - tamanho e complexidade Embutido (projetos desenvolvidos dentro de um conjunto rígido de restrições operacionais, hardware e software)

Estimativas de Projeto de Software: Modelos Empíricos Cocomo Básico Equações COCOMO Básicas E = Ab(KLOC)exp(Bb) - esforço aplicado pessoa- mês D = Cb(E.exp(Db)) - tempo de desenvolvimento (meses cronológicos)

Estimativas de Projeto de Software: Modelos Empíricos Cocomo Básico Constantes Cocomo básico

Estimativas de Projeto de Software: Modelos Empíricos Cocomo Intermediário Modelo básico é ampliado para levar em consideração os atributos direcionadores de custo: Atributos do produto {confiabilidade, tamanho BD, complexidade} Atributos do hardware {restrições de desempenho, memória, etc} Atributos de pessoal {experiência} Atributos de projeto {uso de Case, metodologias, cronograma de atividades, etc} Total = 15 atributos (pontua-se em uma escala de 6 pontos onde 0 - muito baixo e 6 - extrem. Elev)

Estimativas de Projeto de Software: Modelos Empíricos Cocomo Intermediário Baseado na classificação: Determina-se um multiplicador de esforços (a partir de tabelas publicadas por Boehm) Calcula-se o fator de ajuste de esforço (FAE) (produto de todos os multiplicadores de esforços) - valores variam de 0.9 a 1.4

Estimativas de Projeto de Software: Modelos Empíricos Cocomo Intermediário Equação cocomo intermediário: E = Ai(LOC). Exp(bi) X FAE (pessoa-mês)

Estimativas de Projeto de Software: Modelos Empíricos Aplicação cocomo básico Ex: Software CAD Usando-se o modelo semidestacado

Estimativas de Projeto de Software: Modelos Empíricos (2) Modelo de Estimativa de Putnam Modelo dinâmico de múltiplas variáveis Pressupõe uma distribuição de esforço específica ao longo do projeto Modelo construído à partir de distribuição de mão de obra em grandes projetos

Estimativas de Projeto de Software: Modelos Empíricos Modelo de Putnam Equação de Software

Conclusões O planejador deve estimar três coisas antes do início do projeto: Quanto tempo durará Quanto esforço será exigido Quantas pessoas estarão envolvidas E também: Recursos de hardware e recursos de software necessários

Conclusões Técnicas para desenvolver estimativas envolvem: decomposição modelagem empírica ferramentas automatizadas

Conclusões Técnicas empíricas usam expressões derivadas de dados históricos, para o esforço e o tempo, com o objetivo de prognosticar essas quantidades para o projeto. Ferramentas automatizadas implementam um modelo empírico específico. Estimativas de projeto precisas geralmente fazem uso de pelo menos duas técnicas diferentes de estimativas vistas.

fim