Você está na página 1de 40

ROTEIRO

SISP 2.0
Publicao: 20 de Setembro de 2012

Coordenao de Aferio de Mtricas - COAM

Anlise de Pontos de Funo - Objetivo

Medir o tamanho funcional para


projetos de desenvolvimento e de
melhoria (manuteno evolutiva) de
software, independente da tecnologia
utilizada.

Medir a funcionalidade requisitada e


recebida pelo usurio.

Etapas da Contagem de PF

Etapas da Contagem de PF

Identificar o Propsito da Contagem

Deve
fornecer uma
resposta
para uma
questo de
negcio a
ser resolvida

Serve como
base para
definir o
escopo da
contagem e

Etapas da Contagem de PF

Identificar o Tipo da Contagem


Identifica se o projeto de desenvolvimento, de
melhoria ou aplicao ou base instalada.
Tipo

Descrio

Projeto de
Desenvolvimento

Projeto para desenvolver e entregar a primeira verso de uma


aplicao de software. Seu tamanho funcional a medida das
funcionalidades entregues ao usurio final

Projeto de Melhoria

Projeto de manuteno evolutiva ou melhoria funcional. Seu


tamanho funcional a medida das funcionalidades includas,
alteradas e excludas ao final do projeto

Aplicao ou Base
Instalada

Trata-se do tamanho funcional de uma aplicao instalada

Etapas da Contagem de PF

Identificar o Escopo da Contagem

Identifica quais funcionalidades sero


includas na contagem de pontos de
funo
Pode incluir mais de uma aplicao
Determinado pelo propsito da
contagem de PF.

Etapas da Contagem de PF

Determinar a Fronteira da Aplicao


Interface conceitual que indica o limite lgico entre o sistema
sendo medido e os usurios
Deve ser definida com base na viso do usurio,
desconsiderando questes de implementao
Toda contagem de pontos de funo realizada dentro de uma
fronteira estabelecida
Depende de processos de negcios e influencia fortemente a
contagem de pontos de funo

Processo Elementar
a menor unidade de atividade que tem significado para o
usurio da aplicao e auto contido
O processo elementar deixa o negcio da aplicao que est
sendo contada em um estgio consistente.
As funes de transao so consideradas a partir de um
processo elementar

Etapas da Contagem de PF

Contagem de Funo de Dados


Arquivo Logico Interno (ALI): um grupo de dados,
logicamente relacionados, reconhecido pelo usurio, mantido
por meio de um processo elementar da aplicao que est
sendo contada.
Arquivo de Interface Externa (AIE): um grupo de dados,
logicamente relacionados, reconhecido pelo usurio, mantido
por meio de um processo elementar de uma outra aplicao e
referenciado pela aplicao que est sendo contada. Exemplos
de acesso a AIEs: via EJB, WebServices, BDLink.
O AIE obrigatoriamente um ALI de outra aplicao.

Etapas da Contagem de PF

Contagem de Funo de Transao


Entrada Externa (EE): um processo elementar que processa
dados ou informao de controle que entram pela fronteira da
aplicao. Seu objetivo principal manter um ou mais ALI ou
alterar o comportamento do sistema.
Consulta Externa (CE): um processo elementar que envia
dados ou informao de controle para fora da fronteira da
aplicao. Seu objetivo principal apresentar informao para o
usurio atravs da recuperao de dados ou informao de
controle de ALI ou AIE.

Etapas da Contagem de PF

Contagem de Funo de Transao (continuao)


Saida Externa (SE): um processo elementar que envia dados
ou informao de controle para fora da fronteira da aplicao.
Seu objetivo principal apresentar informao para um usurio
ou outra aplicao atravs de um processamento lgico
adicional recuperao de dados ou informao de controle. O
processamento lgico deve conter clculo, ou criar dados
derivados, ou manter ALI ou alterar o comportamento do
sistema.

Complexidade dos Tipos Funcionais

Roteiro SISP v2.0

Rio de Janeiro, 20 de setembro de 2012

www.sisp.gov.br/roteirometricas

http://portal.dataprev.gov.br/2012/09/24/seminario-permite-troca-de-informacoes-sobre-metricas-de-software-entre-orgaos-do-governo/

Roteiro SISP - Objetivo


