Вы находитесь на странице: 1из 13

Roteiro Simplificado para Contagem de PF

1. Obter a documentação disponível do projeto


A documentação deve ser analisada com o foco na elicitação dos requisitos funcionais
que constituem a base para a contagem de Pontos de Função.
A documentação pode incluir, dentre outros: especificação de requisitos, modelos de
dados, diagramas de classe, especificação de casos de uso, layout de relatórios e telas e
outros artefatos do desenvolvimento de software. Se não há documentação
suficientemente disponível, deve se buscar o acesso aos especialistas no negócio para
cobrir as lacunas da documentação.

2. Identificar o Propósito da Contagem


O propósito da contagem fornece uma reposta para uma questão de negócio a ser
resolvida. Influencia o escopo da contagem e o tipo da contagem. Também influencia o
estabelecimento da fronteira do software a ser medido.

3. Identificar o Tipo de Contagem


As contagens de Pontos de Função podem ser associadas a projetos ou aplicações.
Existem três tipos de contagem de Pontos por Função: Projeto de Desenvolvimento,
Projeto de Melhoria e Aplicação.
A contagem de Projeto de Desenvolvimento está associada a um novo projeto de
desenvolvimento de sistema. A Contagem de Projeto de Melhoria dimensiona as
funcionalidades incluídas, alteradas e excluídas à aplicação existente em uma
manutenção evolutiva. A contagem de Aplicação, também denominada contagem de
baseline, refere-se a uma aplicação instalada.
Desta forma, o tipo de contagem é um projeto de desenvolvimento, o escopo da
contagem são todas as funcionalidades a serem implantadas no Sistema de Treinamento
e a fronteira da contagem é o Sistema de Treinamento.

4. Determinar o Escopo da Contagem


O escopo da contagem identifica o conjunto de funcionalidades a ser considerado na
contagem de Pontos de Função. O escopo de uma contagem pode incluir mais de uma
aplicação.
O escopo:
• Define o (sub)conjunto do software que está sendo medido

• É determinado pelo propósito da contagem de pontos de função

• Identifica quais funcionalidades serão incluídas na contagem de Pontos de Função

• Pode incluir mais de uma aplicação.


5. Determinar a Fronteira da Aplicação
A definição da fronteira da aplicação consiste no estabelecimento do limite lógico entre o
projeto que está sendo contado e o usuário. O usuário pode ser o usuário propriamente
dito ou outras aplicações que interagem com o sistema em questão.

A fronteira da aplicação:
• Define o que é externo à aplicação

• Indica o limite entre o software que está sendo medido e o usuário (ou aplicações)

• Atua como uma "membrana" através da qual os dados processados pelas


transações passam para dentro e para fora da aplicação. Estes dados cruzam a
fronteira da aplicação.
• Agrupa os dados lógicos mantidos pela aplicação (Arquivos Lógicos Internos)

• Auxilia na identificação dos dados lógicos referenciados mas não mantidos pela
aplicação (Arquivos de Interface Externa)
• Depende da visão externa do negócio, do usuário da aplicação. É independente de
considerações de técnicas de arquitetura e/ou implementação

6. Contar Funções de Dados


As Funções de Dados representam a funcionalidade fornecida para o usuário através de
dados internos ou externos à aplicação. As Funções de Dados são identificadas como:
Arquivos Lógicos Internos e Arquivos de Interface Externa.
Um Arquivo Lógico Interno (ALI) é um grupo de dados logicamente relacionados,
reconhecido pelo usuário, mantido por meio de um processo elementar da aplicação que
está sendo contada.
Um Arquivo de Interface Externa (AIE) é um grupo de dados logicamente relacionados,
reconhecido pelo usuário, mantido por meio de um processo elementar de uma outra
aplicação e referenciado pela aplicação que está sendo contada. Um AIE deve ser
obrigatoriamente um ALI de outra aplicação.
A principal diferença entre os ALIs e AIEs é que um Arquivo de Interface Externa não é
mantido pela aplicação que está sendo contada, e um Arquivo Lógico Interno é mantido
por funcionalidades da aplicação em questão.

7. Contar Funções Transacionais


