Escolar Documentos
Profissional Documentos
Cultura Documentos
APF Radial
APF Radial
Agenda
Introduo Histrico Viso Geral Processo de Contagem Determinao do Tipo de Contagem Fronteiras da Aplicao Tipos de Funo Determinao de Pontos de Funo Brutos Determinao do Fator de Ajuste Determinao dos Pontos de Funo Ajustados Programa de Mtricas Indicadores Bibliografia
No se
consegue controlar o que no se
consegue medir
Tom DeMarco
Introduo
Analogia Construo Elaborar Planejamento
Histrico
Contagem de Linhas de Cdigo Fonte (SLOC) Halstead (operandos e operadores) Anlise de Pontos por Funo Outras Tcnicas ....
IFPUG criado em 1986 Verso 3.0 em 1990 (Releases 3.1, 3.2, 3.3 e 3.4)
rgos
Chapter
BFPUG (Brazilian Function Point Users Group- www.bfpug.com.br) CASMA (Chicago Area Software Metrics Association) SASMA (South African Software)
Affiliate I
JFPUG (Japan Function Point Users Group)
Affiliate II
DANMET (Denmark Function Point Users Group)
Viso Geral
Independncia de tecnologia; unidade de medida padro para software; tcnica de estimativa de software; ser simples; se consistente e intercambivel; ser compreensvel por no-tcnicos; utilizvel desde o incio do sistema.
Benefcios
Uma tcnica que permite dimensionar o tamanho de um software a ser adquirido pela instituio; uma tcnica para estimativas de custo e recursos para o desenvolvimento e manuteno de softwares; uma unidade de medida para comparao; implantao de um programa de mtricas; maior controle de qualidade; ferramenta de auxlio gerencial.
Processo de Contagem
Determinao do Tipo de Contagem
ALI (Arquivo Lgico Interno) AIE (Arquivo de Interface Externa) EE (Entrada Externa) SE (Sada Externa) CE (Consulta Externa)
Atualizao On-Line Processamento Complexo Reusabilidade Facilidade de Implantao Facilidade Operacional Mltiplos Locais Facilidade de Mudanas (flexibilidade)
Resumo
Identificar ALIs, AIEs, EEs, SEs e CEs Classificar quanto complexidade: Simples, Mdia ou Complexa Clculo de PFBruto Determinao do FA (Fator de Ajuste) atravs do NI (Nveis de Influncia) Clculo de PFAjustado
O objetivo no a preciso Modelo Lgico Ante-Projeto Abstrao Outras tcnicas de estimativa, baseado em pontos de funo
Fronteiras da Aplicao
Determinar a fronteira da aplicao Objetivos
manter escopo sob controle identificao e propriedade do dado identificao e propriedade da funo Viso do Usurio Funes de Negcio Em manuteno, idntico ao escopo inicial
Regras
Tipos de Funo
Dados: funcionalidade provida ao usurio atravs de dados internos ou externos aplicao.
ALI (Arquivo Lgico Interno) Grupo lgico de dados relacionados ou informao de controle identificado pelo usurio e mantido dentro da fronteira da aplicao. A inteno primria de um ALI manter os dados que sofrem manuteno atravs de um ou mais processos elementares da aplicao que est sendo contada. Um ALI equivale um Depsito de Dados em um DFD ou uma entidade em um MER.
AIE (Arquivo de Interface Externa) Grupo lgico de dados relacionados ou informao de controle referenciado pela aplicao, mas mantido dentro da fronteira de outra aplicao. A inteno primria de um AIE manter dados referenciados atravs de um ou mais processos elementares da aplicao que est sendo contada. Isso significa que um AIE contado por uma aplicao deve ser um ALI em outra aplicao.
Regras de Identificao de ALI O grupo de dados ou informao de controle lgico e identificvel pelo usurio. O grupo de dados mantido atravs de um processo elementar dentro da fronteira da aplicao que est sendo contada. Regras de Identificao de AIE O grupo de dados ou informao de controle lgico e identificvel pelo usurio. O grupo de dados referenciado por, e externamente para, a aplicao que est sendo contada. O grupo de dados no manutenido pela aplicao que est sendo contada. O grupo de dados manutenido em um ALI de outra aplicao.
Regras e Definies de Complexidade e Contribuio As regras e definies de complexidade e contribuio so determinadas pela quantidade de DER (Dado Elementar Referenciado) e RLR (Registro Lgico Referenciado). DER - Um Dado Elementar Referenciado um campo nico norepetido e reconhecido pelo usurio. Regras para DER
Contar um DER para cada campo nico no-repetido e reconhecido pelo usurio mantido em ou recuperado do ALI ou AIE atravs da execuo de um processo elementar. Quando duas aplicaes mantm e/ou referencia o mesmo ALI/AIE, mas cada um mantm/referencia DERs separados, conte somente um DER sendo usado por cada aplicao para dimensionar o ALI/AIE. Conte um DER para cada parte de dados requerida pelo usurio para estabelecer um relacionamento com outro ALI ou AIE.
Definio de RLR (Registro Lgico Referenciado) Um RLR um subgrupo de dados reconhecido pelo usurio, dentro de um ALI ou AIE. Existem dois tipos de subgrupos: Opcional: o usurio tem a opo de usar um ou nenhum dos subgrupos durante um processo elementar. Mandatrio: o usurio deve entrar pelo menos com um. Regras para RLR
Contar um RLR para cada subgrupo opcional ou mandatrio do ALI ou AIE. Se no existir subgrupos, conte o ALI ou AIE como um RLR.
Transacional: funcionalidade provida ao usurio para o processamento de dados por uma aplicao. EE (Entrada Externa) SE (Sada Externa) CE ( Consulta Externa)
EE (Entrada Externa) Uma Entrada Externa um processo elementar que processa dados ou informao de controle que venha de fora da fronteira da aplicao. A inteno primria de uma EE manter um ou mais ALIs e/ou alterar o comportamento do sistema.
Regras de Identificao de EE O dado ou informao de controle recebido de fora da fronteira da aplicao. Pelo menos um ALI mantido se o dado que estiver entrando a fronteira no for informao de controle que altera o comportamento do sistema. Para o processo identificado, uma das trs condies a seguir deve ser aplicada:
O processamento lgico nico do processamento lgico executado por outra entrada externa na aplicao. O grupo de elemento de dados diferente de grupos identificados por outra entrada externa na aplicao. Os ALIs e AIEs referenciados so diferentes de outros arquivos externos referenciados pelas entradas externas na aplicao.
Regras e Definies de Complexidade e Contribuio para Entrada Externa As regras e definies de complexidade e contribuio so determinadas pela quantidade de DER (Dado Elementar Referenciado) e ALR (Arquivo Lgico Referenciado). Regras para ALR - EE
Contar um ALR para cada ALI mantido. Contar um ALR para cada ALI ou AIE durante o processamento da Entrada Externa. Contar somente um ALR para cada ALI que seja lido e mantido.
Regras DER - EE
Contar um DER para cada campo no-repetido e reconhecido pelo usurio que entra ou sai da fronteira da aplicao e requerido para completar a entrada externa. No contar campos que so recuperados ou derivados pelo sistema e armazenados em um ALI durante o processo elementar se o campo no cruza a fronteira da aplicao. Contar um DER para a capacidade de enviar para fora da fronteira uma mensagem do sistema para indicar a ocorrncia de erro durante o processamento, confirmando que esse processamento foi completo ou verificando que esse processamento dever continuar. Contar um DER para a capacidade de especificar uma ao que ter quantidade igual se so mltiplos mtodos invocando o mesmo processo lgico.
SE (Sada Externa) Uma Sada Externa um processo elementar que envia dados ou informao de controle para fora da fronteira da aplicao. A inteno primria de um SE apresentar informaes ao usurio atravs de processamento lgico , alm da recuperao de dados e informao de controle. O processamento lgico deve conter pelo menos uma frmula matemtica ou clculo, ou criar dados derivados. Uma SE tambm pode manter um ou ALIs e/ou alterar o comportamento de um ou mais ALIs e/ou alterar o comportamento do sistema.
Regras de Identificao de SE A funo envia dados ou informao de controle para fora da fronteira da aplicao. Para o processo identificado, uma das trs condies a seguir deve ser aplicada:
O processamento lgico nico do processamento lgico executado por outra entrada externa na aplicao. O grupo de elemento de dados diferente de grupos identificados por outra entrada externa na aplicao. Os ALIs e AIEs referenciados so diferentes de outros arquivos externos referenciados pelas entradas externas na aplicao.
O processamento lgico do processo elementar contm pelo menos uma frmula matemtica ou clculo. O processamento lgico do processo elementar mantm pelo menos um ALI. O processamento lgico elementar altera o comportamento do sistema
Regras e Definies de Complexidade e Contribuio para Sada Externa As regras e definies de complexidade e contribuio so determinadas pela quantidade de DER (Dado Elementar Referenciado) e ALR (Arquivo Lgico Referenciado). Regras para ALR - SE
Contar um ALR para cada ALI ou AIE lido durante o processamento do processo elementar. Contar um ALR para cada ALI mantido durante o processamento do processo elementar. Contar somente um ALR para cada ALI lido e mantido durante o processamento do processo elementar.
Regras DER - SE
Contar um DER para cada campo no-repetido e reconhecido pelo usurio que entra a fronteira da aplicao e requerido para especificar quando, qual e/ou como o dado ser recuperado ou gerado pelo processo elementar. Contar um DER para cada campo no-repetido e reconhecido pelo usurio que sai a fronteira da aplicao. Se um DER entrar e sair da fronteira, conte somente uma vez para o processo elementar. Contar um DER para a capacidade de enviar para fora da fronteira uma mensagem do sistema para indicar a ocorrncia de erro durante o processamento, confirmando que esse processamento foi completo ou verificando que esse processamento dever continuar. Contar um DER para a capacidade de especificar uma ao que ter quantidade igual se so mltiplos mtodos invocando o mesmo processo lgico. No contar campos que so recuperados ou derivados pelo sistema e so armazenados em um ALI durante o processamento do processo elementar se o campo no cruza a fronteira da aplicao. No contar literais como DERs. No contar variveis de pgina ou timbres gerados pelo sistema.
CE (Consulta Externa) Uma Consulta Externa um processo elementar que envia dados ou informao de controle para fora da fronteira da aplicao. A inteno primria de uma CE apresentar informaes ao usurio atravs da recuperao de dados e informao de controle de um ALI ou AIE. O processamento lgico no contm nenhuma frmula matemtica ou clculo, ou cria dados derivados, o comportamento do sistema no alterado.
Regras de Identificao de CE
A funo envia dados ou informao de controle para fora da fronteira da aplicao. Para o processo identificado, uma das trs condies a seguir deve ser aplicada: O processamento lgico nico do processamento lgico executado por outra entrada externa na aplicao. O grupo de elemento de dados diferente de grupos identificados por outra entrada externa na aplicao. Os ALIs e AIEs referenciados so diferentes de outros arquivos externos referenciados pelas entradas externas na aplicao. O processamento lgico do processo elementar recupera dados ou informao de controle de um ALI ou AIE. O processamento lgico do processo elementar no contm uma frmula matemtica ou clculo. O processamento lgico elementar no cria dados derivados. O processamento lgico do processo elementar no mantm um ALI. O processamento lgico do processo no altera o comportamento do sistema.
Regras e Definies de Complexidade e Contribuio para Consulta Externa As regras e definies de complexidade e contribuio so determinadas pela quantidade de DER (Dado Elementar Referenciado) e ALR (Arquivo Lgico Referenciado). Regras para ALR - CE
Contar um ALR para cada ALI ou AIE lido durante o processamento do processo elementar.
Regras DER - CE
Contar um DER para cada campo no-repetido e reconhecido pelo usurio que entra a fronteira da aplicao e requerido para especificar quando, qual e/ou como o dado ser recuperado ou gerado pelo processo elementar. Contar um DER para cada campo no-repetido e reconhecido pelo usurio que sai a fronteira da aplicao. Se um DER entrar e sair da fronteira, conte somente uma vez para o processo elementar. Contar um DER para a capacidade de enviar para fora da fronteira uma mensagem do sistema para indicar a ocorrncia de erro durante o processamento, confirmando que esse processamento foi completo ou verificando que esse processamento dever continuar. Contar um DER para a capacidade de especificar uma ao que ter quantidade igual se so mltiplos mtodos invocando o mesmo processo lgico. No contar campos que so recuperados ou derivados pelo sistema e so armazenados em um ALI durante o processamento do processo elementar se o campo no cruza a fronteira da aplicao. No contar literais como DERs. No contar variveis de pgina ou timbres gerados pelo sistema.
Aplicativo
Consulta Externa
Consulta Externa
AIEs
4 0 0
Variao de 35 %
Procedimento
Classificar os quatorze itens de acordo o nvel de influncia. Aplicar a frmula
Para manuteno PFM = [(INC + ALT + PFC) * FAD] + (EXC * FAA) Onde:
PFM - Pontosde funo do projeto de manuteno INC - Ponto de funo brutos que foram includos na aplicao pelo projeto de manuteno. ALT - Ponto de funo que foram alterados na aplicao pelo projeto de manuteno. PFC - Ponto de funo que foram adicionados pelo processo de converso. FAD - Fator de ajuste da aplicao depois do projeto de manuteno. EXC - Ponto de funo brutos que foram excludos da aplicao pelo projeto de manuteno. FAA - Fator de ajuste da aplicao antes do projeto de manuteno.
Exemplo de ALI
O usurio quer entrar, consultar e imprimir informaes sobre trabalhos. A informao que deve ser mantida em conjunto inclui:
Cdigo do trabalho Nome do trabalho Valor do trabalho Nmero da linha da descrio do trabalho Linha de descrio do trabalho
Trabalho
Descrio do Trabalho
Trabalho inclui:
Identificao de ALIs
A anlise de grupo trabalho mostrado na tabela a seguir: O grupo de dados ou informao de controle lgico e identificvel pelo usurio. No. Trabalho deve incluir a entidade ou tabela Descrio do Trabalho para representar a requisio do usurio para acrescentar informao do trabalho.
O grupo de dados mantido atravs de um processo elementar dentro da fronteira da aplicao que est sendo contada. Sim. O processo elementar mantm trabalho, no qual o usurio inclui em conjunto nas entidades ou tabelas trabalho e descrio do trabalho. Baseado na anlise, Trabalho sozinho sem a Descrio do Trabalho no um ALI.
Identificao de ALIs
Agora, determinar se Descrio do Trabalho um ALI. O grupo de dados ou informao de controle lgico e identificvel pelo usurio. No. Descrio do Trabalho deve incluir a entidade ou tabela Trabalho para representar a requisio do usurio para acrescentar descrio do trabalho. O grupo de dados mantido atravs de um processo elementar dentro da fronteira da aplicao que est sendo contada. Sim. O processo elementar mantm trabalho, no qual o usurio inclui em conjunto nas entidades ou tabelas trabalho e descrio do trabalho. Baseado na anlise, Descrio do Trabalho sozinho sem Trabalho no um ALI. Pela viso do usurio, Trabalho e Descrio do Trabalho so utilizados em conjunto para acrescentar Informao do Trabalho para a aplicao de RH. Ns devemos combinar as entidades ou tabelas Trabalho e Descrio do Trabalho porque elas devem ser mantidas juntas. Existe um grupo lgico de dados pela viso do usurio. Esse grupo Informao do Trabalho que formado pelos dados de Trabalho e Descrio do Trabalho.1
Exemplo de AIE
O usurio do Sistema de Folha de Pagamento quer utilizar as informaes de funcionrios contidas no sistema de Recursos Humanos.
Projeto Funcional
Projeto Detalhado
100 PFs
120 PFs
130 PFs
135 PFs
Exemplos de Aplicaes
Aplicao 1. Produtos de Software Ferramenta CASE IEF (Texas) Compilador Visual Basic (Microsoft) SGBD IMS (IBM) Gerenciador de TP CICS (IBM) Word 7.0 (Microsoft) Excel 6.0 (Microsoft) MS Project (Microsoft)
Aplicao 2. Sist. Comerciais Diversos Imposto de Renda Pessoal Contabilidade Geral Processamento de Pedidos Recursos Humanos Suporte a Vendas Preparao de Oramento
Regio Impossvel
Evitando a Regio Impossvel
Custo do Esforo
Td
Tempo de Desenvolvimento
To
Observaes: 1) Td o tempo timo de desenvolvimento. 2) To o tempo que acarreta o menor custo. 3) To = 2 Td. 4) impossvel terminar em menos que 0,75 * Td.
Os 7 Pecados Capitais
Falta de Comunicao (com o seu pessoal) Confiana Cega (no parceiro) Cinismo e Desconfiana (com o parceiro) O Contrato a Bblia (falta de flexibilidade) Ir Dormir Aborrecido (fazer bola de neve) M Prtica de Mtricas (ambas as partes devem
entender os critrios)
Dekkers, C., Management of Outsourcing: How to Avoid Common Mistakes, Software Management Conference, San Jose, February 2000
O Oitavo Pecado
Aguiar, M., Contratando o Desenvolvimento com Base em Mtricas, Developers Magazine, setembro de 2000.
Obrigado
Altair L. Ribeiro
altair_ribeiro@yahoo.com.br alribeiro@sao.politec.com.br planetapf@yahoo.com.br (em construo) planetfpa@yahoo.com.br (em construo)
www.bfpug.com.br
www.ifpug.org www.geocities.com/altair_ribeiro/ (em reforma)
Agradecimentos
Maurcio Aguiar - Presidente da BFPUG e Diretor da IFPUG