Apoiar os rgos e entidades do SISP nas estimativas de tamanho,
custo, prazo e esforo de seus projetos desenvolvidos internamente
ou contratados
Buscar Simplicidade para incentivar os rgos e entidades do SISP a
utilizar a mtrica de Pontos de Funo como medida padro no
estabelecimento de contratos de prestao de servios de
desenvolvimento e manuteno de sistemas
Buscar consistncia no uso de mtricas em contratos de prestao
de servios de desenvolvimento e manuteno de sistemas atravs
de critrios objetivos, para que por exemplo, caso dois profissionais
apliquem o mesmo roteiro no dimensionamento de um projeto de
software, cheguem a um mesmo resultado.

Roteiro SISP Motivao


Como tratar questes referentes a contagem que o
CPM no contempla?
contempla
Como tratar Mltiplas Midias ?
Como tratar Reuso ?
Como tratar projetos de manuteno Corretiva?
Como tratar projetos de manuteno adpativa em RNF?
Como tratar as mudanas de requisitos, durante o desenvolvimento?
Como tratar Prazo e questes de Criticidade?

Projeto de Desenvolvimento (item 4.1)


Roteiro SISP v2.0

So projetos para desenvolver e entregar a primeira verso de uma aplicao de


Software. Seu tamanho funcional a medida das funcionalidades entregues ao
usurio no final do projeto.

PF_DESENVOLVIMENTO
PF_DESENVOLVIMENTO==PF_INCLUDO
PF_INCLUDO++
PF_CONVERSO
PF_CONVERSO

Este roteiro recomenda a supresso do


PF_CONVERSO das frmulas de contagem de
pontos de funo de projetos de desenvolvimento
quando for caracterizado um esforo relativamente
maior dessa atividade.

Projeto de Melhoria (item 4.2)


Roteiro SISP v2.0

So projetos decorrentes de Manuteno Evolutiva associados s mudanas em


requisitos funcionais.
Situao

FI

Funcionalidade existente desenvolvida pela Dataprev

0,5 (Alterao)
0,4 (Excluso)

Funcionalidade existente desenvolvida por terceiros

0,75 (Alterao)
0,4 (Excluso)

Redocumentao

0,15

Incluso de funcionalidade

Exemplo

Alterar a Lista de Empregados, desenvolvida pelo Fornecedor-A, acrescentando


totalizadores de ativos e inativos com Redocumentao
- Antes da melhoria: CE Mdia (18 TDs e 2 ARs ) = 4 PF
- Depois da melhoria: SE Alta (20 TDs e 2 Ars) = 5 PF
Quantidade de PF = 5 X (0,75 + 0,15) = 4,5 PF

** Para o roteiro SISP funo alterada significa mudana na regra de negocio. Se a mudana for nofuncional ser tratada como manuteno adaptativa

Projeto de Migrao de Dados (item 4.3)


Roteiro SISP v2.0

Um projeto de migrao de dados substitui a Converso de Dados quando


caracterizado um esforo maior na atividade, tais como:
Migrao de dados de Banco Hierrquico para o Relacional
Tratamento de funes complexas na migrao dos dados.
Deve contemplar os ALIs, EEs e todas as outras funcionalidades requisitadas e
recebidas pelo usurio.
PF_MIGRAO
PF_MIGRAO==PF_INCLUDO
PF_INCLUDO

Exemplo

Disponibilizar os dados da aplicao antiga em BD Adabas, no novo


sistema em BD Oracle.
Disponibilizar o relatrio desta migrao informando o nmero de
registros lidos, nmero de registros gravados, identificador de
registros rejeitados e horas de migrao.

Quantidade de PF = 1 ALI (no BD Oracle) + 1 EE (Migrao dos dados) +


1 SE (Relatrio da carga dos dados)

Projeto de Manuteno Corretiva (item 4.4)


Roteiro SISP v2.0

So demandas decorrentes de correo de defeitos em funcionalidades de


sistemas em produo.
Situao

FI

Funcionalidade existente desenvolvida pela Dataprev

0,5 (Alterao)
0,4 (Excluso)

Funcionalidade existente desenvolvida por terceiros

0,75 (Alterao)
0,4 (Excluso)

Redocumentao

0,15

Incluso de funcionalidade

