Buscar

Análise de Pontos de Função

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 157 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 157 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 157 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

D
en
iz
e 
P
im
en
ta
1
Este material está registrado na Biblioteca Nacional.
Registro 397.004 - Livro 739 - Folha 164
Índice
1: Introdução à Técnica de Contagem de Pontos de Função
1.1 – Visão Geral 11
1.2 – Definições Gerais 19
1.3 – Processo de Contagem 23
2: Funções de Dados
2.1 – Definições 36
2.2 – Regras de Contagem 47
2.3 – Práticas de Contagem (Code Data) 54
3: Funções de Transação
3.1 – Definições 66
3.2 – Regras de Contagem 76
4: Práticas de Contagem
4.1 – Funções de Dados 91
4.2 – Funções de Transação 116
5: Complementando a Técnica
5.1 – Outros Tipos de Contagem 133
D
en
iz
e 
P
im
en
ta
2
5.2 – Ferramentas de Apoio 135
5.3 - Produtividade 136
5.4 - Demandas Não Mensuráveis 138
5.5 - Dúvidas 139
5.6 - Dicas 146
D
en
iz
e 
P
im
en
ta
3
D
en
iz
e 
P
im
en
ta
4
D
en
iz
e 
P
im
en
ta
5
D
en
iz
e 
P
im
en
ta
6
Observação: É possível verificar palavras similares para o mesmo conceito em bibliografias
diferentes, eis aqui uma lista do que pode ser encontrado e como é nomeado nesta apostila
(está em negrito).
RLR – Registro Lógico Referenciado, ou Tipo de Registro Elementar.
ALR – Arquivo Lógico Referenciado, ou Tipo de Arquivo Referenciado.
DER – Dado Elementar Referenciado, ou Tipo de Dado Elementar (TD).
D
en
iz
e 
P
im
en
ta
7
D
en
iz
e 
P
im
en
ta
8
D
en
iz
e 
P
im
en
ta
9
Objetivos do Capítulo 1:
1. Visão Geral
2. Definições Gerais
D
en
iz
e 
P
im
en
ta
10
2. Definições Gerais
3. Processo de Contagem
D
en
iz
e 
P
im
en
ta
11
D
en
iz
e 
P
im
en
ta
12
Ponto de Função é uma métrica funcional de sistemas, significa que:
•Mede a funcionalidade entregue ao usuário, independentemente da forma de
implementação;
D
en
iz
e 
P
im
en
ta
13
•Independe de plataforma ou linguagem de programação;
•Independe do estilo de programação utilizado;
•Permite comparações de produtividade entre empresas, projetos, equipes, linguagens, etc..
(ISO/IEC 14143-1:1998)
LOC
As primeiras tentativas de medir o tamanho de um sistema levou em considerações as linhas de
D
en
iz
e 
P
im
en
ta
14
As primeiras tentativas de medir o tamanho de um sistema levou em considerações as linhas de
código (LOC’s). Certo sistema possui um número de LOC’s maior que um outro, portanto é maior e
mais complexo. A conclusão é falsa, pois escrever 10 LOC’s em COBOL é mais simples do que
escrever as mesmas LOC’s em ASSEMBLER.
Ou seja, esta técnica não permite comparação entre programas escritos em linguagens distintas.
Mais que isso em comparações de sistemas escritos na mesma linguagem LOC’s não permite
quantificar a qualidade do código escrito.
LOC’s só podem ser apurados para sistemas que já foram desenvolvidos.
Análise de Pontos de Função
Desenvolvida por Allan J. Albrecht analista da IBM em 1979, a pedidos do Grupo de Usuários da IBM
que necessitavam de um métrica para determinar os fatores críticos de um sistema/aplicação.
Até 1984 a técnica era utilizada para dimensionar sistemas, e consequentemente o esforço para seu
desenvolvimento. Atualmente a utilização tem se dado através de implantação de programas de
métricas para melhorar estimativas, gerenciar a qualidade e monitorar a produtividade.
Assim como o metro quadrado serve para dimensionar o tamanho de um muro, e esta medida
possibilita a estimativa de esforço e custo para a sua construção, da mesma forma atua o ponto de
função dimensionando o software.
D
en
iz
e 
P
im
en
ta
15
Além do tamanho algumas variáveis influenciam no preço e prazo da construção, e precisam ser
definidas: material de acabamento (massa, ladrilho, tijolo, chapiscado de cimento, etc....), a marca do
material, a expertise dos empreiteiros, etc.. e ainda assim com tudo definido o preço ainda varia de
empresa para empresa.
Em desenvolvimento de sistemas acontece o mesmo, a linguagem de desenvolvimento, a expertise
da equipe, a complexidade e estabilidade do negócio, irão influenciar no preço e prazo. A quantidade
de ponto de função calculada para o projeto serve como apoio para calcular o custo e prazo de
desenvolvimento. Note que variando o material, por exemplo, ao invés de ladrilho optou-se por
colocar pastilha, o preço e prazo são influenciados, mas o tamanho do muro não se altera. O mesmo
ocorre com o ponto de função, pois este informa o tamanho da aplicação ou projeto e não é
influenciada pela linguagem, nem pela equipe e etc..
Requisitos são importantes e interferem no tamanho do muro (curva, reto, altura, largura, etc.), em
pontos de função os requisitos funcionais interferem diretamente na contagem.
Objetivos da Técnica
• A funcionalidade implementada no software, que o usuário solicita e recebe;
• A funcionalidade impactada pelo desenvolvimento, melhoria e manutenção de software,
D
en
iz
e 
P
im
en
ta
16
• A funcionalidade impactada pelo desenvolvimento, melhoria e manutenção de software,
independentemente da tecnologia utilizada na implementação.
Benefícios da Técnica
•Determinar o tamanho de um produto adquirido (contagem das funções incluídas) – saber o
que se está comprando.
D
en
iz
e 
P
im
en
ta
17
•Auxilia a análise do tipo make or buy.
•Dá suporte a análise de produtividade e qualidade.
•Meio para estimar custo e recursos.
•Fator de normalização para comparação de software.
D
en
iz
e 
P
im
en
ta
18
D
en
iz
e 
P
im
en
ta
19
Visão do Usuário
•Representa uma descrição formal das necessidades do negócio do usuário, na linguagem do
usuário. Os desenvolvedores traduzem a informação do usuário para informações em linguagem
técnica a fim de prover uma solução.
D
en
iz
e 
P
im
en
ta
20
técnica a fim de prover uma solução.
•Uma contagem de pontos de função é executada usando informações em uma linguagem comum a
usuários e a desenvolvedores.
•É uma descrição das funções do negócio.
•É aprovada pelo usuário.
•Pode ser usada para contar pontos de função.
•Pode variar na forma física. (ex. catálogo de transações, propostas, documento de requisitos,
especificações externas, especificações detalhadas).
Processo Elementar (PE)
É a menor unidade de atividades significativa para o usuário. Deve ser completo, independente e
deixar o negócio da aplicação em estado consistente.
D
en
iz
e 
P
im
en
ta
21
Por exemplo, é solicitado o desenvolvimento de uma nova funcionalidade para incluir um empregado
na aplicação. A definição do usuário para empregado inclui as informações de salário e dependentes.
Do ponto de vista do usuário, a menor unidade de atividade é a inclusão de um novo empregado.
Adicionar apenas uma parte da informação, como salário ou dependentes, não é uma atividade que
poderia ser qualificada como um processo elementar. Se todas as informações do empregado não
estiverem inseridas, o empregado ainda não será adicionado.
Adicionar apenas parte da informação deixa a funcionalidade de adicionar um empregado em estado
inconsistente. Se ambas as informações de salário e de dependentes forem completamente
inseridas, então o negócio estará consistente. A partir deste entendimento o processo elementar é o
cadastro do empregado com suas informações de salário e dependentes.
•Adicionar empregado sem associar informação dos seus dependentes – não é PE;
•Adicionar somente dependente – não é PE;
•Adicionar empregado com dependente – é um PE.
Atenção: A identificação do processo elementar depende diretamente da visão do usuário.
Algumas perguntas facilitam a identificação de um processo elementar, por exemplo: faz sentido ao
negócio cadastrar o empregado sem as informações do dependente (quando este empregado possui
dependente)? e cadastrar o dependente sem o empregado?
Votação Eletrônica
1. O mesário informa o código do eleitor.
2. O sistema exibe o nome do eleitor conforme o código informado.
D
en
iz
e 
P
im
en
ta
22
2. O sistema exibe o nome do eleitor conforme o código informado.
3. O eleitor informa o número do candidato.
4. O sistema exibe a foto, o número, o nome e a sigla do partido do candidato e do vice quando foro
caso
5. O eleitor confirma a votação.
6. O sistema registra a votação atualizando o eleitor e voto do candidato.
7. O sistema emite um sinal sonoro e uma mensagem de confirmação.
D
en
iz
e 
P
im
en
ta
23
Processo de Contagem
1. Reunir a documentação disponível. A documentação é o insumo para a contagem de pontos de
D
en
iz
e 
P
im
en
ta
24
1. Reunir a documentação disponível. A documentação é o insumo para a contagem de pontos de
função, deve descrever a funcionalidade entregue pelo software ou a funcionalidade impactada
pelo projeto de software medido. A documentação reflete diretamente a qualidade da contagem,
pois se a documentação fornecida como insumo para a contagem for pobre, consequentemente a
contagem não vai fornecer qualidade suficiente para satisfazer seu objetivo.
2. Determinar o escopo e fronteira da contagem, identificando os Requisitos Funcionais do
Usuário. Para determinar o escopo e fronteira da contagem e identificar os Requisitos Funcionais
do Usuário, devem ser executadas as seguintes atividades:
• Identificar o tipo de contagem, com base no propósito, como um dos seguintes: Projeto
de Desenvolvimento, Aplicação e Projeto de Melhoria.
• Determinar o escopo da contagem, com base no propósito e tipo de contagem.
• Determinar a fronteira da aplicação.
3. Medir Funções de Dado. A funcionalidade de dados satisfaz os Requisitos Funcionais do
Usuário referentes a armazenar e/ou referenciar dados.
4. Medir Funções de Transação. A funcionalidade de transação satisfaz os Requisitos Funcionais
do Usuário que processam dados. Toda a funcionalidade de transação dentro do escopo da
contagem deve ser avaliada, a fim de identificar cada processo elementar único.
5. Calcular o Tamanho Funcional. O objetivo e escopo da contagem deverão ser considerados na
seleção e utilização da fórmula apropriada para calcular o tamanho funcional.
6. Reportar o resultado da contagem de Pontos de Função. Permite informar consistentemente o
resultado da contagem inclusive informando o padrão utilizado.
Determinar o Tipo de Contagem
• Projeto de Desenvolvimento – para a primeira instalação do software, conta também se
houver atividade de conversão de dados (do sistema antigo para o novo – que está sendo
contado).
D
en
iz
e 
P
im
en
ta
25
contado).
• Projeto de Melhoria – é a contagem para manutenção de um sistema, exclusão, alteração
ou inclusão de funcionalidades.
• Aplicação – também chamado de baseline, ou contagem inicial, é a contagem de um
software ou parte dele.
Determinar a Fronteira da Aplicação
•Deve-se ter como base, o ponto de vista do usuário. O foco deve estar no que ele pode
entender e descrever;
D
en
iz
e 
P
im
en
ta
26
•A fronteira entre aplicações deve ser baseada na separação das funções conforme
estabelecido pelo negócio e não em considerações tecnológicas;
•Em projetos de melhoria, a fronteira estabelecida no início do projeto deve estar de acordo
com a fronteira estabelecida para a aplicação.
Fronteira da Aplicação
•É uma interface conceitual entre aplicação ‘interna’ e mundo ‘externo’ do usuário;
•Atua como uma membrana através da qual os dados processados pelas transações passam
D
en
iz
e 
P
im
en
ta
27
•Atua como uma membrana através da qual os dados processados pelas transações passam
para dentro e para fora da aplicação;
•Encapsula os dados lógicos mantidos pela aplicação (ALIs);
•Auxilia na identificação dos dados lógicos referenciados, mas não mantidos pela aplicação
(AIEs);
•É dependente da visão de negócios externa do usuário;
•É independente da tecnologia.
No desenho podem ser observadas duas fronteiras a do Sistema de Controle de RH e a do Sistema
de Controle de Acesso.
Regras da Fronteira
•É baseada na visão do usuário. O foco é no que o usuário pode entender e descrever;
•A fronteira entre aplicações relacionadas é baseada em áreas funcionais distintas como são
D
en
iz
e 
P
im
en
ta
28
•A fronteira entre aplicações relacionadas é baseada em áreas funcionais distintas como são
vistas pelo usuário e não em considerações técnicas;
•A fronteira inicial previamente estabelecida para a aplicação ou aplicações a ser modificada
não é influenciada pelo escopo.
Escopo da Contagem
O escopo da contagem define quais funcionalidades serão incluídas em uma determinada contagem
de pontos de função, por exemplo, em uma contagem de um projeto de novo desenvolvimento o
escopo da contagem são todas as funcionalidades a serem desenvolvidas e mais as funções de
D
en
iz
e 
P
im
en
ta
29
escopo da contagem são todas as funcionalidades a serem desenvolvidas e mais as funções de
carga, necessárias para iniciar a aplicação.
•Projeto de Melhoria inclui as funções adicionadas, alteradas e excluídas;
•Projeto de Desenvolvimento inclui todas as funções;
•Aplicação pode incluir (dependendo do propósito):
•Somente as funcionalidades que estão sendo utilizadas pelo usuário;
•Todas as funcionalidades entregues.
A fronteira da aplicação indica os limites entre o sistema que está sendo medido e o usuário e demais
sistemas.
Funções de Dados – representam as funcionalidades fornecidas ao usuário para atender requisitos
de dados internos e externos.
•Arquivo Lógico Interno (ALI) – são os dados ou informações mantidas pela aplicação a ser
contada.
D
en
iz
e 
P
im
en
ta
30
contada.
•Arquivo de Interface Externa (AIE) – são os dados lidos de outra aplicação.
Funções Transacionais – representam as funcionalidades definidas pelo usuário para
processamento de dados pela aplicação.
•Entrada Externa (EE) – É o Processo Elementar que faz a manutenção dos dados ou
informações de controle da aplicação.
•Saída Externa (SE) – É o Processo Elementar que gera dados (calculados ou derivados)
enviados para fora da fronteira da aplicação.
•Consulta Externa (CE) – É o Processo Elementar que envia dados ou informações de
controle para fora da fronteira da aplicação, é uma simples consulta.
Fórmula para Cálculo do Projeto de Desenvolvimento
O projeto que implanta a primeira versão do software é denominado Projeto de Desenvolvimento.
D
en
iz
e 
P
im
en
ta
31
A fórmula é apresentada no slide acima, onde:
DFP: é a contagem de pontos de função do projeto de desenvolvimento;
ADD: é o tamanho das funções a serem entregues ao usuário pelo projeto de
desenvolvimento (soma de funções de dados e funções transacionais);
CFP: é o tamanho da funcionalidade de conversão.
Fórmula para Cálculo do Projeto de Melhoria
Os projetos que fazem manutenções evolutivas e implantam as demais versões do software são
denominados Projetos de Melhoria.
Onde:
EFP: é a contagem de pontos de função do projeto de melhoria;
ADD: é o tamanho das funções incluídas pelo projeto de melhoria;
CHGA: é o tamanho das funções alteradas pelo projeto de melhoria – conforme as mesmas
estão / estarão após a implementação;
CFP: é o tamanho da funcionalidade de conversão;
DEL: é o tamanho das funções excluídas pelo projeto de melhoria.
As funções de conversão são contadas, tanto no Projeto de Desenvolvimento, quanto no Projeto de
Melhoria, mas nunca altera o tamanho da Aplicação.
Fórmula para Cálculo da Aplicação
Inicialmente, o usuário está recebendo novas funcionalidades. Não existem alterações nas
funcionalidades existentes ou exclusões de funcionalidades obsoletas ou desnecessárias.
D
en
iz
e 
P
im
en
ta
32
Atenção: A contagem de pontos de função da aplicação não inclui requisitos de conversão.
Onde:
AFP: é a contagem de pontos de função da aplicação;
ADD: é o tamanho das funções a serem entregues ao usuário pelo projeto de
desenvolvimento (excluído o tamanho de qualquer funcionalidade de conversão), ou a
funcionalidade existente no momento da contagem da aplicação.
Fórmula para Cálculo da Aplicação Depois de um Projeto de Melhoria
Quando um projeto de melhoria é instalado, a contagem de pontos de função da aplicação existente
deve ser atualizada para refletir as modificações realizadas.
As funcionalidades da aplicação podem ser alteradas de várias maneiras:
• Funcionalidadesincluídas (novas) aumentam o tamanho da aplicação.
• Funcionalidades alteradas aumentam, diminuem ou não afetam o tamanho da aplicação.
• Funcionalidades excluídas diminuem o tamanho da aplicação.
Onde:
AFPA: é a contagem de pontos de função da aplicação após o projeto de melhoria;
AFPB: é a contagem de pontos de função da aplicação antes do projeto de melhoria;
ADD: é o tamanho das funções incluídas pelo projeto de melhoria;
CHGA: é o tamanho das funções alteradas pelo projeto de melhoria – como estão / estarão
após a implementação;
CHGB: é o tamanho das funções alteradas pelo projeto de melhoria – como estão / estavam
antes do início do projeto;
DEL: é o tamanho das funções excluídas pelo projeto de melhoria.
Exercícios do Capítulo 1:
1) O que não se aplica à definição de usuário?
a) É quem utiliza o sistema.
b) É quem especifica requisitos.
c) É quem testa o sistema.
d) É um outro software que interage com a aplicação em questão.
2) A fronteira da aplicação:
a) É determinada após a definição do escopo da contagem.
b) Depende das características gerais do sistema.
c) Pode afetar o propósito da contagem.
d) Nenhuma das respostas anteriores.
3) Fronteiras:
a) Identificam a borda entre a aplicação ou o projeto a ser medido e as
aplicações externas ou o domínio do usuário.
b) Estabelecem o escopo do produto do trabalho a ser medido.
c) Consideram a aplicação do ponto de vista do usuário, o que o usuário pode
entender e descrever.
d) Todas as opções acima.
4) Os procedimentos de contagem de pontos de função incluem os seguintes passos:
a) Determinar quando a contagem será realizada.
b) Determinar o tipo de contagem que será realizada.
D
en
iz
e 
P
im
en
ta
33
c) Medir o esforço associado ao projeto de desenvolvimento.
d) Todos os itens acima estão corretos.
5) A visão do usuário de uma aplicação é descrita por uma ou mais das seguintes
possibilidades:
a) É aprovada pelo usuário.
b) Pode ser usada para contar pontos de função.
c) Pode variar na forma física.
d) Todas as possibilidades acima estão corretas.
6) Os objetivos da análise de pontos de função são:
a) Medir o software independentemente da tecnologia utilizada para
implementação.
b) Medir a funcionalidade que o usuário requisita independentemente de se ele é
ou não disponibilizada.
c) Medir a produtividade associada com o desenvolvimento de um módulo do
software.
d) Medir o software independentemente da tecnologia utilizada para
implementação e medir a produtividade associada ao desenvolvimento do
software.
Aprendemos neste capítulo:
D
en
iz
e 
P
im
en
ta
34
•Em visão geral vimos: O que é a técnica, Objetivos, Benefícios.
•Principais conceitos como: Visão do Usuário, Processo Elementar,
Elementos Primários da Contagem (ALI, AIE, EE, CE, SE).
•Definição do Propósito da Contagem (Definição do Tipo e Escopo da
Contagem e Fronteira da Aplicação).
Objetivos do Capítulo 2:
1. Definições
2. Regras de Contagem
D
en
iz
e 
P
im
en
ta
35
2. Regras de Contagem
3. Práticas de Contagem (Code data)
D
en
iz
e 
P
im
en
ta
36
D
en
iz
e 
P
im
en
ta
37
Funções de Dados
As funções de dados representam a funcionalidade fornecida ao usuário para satisfazer requisitos de
dados internos e externos. Os tipos de funções de dados são definidos como arquivos lógicos
internos (ALIs) e arquivos de interface externa (AIEs).
D
en
iz
e 
P
im
en
ta
38
internos (ALIs) e arquivos de interface externa (AIEs).
O termo arquivo aqui não significa arquivo no sentido tradicional de processamento de dados. Neste
caso, arquivo refere-se a um grupo de dados logicamente relacionados e não à implementação física
destes grupos de dados.
Procedimento de Contagem
1. Identificar os ALIs e AIEs reconhecidos pelos Processos Elementares.
2. Validar os ALIs e AIEs com as regras de contagem.
3. Determinar a complexidade dos ALIs e AIEs.
4. Determinar sua contribuição para a contagem de pontos de função.
Arquivo Lógico Interno (ALI)
Define o grupo de dados lógico que está dentro da fronteira da aplicação que está sendo contada,
portanto deve ser mantido por alguma funcionalidade (processo elementar) desta aplicação.
D
en
iz
e 
P
im
en
ta
39
Por exemplo, a aplicação de RH mantém dados de funcionário, de funções, benefícios, etc.. esses
são alguns exemplos de grupos de dados lógicos mantidos por funcionalidades da aplicação.
Exemplos de ALI
• Tabelas que armazenam dados mantidos pela aplicação;
• Arquivos de configuração mantidos pela aplicação;
• Arquivos de segurança de acesso à aplicação (senhas), mantidos por ela;
• Arquivos mantidos não só pela aplicação, mas também por outra aplicação.
Não são exemplos de ALI
• Arquivos temporários, de trabalho ou de classificação
• Arquivos gerados para processamento em outra aplicação.
• Arquivos de backup;
• Arquivos introduzidos exclusivamente em função da tecnologia utilizada;
• Arquivos de índices;
• Operações de junção e projeção, visões (views);
• Dados de auditoria.
Arquivo de Interface Externa (AIE)
Define o grupo de dados lógico que está fora da fronteira da aplicação que está sendo contada e
deve ser mantido por alguma funcionalidade (processo elementar) de outra aplicação.
D
en
iz
e 
P
im
en
ta
40
Por exemplo, a aplicação de RH consulta informações de permissões e segurança da aplicação de
Controle de Acesso, esse é um exemplo de informação que é mantida por outra aplicação e que o
sistema de RH somente referencia.
Exemplos de AIE
•Dados de referência externos utilizados pela aplicação;
•Arquivos de help, desde que mantidos por outra aplicação;
•Arquivos de mensagens de erro, desde que mantidos por outra aplicação.
Não são exemplos de AIE
•Arquivos recebidos de outra aplicação para manter um ALI;
•Dados mantidos pela aplicação e utilizados por outra aplicação;
•Dados formatados e processados para uso de outras aplicações.
Na figura acima identificamos duas aplicações com suas fronteiras definidas pela linha tracejada, o
escopo da contagem é marcado pela linha vermelha. A partir deste esquema é possível identificar
que o grupo de dados ‘y’ é um ALI na contagem, pois a manutenção desses dados é feita pela função
transacional ‘a’, e esta mesma função ainda referencia o grupo de dados ‘x’ da aplicação B, que
D
en
iz
e 
P
im
en
ta
41
transacional ‘a’, e esta mesma função ainda referencia o grupo de dados ‘x’ da aplicação B, que
também participa da contagem como AIE.
Desta forma esta contagem possui:
-1 ALI – ‘y’
-1 AIE – ‘x’
-1 função transacional – ‘a’
No mesmo exemplo com a definição de escopo de contagem alterada para aplicação ‘B’, podemos
identificar:
-1 função transacional – ‘ab’
D
en
iz
e 
P
im
en
ta
42
-1 ALI – ‘x’
PRINCIPAIS TERMOS
Informações de controle são dados que influenciam um processo elementar da aplicação que está
D
en
iz
e 
P
im
en
ta
43
Informações de controle são dados que influenciam um processo elementar da aplicação que está
sendo contada. Especificam o que, quando, ou como dados serão processados. Por exemplo, alguém
do departamento de folha de pagamento estabelece ciclos de pagamentos para especificar quando
os funcionários de cada filial serão pagos. O ciclo de pagamento, ou cronograma, contém
informações de periodicidade que determinam quando o processo elementar de pagamento de
funcionários ocorrerá, afetando a execução do processo elementar de pagamento dos funcionários
O termo reconhecido pelo usuário refere-se a requisitos definidos para processos e/ou grupos de
dados que foram acordados e compreendidos tanto pelos usuários quanto pelos desenvolvedores de
software. Por exemplo, usuários e desenvolvedores concordam que uma Aplicação de Recursos
Humanos irá manter e armazenar informações do Funcionário.
Manter é a capacidade de modificar dados através de um processo elementar. Exemplos incluem,
mas não estão limitados a: inclusão, alteração, exclusão, carga inicial, revisão, atualização, atribuição
(alocação) e criação.
Processo Elementar
É a menor unidade de atividade que tem significado para ousuário. O processo elementar deve ser
autocontido e deve deixar a aplicação em estado consistente.
Por exemplo, um usuário solicita a funcionalidade de incluir um novo funcionário na aplicação. A
definição do usuário para funcionário inclui as informações de salário e dependentes. Do ponto de
vista do usuário, a menor unidade de atividade é a inclusão de um novo funcionário. Adicionar apenas
uma parte da informação, como salário ou dependentes, não é uma atividade que poderia ser
qualificada como um processo elementar. Se todas as informações do funcionário não estiverem
inseridas, o funcionário ainda não será adicionado. Adicionar apenas parte da informação deixa a
funcionalidade de incluir funcionário em estado inconsistente. Se ambas as informações de salário e
de dependentes forem completamente inseridas, então o negócio estará consistente.
Definições
• Dados Elementares Referenciados (ou Tipo de Dados, ou Data Element Type – DET) – é
um campo único, reconhecido pelo usuário, não repetido.
D
en
iz
e 
P
im
en
ta
44
• Registros Lógicos Referenciados (ou Record Element Type – RET) – subgrupo de tipos de
dados reconhecidos pelo usuário, componente de um ALI ou AIE. Podem ser opcionais ou
obrigatórios.
� Subgrupos Opcionais são aqueles que o usuário tem a opção de usar um ou nenhum dos
subgrupos durante o processo elementar que inclui ou cria uma instância do dado.
D
en
iz
e 
P
im
en
ta
45
subgrupos durante o processo elementar que inclui ou cria uma instância do dado.
� Subgrupos Obrigatórios são subgrupos onde o usuário deve usar pelo menos um.
No primeiro exemplo identificamos dois subgrupos de pessoa, e pela regra do negócio sempre que
uma pessoa for inserida devemos informar o subtipo, então temos um ALI com dois RLRs. Os
subgrupos são mandatórios, pois obrigatoriamente uma pessoa é física ou jurídica.
O segundo exemplo mostra dois subgrupos de informações de associados, o subgrupo de
associado e outro subgrupo de informações de seus dependentes. O subgrupo dependente é
opcional, pois um funcionário pode não possuir dependentes.
A partir do requisito “Manter Carga” foi identificado que o usuário conhece este grupo de informações,
são informações de negócio logicamente relacionadas com demais grupos de dados do sistema.
D
en
iz
e 
P
im
en
ta
46
Houve a identificação dos Dados Elementares Referenciados (DER), são eles: Número, peso, data de
validade e temperatura máxima e dos Tipos de Registros Elementares (RLR) que são: Carga Normal,
Carga Perecível e Carga Sensível.
Observação: estas informações são inerentes ao negócio, é preciso conhecer a visão do usuário para
extraí-las, ou seja, a documentação de insumo para a contagem precisa representar todas estas
questões.
D
en
iz
e 
P
im
en
ta
47
D
en
iz
e 
P
im
en
ta
48
D
en
iz
e 
P
im
en
ta
49
Regras de Identificação de DER
•Conte um DER para cada campo único, não repetido, identificado pelo usuário, mantido ou
referenciado em um ALI ou AIE através da execução de um processo elementar.
D
en
iz
e 
P
im
en
ta
50
•Quando duas aplicações mantêm e/ou referenciam o mesmo ALI/AIE, mas cada uma
mantém / referencia DER’s distintos, conte apenas os DER’s que estiverem sendo utilizados
por cada aplicação.
•Conte um DER para dados requisitados pelo usuário para estabelecer um relacionamento
com outro ALI ou AIE.
Registros Lógicos Referenciados
São os subgrupos dos grupos de dados identificados, caso seja possível a identificação. Portanto se
o grupo de dados clientes possuir subgrupos, como por exemplo o subgrupo de clientes pessoa física
e o de pessoa jurídica, teremos 2 RLR para o grupo de cliente.
D
en
iz
e 
P
im
en
ta
51
e o de pessoa jurídica, teremos 2 RLR para o grupo de cliente.
D
en
iz
e 
P
im
en
ta
52
D
en
iz
e 
P
im
en
ta
53
D
en
iz
e 
P
im
en
ta
54
D
en
iz
e 
P
im
en
ta
55
Dados de Negócio
Dados de Negócio podem também ser referenciados como Dados Centrais do Usuário (“Core User
Data”) ou Objetos de Negócio. Estes tipos de dados refletem a informação necessária para ser
guardada e recuperada pela área funcional tratada pela aplicação. Dados de Negócio normalmente
D
en
iz
e 
P
im
en
ta
56
guardada e recuperada pela área funcional tratada pela aplicação. Dados de Negócio normalmente
representam um percentual significativo das entidades identificadas. A maior parte tem as seguintes
características:
Lógicas
•Reflete as informações de uma área funcional da aplicação.
•Representa um importante percentual das entidades identificadas.
•Armazena dados principais (core user data) utilizados nas transações de negócio.
•Muito dinâmico - operações normais do negócio fazem com que eles sejam referenciados,
incluídos, alterados e excluídos rotineiramente.
•Participa de relatórios e consultas, por ser o objetivo da aplicação.
Físicas
•Têm campos chaves e normalmente muitos atributos.
•Podem ter de zero a infinitos registros.
Exemplos
Os grupos lógicos de dados de Cliente, Locação e Carro dentro do Sistema de Controle de Aluguel
de Carro. A locação deve incluir itens como:
- Data da locação
- Data da devolução
- Cliente
- Item alugado, etc..
Dados de Referência
São armazenados para auxiliar as regras de negócio para a manutenção dos Dados de Negócio. Por
exemplo, uma aplicação de RH possui dados como os valores de Impostos Governamentais para
cada faixa salarial e a data em que a taxa do imposto se tornou efetiva. Normalmente os Dados de
D
en
iz
e 
P
im
en
ta
57
cada faixa salarial e a data em que a taxa do imposto se tornou efetiva. Normalmente os Dados de
Referência representam um pequeno percentual das entidades identificadas. A maior parte tem as
seguintes características:
Lógicas
•Armazena dados de suporte as regras de negócio.
•Representa um pequeno percentual das entidades identificadas.
•Pouco dinâmicas.
•Transações processando Dados de Negócio frequentemente necessitam acessar os Dados de
Referência.
Físicas
•Têm campos chaves e muitos atributos.
•Normalmente pelo menos um registro ou um número limitado de registros.
Exemplos
•Tarifas da Função, Tarifas Abatidas, Tarifas dos Impostos, Dissídio.
•Arquivo de Tarifas da Função – armazena informações sobre as tarifas a serem pagas para cada
tipo de função e a habilidade exigida para aquele tipo de função.
•Tipo da Função.
•Situação, Tarifa do Cargo, Data Efetiva (1:n).
•Descrição da habilidade da Função (1:n).
Dados de Código (Code Data ou Code Table)
Fornece uma lista de valores válidos que um atributo descritivo pode ter. Tipicamente os atributos dos
Dados de Códigos são Códigos, Descrição e/ou outros atributos padrão descrevendo o código. Ex.:
abreviação comum, data inicial, data final, dados de trilha de auditoria.
D
en
iz
e 
P
im
en
ta
58
abreviação comum, data inicial, data final, dados de trilha de auditoria.
A diferença chave entre Dados de Códigos e Dados de Referência é que com Dados de Código, você
pode substituir o código pela descrição sem alteração do significado dos Dados do Negócio. Ex.:
Código do Aeroporto X Nome do Aeroporto, Código da Cor X Descrição da Cor. Com Dados de
Referência você não pode substituir (Ex.: Código do Imposto com a Alíquota do Imposto).
Características Lógicas
•Dados são obrigatórios para a área funcional, mas armazenado opcionalmente como um arquivo de
dados.
•Geralmente não identificado como parte dos requisitos funcionais; ele é normalmente identificado
como parte do projeto para satisfazer requisitos técnicos.
•Às vezes mantidos pelo usuário (normalmente por um usuário do suporte).
•Armazena dados para padronizar e facilitar atividades do negócio e transações do negócio.
•Essencialmente estático.
•Transações do negócio acessam Dados de Código para melhorar casos de entradas de dados,
melhorar a consistência de dados, garantir integridade de dados, etc..
•Se reconhecido pelo usuário, pode ser considerado (as vezes) como um grupo do mesmo conjunto
de dados; Pode ser mantido utilizando a mesma lógica de processamento.
CaracterísticasFísicas
•Constitui-se de campos chave e normalmente um ou dois atributos apenas.
•É estático, tipicamente tem um número estável de registros.
•Às vezes desnormalizado e armazenado em uma tabela física com outros Dados de Código.
•Pode ser implementado de diferentes formas (ex.: em uma aplicação separada, dicionário de dados
ou hard-coded dentro de um software.
Exemplos
•Estado (Código do Estado, Descrição do Estado)
•Tipo de Pagamento (Código do Tipo de Pagamento, Descrição do Tipo de Pagamento)
Neste exemplo a “observação do item” é dependente do “item amostra”.
Portanto temos um ALI “ITEM AMOSTRA” com 6 DER (NU_ITEM_AMOSTRA,
D
en
iz
e 
P
im
en
ta
59
Portanto temos um ALI “ITEM AMOSTRA” com 6 DER (NU_ITEM_AMOSTRA,
CO_USUARIO_AUDITADO, VR_ACERTO, DH_CRIACAO, DE_OBSERVAÇÃO, CO_USUARIO).
Deve ser contado 2 RLRs o item e seu conjunto de observações.
Um ALI com 6 DER e 2 RLR tem complexidade BAIXA e contribui com 7 pontos de função brutos.
Requisitos e definições do negócio
Foram solicitados pelo usuário processos na aplicação para cadastrar perguntas com seus
D
en
iz
e 
P
im
en
ta
60
Foram solicitados pelo usuário processos na aplicação para cadastrar perguntas com seus
subtipos (simples livre, simples múltipla escolha e composta). As perguntas simples devem se
subdividir em pergunta simples livre e simples de múltipla escolha. Quando cadastrada uma
pergunta composta devem ser selecionadas perguntas simples para sua composição. Foi
identificado junto a área de negócio que a Categoria da Pergunta possui informações estáticas e
não passa de 20 registros.
Contagem
1º passo: Identificar os grupos de dados lógicos. Foi identificado o grupo de dados de Pergunta
com as entidades (pergunta, simples, simples composta, composta, livre e múltipla escolha) e o
grupo de dados de categoria de pergunta.
2º passo: Classificar os grupos de dados. O grupo de dados de pergunta é um ALI e o grupo de
dados de categoria de pergunta deve ser classificado como code data.
Os Tipos de Registros Elementares do ALI pergunta são os subtipos da pergunta, são elas: simples
livre, simples múltipla escolha e composta. Os Dados Elementares Referenciados do ALI pergunta
são: número, descrição, indicador de exclusão, descrição da categoria, indicador da natureza da
resposta, indicador do tipo de escolha e a composição da pergunta que é formada pelo código da
pergunta composta e os códigos das perguntas simples que compõem as perguntas compostas.
3º passo: Atribuir a Complexidade. De acordo com a tabela de complexidade, um ALI com 3 RLR e
10 DER possui complexidade BAIXA.
4º passo: Atribuir PF. De acordo com a tabela de contribuição, um ALI de complexidade baixa
possui 7 Pontos de Função (PF).
Conclusão
Neste exemplo fica claro que a solução implementada pode ser variada e a contagem não poderá
ser influenciada pela implementação, por exemplo, poderia ter sido criada uma única tabela para
guardar informação de pergunta e a contagem seria a mesma. Mais uma vez o foco é no que o
usuário pode distinguir, neste caso ele reconhece que existe o cadastro de perguntas independente
da forma de implementação.
Requisitos do Usuário
Uma análise dos seguintes requisitos do usuário mostra uma necessidade para dados de auditoria:
D
en
iz
e 
P
im
en
ta
61
1. Incluir dados de cliente.
2. Alterar dados de cliente.
3. Informar qualquer inclusão ou alteração de cliente, utilizando os seguintes dados:
- Identificação do usuário que está incluindo ou alterando;
- Identificação do cliente;
- A imagem antes e depois de uma alteração feita;
- A data e a hora que ocorreu a inclusão ou a alteração.
4. Capturar dados de auditoria para monitorar e informar diariamente atividades executadas. Este
requisito foi determinado quando um projeto foi implementado para satisfazer os requisitos do usuário
de segurança, ou seja, quando incluir cliente DEVO incluir auditoria.
----------------------------------------------------------------------------------------------
As Regras de Identificação de ALI se aplicam?
1) O grupo de dados ou informação de controle é lógico e identificável pelo usuário?
Não. Os dados de auditoria incluem a entidade ou tabela de cliente para representar os requisitos do 
usuário para incluir informações de segurança.
2) O grupo de dados é mantido através de um processo elementar dentro da fronteira da aplicação
sendo contada?
Sim. Quando o acesso de cliente é incluído ou alterado, a informação de auditagem é mantida.
Exercícios do Capítulo 2
1. Marque a opção incorreta a respeito de DER:
a) No conceito de modelagem de dados, representa a menor unidade de um
dado que tem significado no mundo real.
b) É um grupo de itens relacionados que são tratados de forma única.
c) Possui um mapeamento direto para o conceito de atributo e coluna em um
banco de dados relacional.
d) É um campo único, não repetido, reconhecido pelo usuário.
2. Qual a contribuição em pontos de função de um AIE de complexidade média?
a) 3
b) 4
c) 5
d) 7
3. Assinale a afirmativa incorreta:
a) Dados de negócio refletem a informação necessária a ser armazenada e
recuperada pela área funcional atendida pela aplicação. Geralmente
representam um percentual significativo das entidades e possuem
características físicas e lógicas.
b) Dados de referência são armazenados para apoiar regras de negócio para a
manutenção de dados de negócio. Normalmente representam um pequeno
percentual das entidades identificadas.
c) Dados de código nem sempre são diretamente especificados pelo usuário.
Algumas vezes, eles são identificados pelo desenvolvedor em resposta a um
ou mais requisitos técnicos do usuário. Atributos típicos são: código e
D
en
iz
e 
P
im
en
ta
62
ou mais requisitos técnicos do usuário. Atributos típicos são: código e
descrição.
d) Dados de código implementam requisitos técnicos. Então, além de
influenciarem o tamanho técnico do produto de software, podem influenciar
também o tamanho funcional.
4. Considerando que a aplicação A mantenha um grupo lógico de dados com 51 DER e 3
RLR e que a aplicação B referencie apenas 19 destes DER e altere o valor de um
outro DER. Na perspectiva de ambas as aplicações existem 3 RLR. Como este grupo
lógico de dados é classificado na aplicação A?
a) 1 ALI de complexidade alta.
b) 1 ALI de complexidade Alta e 1 AIE de complexidade baixa.
c) 3 ALI de complexidade média.
d) 1 ALI de complexidade alta e um ALI de complexidade baixa.
5. Baseado na questão anterior, como os grupos de dados são classificados na aplicação
B?
a) 1 ALI de complexidade baixa e 1 AIE de complexidade baixa.
b) 1 ALI de complexidade alta.
c) 1 ALI de complexidade média.
d) 1 AIE de complexidade média.
Cap. 2 – Exercício Prático
Visão Geral:
Você foi contratado para medir uma parte da aplicação existente no aparelho de telefone
celular da ACME, modelo XYZ. O escopo da contagem abrangerá apenas parte das
funções atualmente disponíveis.
Tabelas Campos
Agenda Telefônica Nome, Telefone
Configuração Tipo de Toque, Volume de Toque
Detalhamento das Funções:
Assuma que a aplicação possui capacidade para emitir mensagens de erro e confirmação
para todas as operações descritas.
Inclusão na agenda: o usuário informa o nome e o telefone e os dados são gravados. Não
são permitidos nomes duplicados. Se houver um nome já existente a aplicação pergunta se
deseja sobrescrever os dados existentes.
Busca na agenda: o usuário pode informar parte de um nome para busca direta ou pode
navegar entre os registros existentes até encontrar o que deseja. São exibidos o nome e o
telefone.
Alteração na agenda: após a busca de um nome na agenda, o usuário pode alterar o
nome e o telefone do registro corrente.
Exclusão de registro da agenda: após a busca de um nome na agenda, o usuário pode
excluir o registro corrente.
Exclusão de todos os registros da agenda: nesta opção o usuário apaga todos os
registros da agenda de uma única vez.
Alteração de tipos de toque: O usuário pode selecionar dentre as opções de toque
D
en
iz
e 
P
im
en
ta
63
Alteraçãode tipos de toque: O usuário pode selecionar dentre as opções de toque
disponíveis, qual será a utilizada pelo aparelho.
Alteração de volume: o usuário pode selecionar dentre os 5 níveis de volume disponíveis,
qual será o utilizado pelo aparelho.
Bloqueio/desbloqueio do teclado: com a mesma combinação de teclas, o usuário pode
bloquear ou desbloquear o uso do teclado.
Utilize a tabela abaixo para identificação das funções de dados.
Descrição Tipo
(ALI/AIE)
DER
(qtd)
RLR
(qtd)
Complexidade
(B – M – A)
Pontos
D
en
iz
e 
P
im
en
ta
64
Objetivos do Capítulo 3:
1. Definições
2. Regras de Contagem
D
en
iz
e 
P
im
en
ta
65
2. Regras de Contagem
D
en
iz
e 
P
im
en
ta
66
D
en
iz
e 
P
im
en
ta
67
Funções de Transação (ou transacionais)
Representam a funcionalidade fornecida ao usuário para o processamento de dados por uma
aplicação. Essas funções são definidas como entradas externas (EEs), saídas externas (SEs) e
consultas externas (CEs).
D
en
iz
e 
P
im
en
ta
68
consultas externas (CEs).
Passos:
1. Identificar os processos elementares.
2. Determinar a intenção primária dos processos elementares identificados, e classificá-los como EE,
SE ou CE.
3. Validar de acordo com as regras de identificação das transações (EE, SE, CE).
4. Determinar a complexidade das transações (EE, SE, CE).
5. Determinar a contribuição das transações (EE, SE, CE) para a contagem de pontos de função não
ajustados.
Entrada Externa
É um processo elementar, que processa dados ou informações de controle recebidos de fora da
fronteira da aplicação. O movimento dos dados atravessando a fronteira é do exterior para dentro da
aplicação.
D
en
iz
e 
P
im
en
ta
69
aplicação.
Atenção: A Intenção Primária da EE é manter um ou mais ALIs e/ou modificar o
comportamento do sistema.
Exemplos de EE
•Telas de inclusão, exclusão ou de alteração que atualizam grupo de dados;
•Entradas batch que mantém um ALI;
•Importar dados de outras aplicações;
•Carga inicial de dados de uma aplicação faz parte da contagem do projeto de desenvolvimento.
Não são exemplos de EE
•Entrada de dados em uma funcionalidade cujo objetivo principal é uma consulta (tela de filtro).
Informações de controle são dados que influenciam um processo elementar da aplicação que está
sendo contada. Especificam o que, quando, ou como dados
serão processados. Por exemplo, alguém do departamento de folha de pagamento estabelece ciclos
de pagamentos, para planejar quando os funcionários de cada local serão pagos. O ciclo, ou
programa de pagamento contém informações de datas e horários que irão afetar o momento da
ocorrência do processo elementar de pagamento de funcionários.
Saída Externa
É um processo elementar, que envia dados ou informações de controle para fora da fronteira da
aplicação
D
en
iz
e 
P
im
en
ta
70
Atenção: A intenção primária de uma SE é apresentar informação ao usuário por meio de
lógica de processamento (fórmula, cálculo criar dados derivados) que não seja apenas a
recuperação de dados ou informações de controle. Pode manter um ou mais ALIs e/ou alterar
o comportamento do sistema.
Exemplos de SE
• Relatório de clientes com totalização;
• Impressão de cheque com atualização no ALI de pagamento;
• Gráfico com totalização das vendas no ano;
• Listagem de aniversariantes do dia com idade calculada.
Não são exemplos de SE
• Lista de clientes (sem cálculo);
• Consulta detalhes de cliente;
• Consulta dados do pedido (sem cálculo);
• Inclusão de dados de cliente;
Consulta Externa
É um processo elementar, que envia dados ou informações de controle para fora da fronteira da
aplicação.
D
en
iz
e 
P
im
en
ta
71
Atenção: A intenção primária de uma CE é apresentar informação ao usuário por meio de
uma simples recuperação de dados ou informações de controle de um ALI ou AIE. Não
contém fórmulas ou cálculos, não cria dado derivado, não mantêm ALIs nem altera o
comportamento do sistema.
Exemplos de CE
•Relatório de clientes sem totalização;
•Lista de Itens (combo) com simples consulta;
•Consulta de detalhes das informações do cliente (sem cálculo nem dado derivado).
Não são exemplos de CE
•Lista de itens sem recuperação de dados do banco (hard coded);
•Relatório com totalização ou cálculo;
PRINCIPAIS TERMOS
Informações de controle são dados que influenciam um processo elementar da aplicação que está
D
en
iz
e 
P
im
en
ta
72
Informações de controle são dados que influenciam um processo elementar da aplicação que está
sendo contada. Especificam o que, quando, ou como dados serão processados. Por exemplo, alguém
do departamento de folha de pagamento estabelece ciclos de pagamentos para especificar quando
os funcionários de cada filial serão pagos. O ciclo de pagamento, ou cronograma, contém
informações de periodicidade que determinam quando o processo elementar de pagamento de
funcionários ocorrerá, afetando a execução do processo elementar de pagamento dos funcionários
Processo Elementar
É a menor unidade de atividade que tem significado para o usuário. O processo elementar deve ser
autocontido e deve deixar a aplicação em estado consistente.
Por exemplo, um usuário solicita a funcionalidade de incluir um novo funcionário na aplicação. A
definição do usuário para funcionário inclui as informações de salário e dependentes. Do ponto de
vista do usuário, a menor unidade de atividade é a inclusão de um novo funcionário. Adicionar apenas
uma parte da informação, como salário ou dependentes, não é uma atividade que poderia ser
qualificada como um processo elementar. Se todas as informações do funcionário não estiverem
inseridas, o funcionário ainda não será adicionado. Adicionar apenas parte da informação deixa a
funcionalidade de adicionar um funcionário em estado inconsistente. Se ambas as informações de
salário e de dependentes forem completamente inseridas, então o negócio estará consistente.
Dados derivados são criados através da transformação de dados existentes, para criar dados
adicionais, não é simplesmente recuperado da base de dados. Por exemplo, para determinar (derivar)
um número de registro do paciente (ex. BARJO01), os seguintes dados são concatenados:
- As 3 primeiras letras do sobrenome do funcionário (BAR de Barros)
- As 2 primeiras letras do nome do funcionário (JO de João)
- Um número sequencial de dois dígitos (começando de 01)
Outro exemplo: é armazenada a data de nascimento e em um relatório são listadas as pessoas
maiores de 21 anos.
Determinar a Complexidade
Para determinar a complexidade de uma função transacional devemos identificar a quantidade de
Arquivo Lógico Referenciado (ALR, AR, ou File Type Referenced – FTR) e de Dado Elementar
Referenciado (DER, ou Data Element Type – DER).
D
en
iz
e 
P
im
en
ta
73
Referenciado (DER, ou Data Element Type – DER).
D
en
iz
e 
P
im
en
ta
74
D
en
iz
e 
P
im
en
ta
75
D
en
iz
e 
P
im
en
ta
76
D
en
iz
e 
P
im
en
ta
77
D
en
iz
e 
P
im
en
ta
78
Dados derivados são criados através da transformação de dados existentes, para criar dados
adicionais. Por exemplo, para determinar (derivar) um número de registro do paciente (ex.
BARJO01), os seguintes dados são concatenados:
- As 3 primeiras letras do sobrenome do funcionário (BAR de Barros)
D
en
iz
e 
P
im
en
ta
79
- As 3 primeiras letras do sobrenome do funcionário (BAR de Barros)
- As 2 primeiras letras do nome do funcionário (JO de João)
- Um número sequencial de dois dígitos (começando de 01)
Lógica de Processamento é definida como requisitos especificamente solicitados pelo usuário para completar
um processo elementar. Esses requisitos podem incluir as seguintes ações:
1. Validações são executadas – por exemplo, quando incluir um novo funcionário em uma organização, o
processo de funcionário tem lógica de processamento que valida as informações que estão sendo incluídas.
D
en
iz
e 
P
im
en
ta
80
processo de funcionário tem lógica de processamento que valida as informações que estão sendo incluídas.
2. Fórmulas matemáticas ecálculos são executados – por exemplo, ao produzir informações sobre todos os
funcionários de uma organização, o processo inclui o cálculo do número total de funcionários assalariados,
funcionários horistas e de todos os funcionários.
3. Valores equivalentes são convertidos – por exemplo, um processo elementar referencia taxas de câmbio do
dólar para outras moedas. A conversão é executada através da recuperação de valores de tabelas, de modo
que cálculos não são necessários.
4. Dados são filtrados e selecionados através da utilização de critérios especificados para comparar vários
grupos de dados – por exemplo, para gerar uma lista de funcionários por atribuição, um processo elementar
compara o código da tarefa de uma atribuição para selecionar e listar os funcionários com esta atribuição.
5. Condições são analisadas para determinar quais são aplicáveis – por exemplo, a lógica de processamento
empregada por um processo elementar na inclusão de um funcionário, que irá variar dependendo do funcionário
ser pago através de salário mensal ou horas trabalhadas.
6. Um ou mais ALIs são atualizados – por exemplo, ao incluir um funcionário, o processo elementar atualiza o
ALI “funcionário” para manter os dados do funcionário.
7. Um ou mais ALIs e AIEs são referenciados - por exemplo, ao incluir um funcionário, o AIE “moeda” é
referenciado para usar a taxa de câmbio do dólar correta, para determinar o valor da hora do funcionário em
dólares.
8. Dados ou informações de controle são recuperados – por exemplo, para ver uma lista de faixas salariais
possíveis, as informações de faixas salariais são recuperadas.
9. Dados derivados são criados através da transformação de dados existentes, para criar dados adicionais.
10. O comportamento do sistema é alterado. Ex: o comportamento do processo elementar de pagamento de
funcionários é alterado quando uma mudança é feita para pagá-los às sextas-feiras, a cada duas semanas, ao
invés de pagá-los no 15o dia e no último dia do mês.
11. Preparar e apresentar informações fora da fronteira. Ex: lista de funcionários apresentada ao usuário.
12. Existe a capacidade de receber dados ou informações de controle que entram pela fronteira da aplicação.
13. Dados são reclassificados ou rearrumados. Ex: usuário solicita a lista de funcionários em ordem alfabética.
NOTA: Reclassificar ou rearrumar um grupo de dados não impacta na identificação de tipo ou de unicidade de
uma função de transação. Um processo elementar pode incluir múltiplas alternativas ou ocorrências das ações
acima.
D
en
iz
e 
P
im
en
ta
81
D
en
iz
e 
P
im
en
ta
82
Não conte os itens a seguir como DERs:
- Literais como títulos de relatório, tela ou identificador do painel, títulos de coluna e títulos de
D
en
iz
e 
P
im
en
ta
83
- Literais como títulos de relatório, tela ou identificador do painel, títulos de coluna e títulos de
atributos
- Selos gerados automaticamente pelo sistema como atributos de data e hora e paginação.
- Variáveis de paginação, número de páginas e informação de posicionamento; ex. ‘Linhas 37 a 54 de
211’
- Ajudas de navegação como a habilidade de navegar com uma lista utilizando “anterior”, “próximo”,
“primeiro”, “último” e seus equivalentes gráficos
- Atributos gerados dentro da fronteira pela função transacional e gravadas no ALI sem sair da
fronteira
Por exemplo, a fim de manter o salário-hora em dólar para funcionários horistas que trabalhem em
outros países com outras moedas, o salário-hora local é informado pelo usuário. Durante o
processamento dos dados fornecidos para incluir um funcionário, uma taxa de câmbio é recuperada
pelo sistema de moedas, para calcular o salário-hora em dólares. O salário-hora em dólar é mantido
no ALI funcionário, como resultado da inclusão do funcionário. O salário-hora em dólar não poderia
ser contado como um DER para a EE porque não entra pela fronteira, sendo ao invés disso calculado
internamente (i.e., é um dado derivado).
- Atributos obtidos ou referenciados de um ALI ou AIE para a participação no processamento sem sair
da fronteira
Por exemplo, quando o pedido do cliente é incluído no sistema, o preço unitário é automaticamente
recuperado para cada item pedido e gravado no registro da fatura. O preço unitário não poderia ser
contado como um DER para a EE porque não atravessa a fronteira da aplicação quando o usuário
inclui o pedido do cliente.
D
en
iz
e 
P
im
en
ta
84
D
en
iz
e 
P
im
en
ta
85
D
en
iz
e 
P
im
en
ta
86
Exercícios do Capítulo 3:
1. Uma CE:
a) É um processo elementar.
b) Apresenta dados ou informações de controle não disponíveis em ALI ou AIE.
c) Atualiza um ou mais ALI.
d) Nenhuma das respostas anteriores.
2. As variáveis de paginação em uma SE devem ser contadas como:
a) Cada variável como um novo DER.
b) Da mesma forma que se contam os literais.
c) Todas contam como um único DER.
d) Nenhuma das respostas anteriores.
3. Qual dos seguintes passos não faz parte da contagem das funções tipo transação?
a) Contar os tipos de dados.
b) Contar os arquivos referenciados.
c) Contar os tipos de registro.
d) Calcular a complexidade e contribuição.
4. Qual das lógicas de processamento seguintes é obrigatória para uma EE?
a) Atualização de ao menos um ALI.
b) Capacidade de aceitar dados ou informações de controle que entram pela
fronteira da aplicação.
c) Alteração do comportamento do sistema.
D
en
iz
e 
P
im
en
ta
87
c) Alteração do comportamento do sistema.
d) Criação de dados derivados.
5. Qual o número de pontos de função não ajustados da seguinte aplicação: 1 ALI com 2
RLR e 15 DER, 2 entrada externa com 17 DER e 2 ALR, 1 entrada externa com 3 DER
e 1 ALR, 2 consultas externas com 17 DER e 2 ALR e um AIE com 2 DER e 1 RLR?
a) 31
b) 35
c) 38
d) 40
6. Uma instituição financeira necessita fornecer diariamente uma relação com os 20
maiores devedores com o nome do cliente e valor do saldo devedor. Como você
classificaria este processo elementar?
a) Entrada externa
b) Saída externa
c) Consulta externa
d) Nenhuma das opções anteriores
7. Foi solicitado que fosse acrescentada ajuda on-line em uma aplicação, considerando que
os textos serão mantidos por outra aplicação, o que é correto afirmar?
a) Não é uma funcionalidade específica da aplicação
b) 1 AIE de complexidade baixa e 1 CE para cada tipo de ajuda fornecida
c) Aumenta o nível de influência da eficiência do usuário final
d) Nenhuma das respostas anteriores
Cap. 3 – Exercício Prático
Visão Geral:
Você foi contratado para medir uma parte da aplicação existente no aparelho de telefone
celular da ACME, modelo XYZ. O escopo da contagem abrangerá apenas parte das
funções atualmente disponíveis.
Tabelas Campos
Agenda Telefônica Nome, Telefone
Configuração Tipo de Toque, Volume de Toque
Detalhamento das Funções:
Assuma que a aplicação possui capacidade para emitir mensagens de erro e confirmação
para todas as operações descritas.
Inclusão na agenda: o usuário informa o nome e o telefone e os dados são gravados. Não
são permitidos nomes duplicados. Se houver um nome já existente a aplicação pergunta se
deseja sobrescrever os dados existentes.
Busca na agenda: o usuário pode informar parte de um nome para busca direta ou pode
navegar entre os registros existentes até encontrar o que deseja. São exibidos o nome e o
telefone.
Alteração na agenda: após a busca de um nome na agenda, o usuário pode alterar o
nome e o telefone do registro corrente.
Exclusão de registro da agenda: após a busca de um nome na agenda, o usuário pode
excluir o registro corrente.
Exclusão de todos os registros da agenda: nesta opção o usuário apaga todos os
registros da agenda de uma única vez.
Alteração de tipos de toque: O usuário pode selecionar dentre as opções de toque
D
en
iz
e 
P
im
en
ta
88
Alteração de tipos de toque: O usuário pode selecionar dentre as opções de toque
disponíveis, qual será a utilizada pelo aparelho.
Alteração de volume: o usuário pode selecionar dentre os 5 níveis de volume disponíveis,
qual será o utilizado pelo aparelho.
Bloqueio/desbloqueiodo teclado: com a mesma combinação de teclas, o usuário pode
bloquear ou desbloquear o uso do teclado.
Utilize a tabela abaixo para identificação das funções transacionais.
Descrição Tipo
(EE/SE/CE)
DER
(qtd)
ALR
(qtd)
Complexidade
(B – M – A)
Pontos
D
en
iz
e 
P
im
en
ta
89
Objetivos do Capítulo 4:
1. Tipos de contagem no Processo de Desenvolvimento
2. Dados Compartilhados
D
en
iz
e 
P
im
en
ta
90
2. Dados Compartilhados
3. Exemplos de Funções Transacionais
D
en
iz
e 
P
im
en
ta
91
Entidade (tipo) – Definições de Entidade (ou Tipo de Entidade)
“Uma pessoa, lugar, coisa, evento ou conceito distinguível, sobre o qual informação é mantida.”
D
en
iz
e 
P
im
en
ta
92
“Uma pessoa, lugar, coisa, evento ou conceito distinguível, sobre o qual informação é mantida.”
(Thomas Bruce, 1992)
“Uma coisa que pode ser identificada claramente.” (Peter Chen, 1976)
“Um objeto distinguível que é para ser representado em um banco de dados” (C.J. Date, 1986).
“Uma entidade de dados representa alguma “coisa” que é para ser armazenada para referência
futura. O termo entidade refere-se a representação lógica dos dados.” (Clive Finkelstein, 1989)
“A palavra entidade significa qualquer coisa sobre o qual nós armazenamos informação (por exemplo,
um cliente, fornecedor, ferramenta de máquina, empregado, um polo de serviço público, uma poltrona
de avião, etc..). Para cada entidade, certos atributos são armazenados.” (James Martin, 1989).
“Uma entidade pode também representar a relação entre duas ou mais entidades, chamadas
entidades associativas.” (Michael Reingruber, 1994).
“Uma entidade pode representar um subconjunto de informações relevantes para uma instância de
uma entidade, chamada entidade de subtipo (também conhecida como entidade secundária ou de
categoria)” (Michael Reingruber, 1994).
Resumindo, uma entidade:
•É um objeto de dados principal o qual informações são coletadas
•É uma pessoa, lugar, coisa ou evento de informação
•Pode ter uma instância (uma ocorrência)
•É uma coisa fundamental de relevância para o usuário, sobre o qual uma coleção de fatos é
mantida; uma associação entre entidades que contém atributos é por si própria uma entidade
•Envolve informações, uma representação de coisas similares que compartilham
características ou propriedades
•Muitas vezes descrito em um modelo de dados através de um retângulo, com o nome da
entidade escrito dentro do retângulo.
Mapeamento dos Conceitos de Dados para APF
Tupla – é entendido como uma linha da tabela, também chamado de registro. Exemplo: Cliente de
D
en
iz
e 
P
im
en
ta
93
Tupla – é entendido como uma linha da tabela, também chamado de registro. Exemplo: Cliente de
Nome: José, CPF: 321654, Tel: 2451-8754.
Registro Lógico Referenciado (RLR) – é um subgrupo de dados reconhecido pelo usuário dentro
de um ALI ou AIE.
D
en
iz
e 
P
im
en
ta
94
Atenção: Não confunda o conceito de entidade independente/entidade dependente com o conceito
de relacionamento opcional/obrigatório.
D
en
iz
e 
P
im
en
ta
95
Dica para identificação de entidades (in)dependentes:
Faça a pergunta: se fosse excluída uma ocorrência da entidade A o que aconteceria à(s)
ocorrência(s) relacionadas da entidade B?
• Caso a exclusão da(s) ocorrência(s) relacionada(s) na entidade B seja(m) obrigatória(s)
junto com a ocorrência da entidade A, então A e B devem ser agrupadas juntas no mesmo
arquivo lógico.
• Caso a exclusão da(s) ocorrência(s) relacionada(s) na entidade B não precise(m) ser(em)
feita(s), então A e B devem ser consideradas arquivos lógicos separados.
D
en
iz
e 
P
im
en
ta
96
Entidade Associativa não é contada como um ALR (ALI ou AIE)
A secretaria tem um requisito para gerenciar todos os alunos registrados para um curso e para saber
os cursos que o aluno completou previamente.
D
en
iz
e 
P
im
en
ta
97
Curso é uma entidade, e Aluno é uma entidade. O modelador de dados criou uma entidade
associativa chamada Curso do Aluno como uma interseção entre as duas, e esta entidade associativa
apenas contém as chaves de cada entidade.
A entidade Curso do Aluno não é considerada um ALR (arquivo lógico) separado porque ela não
contém nenhum elemento de dado adicional além das duas chaves primarias (PK) das entidades que
fazem a interseção, ou seja, a mesma não é significativa, existem apenas por razões de modelagem
de dados e projeto de banco de dados e não como resultado de um requisito do usuário.
Aluno é um arquivo lógico com 1 ALR (Aluno) e Curso é um arquivo lógico com 1 ALR (Curso).
Entidade Associativa Contada como ALR
A secretaria tem um requisito para identificar todos os alunos registrados para um curso. Além do
mais ele precisa da informação sobre os resultados do curso para o(s) aluno(s). Curso e Aluno são
entidades distintas no modelo. O modelador de dados criou uma entidade associativa chamada Curso
D
en
iz
e 
P
im
en
ta
98
entidades distintas no modelo. O modelador de dados criou uma entidade associativa chamada Curso
do Aluno como uma intersecção entre as duas, e esta entidade associativa contém as chaves de
cada entidade tão bem como o resultado do curso do aluno.
Não existe regra de negócio que solicite que curso do aluno seja mantido independentemente; então
Curso do Aluno não satisfaz as regras para ser contado como um arquivo lógico separado. Neste
caso, a entidade Curso do Aluno é considerado um RLR, pois ela contém pelo menos atributo
reconhecido pelo usuário além das duas chaves primarias (PK) das entidades que participam da
intersecção.
Além das chaves primárias, um RLR adicional no arquivo lógico sempre contém um ou mais atributos
próprios para ser contado como um RLR. Aluno é um arquivo lógico com 2 RLRs (Aluno e Curso do
Aluno) e Curso é um arquivo lógico com 2 RLRs (Curso e Curso do Aluno).
Se o requisito do negócio indicar que o relacionamento representado pela entidade associativa
pertence a apenas um dos arquivos lógicos, o RLR seria contado apenas naquele arquivo lógico.
Entidade Associativa Contada como Arquivo Lógico
Um departamento de RH mantém informações sobre Funcionário, Funções e Funções Atribuídas.
Função Atribuída é necessária, mesmo que um Funcionário não esteja mais associado com a Função
ou que a Função não seja mais uma função disponível pra alocação.
D
en
iz
e 
P
im
en
ta
99
ou que a Função não seja mais uma função disponível pra alocação.
Embora Função Atribuída seja uma entidade associativa, ela é mais que um mapeamento key-to-key
entre duas entidades, e é mais que um RLR associado com um arquivo lógico. Se uma regra de
negócio solicita que a informação da Função Atribuída deva ser retida independentemente.
Se não existirem regras de negócio solicitando que as informações da Função Atribuída devem ser
retidas independentemente, então esta entidade associativa é contada como na situação 2 acima.
D
en
iz
e 
P
im
en
ta
100
Entidade Atributiva Opcional
Um funcionário pode aderir a um plano de benefícios. Em nosso modelo de dados, Funcionário é uma
entidade. Benefícios de Funcionário é uma entidade atributiva de Funcionário e contém informações
sobre os benefícios que o funcionário resolver aderir. Benefícios de Funcionário não pode existir sem
D
en
iz
e 
P
im
en
ta
101
sobre os benefícios que o funcionário resolver aderir. Benefícios de Funcionário não pode existir sem
Funcionário, e é então logicamente relacionado.
Poderia ser implementado com os campos de benefícios opcionais na tabela de Funcionário.
Portanto Benefícios de Funcionário é contado como um RLR pois ele é uma entidade atributiva
opcional. Funcionário é um arquivo lógico com 2 RLRs, subgrupo de informações de Funcionário e o
subgrupo de Benefícios de Funcionário.
D
en
iz
e 
P
im
en
ta
102
Subtipo que é um subgrupo
Um funcionário tem que ser um funcionário permanente ou um funcionário contratado, mas não pode
ser os dois. Os dados comuns do funcionário são pertinentes a todos os funcionários e são
obrigatórios. Além disso, os dados comuns são herdados pelas entidadessubtipo obrigatórias,
D
en
iz
e 
P
im
en
ta
103
obrigatórios. Além disso, os dados comuns são herdados pelas entidades subtipo obrigatórias,
permanente e contratado.
Na revisão destes dados a partir da perspectiva de pontos de função, dois subgrupos lógicos do
arquivo lógico Funcionário são identificados:
• Dados do funcionário permanente incluem informações do funcionário permanente tanto quanto as
informações comuns do funcionário.
• Dados do funcionário contratado incluem informações do funcionário contratado tanto quanto as
informações comuns do funcionário.
Nesta situação existe um arquivo lógico (Funcionário) com dois RLRs, funcionário permanente e
contratado.
Subtipo que não é um subgrupo
Se existem atributos únicos entre entidades subtipo, reflita para saber se um subgrupo separado
realmente existe para constituir um Registro Lógico Referenciado (RLR). Um simples atributo
opcional único, não resultaria em um RLR diferente, deve ser avaliada a visão do usuário. Cuidado,
D
en
iz
e 
P
im
en
ta
104
opcional único, não resultaria em um RLR diferente, deve ser avaliada a visão do usuário. Cuidado,
pois mesmo se representado como uma entidade subtipo em um modelo de dados lógico, não
devemos nos deixar influenciar pela representação do modelo, mas sim pela visão do usuário.
O estado civil de um Funcionário pode ser casado ou solteiro. Se casado, o nome do cônjuge é
armazenado. Embora possa ser representado como um subtipo em um modelo de dados, o nome do
cônjuge é apenas um atributo opcional dentro do grupo lógico de dados do Funcionário.
Um atributo diferente neste caso não faz diferença significativo entre o funcionário casado e solteiro a
partir da visão do negócio.
Contagem de Atributos
De acordo com a regra devemos contar cada campo reconhecido pelo usuário.
D
en
iz
e 
P
im
en
ta
105
Considere os seguintes itens na tomada de decisão:
a) Se o atributo é sempre usado por inteiro, então ele é contado como um único elemento de dados
(DER). Não devem existir situações em que um componente individual de um atributo é usado
sem os outros. Baseado neste uso, o atributo é contado como um único elemento de dado.
b) Se em algumas situações, apenas uma parte do atributo (ex. o sobrenome) é usada, então mais
do que um elemento de dados deve ser contado. Olhe para o uso em componentes dentro da
aplicação para determinar quantas partes reconhecidas existem. Não necessariamente a opção é
um ou todos. Baseado em o que você está vendo, pode ser apropriado contar apenas dois DERs,
ainda que existam na realidade cinco partes físicas.
c) Olhe para a existência de requisitos de ordenação ou de edições e critérios de seleção. Se um
lista ou relatório é ordenado ou selecionado por um simples componente do atributo, isto sugere
independência de componentes na visão do usuário.
No exemplo acima o telefone foi contado apenas como um DER, pois para esta aplicação o usuário
entende que a informação de telefone é sempre composta de DDD + Número do Telefone +
Ramal, o telefone sempre é utilizado com esses três dados. Não há nenhuma consulta de
funcionários por DDD, ou todos os funcionários que atendem em um determinado ramal.
OBS: Pode ser que para outra aplicação, por exemplo, em empresas de telecomunicação o controle
de DDD seja importante e esta seja uma informação utilizada separada das demais, então nestes
casos o DDD deve ser contado como um DER separado.
Campos Repetidos
Funcionário é um arquivo lógico que inclui Dependente. Os arquivos lógicos de Funcionário e
Dependente conteriam cada um o Código do Funcionário. Aplicando as regras de DER “repetitivos”,
conte Código do Funcionário como um único DER para o ALI Funcionário. Agora determine se os
D
en
iz
e 
P
im
en
ta
106
conte Código do Funcionário como um único DER para o ALI Funcionário. Agora determine se os
requisitos do negócio ainda estão satisfeitos.
O requisito era para manter Dependente como uma parte da informação do Funcionário. Sim, os
requisitos do negócio estão satisfeitos, portanto, um DER é contado.
Campos Repetidos
Um sistema de reportar horas mantém o número de horas que uma pessoa trabalha a cada dia. Ao
rever as estruturas de dados, as Horas Trabalhadas são salvas separadamente para cada dia da
semana (Horas Trabalhada de Segunda-feira, Horas Trabalhada de Terça-feira, etc..).
D
en
iz
e 
P
im
en
ta
107
semana (Horas Trabalhada de Segunda-feira, Horas Trabalhada de Terça-feira, etc..).
Aplicando as regras de DER “repetitivos”, conte apenas Horas Trabalhadas. Determine se os
requisitos do negócio ainda estão satisfeitos. Se a aplicação apenas mantém informação sobre Horas
Trabalhadas, está satisfeito o requisito do negócio para manter horas trabalhadas a cada dia? Não,
não está.
A fim de satisfazer aquele requisito, conte Dia da Semana. A aplicação tem a habilidade de
acompanhar separadamente cada hora trabalhada a cada dia (Horas Trabalhada de Segunda-feira,
Horas Trabalhada de Terça-feira, etc..), portanto, dois DERs são contados.
Contagem de Chaves
Um funcionário pode ter um número ilimitado de salas. Uma sala só pode ser ocupada por um
funcionário por vez. O Código da sala deve ser válido como identificado na tabela SALA. O DER
estaria garantindo o requisito do negócio pela ilustração do relacionamento entre a entidade SALA e a
D
en
iz
e 
P
im
en
ta
108
estaria garantindo o requisito do negócio pela ilustração do relacionamento entre a entidade SALA e a
entidade FUNCIONARIO. De acordo com o DER, um Funcionário pode ter muitas salas, mas uma
Sala só pode ser ocupada por um Funcionário. Nesta situação, o Código do Funcionário é um atributo
em SALA.
O relacionamento deveria ser refletido na tabela Sala pela identificação do Funcionário que ocupa a
Sala. O código do Funcionário é contado como um elemento de dado (DER) para Sala.
Cenário:
Uma transação processada pelo Sistema B precisa de informações de um depósito de dados mantido
dentro do Sistema A. O Sistema B é responsável pelo acesso dos dados no Sistema A, e o Sistema B
D
en
iz
e 
P
im
en
ta
109
dentro do Sistema A. O Sistema B é responsável pelo acesso dos dados no Sistema A, e o Sistema B
mantém o software para este acesso.
---------------------------------------------
Interpretação da Contagem
Sistema A: Na perspectiva do Sistema A, não existe requisito para enviar dados. Os dados estão
disponíveis no Sistema A. Nenhum crédito é dado para o Sistema A para a transação executada pelo
Sistema B, embora o arquivo de dados seja um ALI para o Sistema A.
Sistema B: Na perspectiva do Sistema B, tanto logicamente quanto fisicamente, existe apenas um
depósito de dados envolvido. O Sistema B conta o depósito de dados, que reside no Sistema A como
um AIE. O Sistema B também conta aquele arquivo de dados como um RLR na transação.
Cenário:
O Sistema B requer a habilidade de acessar o arquivo X no Sistema A apenas para validação e
referência. O sistema B requer (ex. performance, etc.) que o Sistema A envie um arquivo completo
para o Sistema B. Os dados existentes armazenados no Sistema B são atualizados a cada vez com a
D
en
iz
e 
P
im
en
ta
110
para o Sistema B. Os dados existentes armazenados no Sistema B são atualizados a cada vez com a
cópia.
--------------------------------------------------------
Interpretação da Contagem
Na perspectiva do Sistema A, esta transferência de dados é uma solução técnica criada para
satisfazer o requisito de negócio em que o Sistema B deve ter acesso, com o propósito de
recuperação de dados, ao Arquivo X do Sistema A. Logicamente os dados armazenados
permanecem no Sistema A. Neste caso, a cópia dos dados armazenados de um sistema para outro é
a solução de um requisito técnico. (ex.: os dados no Sistema A não estão disponíveis quando forem
solicitados pelo Sistema B). A intenção primária de B é referenciar os dados que estão logicamente
em A. uma indicação adicional seria que o arquivo no Sistema B fosse "atualizado" a cada vez com a
cópia. Da mesma forma, nenhuma lógica de processamentoé executada nem no Sistema A nem no
Sistema B.
Arquivos – Existe apenas um arquivo lógico envolvido. O Sistema A conta o Arquivo X como um ALI.
O Sistema B conta sua versão copiada do Arquivo X como um AIE. Nenhum sistema conta o Arquivo
Z como uma função de dados.
Cenário:
Tanto o Sistema A quanto o Sistema B mantêm o mesmo ALI. Cada um tem sua própria visão dos
dados. Existem alguns elementos de dados comuns e outros são únicos para cada sistema.
D
en
iz
e 
P
im
en
ta
111
dados. Existem alguns elementos de dados comuns e outros são únicos para cada sistema.
----------------------------------------------------------
Interpretação da Contagem
Um ALI é contado para ambos os sistemas pois cada um tem transações para mantê-lo. Os Sistemas
A e B mantêm dados no mesmo ALI. Cada sistema conta apenas um RLR (ALI) e DERs mantidos,
utilizados ou referenciados por aquele Sistema.
Cenário:
O Sistema A gera um arquivo de transação de alterações, o Arquivo Z, que é carregado dentro do
Sistema B. Os registros são usualmente de mais de um tipo. O Sistema B processa as transações de
entrada de acordo com o tipo de transação dos registros do Arquivo Z, antes da atualização dos
D
en
iz
e 
P
im
en
ta
112
entrada de acordo com o tipo de transação dos registros do Arquivo Z, antes da atualização dos
registros no Arquivo interno Y. Os DERs no Arquivo X do Sistema A e o Arquivo Y do Sistema B são
diferentes. Por exemplo, o Arquivo X é o Catálogo Principal de Material enquanto que o Arquivo Y é
uma Lista de Produtos gerada localmente. O processamento inclui os seguintes tipos de transações:
• Inclusão
• Alteração
• Exclusão
Esta transferência de dados é um requisito de negócio do usuário. Tanto o Sistema A quanto o B tem
um requisito para acessar uma versão do Arquivo X, entretanto os DERs nos dois arquivos são
diferentes. O Sistema A envia dados relacionados apenas a alterações. O Sistema B lê os registros
no Arquivo Z e baseado nos tipos de transação inicia diferentes lógicas de processamento.
----------------------------------------------------------
Interpretação da Contagem
Se cada registro gravado pelo Sistema A no Arquivo Z é processado da mesma forma, apenas uma
CE/SE é contada. Apenas quando existir diferentes lógicas de processamento envolvidas, você pode
ter diversas funções de transação (ex. SE/CE) dentro de um simples arquivo.
O Sistema B conta EEs para cada função de manutenção única no Arquivo Y. O número de Tipos de
Transações no arquivo de transação Z, normalmente determina o número destas funções, mas isto
não é necessariamente o caso. Diferentes lógicas de processamento devem ser demonstradas.
Existem dois arquivos envolvidos. O Sistema A conta o Arquivo X como um ALI. O Sistema B conta o
Arquivo Y como um ALI. Nenhum sistema conta o Arquivo Z como um arquivo lógico.
Requisitos do Usuário
O usuário de RH deseja a habilidade de manter informações de cada novo funcionário. As
informações que devem ser mantidas pelo usuário de RH incluem:
D
en
iz
e 
P
im
en
ta
113
informações que devem ser mantidas pelo usuário de RH incluem:
• Código do Funcionário
• Nome do Funcionário
• Endereço para correspondência do Funcionário
• Faixa Salarial do Funcionário
• Nome do Cargo do Funcionário
Como resultado da criação de um registro de um novo funcionário, a previsão da Data da
Aposentadoria do funcionário deve ser automaticamente calculada e salva com as outras informações
do funcionário. O usuário da Segurança solicita que um nível de segurança seja atribuído a cada novo
funcionário. O departamento de Segurança faz uma discreta investigação logo que cada funcionário é
contratado e atribui o nível de segurança apropriado.
As informações que devem ser mantidas pelo usuário de Segurança incluem:
• Código do Funcionário
• Nível de Segurança do Funcionário
O usuário de Segurança também solicita um relatório listado com as seguintes informações:
• Contagem dos Códigos do Funcionário
• Nome do Funcionário
• Nível de Segurança do Funcionário
----------------------------------------------------------
Interpretação da Contagem – Sistema de Controle de RH
1 EE – Incluir funcionários – DER: cod func; nome func; end corresp; faixa salarial; nome cargo;
1 ALI – Funcionário – DER: cod func; nome func; end corresp; faixa salarial; nome cargo; dt
aposentadoria;
Sistema de Segurança
1 EE – Atribuir Nível de Segurança – DER: cod func; nome func; nível segur;
1 ALI – Funcionário – DER: cod func; nome func; nível segur;
1 SE – Relatório – DER: total funcionários; nome func; nível segur;
Passo a passo para avaliar a aplicação das regras de contagem de ALI.
1) Determine se as informações do funcionário são um ALI para o Sistema de Controle de
RH.
As Regras de Identificação de ALIs se aplicam?
a) O grupo de dados ou informação de controle é lógico e identificável pelo usuário?
- Sim. Estas informações são reconhecidas e solicitadas pelo usuário de RH.
b) O grupo de dados é mantido através de um processo elementar dentro da
fronteira da aplicação sendo contada?
- Sim. O processo de criação de um registro de funcionário está dentro da fronteira da 
aplicação de RH.
2) Determine se as informações do funcionário são um ALI para o Sistema de Segurança.
As Regras de Identificação de ALIs se aplicam?
a) O grupo de dados ou informação de controle é lógico e identificável pelo usuário?
- Sim. Estas informações são reconhecidas e solicitadas pelo usuário de Segurança.
b) O grupo de dados é mantido através de um processo elementar dentro da
fronteira da aplicação sendo contada?
- Sim. O processo de atribuição do nível de segurança do funcionário está dentro da 
fronteira da aplicação de Segurança.
3) Conte o número de tipos de elementos de dados (DERs) para o ALI funcionário no
Sistema de Controle de RH.
Regras de Identificação de DERs
a) Conte um DER para cada campo único, reconhecido pelo usuário, não repetido,
mantido em ou recuperado de um ALI ou AIE através da execução de um
D
en
iz
e 
P
im
en
ta
114
mantido em ou recuperado de um ALI ou AIE através da execução de um
processo elementar.
Os seguintes campos são reconhecidos pelo usuário de RH:
• Código do Funcionário
• Nome do Funcionário
• Endereço para correspondência do Funcionário
• Faixa Salarial do Funcionário
• Nome do Cargo do Funcionário
• Data da Aposentadoria
• Nível de Segurança do Funcionário
b) Quando duas aplicações mantêm e/ou referenciam o mesmo ALI/AIE, mas cada
uma mantém/referenciam DERs diferentes, conte apenas os DERs que estão
sendo usados pela aplicação para medir o ALI/AIE.
Existem campos deste tipo. Todos os campos são utilizados dentro da aplicação de RH
exceto o Nível de Segurança do Funcionário.
c) Conte um DER para cada dado solicitado pelo usuário para estabelecer um
relacionamento com outro ALI ou AIE.
Não existem campos deste tipo.
Conte o número de tipos de registros elementares (RETs) para o ALI funcionário no
Sistema de Controle de RH.
3) Identifique subgrupos baseados nas regras de contagem de RLR.
a) Conte um RLR para cada subgrupo opcional ou obrigatório do ALI ou AIE.
As informações do funcionário não têm subgrupos.
b) Se não existirem subgrupos, conte o ALI ou AIE com um RLR.
Como não existem subgrupos, conte o ALI funcionário no Sistema de Controle de RH com
um RLR.
O total de RLR e DER para o ALI funcionário no Sistema de Controle de RH:
RLR: 1
DER: 6
4) Verifique o valor de pontos de função brutos consultando a tabela de complexidade e de
atribuição.
Um ALI com 1 RLR e 6 DER possui complexidade BAIXA.
Um ALI de complexidade BAIXA contribui com 7 pontos de função brutos.
D
en
iz
e 
P
im
en
ta
115
D
en
iz
e 
P
im
en
ta
116
Requisito
Imprimir um cheque e, como resultado, marcar na conta como pago. Todos os dados impressos no
cheque já estão armazenados no arquivo de cheque.
D
en
iz
e 
P
im
en
ta
117
Análise
O primeiro passo é identificar quantos processos elementares existem na visão do usuário
apresentada. Portanto, somente marcar a conta como paga não

Continue navegando