Pontos por Função
Jason
3.4 COST XPERT 2.1 http://www.marotz.com
• é um software desenvolvido para estimar tempo e custo relacionado com o desenvolvimento de projetos de software.
• Para estimar o tamanho do projeto pode-se utilizar sete métodos para cálculo:
• LOC, Function Points, Feature Points, GUI Metrics, Object Métrics, Bottom Up e Top Down.
Processo de Software
Processode
Desenvolvimento
Procedimentos e métodos que definem o relacionamento de tarefas.
A
C
B
D
Pessoas com habilidades,treinamento e motivação
Ferramentas e Equipamentos
Processo de Software
Consiste em uma série de atividades, práticas, eventos, ferramentas e métodos que garantem, técnica e administrativamente que o software pode ser desenvolvido com qualidade e de maneira organizada, disciplinada e previsível
Gerência de Projeto de Software• camada - abrange todo o processo de desenvolvimento
• possibilita compreender o escopo do trabalho, riscos, recursos exigidos, tarefas a executar, marcos de referência, esforço despendido
• medir o “processo” melhorá-lo
• medir o “produto” aumentar sua qualidade
• atividade fundamental: planejamento
Pontos-Chaves
• Gerenciamento de Projeto está estreitamente relacionado à Qualidade de Processo
• O Gerenciamento concentra-se em atividades que têm por objetivo assegurar que o software seja liberado no prazo, de acordo com o cronograma, e atenda aos requisitos das organizações envolvidas
• Atividade principal - Planejamento
Projetos bem gerenciados algumas vezes falham; projetos mal gerenciados falham inevitavelmente.
Plano de Projeto-EstimativasII. ESTIMATIVAS DE PROJETO
MÉTRICASMÉTRICAS
TÉCNICAS DE ESTIMATIVAS
TÉCNICAS DE ESTIMATIVAS
1 2 3 4 5
Métricas
Orientadas ao Tamanho
Orientadas à Função
Orientadas ao Ser Humano
de Produtividadede Qualidade
Técnicas
atuação das pessoas; seus relacionamentos com
ferramentas e métodos
computam medidas indiretas do software
computam medidas diretas do software
enfoca a saída do processo de eng. de software
conformidade com os requisitos implícitos e explícitos do usuário
enfoca características do software (complexidade, modularidade)
• Classificação das Métricas
MétricasMÉTRICAS ORIENTADAS AO TAMANHO
São derivadas de medidas diretas do software e do processo através do qual ele é desenvolvido
Exemplos: LOC - Lines of Code
KLOC - Thousand Lines of Code
MétricasMÉTRICAS ORIENTADAS AO TAMANHO LOC/KLOC
projeto esforço $ KLOC pags.docum. erros pessoas
projA-01 24 168 12.1 365 29 3
projB-04 62 440 27.2 1224 86 5
projC-03 43 314 20.2 1050 64 6
MÉTRICAS DERIVADAS
PRODUTIVIDADE =
QUALIDADE =
CUSTO =
DOCUMENTAÇÃO =
KLOC / pessoas-mês
erros / KLOC
$ / LOC
pags.docum. / KLOC
MétricasMÉTRICAS ORIENTADAS AO TAMANHO
VANTAGENS:
DESVANTAGENS:
• Fáceis de serem obtidas
• Vários modelos de estimativa baseados em LOC ou KLOC
•LOC depende da linguagem de programação
•Penalizam programas bem projetados, mas pequenos
•Difícil de obter em fase de planejamento
MétricasMÉTRICA ORIENTADA À FUNÇÃO - PF
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 3 PASSOS:
1) Completar a seguinte tabela:
fator de ponderaçãoParâmetro Contagem Simples Médio Complexonro de entradas x 3 4 6do usuárionro de saídas x 4 5 7do usuárionro de consultas x 3 4 6do usuárionro de arquivos x 7 10 15nro de interfaces x 5 7 10externasContagem-Total
entradas de usuário que forneçam dados orientados a aplicações distintas
MétricasMÉTRICA ORIENTADA À FUNÇÃO - PF
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 3 PASSOS:
1) Completar a seguinte tabela:
fator de ponderaçãoParâmetro Contagem Simples Médio Complexonro de entradas x 3 4 6do usuárionro de saídas x 4 5 7do usuárionro de consultas x 3 4 6do usuárionro de arquivos x 7 10 15nro de interfaces x 5 7 10externasContagem-Total
saídas de usuário que forneçam informações orientadas a aplicações (relatórios, telas, mensagens de erro)
Métricas(Albrecht-1979)MÉTRICA ORIENTADA À FUNÇÃO - PF
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 3 PASSOS:
1) Completar a seguinte tabela:
fator de ponderaçãoParâmetro Contagem Simples Médio Complexonro de entradas x 3 4 6do usuárionro de saídas x 4 5 7do usuárionro de consultas x 3 4 6do usuárionro de arquivos x 7 10 15nro de interfaces x 5 7 10externasContagem-Total
entrada on-line que resulte em saída on-line
MétricasMÉTRICA ORIENTADA À FUNÇÃO - PF
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 3 PASSOS:
1) Completar a seguinte tabela:
fator de ponderaçãoParâmetro Contagem Simples Médio Complexonro de entradas x 3 4 6do usuárionro de saídas x 4 5 7do usuárionro de consultas x 3 4 6do usuárionro de arquivos x 7 10 15nro de interfaces x 5 7 10externasContagem-Total
cada arquivo lógico
MétricasMÉTRICA ORIENTADA À FUNÇÃO - PF
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 3 PASSOS:
1) Completar a seguinte tabela:
fator de ponderação(subjetivo)Parâmetro Contagem Simples Médio Complexonro de entradas x 3 4 6do usuárionro de saídas x 4 5 7do usuárionro de consultas x 3 4 6do usuárionro de arquivos x 7 10 15nro de interfaces x 5 7 10externasContagem-Total
todas as interfaces legíveis por máquina, usadas para transmitir informação para outro sistema
MétricasMÉTRICA ORIENTADA À FUNÇÃO - PF
2) Responder as questões 1-14, considerando a escala de 0 a 5:
influência 0 1 2 3 4 5
nenhuma pouca moderada média significante essencial
1. O sistema exige backup e recuperação confiáveis? 2. É requerida comunicação de dados?3. Existem funções de processamento distribuído?4. O desempenho é crítico?5. O sistema funcionará num sistema operacional existente e intensamente utilizado?6. São requeridas entrada de dados on-line?7. As entradas on-line requerem que as transações de entrada sejam construídas com várias telas e operações?
8. Os arquivos são atualizados on-line? 9. Entradas, saídas, arquivos e consultas são complexos?10. O processamento interno é complexo?11. O código é projetado para ser reusával?12. A conversão e a instalação estão incuídas no projeto?13. O sistema é projetado para múltiplas instalações em diferentes organizações?14. A aplicação é projetada de forma a facilitar mudanças e o uso pelo usuário?
MétricasMÉTRICA ORIENTADA À FUNÇÃO - PF
3) Ajustar os Pontos por Função de acordo com a complexidade
do sistema, através da seguinte fórmula:
PF = Contagem-Total x 0,65 + 0,01 x (Fi)14
i = 1
Fi = valores de ajuste da complexidade das perguntas 1-14
MÉTRICAS DERIVADAS
PRODUTIVIDADE =
QUALIDADE =
CUSTO =
DOCUMENTAÇÃO =
PF / pessoas-mês
erros / PF
$ / PF
pags.docum. / PF
MétricasMÉTRICAS ORIENTADAS À FUNÇÃO
VANTAGENS:
DESVANTAGENS:
•Independentes da linguagem
•Ideal para aplicações que usam linguagem não procedimental
•Baseados em dados mais fáceis de serem conhecidos durante a evolução do projeto
•Cálculo baseado em dados subjetivos
MétricasDE QUALIDADE
• corretitude - grau em que o software executa a função que lhe é exigida
• manutenibilidade - grau de facilidade com que o software pode ser corrigido, adaptado ou ampliado
• integridade - capacidade que um software tem de suportar ataques (acidentais ou intencionais) à sua integridade
• usabilidade - tenta quantificar a característica de user friendliness do software
MétricasDE QUALIDADE
• corretitude - grau em que o software executa a função que lhe é exigida
• manutenibilidade - grau de facilidade com que o software pode ser corrigido, adaptado ou ampliado
• integridade - capacidade que um software tem de suportar ataques (acidentais ou intencionais) à sua integridade
• usabilidade - tenta quantificar a característica de user friendliness do software
ERROS / KLOC é a medida mais comum
os defeitos são registrados pelo usuário depois
que o software foi liberado para uso, e são contados
ao longo de um período de tempo padrão
• manutenibilidade - grau de facilidade com que o software pode ser corrigido, adaptado ou ampliado
• corretitude - grau em que o software executa a função que lhe é exigida
• integridade - capacidade que um software tem de suportar ataques (acidentais ou intencionais) à sua integridade
• usabilidade - tenta quantificar a característica de user friendliness do software
MétricasDE QUALIDADE
Tempo médio para mudança
corresponde ao tempo que demora para analisar um
pedido de mudança, projetar a modificação adequada,
implementar a mudança, testá-la e distribuir para
todos os usuários
• integridade - capacidade que um software tem de suportar ataques (acidentais ou intencionais) à sua integridade
• manutenibilidade - grau de facilidade com que o software pode ser corrigido, adaptado ou ampliado
• corretitude - grau em que o software executa a função que lhe é exigida
• usabilidade - tenta quantificar a característica de user friendliness do software
MétricasDE QUALIDADE
Integridade = ( 1 - ameaça x ( 1 - segurança) )
ameaça - probabilidade de que um ataque de um tipo
específico ocorrerá dentro de determinado tempo
segurança - probabilidade de que o ataque de um tipo específico será repelido
• usabilidade - tenta quantificar a característica de user friendliness do software
• integridade - capacidade que um software tem de suportar ataques (acidentais ou intencionais) à sua integridade
• manutenibilidade - grau de facilidade com que o software pode ser corrigido, adaptado ou ampliado
• corretitude - grau em que o software executa a função que lhe é exigida
MétricasDE QUALIDADE
Pode ser medida através de 4 características:
1. habilidade física/intelectual para se aprender o sistema
2. tempo exigido para se tornar moderamente eficiente no uso
3. aumento de produtividade por alguém que seja moderadamente eficiente
4. avaliação subjetiva (questionário)
MétricasCOLETA, COMPUTAÇÃO E AVALIAÇÃO
DAS MÉTRICAS
Profissionais
Gerentes
Software
Processo de Engenharia de
Software
Computação das Métricas
Avaliação dos Dados
Coleta de Dados
BASELINE - DADOS HISTÓRICOS
MétricasBASELINE - DADOS HISTÓRICOS
• Atributos dos Dados Históricos: – Ajudam a reduzir o risco das estimativas – Devem ser precisos ou próximos de um valor real– Coletados do maior número de projetos possível– As medidas devem ser interpretadas da mesma maneira durante todo o projeto– As aplicações devem ser similares às do trabalho que se quer estudar
• Existe um modelo de planilha para coleta e cálculo de dados históricos do software
• progresso e dos problemas– avaliar os resultados de todas as revisões conduzidas ao longo do processo de
engenharia do software– determinar se os marcos de referência formais foram atingidos até a data programada– comparar a data de início real com a data de início planejada para cada tarefa do
projeto– fazer reuniões informais para obter avaliações subjetivas do progresso do projeto
...Em Resumo...Planejar: estabelecer objetivos claros e detalhados que serão alcançados entre a situação atual e o objetivo final, juntamente com uma definição do trabalho necessário para alcançá-los
Organizar: fazer o levantamento dos recursos necessários para por em prática o trabalho especificado no planejamento, numa estrutura eficaz
Integrar: manter a unidade e a livre operação de recursos, principalmente os elementos humanos, durante a execução do planejado
Medir: obter uma contínua realimentação sobre o andamento do que foi planejado
Revisar: modificar o plano, a organização e, possivelmente, os objetivos para acomodar as discrepâncias reveladas pela medição
Gerenciamento de Projeto é a execução repetida das atividades
Arquivos de Interface ExternaEntrada Externa
Saída Externa
Consulta Externa
Aplicativo
Outros Aplicativos
Saída Externa
Entrada Externa
Consulta Externa
ArquivoLógicoInterno
Diagrama de Funções e Fronteira da Aplicação
Determinação de Pontos de
Função Brutos
Arquivos de Interface Externa
Entrada ExternaSaída Externa
Consulta Externa
Aplicativo
Outros Aplicativos
Saída Externa
Entrada Externa
Consulta Externa
ArquivoLógicoInterno