Buscar

Aula_02 MEDIDAS DE ESFORÇO DE DESENVOLVIMENTO DE SOFTWARE

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
Medidas do Esforço no Desenvolvimento de Software
Aula 2
Prof. Horácio Ribeiro
Objetivos da aula:
 - Aprender de forma sucinta o modelo de 
 Albrecht 
-- Relacionar os conceitos envolvidos na 
 proposta de Albrecht,
- Aprender os conceitos em estudo de casos
 a partir de um DFD
- Aprender a usar o modelo para um caso e 
 uso
- Converter PF em KLOC
- Identificar as limitações do modelo 
*
*
DESAFIO:
Modelo de medida indireta que permitisse planejar e decidir.
Albretch em 1974 após estudado mais 5000 softwares
É um modelo baseado na funcionalidade necessária.
*
*
PRINCIPIO:
- Identificar características de um sistema e mapear estas características na funcionalidade do software definida na especificação.
Albretch identificou que as funcionalidades se refletiam nos seguintes seguintes aspectos:
 entradas – saídas – consultas – arquivos e interfaces
*
*
CONSTRUÇÃO DA FUNÇÃO:
-O Principio é construir uma função que mapeie um número real.
- O número real representa uma quantidade de medida da funcionalidade que foi chamado de PONTO FUNÇÃO
- Esta função foi construída por ajuste, baseado em dados observados em outros softwares. Este método de construir uma função por observação é muito comum na engenharia
 
*
*
*
*
Elementos da funcionalidade
*
*
Tabela de contagem
*
*
Exemplo de contagem
*
*
Identificação dos elementos
*
*
Aplicando na tabela com software simples
tem-se:
 
*
*
Definiu que a forma de desenvolver o sistema pode provar variações na medida da funcionalidade.
Analisou 14 fatores que podem influenciar na medida da funcionalidade
Estes fatores, alguns subjetivos, são avaliados com uma nota de zero a cinco, por um conjunto de especialistas.
*
*
 
 
 14 aspectos
 técnicos e 
 régua de 
 notas
*
*
A formula construída final ficou:
*
*
As métricas definidas a partir de PF
 
*
*
Ponto Função Não ajustado:
 - É o resultado da contagem * Peso de complexidade. (contagem total)
Ponto função ajustado
 - é o resultado considerando as características de implementação.
 - é o produto da contagem por um fator de ajuste.
*
*
fator de ajuste.
 14
 ( 0,65 + o,o1 * (NOTA) )
 I = 1 i
Observe que: 
 65% é da funcionalidade
 o fator do somatório pode variar de
 zero a 0,7 (todos os itens tirando 5) 
Logo o fator de ajuste pode ser de 1,35 a 0,65
 
*
*
O fator de ajuste indica o maior ou menor esforço para a produção do software.
 um software com características complexas de implementação o fator de ajuste ´1,35 e um s0ftware muito simples 0,65.
 para uma contagem de 43 (por exemplo)
Tem-se: 43 PF não ajustados
 e 68,05 PF ajustados (se o fator de ajuste for 1,35) (1,35*48) 
*
*
Mapeamento de PF em KLOC
*
*
Exercício
Faça a previsão de tamanho e prazo para um sistema com 178,45 PF ajustados. Considere a tabela abaixo
Decida que linguagem usar se o projeto não pode consumir mais de 450 dias
*
*
Resposta
*
*
Pode-se estimar um projeto no inicio da especificação.
Neste caso devido a imprecisão poderemos ter um erro maior na estimativa.
*
*
Fazer o cálculo de PF para um caso e uso
*
*
Fazer o cálculo de PF para um caso e uso
*
*
Fazer o cálculo de PF para um caso e uso
*
*
Contamos
 - 5 arquivos
 - 3 entradas
 - 1 saída
 - 2 consultas
 - 0 interfaces
*
*
Aplicando na tabela de contagem
2
5
0
6
35
0
65
*
*
Desafio:
Calcule quantas linhas em C deve se estimar para este sistema?
 E se for em PHP?