Exemplo

Acertar os valores calculados do relatrio de Pagamento de Benefcios,


desenvolvido pelo Fornecedor-B. No necessria a redocumentao
- O relatrio uma SE de complexidade Alta (23 TDs e 3 ARs ) = 7 PF

Quantidade de PF = 7 X 0,75 = 5,25 PF

Mudana de plataforma Linguagem de programao (item 4.5.1)


Roteiro SISP v2.0

Redesenvolvimento em outra linguagem de programao. So considerados


novos projetos de desenvolvimento. Caso o Banco de Dados seja mantido,
no haver contagem das funes de dados.

PF_REDESENVOLVIMENTO_LINGUAGEM
PF_REDESENVOLVIMENTO_LINGUAGEM==
PF_INCLUDO
PF_INCLUDO++PF_CONVERSO
PF_CONVERSO

Exemplo

Redesenvolver a aplicao na linguagem X para a linguagem Y. O banco


de dados permanecer o mesmo.
A aplicao contm: 10 ALIs Mdios, 5 AIEs baixo, 5 EE Mdias, 5 SE
Altas, 1 CE baixa = 169 PF

Quantidade PF do Redesenvolvimento = (5X4) + (5X7) + 3 = 58 PF

Mudana de plataforma Banco de dados (item 4.5.2)


Roteiro SISP v2.0

Demandas para redesenvolvimento de sistemas para utilizar outro gerenciador de


banco de dados.
Situao
1) Mudana de um banco relacional para outro relacional
PF_REDESENVOLVIMENTO_BD_RELACIONAL = (PF_ALTERADO x 0,30) + PF_CONVERSO

2) Mudana de um banco hierrquico para relacional deve ser considerado novo


projeto de desenvolvimento.
PF_REDESENVOLVIMENTO_BD_HIERARQUICO = PF_INCLDO + PF_CONVERSO

Exemplo

Redesenvolvimento de uma aplicao que est em Oracle para o MySql,


mesmo modelo de dados e migrao de dados para 10 ALIs.
Na aplicao foram alterados 5 EE Mdias, 5 SE Altas, 1 CE baixa = 169 PF
A migrao de dados corresponder a 10 EE baixas.

Quantidade de PF = Quantidade PF do Redesenvolvimento = (5X4) + (5X7) + 3 + (10X3)= 88 PF

Atualizao de verso Linguagem de programao (item 4.6.1)


Roteiro SISP v2.0

Aplica-se s demandas de atualizao de verso de uma linguagem de


programao.
PF_ATUALIZAO_VERSO_LINGUAGEM
PF_ATUALIZAO_VERSO_LINGUAGEM==
PF_ALTERADO
PF_ALTERADOxx0,30
0,30

Na atualizao de verso da linguagem Java, tiveram que ser


readaptadas as seguintes funcionalidades:
Exemplo

2 EEs Mdias, 1 CE Alta e 3 SEs Baixas.


Funcionalidades Impactadas = 2 EE (2 X 4) + 1 CE (1 X 6 ) + 3 SE
(3 X 4) = 26 PF

Quantidade de PF atualizao de verso = 26 X 0,30 = 7,8 PF

Atualizao de verso Browser (item 4.6.2)


Roteiro SISP v2.0

Aplica-se s demandas de atualizao de aplicaes Web para executar em


verses mais novas do browser e/ou suportar a execuo em outros browsers,
devido problemas de incompatibilidade. S sero contadas as funes de
transao, dessa forma:
PF_ATUALIZAO_VERSO_BROWSER
PF_ATUALIZAO_VERSO_BROWSER==
PF_ALTERADO
PF_ALTERADOxx0,30
0,30

Na atualizao de verso para o browser Firefox 15.1, tiveram que ser


readaptados 5 componentes reusveis:
Exemplo

3 SEs Baixas e 2 CEs Alta.


Funcionalidades Impactadas = 3 SE (3 X 4) + 2 CE (2 X 6 ) = 24 PF

Quantidade de PF atualizao de verso = 24 X 0,30 = 7,2 PF

Atualizao de verso Banco de dados (item 4.6.3)


Roteiro SISP v2.0

Aplica-se s demandas de atualizao de verso do sistema gerenciador do Banco


