Sie sind auf Seite 1von 13

www.fattocs.com.

br

Consultoria e Sistemas

Sntese das discusses do frum Livro-APF: Setembro/2010


Assunto: Relacionamento e Entidade
Data: 30/08 - 02/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/2871
Cenrio: H um cadastro de alunos onde existe a entidade Aluno se relacionando com outra entidade chamada Perodo.
Neste existe um relacionamento de 1-N, ento se tem uma chave estrangeira de Perodo na tabela Aluno.
Na hora do cadastro do aluno, a secretria visualiza os dados a serem cadastrado do aluno e um combo box com as
opes de perodo.
Para uma contagem de pontos de funo, como classificar este cenrio: Deve-se colocar que Aluno um ALI e que
possui 2 Registros Lgicos (Aluno e Perodo)? Ou somente 1 Registro Lgico (Aluno)? Ou seja, em relacionamentos 1N contam as entidades que fazem parte da ALI principal?
Anlise/Concluso: Uma relao 1:N pode ser enquadrada de vrias formas na APF. O lado do "N" pode ser um
atributo (DER) multivalorado de um ALI, pode ser um outro grupo lgico (RLR) dentro do mesmo ALI, ou pode ser um
ALI por si s. Vai depender da relao de dependncia entre eles.
Antes de analisar essa relao, temos logo que descartar o que Dado de Cdigo.
Considerando que perodo um atributo do aluno (para evitar redundncia e melhorar a qualidade, pode-se implementar
uma tabela separada para perodos), e desconsiderando o modelo normalizado, seria um campo da tabela aluno. E
considerando tambm que h um domnio de valores vlidos para o perodo, ento Dado de Cdigo, h um ALI Aluno
e
dentro
dele,
um
DER
perodo,
assim
como
tambm
h
nome,
idade
etc.

Assunto: Contagem de Combos e Listas


Data: 01/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/2883
Dvida: Alguns profissionais de mtricas no consideram como funo transacional aquelas consultas para popular
listas e combos, que so parte de uma outra funo transacional. Mas o correto no contar essas funes
a
parte,
at
mesmo
porque
podem
ser
reutilizadas
em
outras
funcionalidades?
Anlise/Concluso: A primeira coisa que deve ser analisada, se tratam de Dados de Cdigo. Se for o caso, no deve
ser contado. Caso no seja Dados de Cdigo, este tipo de componente ser contado como uma CE (Consulta Externa),
desde que os dados sejam provenientes de uma simples recuperao de ALI (Arquivo Lgico Interno) ou AIE
(Arquivo de Interface Externa). O comando referente apresentao da lista, assim como as informaes apresentadas,
so contados como Tipos de Dados e os ALIs e/ou AIEs referenciados, como Arquivos Referenciados (exatamente da
mesma forma que seriam considerados em uma consulta em tela cheia). Se os dados apresentados forem provenientes
de algum clculo ou da gerao de dados derivados, o componente deve ser classificado como uma SE (Sada
Externa).
Exemplo:
Temos uma manuteno de Empresa, que contamos um ALI "Empresa".
Em outra funcionalidade do sistema temos o cadastro de contrato que lista em um combo todas as empresas cadastradas.
Desta forma alm de contarmos as transaes de cadastro de contrato, contamos uma consulta:
- Listar Empresa - CE - ALI Empresa - 3 PF

Este documento apenas uma sntese de assuntos discutidos no frum Livro-APF e no reflete necessariamente um
endosso da FATTO ao que foi discutido.

www.fattocs.com.br

Consultoria e Sistemas

S vale lembrar que no podemos contar a mesma consulta mais uma vez. Sendo assim, se a combo de empresa for
includa em outras funcionalidades alm do cadastro de contratos, ela no deve ser contada novamente.
Dvida: Identifica-se um ALI "Funcionrio", onde se tem dois arquivos referenciados "Funcionrio, Dependente".
Nas funcionalidades, so identificadas duas consultas, sendo: "Listar Nome de Funcionrios" e "Listar Nome de
Dependentes de acordo com o Funcionrio selecionado pelo usurio". Neste caso se conta as duas consultas que
utilizam o mesmo ALI?
1 - Listar Funcionrio - CE - ALI Funcionrio - 3 PF
1 - Listar Dependente -CE - ALI Funcionrio - 3 PF
Anlise/Concluso: No se pode contar duas transaes que tenham: a mesma lgica de processamento, o mesmo
conjunto
de
dados
e
os
mesmo
arquivos
referenciados.
Se
um
desses
3
itens
forem
diferentes,
deve-se
contar
dois
processo
elementares.
No exemplo citado, os conjuntos de dados (TD) so diferentes. Portanto devemos considerar 2consultas.

Assunto: Consulta Implcita / Permisso de acesso


