sexta-feira, 5 de julho de 2013

Análise de pontos de função



A Análise de Pontos de Função (APF) é um método-padrão para a medição do desenvolvimento de software, visando estabelecer uma medida de tamanho do software em Pontos de Função (PFs), com base na funcionalidade a ser implementada, sob o ponto de vista do usuário.
Os objetivos da APF são:
·         Medir a funcionalidade solicitada pelo usuário, antes do projeto de software, de forma a estimar seu tamanho e seu custo;
·         Medir projetos de desenvolvimento e manutenção de software, independentemente da tecnologia utilizada na implementação, de forma a acompanhar sua evolução;
·         Medir a funcionalidade recebida pelo usuário, após o projeto de software, de forma a verificar seu tamanho e custo, comparando-os com o que foi originalmente estimado;
·         Medir as funcionalidades do sistema requisitadas e recebidas pelo usuário;
·         Medir projetos de desenvolvimento e manutenção de software, sem se preocupar com a tecnologia que será utilizada na implementação.
Quantifica o produto do trabalho de desenvolvimento e manutenção de sistemas no que diz a respeito de funções efetivamente entregues ao usuário final, independente da metodologia e ferramentas utilizadas.
Define uma medida utilizada para determinar o tamanho de uma aplicação. Ela se baseia nas funções executadas pela aplicação do ponto de vista do usuário.
Funções de dados: representam as funcionalidades relativas aos requisitos de dados internos e externos à aplicação.
·         Arquivos Lógicos Internos (ALI): Grupo lógico de dados do ponto de vista do usuário cuja manutenção é feita internamente na aplicação (são as tabelas do banco de dados).
·         Arquivos de Interface Externa (AIE): Grupo lógico de dados que passa de uma aplicação para outra cuja manutenção pertence a outra aplicação. Ex.: WebService (SOA); nota fiscal eletrônica (dados são adicionados ao banco de dados da Receita Federal).
Funções transacionais: representam as funcionalidades de processamento de dados do sistema fornecidas para o usuário.
·         Entradas Externas (EE): Processo elementar que processa os dados ou informações de controle vindos de fora da fronteira da aplicação. A principal intenção de uma EE é manter um ou mais ALI e/ou alterar o comportamento do sistema. A criação de EE requer várias Consultas Externas (possivelmente), como EE para recuperar dados do cliente e EE para recuperar a lista de produtos. Ex.: formulários de cadastro.
·         Saídas Externas (SE): Processo elementar que gera dados ou informações de controle que saem da fronteira da aplicação. O principal objetivo de uma SE é apresentar dados ao usuário por meio de lógica de processamento que não seja apenas recuperação dados. A lógica de processamento deve obrigatoriamente conter ao menos uma fórmula matemática ou cálculo, ou criar dados derivados. Podem também manter um ou mais ALIs e/ou alterar o comportamento do sistema. Ex.: relatórios contendo totalizações de dados; relatórios que também atualizam arquivos; consulta com apresentação de dados derivados ou cálculos; geração de arquivos de movimento para outra aplicação; informações em formatos gráficos. Não são exemplos: consultas e relatórios sem nenhum totalizador, que não atualiza ALI, não tem dado derivado ou modificam o comportamento do sistema; dois relatórios iguais, apenas com distinção de ordenação.
·         Consulta Externa (CE): Processo elementar que envia dados ou informações de controle para fora da fronteira da aplicação. O principal objetivo de uma CE é apresentar informação ao usuário por meio de uma simples recuperação de dados de ALIs e/ou AIEs. A lógica de processamento não deve conter fórmula matemática ou cálculo, criar dados derivados, manter um ou mais ALI e/ou alterar o comportamento do sistema.
Procedimento para a medição
1.       Identificar e enumerar as funções da aplicação: número de EE, SE, ALI, AIE e CE;
2.       Classificar cada uma das funções identificadas no seu nível de complexidade: simples, médio ou complexo;
3.       Cálculo de Pontos de Função Brutos ou Não Ajustados (PFB);
4.       Determinação do FA (Fator de Ajuste) através dos NI (Níveis de Influência) pela fórmula FA = 0,65 + (0,01 * NI);
5.       Cálculo dos Pontos de Função Ajustados (PFA) determinado pela fórmula PFA = PFB * FA;
6.       A partir do PFA é possível fazer as verificações para determinar o tamanho da equipe, custo e prazo do software.

Níveis de Influência
1.       Comunicação de dados
2.       Funções distribuídas
3.       Desempenho
4.       Carga de configuração
5.       Volume de transações
6.       Entrada de dados on-line
7.       Eficiência do usuário final
8.       Atualização on-line
9.       Processamento complexo
10.   Reutilização
11.   Facilidade de implantação
12.   Facilidade operacional
13.   Múltiplos locais
14.   Facilidade de mudança


0 = Não existe nenhuma influência
1 = Pouca influência
2 = Influência moderada
3 = Influência média
4 = Influência significativa
5 = Grande influência
Tipo de Função
Nº de ocorrências


Complexidade Total
ALIs
4
Simples
X 7 =
28
0
Média
X 10 =
0
0
Complexa
X 15 =
0
Subtotal = 28
AIEs
4
Simples
X 5 =
20
0
Média
X 7 =
0
0
Complexa
X 10 =
0
Subtotal = 20
EEs
4
Simples
X 3 =
12
2
Média
X 4 =
8
1
Complexa
X 6 =
6
Subtotal = 26
SEs
4
Simples
X 4 =
16
2
Média
X 5 =
10
0
Complexa
X 7 =
0
Subtotal = 26
CEs
5
Simples
X 3 =
15
0
Média
X 4 =
0
0
Complexa
X 6 =
0
Subtotal = 15
Total de Pontos de Função Brutos (não ajustados) = 115

SNMP



O protocolo SNMP (Simple Network Management Protocol) pertence à camada de aplicação e utiliza o protocolo UDP na camada de transporte, executando suas operações pelas portas 161 (agente) e 162 (traps).
O protocolo SNMP é uma estrutura para gerenciar dispositivos em uma internet usando o conjunto de protocolos TCP/IP. Ele fornece um grupo de operações fundamentais para monitorar e manter uma internet.
O SNMP usa o conceito de gerente e agente. Isto é, um gerente, normalmente um host, controla e monitora um conjunto de agentes, normalmente roteadores.
Uma estação de gerenciamento, chamada gerente, é um host que executa o programa cliente SNMP.
Uma estação gerenciada, chamada agente, é um equipamento de rede (incluindo seu software) que reside em uma rede gerenciada. Uma estação gerenciada pode ser um host, um roteador, uma ponte, um hub, uma impressora ou um modem. Em um dispositivo gerenciado pode haver diversos objetos gerenciados. Estes são, na verdade, as peças de hardware propriamente ditas que estão dentro do dispositivo gerenciado (por exemplo, uma placa de interface de rede) e os conjuntos de parâmetros de configuração para as peças de hardware e software (por exemplo, um protocolo de roteamento intradomínio, como o RIP). Esses objetos gerenciados têm informações associadas a eles que são coletadas dentro de uma Base de Informações de Gerenciamento (Management Information Base - MIB). Por fim, reside também em cada dispositivo gerenciado um agente de gerenciamento de rede, um processo que é executado no dispositivo gerenciado, que se comunica com a entidade gerenciadora e que executa ações locais nos dispositivos gerenciados sob o comando e o controle da entidade gerenciadora.
O gerenciamento é obtido por meio da simples interação entre um gerente e um agente.