3. Tipos de métricas e medições (APF)
Conceitos
Propósito da contagem
- Fornece uma resposta a um problema de negócio
- Determina tipo e escopo da contagem
- Influencia o posicionamento da fronteira da aplicação
Tipo de contagem
- Projeto
- Desenvolvimento
- Mede as funcionalidades fornecidas ao usuário na primeira instalação da aplicação
- Inclui as funcionalidades necessárias à conversão de dados
- Melhoria
- Mede modificações que incluem, excluem ou alteram funcionalidades em aplicações existentes
- Inclui as funcionalidades necessárias à conversão de dados
- Desenvolvimento
- Aplicação
- Mede a aplicação já instalada
- Também chamada de Baseline ou Pontos de Função Instalados
- Inicia no término do projeto de desenvolvimento
- Atualizada até o término de cada projeto de melhoria que altera funcionalidades da aplicação
Escopo da contagem
- Define um subgrupo ou grupo do software que está sendo medido
- É determinada pelo propósito da contagem
- Identifica quais funções serão incluídas na contagem
- Pode incluir mais de uma aplicação
- Relacionamento com o tipo de contagem
- Projeto
- Desenvolvimento
- Funções
- Construídas
- Customizadas
- Conversão de dados
- Funções
- Melhoria
- Funções
- Incluídas
- Alteradas
- Excluídas
- Conversão de dados
- Funções
- Desenvolvimento
- Aplicação
- Funções
- Todas as funções
- Apenas funções usadas
- Funções
- Projeto
Fronteira da aplicação
- Define o que é externo à aplicação
- Representa a interface entre aplicação interna e mundo real
- Independente de considerações técnicas e de implementação
- Determinada com base na visão do usuário
- Referência para a contagem
- Dados processados pela transação passam pela fronteira
- Compreende os dados lógicos mantidos pela aplicação
- Apoia na identificação de dados lógicos referenciados mas não mantidos pela aplicação
Tipos de entidades de dados
- Dados de negócios
- Satisfazem requisitos funcionais
- Referenciados como dados centrais do usuário ou objetos de negócio
- Refletem a informação necessária para ser guardada e recuperada
- Dados de referência
- Satisfazem requisitos funcionais
- Armazenadas para auxiliar as regras de negócio e manutenção de dados de negócio
- Dados de código
- Satisfazem requisitos técnicos
- Também chamados neste contexto de meta dados
ALI - Arquivo Lógico Interno
Contexto de armazenamento
Definição
- Grupo de dados ou informações de controle logicamente relacionados
- Objetivo primário de armazenar dados mantidos através de um ou mais processos elementares da aplicação
Regras
- É identificável pelo usuário
- Mantido por um ou mais processos elementares dentro da fronteira da aplicação sendo medida
Exemplos
- Tabelas de armazenamento de dados
- Entidades de negócio
- Entidades de referência
Não exemplos
- Arquivos de trabalho, temporários ou de classificação
- Entidades de relacionamento
- Dados não mantidos por qualquer processo elementar
Funções de Dados e de Transição
ALI também faz parte de funções de dado
AIE - Arquivo de Interface Externa
Contexto de armazenamento
Definição
- AIEs são ALIs de outra aplicação
- São grupos de dados ou informações de controle logicamente relacionados
- Objetivo primário de armazenar dados referenciados por um ou mais processos elementares da aplicação
- A principal diferença entre ALI e AIE é que apenas o ALI é mantido pela aplicação, enquanto o AIE é apenas referenciado
Regras
- É identificável pelo usuário
- Grupo de dados é externo à aplicação, sendo contada e referenciada por ela
- Grupo de dados não é mantido pela aplicação sendo contada
- Grupo de dados é mantido por outra aplicação como um ALI
Exemplos
- Dados de referência externos utilizados pela aplicação, como arquivos de mensagens de ajuda mantidos por outra aplicação
Não exemplos
- Dados mantidos pela aplicação e utilizados por outra
- Dados formatados e/ou processados para uso de outras aplicações
- Dados de controle para manter um ALI
Observações
Quando se fala de ALI e AIE, o contexto é de armazenamento de dados.
No caso das EE, o contexto é transações ou funções de transação
EE - Entrada Externa
Contexto de transações
Definição
- Processo elementar que processa dados ou informações de controle vindos de fora da fronteira da aplicação
- Principal intenção: manter um ou mais ALIs e/ou alterar o comportamento do sistema
Regras
- O dado ou informação de controle é recebido fora da fronteira da aplicação
- Pelo menos 1 ALI é alterado SE o dado cruzando a fronteira da aplicação não é uma informação de controle que altera o comportamento do sistema
- Para os processos encontrados, uma das três regras abaixo deve-se aplicar
- Processamento lógico é único - não realizado em outras EEs
- O conjunto de elementos de dados é diferentes dos conjuntos de outras EEs
- Os ALIs e AIEs referenciados ou mantidos são diferentes daqueles referenciados ou mantidos por outras EEs
Determinação de complexidade e contribuição
*Contribuição refere-se à contribuição para número de pontos de função não ajustados em função de:
- Quantidade de transações (CRUD)
- Complexidade das transações
- Número de tipos de dados (Data Element Types)
- Campo único, não repetido, reconhecido pelo usuário
- Número de arquivos referenciados (File Type Referenced)
- ALI lido ou mantido pela função transacional
- AIE lido pela função transacional
- Número de tipos de dados (Data Element Types)
Funções tipo transação
- Contando arquivos referenciados (AR)
- Conte um AR para cada ALI mantido durante o processamento de uma EE
- Conte um AR para cada ALI ou AIE lido durante o processamento de uma EE
- Conte APENAS UM AR para cada ALI lide E mantido durante o processamento de uma EE
- Contando tipos de dados (TD)
- Conte um TD para cada campo não repetido, reconhecido pelo usuário, que entra ou sai da fronteira da aplicação e que é requerido durante o processamento da EE
- Se um campo entra e sai pela fronteira, conte uma única vez
- Não conte campos que são recebidos ou processados pelo sistema e persistidos em um ALI durante um processo elementar, se o mesmo não cruza a fronteira da aplicação
- Conte um TD para a capacidade de enviar mensagem para fora da fronteira, para indicar a ocorrência de erro durante o processamento, confirmar término ou informar que o processamento está sendo executado
- Conte 1 e apenas 1 TD para a capacidade de especificar uma ação a ser tomada, mesmo que haja múltiplos meios de ativar o mesmo processo
CE - Consulta Externa
Definição
- Processo elementar que envia dados ou informações de controle para fora da fronteira
- Principal intenção
- Apresentar informação aos usuários por meio de uma simples recuperação de dados ou informações de controle
A lógica de processamento não deve conter fórmulas matemáticas ou cálculos, nem tampouco criar dados derivados. Nenhum ALI é mantido durante seu processamento, nem o comportamento do sistema é alterado
Regras
- Envia dados para fora da fronteira
- Para os processo encontrados, uma das três regras deve se aplicar
- Processamento lógico e único - não realizado em outra CE ou SE
- Conjunto de dados é diferente de outros conjuntos de demais CE e SE
- ALI e AIE referenciados são diferente daqueles referenciados/mantidos por outras CE ou SE
SE - Saída Externa
Definição
- Processo elementar que envia dados ou informações de controle para fora da fronteira
- Principal intenção
- Apresentar informação aos usuários por meio de lógica de processamento que não seja apenas a recuperação de dados ou informações de controle
- A lógica de processamento deve obrigatoriamente conter ao menos uma fórmula matemática ou cálculo, ou criar dados derivados (sem necessariamente a apresentação desses dados ou resultados dos cálculos)
- Pode também manter um ou mais ALIs ou alterar o comportamento do sistema
Regras
- Envia dados para fora da fronteira
- Para os processo encontrados, uma das regras deve se aplicar
- Processamento lógico do processo elementar contém pelo menos uma fórmula matemática ou cálculo
- Processamento lógico do processo elementar cria dados derivados
- Processamento lógico do processo elementar mantém pelo menos um ALI
- Processamento lógico do processo elementar altera o comportamento do sistema
Determinação de complexidade e contribuição (SE e CE)
Funções tipo transação
- Contando arquivos referenciados (AR) (Aplicável para CE e SE)
- Conte um AR para cada ALI ou AIE lido durante o processamento de uma CE ou SE
- Contanto arquivos referenciados (AR) (Aplicável apenas se):
- Conte um AR para cada ALI mantido durante o processamento do processo elementar
- Conte apenas um AR para um ALI lido E mantido durante o processamento de uma SE
- Contando tipos de dados (TD):
- Conte um TD para cada campo não repetido, reconhecido pelo usuário, que entra na fronteira da aplicação e que é requerido para especificar quando, o que e como os dados são recuperados ou gerados pelo processo elementar
- Conte um TD para cada campo não repetido, reconhecido pelo usuário, que sai da fronteira da aplicação
- Se um campo entra e sai pela fronteira da aplicação, conte uma única vez
- Não conte campos que são recebidos ou processados pelo sistema e persistidos em um ALI durante um processo elementar, se o mesmo não cruza a fronteira da aplicação
- Conte um TD para a capacidade de enviar mensagem para fora da fronteira, para indicar a ocorrência de erro durante o processamento, confirmar término ou informar que o processamento está sendo executado
- Conte 1 e apenas 1 TD para a capacidade de especificar uma ação a ser tomada, mesmo que haja múltiplos meios de ativar o mesmo processo
- Não conte literais como TD
- Não conte variáveis de paginação ou campos automáticos gerados pelo sistema
Resumo de tipos de funções
- Funções de dados
- Incluem ALI E AIE
- TD e TR
- Funções de transação
- Incluem EE, SE e CE
- TR e AR
Cálculo de contribuição e complexidade
Complexidade
Contribuição
Fórmulas
Medir aplicação - 1ª Instalação
AFP: Tamanho da aplicação
ADD: Tamanho das funções entregues
Medir projeto de desenvolvimento (DFP)
DFP: Tamanho do projeto de desenvolvimento
CFP: Tamanho das funções de conversão de dados
Medir projeto de melhoria (EFP)
EFP: Tamanho do projeto de melhoria
CHGA: Tamanho das funções alteradas, depois da melhoria
DEL: Tamanho das funções excluídas
Medir aplicação - Após melhoria
AFPA: Tamanho da aplicação depois da melhoria
AFPB: Tamanho da aplicação antes da melhoria
CHGB: Tamanho das funções alteradas, antes da melhoria