*
*
Você pode estudar um pouco mais visitando o site:
Análise de Pontos de Função
O metro quadrado do software
.: Objetivos :.
Sensibilizar a audiência quanto à necessidade de medição de software
Apresentar as principais aplicações da FPA como unidade de medida e processo de contagem 
Apresentar técnicas para definir os objetos de medição
Introdução à Análise de Pontos de Função (APF ou FPA)
Agenda
.: Por que medir? :.
Contexto
Requisitos : tendem a expandir
Qualidade, Funcionalidade, Performance
Problemática
Recursos : tendem a ser limitados
Tempo, Dinheiro, Pessoas entre outros
Na satisfação dos Requisitos, disputam-se por Recursos
Como manter esta situação sob controle, a fim de obter o melhor resultado?
Isoladamente estas tecnologias não foram capazes de fornecer as respostas desejadas.
“No Silver Bullet: Essence and Accidents of Software Engeneering” Fred Brooks
.: Ferramentas :.
Histórico
Ferramentas CASE
Linguagens de 4a. Geração
Tecnologias OO
Ambiente integrado de desenvolvimento
Arquitetura Cliente-Servidor
Hoje
Gerência de Projetos
Terceirização e Gestão de Contratos
Iniciativas de SPI
ERP
Gerência de projetos 
“Não se pode controlar aquilo que não se consegue medir” - Tom de Marco
.: O que é Gerência de Projetos :.
Gerência
[Do lat. gerere, 'trazer'; 'produzir', 'criar'; 'executar'; 'administrar'.] Dicionário Aurélio
Projetos 
[Empreendimento temporário posto em execução para criar um único produto ou serviço] PMBOK
Como gerenciar projetos?
.: Como gerenciar projetos? :.
Planejar
Definir e refinar objetivos
Selecionar o melhor curso de ação
Executar
Coordenar pessoas e outros recursos para executar o plano
Controlar
Garantir que os objetivos são alcançados 
Monitorar e medir o progresso regularmente
Identificar variações do plano
Tomar ações corretivas quando necessário
Processos que permitam controlar sua execução pelo conhecimento prévio dos efeitos de suas respostas.
P.: Como? 
R.: Visibilidade. 
.: Visibilidade :.
Trazer a VISIBILIDADE necessária a:
Comunicação efetiva
Rápida identificação e correção de problemas
Realização de escolhas chave
Defesa e justificativa de decisões
Acompanhamento de objetivos específicos
O principal papel das métricas de projeto é trazer a visibilidade necessário à ação gerencial.
P.: A partir de quando?
R.: Do início. 
.: Planejamento :. 
Quando o trabalho começa 
 Falta de conhecimento exige estimativa