As funções transacionais representam as funcionalidades de processamento de dados
providas ao usuário, sendo identificadas como Entradas Externas, Saídas Externas e
Consultas Externas.
A Entrada Externa (EE) é um processo elementar que trata dados ou informação de
controle que entram pela fronteira da aplicação. Seu objetivo principal é manter um ou
mais Arquivos Lógicos Internos e/ou alterar o comportamento do sistema.
A Saída Externa (SE) é um processo elementar que envia dados ou informação de
controle para fora da fronteira da aplicação. Seu objetivo principal é apresentar
informação para um usuário, através de um processamento lógico adicional à
recuperação de dados ou informação de controle.
O processamento lógico deve conter no mínimo uma fórmula matemática ou cálculo, ou
criar dados derivados. Uma Saída Externa pode também manter um ou mais Arquivos
Lógicos Internos ou alterar o comportamento do sistema
A Consulta Externa (CE) é um processo elementar que envia dados ou informação de
controle para fora da fronteira da aplicação. Seu objetivo principal é apresentar
informação para o usuário através da recuperação de dados ou informação de controle de
ALIs ou AIEs.
Algumas observações importantes:
• A lógica de processamento "Reordena ou Reorganiza um conjunto de dados" é a
única lógica que não fornece unicidade para as funções transacionais. Por
exemplo, uma Consulta de alunos ordenada por nome e uma outra Consulta de
alunos ordendada por matrícula devem ser contadas como um único processo
elementar;
• Toda Consulta Externa deve ler dados de pelo menos um Arquivo Lógico (ALI ou
AIE);
• Uma Entrada Externa pode ter dados calculados. Por exemplo, na função incluir
vendas, sempre que for adicionado um item o preço do item vendido deve ser
somado ao campo de total de vendas;
• Uma Saída pode ter entrada de dados (Capacidade de aceitar dados ou
informações de controle que entram pela fronteira da aplicação). Por exemplo, o
relatório de projetos concluídos possui uma tela de filtros para o usuário selecionar
uma UF ou todas e entrar com uma data inicial e uma data final, com base nesses
parâmetros de entrada, a funcionalidade recupera uma lista de projetos concluídos
e apresenta o total.

8. Calcular o Tamanho Funcional


Cada tipo funcional identificado possui uma complexidade - Baixa, Média ou Alta, definida
com base nas regras de contagem.
Classificação ALI e AIE
Algumas definições importantes:

Registro Lógico (RL)


O Registro Lógico é um subgrupo de dados, reconhecido pelo usuário. O RL faz parte do
ALI ou AIE. Em geral, os subgrupos de dados são reconhecidos em modelos de dados
como especializações ou entidades fracas.
Por exemplo, um sistema de recursos humanos mantém dados de empregadas(os) e
seus dependentes. Considerando a contagem de Função de dados tem-se: ALI:
Empregados com 2 RLs - empregados e dependentes.

Tipo de Dados (TD)


Campos únicos, não repetidos reconhecidos pelo usuário. Em geral, são os atributos das
entidades. Como exemplo, podemos imaginar uma entidade denominada Instrutor,
mantida por um sistema de treinamento e que possui os seguintes atributos:
• cod_instrutor - (campo chave não reconhecido pelo usuário, criado para apoiar a
implementação);
• nome do instrutor;

• e-mail do instrutor;

• telefone de contato 1;

• telefone de contato 2;

• curriculo resumido.

O ALI instrutor possui 4 TDs (nome do instrutor, e-mail do instrutor, telefone de contato,
curriculo resumido). O cod instrutor não conta porque não é reconhecido pelo usuário. O
telefone de contato conta apenas uma vez, por tratar-se de um atributo repetitivo.

Classificação EE, CE e SE
Algumas definições importantes:
Arquivo Referenciado (AR): Os Arquivos Referenciados levam em consideração os ALIs
e AIEs atualizados ou lidos durante o processamento de uma EE, SE ou CE.
Exemplo 1: A Entrada Externa cadastrar projetos atualiza o ALI de projetos e Lê dados do
AIE Empregados para recuperar o nome do líder do projeto. Então, a EE: cadastrar
projetos possui 2 Arquivos Referenciados.
Exemplo 2: A Saída Externa Emitir Certificado do Treinamento recupera informações do
ALI Alunos, ALI cursos e atualiza o indicador de certificado emitido do ALI de Controle
Emissão de Certificados. Então, a SE: Emitir Certificado de Treinamento possui 3
Arquivos Referenciados.
Exemplo 3: A Consulta Externa List Box de cursos recupera os dados do ALI de cursos.
Então, a CE: List Box de cursos possui 1 Arquivo Referenciado.
Tipo de Dado (TD): O número de Tipos de Dados Referenciados é o total de atributos
identificados pelo usuário que atravessam a fronteira da aplicação durante o
processamento de uma EE, SE ou CE.
O conceito de atravessar a fronteira significa que não devem ser contados como TDs,
campos que são apenas utilizados pela função para processamento interno, mas não
entram ou saem pela fronteira da aplicação. Também não são contados números de
páginas e data e hora de emissão de relatórios obtidos do sistema operacional. Além dos
dados que atravessam a fronteira, são contados 1 TD para ação, botões de ação (OK,
dropdown de listbox, links para chamar outras funcionalidades...) e 1 TD para mensagem
(mensagens de validação de campos, mensagens de confirmação de processamento...).
O TD é contado pela capacidade da função de ter ação e de enviar mensagem. Lembre-
se: UM e apenas UM TD para Todas as ações e UM e apenas UM TD para Todas as
mensagens.

Cada funcionalidade possui uma contribuição funcional para a contagem de Pontos de


Função de acordo com a complexidade, conforme Tabela abaixo:

Complexidade
Tipo Funcional
Baixa Média Alta
Arquivo Lógico Interno (ALI) 7 PF 10 PF 15 PF
Arquivo da Interface Externa (AIE) 5 PF 7 PF 10 PF
Entrada Externa (EE) 3 PF 4 PF 6 PF
Saída Externa (SE) 4 PF 5 PF 7 PF
Consulta Externa (CE) 3 PF 4 PF 6 PF

O Cálculo de Pontos de Função é realizado de acordo com os tipos de contagem:


Projetos de Desenvolvimento, Projetos de Melhoria (Manutenção Evolutiva) e Aplicações
Instaladas.

9. Documentar e Reportar a Contagem


Considerando o cenário do Governo Brasileiro de utilização da métrica Pontos de Função
como base para o estabelecimento de contratos de software, a documentação da
contagem de Pontos de Função deve ser clara o suficiente para que, um revisor ou
auditor possa compreender a contagem apresentada e chegar aos mesmos resultados. A
contagem de Pontos de Função deve ser rastreável para os requisitos funcionais
analisados.
Faça a Contagem de Pontos de Função do sistema descrito a seguir. O formato do
relatório a ser enviado encontra-se no final do exercício.
Sistema de Treinamento. O Sistema tem como objetivo cadastrar os
treinamentos de uma empresa. Para esta primeira, as necessidades a serem
implementadas são as seguintes:
• Necessidade 1: Cadastrar cursos;

• Necessidade 2: Formar base de dados de instrutores.

Segue a descrição das Entidades de Dados do Sistema


Tabela de Instrutores:
• CPF;
• Áreas de conhecimento;
• Sigla Curso de interesse 1;
• Sigla Curso de interesse 2;
• Sigla Curso de interesse 3;
• Sigla Curso de interesse 4;
• Sigla Curso de interesse 5.

Tabela de Empregados (Sistema SRH - Esta Tabela é apenas lida pelo


sistema de treinamento para validar os dados dos instrutores).
• CPF;
• Nome;
• E-mail;
• Telefone.

Tabela de Cursos:
• Sigla do curso;
• Nome do curso;
• Descrição do curso;
• Objetivo do curso;
• Carga horária.
F 1.1 Incluir Curso

A função Incluir Curso deve validar se todos os campos foram preenchidos e apresentar
mensagem de erro em caso de não preenchimento. O campo sigla do curso é único. O
sistema deve verificar se o curso já foi cadastrado e apresentar mensagem. O botão OK
inicia as validações e a inclusão do curso na Tabela de Cursos.

F 1.2 Alterar Curso

A função Alterar Curso deve validar se todos os campos foram preenchidos e apresentar
mensagem de erro em caso de não preenchimento. O campo sigla do curso é único e
não pode ser alterado. O botão OK inicia as validações e a atualização de dados do curso
na Tabela de Cursos.

F 1.3: Pesquisar Curso

A função Pesquisar Cursos apresenta uma lista com todos os cursos cadastrados. O
usuário pode clicar em um curso e no Botão Detalhar para consultar os detalhes do curso.
Seguem as funcionalidades da Necessidade 2: Formar base de dados de
Instrutores

F2.1: Incluir Instrutor

Na função Incluir Instrutor, o usuário informa o CPF, a aplicação recupera o


nome na Tabela de Empregados e apresenta na tela. Caso o CPF não exista na
Tabela de Empregados é apresentada a mensagem CPF inexistente. O usuário
informa suas áreas de conhecimento e seleciona até cinco cursos que está
apto a ministrar. O campo área de conhecimento é de preenchimento
obrigatório. O sistema deve apresentar uma mensagem de erro, caso o campo
não seja preenchido. Os dados do instrutor são atualizados na Tabela de
instrutores.

F2.2: Atualizar dados do Instrutor

Na função Alterar Instrutor, o usuário não pode alterar o campo CPF. O usuário pode
alterar suas áreas de conhecimento e selecionar até cinco cursos que está apto a
ministrar, sendo possível alterar a seleção inicial. O campo área de conhecimento é de
preenchimento obrigatório. O sistema deve apresentar uma mensagem de erro, caso o
campo não seja preenchido. Os dados do instrutor são atualizados na Tabela de
instrutores.

F2.3: Consultar dados do Instrutor

O usuário digita o CPF e a tecla . A função valida se o CPF do instrutor está


cadastrado na Tabela de Empregados e posteriormente valida se ele está
cadastrado na Tabela de Instrutores, apresentando mensagens distintas. Esta
função além de apresentar os detalhes do instrutor, permite ao usuário acessar
a função Alterar dados do Instrutor, clicando no Botão Alterar.
Modelo de relatório para o exercício, com ilustração de seu preenchimento. Você
deve criar um arquivo semelhante a este, em editor de texto, e enviar ao seu tutor,
por meio do espaço de envio abaixo.
Nome do Sistema:
Responsável pela Contagem:
Tipo da Contagem: Projeto de Desenvolvimento

Descrição da função Tipo RL/AR TD Comp PF Observação


Ex: Excluir Venda EE 3 10 Alta 6 Requisito: F 3.2

Вам также может понравиться