de dados. Sero contadas somente as funes de transao impactadas, dessa
forma:
PF_ATUALIZAO_VESO_BD
PF_ATUALIZAO_VESO_BD==PF_ALTERADO
PF_ALTERADOxx0,30
0,30

Exemplo

Na atualizao de verso para Banco de Dados Oracle 11.3, tiveram


que ser readaptadas Stored Procedures referentes s seguintes
funcionalidades: 2 EEs Mdias e 2 CE Alta.
Funcionalidades Impactadas = 2 EE (2 X 4) + 2 CE (2 X 6 ) = 20
PF

Quantidade de PF atualizao de verso = 20 X 0,30 = 6,0 PF

Manuteno em interface (item 4.7)


Roteiro SISP v2.0

So as manutenes cosmticas que se aplica s demandas de alteraes em


interfaces:
Alteraes de fonte de letras, cor de tela, logotipo, mudana de boto na tela,
mudana de posio de campos ou textos;
Mudanas em texto de mensagens;
Mudana de texto esttico em email enviado pelo sistema;
Alterao de ttulo de relatrio;
Alterao de label em uma tela de consulta;
Atualizao de Help esttico
PF_INTERFACE
PF_INTERFACE==0,6
0,6PF
PFXXQUANTIDADE
QUANTIDADEDE
DEFUNES
FUNESTRANSACIONAIS
TRANSACIONAISIMPACTADAS
IMPACTADAS

.Alterar as 10 telas do cadastro de empregado, composto de 2 EE Mdias


(Incluso e Alterao), 1 EE baixa (Excluso) e 1 CE Mdia, para
Exemplo
incluso do novo logotipo da empresa alm de mudar a posio dos
botes na tela. Funes impactadas = 3 EE + 1 CE = 4

Quantidade PF = 0,60 X 4 = 2,40 PF

Adaptao em funcionalidades sem alterao de RF (item 4.8)


Roteiro SISP v2.0

So consideradas as demandas de manuteno adaptativa envolvendo


mudanas de regras de negcio no funcionais. So alguns exemplos:

Aumentar a quantidade de linhas por pgina em um relatrio;


Colocar paginao em relatrio;
Limitar a quantidade de linhas em uma CE existente;
Permitir excluses mltiplas em funo que s permitia a excluso de um item;
Adaptar a funcionalidade para possibilitar a integrao com outros sistemas (tipo webservice);
Replicao de funcionalidades, como chamar uma CE existente em outra tela da aplicao;
Modificar o servidor a ser acessado em uma funcionalidade de download de arquivo.
PF_ADAPTATIVA
PF_ADAPTATIVA==FI
FIXXPF_ALTERADO
PF_ALTERADO

Exemplo

Situao

FI

Funcionalidade existente desenvolvida pela Dataprev

0,5

Funcionalidade existente desenvolvida por terceiros

0,75

Permitir que na lista de registros que seleciona dependentes com mais de


18 anos seja possvel a excluso de mais de 1 registro. A funcionalidade
foi desenvolvida pela Dataprev e a CE possui 6 PF.
Quantidade de PF = 6 X 0,5 = 3 PF

Apurao especial Base de dados (item 4.9.1)


Roteiro SISP v2.0

So funcionalidades executadas apenas uma vez para atualizar ou corrigir


valores de uma base de dados da aplicao. Podem ser de 3 tipos:
Situao
1) Atualizao de dados sem consulta prvia
PF_APURAO_BD = PF_INCLUDA onde PF_INCLUIDA uma EE

Aps a realizao de uma consulta prvia verificou-se a viabilidade de conceder


um aumento de 5% no salrio base dos empregados que ganham entre 3 a 7
salrios mnimos. Dever ento ser aplicado o percentual de 5% nesta faixa
Exemplo
salarial.
Consulta Prvia = 1 CE baixa / Aplicao de 5% na Faixa de Salrios = EE baixa
Quantidade de PF = CE + 0,60 (EE) = 3 + (0,60 X 3) = 4,8 PF

Apurao especial Gerao de relatrios (item 4.9.2)


Roteiro SISP v2.0
So funcionalidades executadas apenas uma vez para gerar relatrio ou para
extrao e envio de dados para outros sistemas.