Conforme este conhecimento evolui menos se assume
O quanto este conhecimento evolui é uma métrica 
A Análise de Pontos de Função permite estimar o tamanho dos requisitos funcionais desde muito cedo.
P.: Como medir conhecimento?
R.: Com os requisitos. 
.: Medindo e Estimando :.
Os requisitos e seu crescimento
P.: Para que saber o tamanho funcional?
R.: Ele é um fator normalizador. 
Qual o Esforço?
Qual o Prazo?
Qual o Custo?
.: Recursos para responder :.
Experiência Individual
A Data Limite
Indicadores de PRODUTIVIDADE
Quantas HORAS são necessárias para realizar as ATIVIDADES envolvidas no fornecimento de um PONTO DE FUNÇÃO em determinado CONTEXTO?
Qual o PREÇO de um PONTO DE FUNÇÃO contemplando determinadas ATIVIDADES neste CONTEXTO? 
A razão de bens ou serviços produzidos por unidade de tempo ou custo “Applied Software Measurement”
P.: Está tudo muito abstrato. Dá pra dar um exemplo?
.: Estimativas Paramétricas :.
Atividades: 
Especificação	(20%)
Projeto		(30%)
Construção	(40%)
Documentação(10%)
Tecnologia: 
Java 
Oracle AS com Portal
Produtividade: 6 Horas/PF
1.900 PF
*
6 H / PF
=
11.400H
* 11.400 H= 2.280 H
* 11.400 H= 3.420 H
* 11.400 H= 4.560 H
* 11.400 H= 1.140 H
P.: E isto é suficiente para tudo dar certo?
.: Controle :.
Dinâmica dos 99% concluídos
P.: Como as métricas podem ajudar?
Instrumento de acompanhamento
Ajuda a perceber problemas em tempo
Várias dimensões :
cronograma, custos, qualidade, riscos ou escopo
P.: Poderia ser mais
específico?
O Problema não é só o erro, mas a demora em identificá-lo
P.: As métricas 
coletadas tem valor apenas para este projeto?
P.: Minha empresa não desenvolve projetos de software. Ela contrata. A FPA pode ainda me ajudar?
Terceirização e Gestão de Contratos 
A Análise de Pontos de Função como instrumento para nivelar de riscos
Na Terceirização pessoas são gerenciadas, enquanto na Gestão de Contratos o foco está no resultado.
P.: O FPA ajuda em ambos estes casos?
.: Terceirização :.
não é Gestão de Contratos 
Terceirização
[Contratação de terceiros, por parte de uma empresa, para a realização de atividades não essenciais, visando à racionalização de custos, à economia de recursos e à desburocratização adminstrativa] Houaiss
Gestão de Contratos
[processos necessários à obtenção de bens e serviços externos a organização executora] PMBOK
.: Pontos de Função :.
Por que medir na terceirização?
Monitoramento :
Produtividade (horas)
Qualidade (defeitos)
Apesar de nos meses 1,2 e 3 ter havido o mesmo volume de PF entregues, a quantidade de horas aumentou
A análise exclusiva da quantidade de horas não é conclusiva
.: Pontos de Função :.
Por que medir na terceirização?
O ponto de função permite monitorar uma tendência de acomodação
A industria do Erro. Quanto mais improdutivo mais o subcontratado ganha. 
P.: Como a FPA ajuda na gestão de contratos?
Uma avaliação orientada aos processos de Gerência de Aquisições do Projeto do PMBOK©. 
.: Pontos de Função :.
E na Gestão de Contratos?
Ferramentas, Técnicas e Produtos
Análise de “Make-or-buy”
Seleção do Tipo de Contrato
Preço global fixo
Preço unitário
Negociação Contratual
Sistema de Pagamentos
Especificação de Trabalho (SOW)
Documentos de Aquisição
Critérios de Avaliação
Relatório de Desempenho
.: Análise de “Make or Buy” :.
Visa determinar se é mais vantajosa a contratação de um produto específico no mercado ou o seu desenvolvimento interno.
Comparação dos níveis de performance
Organização x Mercado
Alguns aspectos são quantificáveis
Análise Objetiva
Indicadores
Por exemplo ...
Comparar: “Pôr em paralelo, equiparar em valor, qualidade ou intensidade”
Houaiss
.: Caso: Aplicação da FPA :.
Análise de “Make or Buy”
A organização deve empreender internamente o desenvolvimento de um novo sistema;
Deve ser contratada uma empresa externa para o desenvolvimento completo do novo sistema;
Deve ser realizado internamente o trabalho de especificação de requisitos e implantação, enquanto a codificação e testes será contratada no mercado;
É conveniente a aquisição de um pacote (COTS) com sua parametrização e adequações tanto no parque de sistemas quanto na organização.
P.: Como decidir?
R.: Compare.
P.: Como comparar?
R.: Conheça a si para poder comparar-se ao mercado.
“Se você conhece o inimigo e se conhece, você não deve temer o resultado de cem batalhas“ A Arte da Guerra
.: Conheça a si mesmo :.
Funcionalidade solicitada pela organização (PF)
Indicadores:
taxa de produção (PF/HM),
custo (R$/PF),
indicadores de qualidade (defeitos/PF),
Distribuição do esforço entre as atividades (especificação, projeto, etc.)
Números internos de outra forma de difícil apuração ou justificativa.
.: Seleção do Tipo de Contrato :.
Distribuindo Riscos
Aumento do Escopo - Quem Contrata
Queda na Produtividade - Contratado
Modelos de Terceirização
Homem-Hora - O contratado é beneficiado pela queda na produtividade
Preço Fechado - O contratado é prejudicado pelo aumento do escopo
Pontos de Função - Cada um arca com o risco que lhe corresponde - Ganha x Ganha
.: Ponto de Função - Unidade :.
 Contratando Resultados