Data: 01/09 03/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/2919
Cenrio:
Situao A:
Num cadastro bsico, onde temos uma tela de pesquisa (SE), a tela de cadastro (EE), a tela de edio (EE) e a transao
de excluso do registro (EE).
Na tela de edio, o fato de ter que carregar os dados para que sejam alterados, conta uma transao do tipo CE?
Situao B:
No mudamos nada na situao A, porm deve-se considerar que existe um sistema de segurana que trabalha com
perfil de acesso que possui permisses de acesso. Uma das permisses de acesso implementada a "Visualizar dados do
registro", onde se o usurio no possuir a permisso de editar, mas possuir a permisso de visualizar, ento ele usar
exatamente a mesma tela de edio, porm ou os campos viro desabilitados, ou o boto salvar vir desabilitado.
Neste caso, onde o usurio pediu essa permisso por questo de segurana, porm no pediu uma tela especfica para
visualizar dados, devemos contar isso como uma transao do tipo CE?
Situao C:
No mudamos nada na situao A e temos a permisso de visualizao de dados do registro da situao B, porm o
cliente pediu que fosse feita uma tela especfica para apenas exibir os dados. Nessa tela, no h campos de edio,
somente texto (seria quase um relatrio mais simples).
Neste caso devemos contar isso como uma transao do tipo CE?
Anlise/Concluso: A situao A exemplifica uma consulta que no est explicitamente definida, mas implcita (ver
pgina 2-147 do CPM v4.3.1). Deve-se consider-la se, e somente se, esta consulta, (supondo ser um consulta), no foi
identificada como processo elementar em outro momento. Est implcito que para alterar as informaes elas tero ser
recuperadas, e esta transao atende os requisitos de um processo elementar.
Nas situaes B e C, se houver como uma infraestrutura "anterior" aplicao em anlise que oferece a possibilidade
do usurio cadastrar quais campos podem ser vistos ou informados pelo usurio de forma geral nas interfaces entre a
aplicao em anlise e o usurio, apenas uma consulta deve ser contada e caso o valor do fator de ajuste seja aplicado,
considerar isso na anlise da caracterstica geral de sistema Processamento Complexo.
Este documento apenas uma sntese de assuntos discutidos no frum Livro-APF e no reflete necessariamente um
endosso da FATTO ao que foi discutido.

www.fattocs.com.br

Consultoria e Sistemas

Se isso for tratado no plano da aplicao em anlise e for um requisito e particular de uma consulta referente ao
desempenho de um papel por um ator em determinado momento e uma outra consulta (com diferente atributos)
referente ao desempenho de um outro papel em outro momento, mais de uma consulta deve ser contada.

Assunto: Upload de Arquivo


Data: 02/09 03/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/2926
Cenrio: Num sistema de alunos em que existe a opo do aluno fazer um upload (armazenar ou atualizar com o passar
do tempo) o seu Currculo Vitae, sendo que o arquivo armazenado em um diretrio do servidor.
Supondo que para poder acessar esse currculo no futuro, seja necessrio saber o endereo dele no servidor, e ento um
atributo de uma entidade no banco de dados alterado. Esse processo de upload pode ser considerado como uma EE?
Anlise: No podemos dizer que um upload uma EE. Temos que observar as regras de contagem que operam sobre
os requisitos funcionais do usurio. Por exemplo, ao contar um cliente de E-mails temos um processo que "Nova
Mensagem". Esse processo consiste de informar destinatrio, copiados, copiados ocultos, o texto do assunto da
mensagem, o contedo da mensagem. Eventualmente necessrio anexar um arquivo. Anexar esse arquivo envolve o
upload do seu contedo considerando que se trate de um "webmail". Observe que o upload sozinho no atende aos
requisitos para a contagem de um processo elementar. O processo elementar uma unidade de atividade completa e que
nenhuma parte dele tambm seja completo. Fazer o upload nesse contexto uma unidade de atividade com significado
para o usurio, porm dissociada dos outros itens que comentei incompleta numa perspectiva do "negcio enviar e
receber mensagens". Uma vez escrito o e-mail, feito o endereamento, anexado os arquivos relevantes e salvo o
rascunho, ai sim temos um processo completo no mbito desse negcio.
Depois que se identificam os processos elementares, ai sim que se entre no mrito se trata-se de uma EE ou uma SE/CE.
Por exemplo, no houvesse o requisito de salvar o e-mail como um rascunho, a sua principal inteno seria enviar dados
ou informaes de controle para fora da fronteira da aplicao e uma SE/CE seria contada... com upload.
Concluso: Para classificarmos um upload, a primeira coisa que devemos fazer identificar os processos elementares.
Em seguida, devemos analisar a sua principal inteno, para ento determinarmos se podemos classific-lo como uma
EE, CE ou SE.

Assunto: Entidades Associativas


Data: 03/09 - 06/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/2941
Cenrio: Em um sistema existe uma entidade Ttulo. Para os ttulos ocorrem pagamentos de acordo com os requisitos
do cliente. Devemos contar 2 ALIs: Ttulos e Pagamentos ou apenas um ALI Ttulos com 2 RLRs (Ttulos e seus
respectivos Pagamentos)?
Anlise/Concluso: A primeira coisa a se fazer analisar se existe como requisito do negcio a necessidade de manter
os dados de Pagamento mesmo quando os dados de Ttulo no foram mais necessrios. Se sim, isso caracteriza uma
independncia,
e
portanto
devemos
contar
2
ALIs.
Dvida: Dessa forma no acaba sendo uma generalizao muito grande? Porque neste caso, o cliente pode sempre
querer identificar da forma que for melhor pra ele (menos pontos de funo, menor custo.
Este documento apenas uma sntese de assuntos discutidos no frum Livro-APF e no reflete necessariamente um
endosso da FATTO ao que foi discutido.

www.fattocs.com.br

Consultoria e Sistemas

Anlise/Concluso: Se a entidade associativa tem significado para o negcio dissociada de todas as entidades por ela
associadas, ela deve ser contada como um Arquivo Lgico parte. O meio pelo qual voc caracteriza de forma
inequvoca essa condio a manuteno dos dados da entidade associativa mesmo quando no so mais relevantes os
dados das entidades por ela associadas. Isso no implica a dizer que se isso no acontecer na modelagem do sistema
necessariamente
a
entidade
seja
dependente.
Um exemplo um sistema de TEF de um banco regional onde um registro de TEF identificado por um protocolo
prprio e representado no mundo do usurio por um documento especfico e passvel de ser arquivado de forma
separada das entidades por ele associadas, associa uma origem a um destino; por exemplo, conta corrente e fundos de
investimentos. O registro de TEF redunda vrios dados dessas outras entidades com o objetivo de poder ser usado
independentemente do destino dos respectivos registros de origem e destino ainda serem mantidos pelo usurio.
Esse um caso em que a independncia fica patente! Outras vezes, a modelagem de dados introduz dependncias que
no existem no plano do negcio.
Outro exemplo no especificamente com uma entidade associativa, mas com uma relao de supertipo e subtipo: O
sistema em anlise tinha uma entidade denominada Item de Controle. Item de Controle era um supertipo de TODAS as
entidades
do
sistema.
No fcil convencer de que o Item de Controle no o nico ALI do sistema. Pode-se verificar que no h qualquer
vnculo dessa entidade com qualquer especificao na lista de requisitos, com qualquer formulrio ou relatrio do
sistema. Os seus atributos so coisas do tipo: quem fez, quando fez, onde fez, etc.
Apesar de na parte III do CPM (prticas de contagem) haver uma orientao para a contagem de uma relao do tipo
supertipo/subtipos como um nico ALI, antes disso (precedendo essa orientao em importncia analtica) na parte I e II
se estabelece que o ALI/AIE deve ser um grupo lgico de dados na viso do usurio e no na viso OO que modelou
esse
supertipo.
Voltando s entidades associativas, muito comum hoje os dados nem serem removidos! Com isso, a pergunta feita
(ainda vlida no caso em que o pai excludo e o filho se mantm ativo) perde muito da eficcia. Se a resposta fosse,
que ao excluir um registro pai tambm todos os seus registros filhos seriam excludos ou ento que no permitida a
excluso de um registro pai se houver registros filhos, a pergunta seguinte seria: As regras de governam o sistema
permitem que um filho seja transferido de um pai para outro? Uma resposta positiva a essa pergunta tambm caracteriza
que
os
dados
sejam
independentes.
Ainda assim se ambas as perguntas levarem concluso de que no se pode ter um filho sem um pai e no se pode
transferir os dados filhos para outro pai, possvel buscar evidncias que essas regras advm de normalizao, da
modelagem tcnica pela qual passaram os requisitos funcionais do usurio. Nesse processo, documentos de ISO, outros
especialistas no negcio do usurio, normas e procedimentos ajudam a evidenciar isso.
Tudo isso d trabalho e envolve custos; muitas vezes se ficar refm do que o usurio est dizendo mesmo que no haja
eco em suas prticas e procedimentos... Mas no tem como evidenciar isso. O nome disso risco e risco tem preo.

Assunto: Exportao de dados para Excel


Data: 14/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/2993
Cenrio: Tem-se um caso de uso que, ao clicar em um item de menu, dever ser exportado para excel dados de um
relatrio. Neste caso, contamos PF? Se sim, ser CE mesmo ou ser SE (os dados exportados para o relatrio no
contm funes, algortmicos matemticos).
Obs.: A documentao do sistema citado acima diz:
Descrio: Este caso de uso compreende a descrio da interface Relatrio Comercial, que ir gerar dados detalhados
em planilha sobre os acessos, direcionando para visualizao dos dados para gestores (que s visualizaro os acessos
relativos
ao
seu
cliente)
e
para
administradores.
Este documento apenas uma sntese de assuntos discutidos no frum Livro-APF e no reflete necessariamente um
endosso da FATTO ao que foi discutido.

www.fattocs.com.br

Consultoria e Sistemas

Fluxo Principal:
1. Usurio aciona a opo Relatrio Comercial no menu Consultas.
2. Portal gera relatrio no formato CVS (mais informaes em RNG23).
3. Fim do fluxo principal.
Anlise/Concluso: A primeira coisa a se fazer, identificar se a exportao um requisito funcional ou no funcional.
Para o cenrio acima, podemos afirmar que se trata de um requisito funcional, pois o nico requisito funcional que o
caso de uso solicita e no possui outras alternativas. Uma definio aqui de Requisitos Funcionais coerente com a
especificao dos requisitos coletados: O requisitos funcionais so aqueles que descrevem o comportamento do
sistema, suas aes para cada entrada, ou seja, aquilo que descreve o que tem que ser feito pelo sistema.
Como descrito, no se trata de um requisito estabelecido para todas as consultas, sendo algo particular e especifico de
uma
determinada
funo
do
usurio,
sendo
portanto
um
requisito
funcional.
Tendo definido isso, a segunda coisa a fazer avaliar se trata de uma CE ou SE.
Caso no possua frmula matemtica, clculos e nem altere o comportamento do sistema, conta-se como uma CE. A
diferena que ao invs de voc apresentar o resultado em tela, ser exibido no Excel.
Dvida: Se a consulta que est sendo realizada para gerar a planilha, for exatamente a mesma que est sendo executada
para mostrar a consulta na tela, contaria tambm?
Anlise: De acordo com o atual estado das coisas, haver diferena na 'mdia' suficiente para haver a contagem de um
novo processo desde que seja um requisito funcional. Mesmo que os itens sejam idnticos.
Atualmente, h duas abordagens que so aceitveis pelo IFPUG. Uma que considera que diferentes mdias so condio
suficiente para caracterizar um novo processo elementar; outra que considera que isso no condio suficiente.
O IFPUG, por meio do CPM, estabelece que apenas requisitos funcionais devem ser considerados na medio dos
pontos de funo.
Se a diferena entre as mdias estiver associada a requisitos no funcionais, ou seja, for uma caracterstica geral ao
sistema como todo, por exemplo, considere que toda tela de consulta deve ter a possibilidade de exportar seus
resultados para .xls, .pdf, .doc, .cvs, etc. Isso no um requisito funcional, e portanto, no conta (como uma nova
consulta).
Em contraste, h um caso em que existe um requisito particular e especfico para gerar uma sada em XLS; existe outra
sada que apresenta os mesmos dados; mas tenho evidncias que so diferentes atores, em diferentes momentos,
realizando diferentes processos completos de negcio, temos um requisito funcional, uma nova consulta contada.

Assunto: Paginao
Data: 14/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/2985
Dvida: Quando uma tela que lista registros possuir paginao, conta-se como CE ou SE?
Anlise: Fundamentando a pergunta no CPM, temos:
No conte literais como DERs.
Por exemplo (SE/CE), literais includos no ttulo do relatrio, identificao
de telas ou painis, cabealhos das colunas e nomes de campos.
No conte variveis de paginao ou selos gerados pelo sistema.
Por exemplo (SE/CE), variveis e selos gerados pelo sistema incluem:
o Nmeros de pginas
o Informaes de posicionamento tais como Coluna 37 a 54 da linha 214
Este documento apenas uma sntese de assuntos discutidos no frum Livro-APF e no reflete necessariamente um
endosso da FATTO ao que foi discutido.

www.fattocs.com.br

Consultoria e Sistemas

o Comandos de paginao tais como anterior, prximo, setas para cima e


para baixo em uma aplicao GUI
o Campos de data e hora se forem mostrados
Concluso: Essas questes (literais, paginao) no devem ser levadas em consideraes para contar um processo
elementar CE/SE. Dica: antes de classificar como uma CE/SE, avalie as regras de contagem para CE/SE.

Assunto: Scrum + APF


Data: 14/09 - 21/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/3016
Dvida: Como utilizar APF em um projeto de desenvolvimento, utilizando metodologia gil, especificamente Scrum?
A dificuldade est na necessidade de criao de sprints (ciclos de vida de desenvolvimento menores), que por sua vez
so baseados em um conjunto de requisitos (backlogs) que nem sempre contm detalhes o suficiente para nortear a
contagem de ponto de funo.
Anlise/Concluso: A medio deve acontecer no final do projeto. Essa medio subsidia a determinao do preo do
projeto
(global).
Existe um modelo promissor, ainda que no testado no campo ou em prova de conceito: A fase de concepo se mantm
e por ela pago um taxa fixa. Com base nos produtos da concepo, a organizacao d "go" ou "no go" no projeto. Em
caso de "go", o valor pago considera-se um adiantamento. Elabora-se uma matriz de funes x situao. 70% do valor
do projeto(estimado) destinado a esse novo adiantamento. H uma fase de transio onde se reserva 10%. 20% so
retidos em funo dos riscos de escopo. O modelo requer uma gesto sria em termos de quanto de cada funo ser
entregue
ao
final
de
cada
sprint.
Independentemente da abordagem: NO DEVEM SER MEDIDOS COMO PRODUO EM TERMOS DE PF O
QUE MUDA DURANTE OS SPRINTS AOS MOLDES DE UM PROJETO DE MELHORIA. O QUE DEVE SER
MEDIDO O PRODUTO FINAL ENTREGUE PELO PROJETO (QUE NAO O SPRINT).
Numa perspectiva do cliente (no na perspectiva do operrio desenvolvedor), numa perspectiva de negcio, o produto
aquele entregue ao final do projeto. O que o operrio desenvolvedor gostaria de fazer medir em termos do Processo e
no na perspectiva do Produto. Contudo, essa nao a perspectiva da APF.
Dvida: De forma geral, no desenvolvimento de software em primeira mo obtemos os requisitos do software,
planejamos e construmos o software. Durante a construo ocorrem solicitaes de mudana nos requisitos do
software. Ento, aps a obteno dos requisitos de software podemos realizar a APF e aps as solicitaes de mudana
nos
requisitos
de
software
tambm
contamos
para
replanejar.
No SCRUM, obtemos o product backlog estimado e priorizado, nas reunies de planejamento seleciona o sprintbacklog e podem ocorrer mudanas de escopo. O story point e a velocidade so usados como medidas no planejamento.
Ento, por que no podemos substituir os story points e a medida de velocidade pela APF e H/PF respectivamente?
Anlise/Concluso: Por causa dos objetivos de medio de cada unidade. PF como definido pelo IFPUG visa medir
produtos finais entregues ao final do desenvolvimento, enquanto uma mesma funcionalidade (tela, relatrio, interface,
arquivo) pode estar relacionada Story Points estimados em diversos diferentes Sprints. Story Point est mais para uma
unidade de processo (de esforo) que uma unidade de produto (de resultado) como o Ponto de Funo.
Usar o arcabouo de definio resultado do trabalho do IFPUG para medir produtos intermedirios produzidos nas
diferentes iteraes pode ser uma boa ideia, apenas no chamemos de pontos de funo. Chamemos, por exemplo,
pontos de iterao e procedamos a definio complementar necessria apurao dos mesmos.

Este documento apenas uma sntese de assuntos discutidos no frum Livro-APF e no reflete necessariamente um
endosso da FATTO ao que foi discutido.

www.fattocs.com.br

Consultoria e Sistemas

Observao: Alm disso, Story Point no serve para benchmark. No serve nem mesmo para comparar projetos dentro
de
uma
mesma
organizao.
Prtica: Na Petrobrs, podemos agrupar o processo de desenvolvimento em 4 grandes grupos:
1) Onde descrita a demanda em macro requisitos para que seja estimado prazo e custo de desenvolvimento. Com estes
dados
ela

aprovada
pelo
cliente;
2) Nesta fase a demanda que foi aprovada detalhada em casos de uso, regras de negcio, glossrio, requisitos no
funcionais. Novamente a demanda contada e estimados prazo e custo do desenvolvimento. O prazo serve para que
seja definido o "time box" do projeto, ou seja, no importa o acrscimo/mudana de funcionalidades durante o projeto, a
data de fim dele fica definida. Sero construdas todas as funcionalidades que couberem no "time box" estimado, o que
ficar de fora pode (a depender da importncia que o cliente der) constituir um projeto de evoluo;
3) A fase de execuo quando se aplica o scrum e algumas prticas do XP. Na primeira reunio apresentado equipe
o Product Owner (representante do cliente, pode ser o prprio) que faz uma explanao geral dos casos de uso (os casos
de uso substituem as histrias do scrum) e define a prioridade. Na segunda, parte desta reunio a equipe se rene e faz
as estimativa dos "Story Points" em uma sesso de "planning poker". No precisam ser analisadas todas as histrias,
apenas o nmero necessrio para preencher um ou dois sprints. Novas sesses so feitas nas reunies de inicio de sprint.
As histrias so analisadas em ordem de prioridade do cliente. O valor do story point tem relao com o esforo de
desenvolvimento e no com o tamanho, sendo mais adequado ao micro controle do processo, que feito atravs dos
"Burndown Chart" durante os sprints. As histrias que vo ser desenvolvidas em um sprint so escolhidas a partir de sua
prioridade, de esforo de desenvolvimento em story points e na velocidade de desenvolvimento da equipe (em story
points). O time box dos sprints tm durao de 30 dias. Tambm utiliza-se prticas como a integrao continua, a
automao dos testes unitrios, o TDD, refactoring (inclusive de modelo de dados/classe). Mudanas s so permitidas
no inicio de cada sprint e neste momento so muito bem vindas. Nesta fase so realizadas anlise, projeto, construo e
teste;
4) Aps o final da ltima sprint, a equipe de inspeo e a equipe de teste avaliam o software e os documentos gerados
necessrios a futuras manutenes (h uma lista de documentos que consideramos importantes para que o software seja
manutenvel). Como estas equipes atuam durante o desenvolvimento, quase no se tem ocorrncias de retorno (so trs
nveis de teste). O software passa para homologao (sempre ocorrem solicitaes de pequenas alteraes) e por fim
colocado
em
produo.
Uma
nova
contagem
de
PF

feita.
Os indicadores de esforo (produtividade), taxa de entrega (velocidade), densidade de defeitos, eficcia de prazo e
eficcia
de
custo,
so
calculados
em
funo
desta
ltima
contagem.
A taxa de entrega (PF/dia til) passou de uma faixa que variava de 1,6 a 2,2 para uma faixa que varia de 2,5 a 3,5... e j
teve
projetos
com
taxa
de
5,2
PF/dia
til.
Dvida:

Porque

no

caso

da

Petrobrs,

as

mudanas

no

so

admitidas

no

meio

do

sprint?

Anlise/Concluso: Vamos analisar um pedao do Scrum Guide (www.scrum.org). Na definio do que um SPRINT
comentada a restrio a alteraes que possam comprometer as metas do SPRINT:
"A Sprint uma iterao. Sprints so eventos com durao fixa. Durante a Sprint, o ScrumMaster garante que no ser
feita nenhuma mudana que possa afetar a Meta da Sprint. Tanto a composio do time quanto as metas de
qualidade devem permanecer constantes durante a Sprint. As Sprints contm e consistem na reunio de Planejamento de
Sprint, o trabalho de desenvolvimento, a Reviso da Sprint e a Retrospectiva da Sprint." (Scrum Guide)
Na reunio de planejamento do SPRINT o Product Backlog novamente priorizado pelo Product Owner e so
escolhidas as histrias (ou "casos de uso") mais prioritrias que somem a quantidade de Story Points que podem ser
desenvolvidos no Sprint Time Box previamente definido. O principal motivo para esta restrio o time box, o prazo
fixo. Na reunio de planejamento, o Product Owner esclarece dvidas sobre as Histrias escolhidas e combina como
ser validada sua entrega. Os Sprints so relativamente curtos de 15 dias corridos a 30 dias corridos.
Esta limitao no existe no Kanban que no tem o conceito de iterao (Sprint). Nesta abordagem as histrias vo
sendo desenvolvidas continuamente e por isso priorizadas continuamente. No caso do Kanban tambm podemos usar os
PF para fazer uma estimativa inicial e uma contagem final para calcularmos os indicadores e retroalimentarmos a

Este documento apenas uma sntese de assuntos discutidos no frum Livro-APF e no reflete necessariamente um
endosso da FATTO ao que foi discutido.

www.fattocs.com.br

Consultoria e Sistemas

calibragem das estimativas.


Dvida: No Scrum Guide cita: "O Backlog do Produto representa tudo que necessrio para desenvolver e lanar um
produto de sucesso. uma lista de todas as caractersticas, funes, tecnologias, melhorias e correes de defeitos que
constituem
as
mudanas
que
sero
efetuadas
no
produto
para
releases
futuras".
Me parece que no SCRUM, a correo de defeitos uma tarefa e no necessariamente retrabalho. verdade?
Como se estima o tempo para esta tarefa, controlando, e adequando a taxa de entrega em PF/DIA?
Anlise/Concluso: O Scrum gerencia pontos de histria que podemos considerar como esforo necessrio para
cumprir a tarefa de desenvolvimento. Pensando assim, os erros encontrados aps a entrega do produto de cada Sprint
so "produtos" do estgio de maturidade do nosso processo de construo de software (entenda erro de forma geral
podendo ter origem, inclusive, quando o requisito foi esclarecido pelo cliente). Assim, o esforo de correo dos erros
entra no product backlog e compete com os demais requisitos pela prioridade de desenvolvimento. Vale lembrar que
quem
prioriza
o
product
backlog

o
product
owner
(representante
do
cliente).
O processo de construo ainda admite que erros so cometidos, detectados e corrigidos, dentro de um ciclo continuo de
depurao, pois seria muito caro gerar um software zero erro. H um indicador de densidade de defeitos que mantm o
processo sob controle. Por isso, os defeitos encontrados at a entrega final do produto (entrada em produo) fazem
parte
da
depurao
do
produto.
Outra questo o refactoring. Ele significa uma alterao que no acrescenta ou modifica funcionalidade. Esta prtica
essencial para a melhoria continua do produto, para dados fazemos a construo evolutiva do modelo, ou seja, a cada
iterao acrescenta-se tabelas e relacionamentos, ou alterando, conforme a necessidade das funcionalidades que esto
sendo construdas. O refactoring aparece quando as histrias so quebradas em tarefas que precisam ser executadas para
que seja realizado o desenvolvimento. Por isso no tem priorizao, pois o cliente no participa desta etapa.

Assunto: Dicas/Help
Data: 15/09 16/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/3029
Cenrio: Tem-se uma tela de consulta e em cada campo dessa tela existe uma dica. Essa dica recuperada do banco de
dados. Essas informaes que sero exibidas nas dicas foram cadastradas pelo sistema que esta sendo contado. Tendo
esse cenrio, deve-se contar as dicas de tela mais os campos ou s os campos?
Anlise: De acordo com o CPM, temos:

O CPM 4.3.1, Parte IV, Pginas 1-53 at 1-61 ilustra a contagem de HELP DE TELA e HELP DE CAMPO
como AIE (considerando que os mesmos so mantidos por outra aplicao e referenciados pela aplicao em
anlise).

O CPM 4.3.1, Parte IV, Pginas 2-157 at 2-160 ilustra a contagem de processos que consulta arquivos como
citados no exemplo anterior como CE.

Concluso: Conforme descrito acima, devemos contar a funo de apresentar as dicas como uma CE e o arquivo que s
matem como um ALI/AIE, conforme o caso.

Assunto: Web Services


Este documento apenas uma sntese de assuntos discutidos no frum Livro-APF e no reflete necessariamente um
endosso da FATTO ao que foi discutido.

www.fattocs.com.br

Consultoria e Sistemas

Data: 21/09 23/09


Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/3048
Cenrio: No Sistema A tem-se uma consulta de "Fornecedor" que mantido pelo Sistema B. Neste caso quando uma
consulta realizada, envia-se o nome do fornecedor digitado pelo usurio na tela de pesquisa ao Sistema B e ento este
realiza a busca em sua base de dados e retorna as informaes de fornecedor ao Sistema A.
Anlise: Afim de atender necessidade de disponibilizar informaes especficas do negcio de sistema para outras
aplicaes, foi implementado um Web Service encarregado de publicar as informaes pertinentes aos seus respectivos
Sistemas.
Note que para o cenrio descrito acima, o Web Service em si no caracterizado como uma aplicao distinta, com uma
fronteira prpria. Este apenas a soluo tcnica adotada para disponibilizar os dados necessrios s aplicaes .
Inclusive, outras solues poderiam ter sido utilizadas, sem que houvesse qualquer tipo de impacto nos funcionais da
aplicao (Ex: tabelas compartilhadas; arquivos txt; acesso direto a base de dados; etc)
A correta definio da fronteira essencial e merece especial cuidado. Os Web Services devem ser considerados das
seguintes formas (servidor e cliente):
Para as aplicaes que desejam disponibilizar um Web Service:

O IFPUG j disponibilizou um paper especfico para os tipos de aplicao Middleware: "Funtion Point &
Counting Middleware Software Applications";
As funes de transao disponibilizadas pela aplicao, que sero acessadas dessa maneira, o paper manda
considerar os tipos de dados que cruzam e saem da fronteira, mesmo que sem a exibio de tela ao usurio.
Pois nesse caso, ele considera o usurio da aplicao como o sistema cliente que estiver consumindo o
middleware.
Da mesma maneira que qualquer outra aplicao, devem ser contadas as funes de dados que forem mantidos
ou referenciados pela mesma (ALI e AIE).

Para as aplicaes que desejam consumir um Web Service:

As funes de transao devem ser contadas na viso do usurio normalmente, considerando-se o menor
Processo Elementar possvel;
As funes de dados tambm devero ser contadas da maneira tradicional, distinguindo-se os arquivo
logicamente relacionados.
O grande segredo para se contar um Web Service se abstrair da tecnologia, e analisar como o modelo de
dados da aplicao que esta sendo referenciada.
Como toda funo de transao de qualquer sistema, as funcionalidades disponibilizadas pelos Web Services
possuem seus Tipos de Registros. Estes tipos de registros referenciados pela funcionalidade do Web Service
devem
ser
considerados
AIE
para
a
aplicao
cliente.

Concluso: O que deve se levar em considerao fronteira do seu sistema. O sistema de interesse o sistema A. O
sistema B o sistema que mantm as informaes de Fornecedor. Para o sistema A, fornecedor um AIE e para o
Sistema
B
Fornecedor

um
ALI.
Se a consulta que feita pelo sistema A no AIE Fornecedor for uma consulta que s recupera os dados, ento ser uma
CE. Se houver algum clculo, dado derivado, ou alguma lgica de processamento ser uma SE.

Contagem do Sistema A
CE - Consultar Fornecedor
AIE - Fornecedor

Contagem do Sistema B

Este documento apenas uma sntese de assuntos discutidos no frum Livro-APF e no reflete necessariamente um
endosso da FATTO ao que foi discutido.

www.fattocs.com.br

Consultoria e Sistemas

CE - Buscar lista de Fornecedor na base de dados


ALI - Fornecedor

Assunto: Funcionalidade que gera vrias planilhas no Excel


Data: 23/09 24/09
Veculo: Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/3057
Cenrio: Numa funcionalidade "Emitir relatrio de controle" que contm um filtro que gera um arquivo excel com 10
planilhas neste mesmo arquivo. A ao do usurio apenas uma, porm ao visualizar ele tem 10 relatrios diferentes.
A dvida : Como se deve contar? Uma funo de transao para cada planilha ou apenas uma que engloba todos os
relatrios gerados?
Anlise/Concluso: Para fazer essa anlise, necessrio responder algumas perguntas:
Cada documento manipulado isoladamente e possui campos nicos quando comparados com os outros?
Qual o motivo para sempre gerar todos os relatrios de uma vez?
Qual a motivao para isso, considerando serem manipulados cada um isoladamente?
A resposta depender dessas respostas e sem elas vrias diferentes contagens so possveis.
Se cada relatrio for identificado de forma nica pelo usurio, o fato de os 10 serem gerados em um nico clique, ou em
10 cliques, no muda o fato de serem 10 relatrios distintos.
No entanto, se esse relatrio s integro se for composto por estas 10 partes (ou seja, se ele s faz sentido para o
usurio se as 10 partes estiverem ali), ento estamos falando de um nico relatrio.

Assunto: Estimativa de prazo e custo em PF


Data: 23/09 - 24/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/3058
Dvida: Nas situaes de fbrica de software, em que dever constar no termo de referncia a previso para situaes
excepcionais, em que a empresa contratada dever realizar, inclusive, o trabalho inicial de levantamento de requisitos e
gerao de estimativa de tamanho do sistema, para anlise de viabilidade oramentria, qual a melhor maneira de
estimar
prazo
e
custo
para
contratao
de
medio
inicial
de
tamanho
de
sistema?
Existe alguma referncia de mercado para o tempo gasto e o valor homem-hora para este tipo de estimativa inicial
baseada
no
porte
do
sistema
(pequeno,
mdio
e
grande
porte)?
Em outras palavras, qual a melhor maneira de gerar uma estimativa (ainda que muito superficial) do tempo e custo
provveis para levantamento de requisitos e medio do possvel sistema unicamente para fins de verificao de
viabilidade
oramentria?
Anlise/Concluso: Realizar medies nas fases iniciais de um projeto muito importante para que possamos tomar
decises assertivas (make or buy). Realizar contagens em uma fase que est sendo feito um estudo de viabilidade uma
opo de assumirmos estimativas de tamanho para um determinado sistema.
Esse tipo de trabalho chamado de DIAGNSTICO DE SOLUO e todo esse trabalho realizado dentro de um
escopo de um projeto que gera alguns artefatos medidos no estilo Fixed-Price ou Time-Material.
Uma dica :
Fixed-Price - Utilize essa forma somente quando tiver conhecimento e j tiver a definio do escopo inicial do projeto;
Este documento apenas uma sntese de assuntos discutidos no frum Livro-APF e no reflete necessariamente um
endosso da FATTO ao que foi discutido.

www.fattocs.com.br

Consultoria e Sistemas

Time-Material - Bastante eficiente e mais indicado quando desconhece o escopo, faa um contrato curto para a
realizao do servio.
Dvida: Como funciona a tcnica time-material? Como fazer um contrato orando o preo deste servio? O preo no
ir variar em funo do tempo de levantamento superficial de requisitos, isto , caso o tamanho estimado seja pequeno,
mdio
ou
grande?
Se no h qualquer conhecimento do escopo, qual a melhor maneira de estimar o custo, de um servio cujo tempo
levado
variar
em
funo
de
um
tamanho
que
ainda
no
est
definido?
Anlise/Concluso: O funcionamento da tcnica de time-material um tipo de contrato que contm aspectos de custos
reembolsveis que podem ser modificados.
Com certeza o preo ir variar em funo do tempo para os projetos de pequeno, mdio e grande porte. No existe uma
frmula mgica. O que deve ser feito nesse tipo de contrato que as clusulas do mesmo devem deixar bastante claro
que o servios PAGO ser realizado por SERVIO PRESTADO.
Se eu contrato um servio para realizar o levantamento de um novo projeto e ser definido que dever ser realizado
dentro de 30 dias (por exemplo) e a empresa que estar realizando o trabalho realiza em menos tempo (20 dias),
portanto dever ser pago os 20 dias de trabalho prestado (homem.hora), caso contrrio os demais dias tambm devem
ser pagos.
Podemos definir:
Time&material = hh + despesas.

Assunto: Login
Data: 24/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/3068
Cenrio: Em um sistema, uma consulta feita tabela USURIOS para verificar se o usurio existe na tabela. Isso
ocorre quando o usurio autenticado. H tambm uma funcionalidade que carrega uma combo box com todos os
registros da tabela "USURIO". Na contagem de transao, essas funcionalidades so contabilizadas distintamente? Ou
conta-se somente uma nica funcionalidade visto que na hora do LOGIN j estamos indo tabela "USURIO"?
Anlise/Concluso: Considerando que os dados de usurio no sejam apenas cdigo e descrio (mesmo que com
alguns dados complementares como apelido e informaes auditoria), h dois processos:
- Usurio - login
- Usurio - listar (drop-down)
Essa premissa foi assumida porque:
1) Usurio normalmente possui associado os seus direitos. Os direitos do usurio so dados dependentes do
usurio. como um conjunto, e representam um nico grupo lgico de dados que no se enquadra na condio
de ser um dados de substituio (onde um cdigo substitudo por uma descrio);
2) Os dados de usurio no so dados essencialmente estticos, havendo mudana neles conforme novos
usurios so includos. Usurios atuais mudam de papel e como consequncia tem os seus direitos alterados ou
mesmo
perdem
os
seus
direitos
de
acesso.
Caso a premissa seja falsa, as concluses no mais so necessariamente corretas.

Este documento apenas uma sntese de assuntos discutidos no frum Livro-APF e no reflete necessariamente um
endosso da FATTO ao que foi discutido.

www.fattocs.com.br

Consultoria e Sistemas

Assunto: Contagem de Relatrios


Data: 24/09 - 27/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/3073
Cenrio: Considere que um relatrio que est sendo medido gerado a partir de um tela de consulta. O usurio entra
com os parmetros para a consulta, clica no boto imprimir e o sistema exibe o relatrio. Como deve ser contado?
a) Duas operaes separadas, CE na entrada dos parmetros e SE para emisso do relatrio;
ou
b)
Tudo
deve
ser
contado
apenas
como
um
SE.
Dvida: Quanto definio da complexidade, a contagem de campos de quantidades e valores:
a) Devem ser contados os campos que exibem as quantidades de um determinado item?
b) E se houver mais de uma contagem do mesmo item, agrupados de formas diferentes (quantidade de CDAs, por
exemplo), devo contar todas as vezes em que aparece ou apenas uma?
c) Os valores somados devem ser contados como um campo?
Anlise/Concluso: Para responder essas questes, devemos analisar os requisitos para a contagem de um processo
elementar. No caso do relatrio citado acima, devemos contar apenas uma SE envolvendo toda a operao (consulta e
impresso), considerando que no item 2 do questionamento foi dito que h campos calculados (somatrios).
Quanto ao item 2, um somatrio um campo. Se esse somatrio aparece mais de uma vez, porm possui a mesma
lgica (ou seja, o mesmo resultado, aparecendo no relatrio mais de uma vez), deve ser contado uma nica vez.

Assunto: Contagem de Combos em Projetos de Melhoria


Data: 28/09 - 29/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/3080
Cenrio: Numa situao de medio de manuteno de determinado sistema onde esto sendo realizadas alteraes em
telas que j existem e esto operacionais. Algumas telas possuem combos de seleo de itens que buscam dados no
banco para serem utilizados nas tarefas de consulta, entrada ou sada. S que estas combos j existiam no sistema, no
houve
alterao
no
cdigo
e
nem
na
consulta
feita
nos
combos.
Nas situaes de medio de manuteno para fins de cobrana, o que o certo? Contar ou no contar os combos?
Contar ou no contar os itens existentes, mesmo que no tenham sido modificados?
Anlise/Concluso: Na contagem de pontos de funo de um projeto de melhoria, o escopo compreende as
funcionalidades novas, alteradas e excludas no projeto, e tambm eventuais funcionalidades de migrao de dados.
No caso descrito, os combos no devem ser contados, uma vez que no esto sendo includos, alterados ou excludos do
sistema nos projetos em questo.

Assunto: Contagem de DETS


Data: 29/09
Veculo: Frum do Livro APF
Link: http://br.groups.yahoo.com/group/livro-apf/message/3081
Cenrio: H uma funcionalidade que ativa/desativa um registro. Para essa funcionalidade, contado apenas o comando
e a mensagem? Ou deve-se acrescentar na contagem um tipo de dado "flag ativo" do arquivo?
Este documento apenas uma sntese de assuntos discutidos no frum Livro-APF e no reflete necessariamente um
endosso da FATTO ao que foi discutido.

www.fattocs.com.br

Consultoria e Sistemas

Anlise/Concluso: Se quando o usurio seleciona um registro, ele consegue visualizar um identificador daquilo que
ele quer ativar/desativar (como por exemplo um campo de nome, numero., etc), deve-se contar 1 DET para o
identificador
do
item.
Caso
contrrio,
conte
apenas
a
ao
e
a
mensagem.
Siga a regra de contagem de DETS: Conte 1 DET para cada campo nico, no-repetido, que entre ou saia da fronteira
da
aplicao
e

necessrio
para
completar
o
processo
elementar.

Este documento apenas uma sntese de assuntos discutidos no frum Livro-APF e no reflete necessariamente um
endosso da FATTO ao que foi discutido.