Escolar Documentos
Profissional Documentos
Cultura Documentos
br
Consultoria e Sistemas
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.
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.
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.
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
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
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.
www.fattocs.com.br
Consultoria e Sistemas
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).
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
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
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.