PF_APURAO_RELATRIO
PF_APURAO_RELATRIO==PF_INCLUDO
PF_INCLUDO
onde
PF_INCLUDO
pode
ser
CE
ou
onde PF_INCLUDO pode ser CE ouSE
SE

Exemplo

Fazer uma seleo de todos os Clientes que satisfazem as condies de receber


o Desconto de Natal e gerar um arquivo em formato pr-definido, que dever
ser distribudo em todas as lojas.

Quantidade de PF = 1 SE Complexidade Mdia = 5 PF

Atualizao de dados (item 4.10)


Roteiro SISP v2.0
So as demandas de correo de valores na base de dados que podem ser
realizadas manualmente, diretamente no banco de dados, onde no envolvam
clculos ou procedimentos complexos. Para efeito de contagem de pontos de
funo aplica-se 10% de uma EE, onde sero considerados todos os TDs
atualizados e os utilizados na seleo do registro.

PF_ATUALIZAO_BD
PF_ATUALIZAO_BD==EE_ATUALIZAO_BD
EE_ATUALIZAO_BDXX0,10
0,10

Exemplo

Incluir na Tabela de Produtos o cdigo 44 referente Tubo PVC 4mm


Supondo-se a uma EE de 3 PF

Quantidade de PF da Atualizao = 3 X 0,10 = 0,30 PF

Desenvolvimento, Manuteno e Publicao de Pginas estticas na


intranet, internet ou portal(item 4.11)
Roteiro SISP v2.0
Referem-se s demandas de publicao de pginas Web estticas, abrangendo:
- Criao de pgina HTML;
- Atualizao de menu esttico;
- Atualizao de banners ou textos estticos em pginas HTML existentes.

PF_PUBLICAO
PF_PUBLICAO==0,60
0,60XXQUANTIDADE
QUANTIDADE_PGINAS
_PGINAS

Exemplo

Criar 1 pgina HTML com texto abordando a ltima palestra do presidente e


incluir 1 banner na pgina principal.

Quantidade de PF Manuteno Pginas Estticas = 2 X 0,60 = 1,20 PF

Manuteno de documentao de sistemas legados (item 4.12)


Roteiro SISP v2.0
So tratadas as demandas de documentao ou redocumentao de sistemas
legados.
PF_DOCUMENTAO
PF_DOCUMENTAO==
PF_DOCUMENTADO
PF_DOCUMENTADOXX0,25
0,25

Exemplo

Documentar o mdulo de Cadastramento de Usurios com as


modificaes e as incluses das novas funcionalidades.
O Mdulo de Cadastramento de Usurio possui 80 PF

Quantidade de PF para Documentao = 80 X 0,25 = 20 PF

Verificao de erros (item 4.13)


Roteiro SISP v2.0
Abrangem as demandas de verificao de erro e/ou anlise de comportamento
anormal ou indevido do sistema, reportado pelo usurio. Caso no seja constatado o
problema ou o mesmo for decorrente de regras de negcio implementadas ou houve
utilizao incorreta das funcionalidades, sero contadas da seguinte forma:

Situao
1) No existe documentao de teste das funcionalidades disponvel
PF_VERIFICAO = PF_FUNCIONALIDADE_COM_ERRO X 0,20

2) Existe documentao de teste


PF_VERIFICAO = PF_FUNCIONALIDADE_COM_ERRO X 0,15
** Caso for constatado erro de sistema ser tratado como Correo Corretiva.

Exemplo

O usurio pediu para verificar o clculo dos benefcios, que estariam retornando
valores incorretos. Aps anlise verificou-se que o usurio no atualizou a
nova faixa de valores de referncia. No existe documentao de teste.
Trata-se de uma SE com 5 PF
Quantidade de PF na Verificao = 5 X 0,20 = 1 PF

Pontos de Funo de Teste (item 4.14)


Roteiro SISP v2.0
Descreve sobre funes que devem ser testadas devido ao impacto indireto
sofrido por manuteno em outras funcionalidades do sistema. No se deve aferir
os pontos de teste das funcionalidades includas, excludas ou alteradas no
projeto de manuteno.

PF_TESTE
PF_TESTE==FUNCIONALIDADE_TESTADA
FUNCIONALIDADE_TESTADAXX0,15
0,15

Exemplo

Ao se atualizar o componente de clculo de impostos verificou-se a necessidade


de se testar 2 relatrios que utilizam esse componente, correspondente a 2
SE de complexidade mdia.

Quantidade de PF de Teste = (5 X 2) X 0,15 = 1,5 PF

Mltiplas Mdias
Roteiro SISP v2.0

o tratamento para contagem de pontos de funo para funcionalidades


entregues em mais de uma mdia. So analisadas atravs das seguintes
abordagens:
Situao
1) Single Instance
No reconhece que a mdia utilizada para entregar uma funo
transacional seja uma caracterstica de diferenciao na identificao da
unicidade desta funo.
2

Mltiplas Mdias
Roteiro SISP v2.0

Cenrio 1: Mesmos dados apresentados em tela e Impressos


A aplicao apresenta uma informao em tela e requisitado pelo usurio que
ela seja tambm impressa.
Se os dados apresentados em tela e relatrio forem idnticos a abordagem Single
Instance.
Se as lgicas de processamento para apresentar os dados em tela e impresso forem
diferentes, sero considerados 2 processos elementares a serem contados Multiple
Instance.

Exemplo

Apresentar os dados da evoluo funcional do empregado em tela e


imprimir, sendo que na impresso dever ser apresentado o total em
meses, que permaneceu em cada cargo.

Consideram-se 2 PE: 1 CE (tela) e 1 SE (relatrio)

Mltiplas Mdias
Roteiro SISP v2.0

Cenrio 2: Mesmos dados de sada como dados em


arquivo e relatrio impresso
A aplicao grava dados em arquivo de sada e imprime relatrio com
informaes idnticas s gravadas no arquivo.
Se os dados apresentados no arquivo e no relatrio so idnticos e a ferramenta de
desenvolvimento apoia a gerao dessas mltiplas sadas, a abordagem Single
Instance.
Se as lgicas de processamento para apresentar os dados em tela e impresso forem
diferentes, sero considerados 2 processos elementares a serem contados. Alm disso, se
a gerao das mdias no seguirem o padro da ferramenta de desenvolvimento, a
abordagem ser Multiple Instance.

Exemplo

Gerar relatrio com os dados da evoluo funcional do empregado, com os


totalizadores de tempo em cada cargo, e gravar arquivo com essas
informaes para dar entrada no sistema XYZ.

Considera-se 1 PE = 1 SE (relatrio)

Mltiplas Mdias
Roteiro SISP v2.0

Cenrio 3: Mesmos dados de entrada batch e on-line


Os mesmos dados de entrada podem ser carregados de forma Batch ou On-line.
Nestes casos sero consideradas 2 funcionalidades Multiple Instance.

Mltiplas Mdias
Roteiro SISP v2.0

Cenrio 4: Mltiplos canais de entrega da mesma


funcionalidade
Funcionalidades disponibilizadas em mltiplos canais seguem a abordagem
Multiple Instance.

Exemplo

Disponibilizar a CE ao saldo bancrio via Web e via Celular.


So consideradas 2 CE distintas:

Quantidade de PF = 2 X 3 = 6PF

Mltiplas Mdias
Roteiro SISP v2.0

Cenrio 5: Relatrio em mltiplos formatos


Relatrios que so entregues em diferentes formatos, por exemplo: html e valores
separados por vrgula (.csv), deve-se considerar a ferramenta utilizada na
gerao dos relatrios:
Se a ferramenta suportar a gerao dos relatrios nos diversos formatos, a
abordagem ser Single Instance.
Se os desenvolvedores precisarem desenvolver o relatrio nos vrios formatos a
abordagem ser Multiple Instance

Como Evitar Armadilhas em Contratos de


Desenvolvimento e Manuteno de Sistemas
Obtenha um Documento de Requisitos de Qualidade
Estabelea Regras para o Tratamento das Mudanas de
Requisitos
Estabelea Clusulas de Garantia da Qualidade
Estabelea Clusulas Contratuais de Prazo e Taxa de
Entrega
Estabelea o CPM como a Base para as Contagens de PF ao
invs de Converses
Estabelecer Regras para Dimensionar Projetos de
Manuteno
Estabelecer detalhes do processo de prestao de servios
no Edital