Se o cliente quiser mais funcionalidades, é só pagar o preço do Ponto de Função
Se o fornecedor quiser manter sua lucratividade, é só manter sua produtividade e qualidade
Não existe ponto de função “defeituoso” 
Os pontos de função refletem as novas telas, relatórios, consultas, controles, etc. que vão se materializando conforme se aumenta o conhecimento do sistema
SOW
“Descreve o item a ser contratado com suficiente detalhe para permitir que os potenciais fornecedores possam avaliar se são capazes de atender ao edital” PMBOK©. 
P.: E se minha empresa for a fornecedora?
.: Outras Aplicações Afins :.
Negociação Contratual
Sistema de Pagamentos
Especificação de Trabalho (SOW)
Apoio na validação da descrição
Pode ser usada para estimar ou contar PF? 
Documentos de Aquisição e Critérios de Avaliação
Defeitos por Ponto de Função
Produtividade Mínima
Capacidade de Produção
Relatório de Desempenho
Iniciativas de Software Process Improvement 
O papel das métricas e da Análise de Pontos de Função em iniciativas de SPI
.: SPI :.
Software Process Improvement 
Procedimento sistemático 
Melhora a performance de um sistema composto por um conjunto de processos existentes
Modificação em processos existentes ou a atualização de novos processos
Objetivando corrigir ou evitar problemas identificados no sistema anterior 
Assessment
Software Engineering Processes: Principles and Applications, Wang Y. 2000
P.: O que é um Assessment?
Software Engineering Processes: Principles and Applications, Wang Y. 2000
P.: Como assim um modelo?
.: SPA :.
Software Process Assessment
Procedimento sistemático 
Investiga a existência, adequação e performance de um contexto real
Compara a um MODELO, padrão ou benchmark
SEI CMMI – Capability Maturity Model ® Integration sm
SPICE - Software Process Improvement and Capability Determination (ISO 15504);
TickIT
Gerência de Requisitos
Planejamento de Projetos
Monitoramento e Controle de Projetos
Gerência de Acordos com Fornecedores
MEDIÇÃO e ANÁLISE
Garantia de Qualidade de Produto e Processo
Gerência de Configuração
Nível 1
Inicial
Nível 2 
Gerenciado
Nível 3 
Definido
Nível 4 
Quantitativamente
Gerenciado
Nível 5 
Otimizado
.: Process Areas :.
Representação em Estágios
.: Medição e Análise :.
Objetivo:
DESENVOLVER e SUSTENTAR a capacidade utilizada no suporte às necessidades de INFORMAÇÃO da gerência. 
Áreas Relacionadas
Planejamento de Projetos [2]
Monitoramento e Controle de Projetos [2]
Gerência de Configuração [2]
Desenvolvimento de Requisitos [3]
Definição de Processos Organizacionais [3]
Gerência Quantitativa de Projeto [4]
CMMI - SW -V1.1- Staged Representation página 152
P.: Enfim qual o papel da FPA nisso?
.: Papel da FPA :.
Iniciativas de SPI
“..., quando feita adequadamente, a medição em seqüência de atributos de qualidade de produtos e processos pode fornecer uma base efetiva para a iniciação e gerência de atividades de melhoria de processos.”
PSM: Measuring for Process Management and Improvement
William A. F. et al, 1997
FUNCIONALIDADE
O Que Medir ?
Software é PROCESSO e PRODUTO
.: Goal/Question/Metric :.
Cada organização ou projeto tem objetivos.
Para cada um destes há um conjunto de questões a fim de verificar seu cumprimento.
Muitas destas questões tem respostas que podem ser mensuradas
Basili, V.R, 1984, Goal Question Metric Paradigm 
Medidas são a quantificação de uma característica do software, processo ou produto.
.: O Que Medir :.
Aspectos comuns do software 
Previsto e Realizado
Recursos e Custos
Crescimento e Estabilidade
Qualidade do Produto
Performance do Desenvolvimento
Adequação Técnica
Categorias para medição
Tamanho funcional e estabilidade, etc.
Métricas
Esforço, Datas, Reporte de Problemas, etc.
.: O papel do TAMANHO :.
Fator normalizador dos dados (métricas) coletadas
Adiciona a experiência coletiva à experiência individual 
Deve ser representativo - quantificar bens ou serviços produzidos
.: Pontos de Função :.
Independente de tecnologia e Padronizado pelo IFPUG
Requisitos funcionais refletem objetivos objeto de gerenciamento
normalizador de todas as atividades envolvidas
Baseado em
Descrição formal das necessidades de negócio do usuário Em sua linguagem. 
Desenvolvedores traduzem-na em linguagem de T. I.
para fornecer a solução. 
P.: Mas o que é um Ponto de Função?
Método Padrão para Medir Software do Ponto de Vista do Usuário através da quantificação da Funcionalidade Fornecida
.: Objetivos :.
Objetivos da Técnica
Medir a Funcionalidade que o usuário solicita e recebe
Medir o desenvolvimento e manutenção de software de forma Independente da Tecnologia utilizada para sua implementação
Objetivos do Processo de Contagem
Simples o suficiente para minimizar o trabalho adicional envolvido no processo de medição
Uma medida Consistente entre vários projetos e organizações
.: Componentes da Contagem :.
.: Processo de Contagem :.
Questões???
Carlos Eduardo Vazquez
(27)9254-6389
carlos.vazquez@fattoCS.com.br
*
*
*
*
O método de Albrecht tem um problema?
Como uniformizar o processo de contagem.
Para as empresas fazerem negócios precisam de uma unidade que não varia com a subjetividade da contagem.
Para resolver isto criou-se um organismo internacional chamado IPFG – internacional Ponto Função GRUPO
*
*
O IPFG
TEM COMO OBJETIVO DESENVOLVER E PADRONIZAR A FORMA DE MEDIR O SOFTWARE
Produz um manual de contagem que serve como padrão
Tem melhorado a forma de diminuir a subjetividade da contagem
*
*
Com isto encerramos nossa aula.
Na próxima aula
Vamos verificar como o FPUG definiu o processo de contagem.
Vamos verificar que os princípios do ponto função foram preservados mas a forma da contagem foi sistematizada.
Faça os exercícios e estude no nosso livro texto
*
*
Até a próxima aula
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais