Função? ♦ É uma técnica de medição das funções fornecidas por um software sob o ponto de vista dos usuários ♦ Usuário é qualquer pessoa ou coisa que se comunica ou interage com o software a qualquer momento ♦ Ponto de Função é a unidade de medida da contagem ♦ Criado pela IBM e mantido pelo IFPUG – Grupo Internacional de Usuários de Pontos de Função http://www.ifpug.org
que o usuário solicita ♦ Medir desenvolvimento e manutenção de software de forma independente da tecnologia de implementação (“o que” a funcionalidade faz, não “como” a funcionalidade faz) ♦ Ser uma medida consistente entre vários projetos e organizações
♦A análise divide o sistema em funções que: o Permitem interagir com o sistema (funções de transação) o Permitem armazenar dados (funções de dados) ♦E depois atribui um peso em pontos de função para cada uma dessas funções
♦ Funções de Dados o Representam o armazenamento lógico dos dados o Refere-se a um grupo de dados logicamente relacionados e não a sua implementação física Arquivo Lógico Interno (ALI) Grupo de dados, logicamente relacionados, reconhecido pelo usuário, mantido por meio de um processo elementar da aplicação que está sendo contada Arquivo de Interface Externa (AIE) Grupo de dados, logicamente relacionados, reconhecido pelo usuário, mantido por meio de um processo elementar de outra aplicação e referenciado pela aplicação que está sendo contada. O AIE é obrigatoriamente um ALI em outra aplicação
♦ Funções de Transação o Representam as funcionalidades fornecidas aos usuários para realização das suas tarefas Entrada Externa (EE) Processo Elementar que mantem um ou mais ALI ou altera o comportamento do sistema. Consulta Externa (CE) Processo Elementar que apresenta dados recuperados de um ALI ou AIE Saída Externa (SE) Processo Elementar que apresenta dados após um processamento lógico adicional
o Menor Atividade Significativa para o usuário o Completo em si mesmo o Deixa o negócio em estado consistente Visão do Usuário o Descrição das necessidades do negócio sob o ponto de vista do usuário Fronteira o Interface conceitual, definida pelo usuário, que separa o sistema “interno” do mundo do usuário “externo” o Pode incluir mais de um sistema o Baseada nas funcionalidades do negócio, não na implementação tecnológica
♦ Identifique os Itens de Dados (ID) e Registros Lógicos (RL) para cada grupo de dados reconhecido pelo usuário ♦ Item de Dado é um campo único, não repetido, identificado pelo usuário ♦ Registro Lógico é um subgrupo de dados, identificado pelo usuário, dentro de um ALI ou AIE
a 19 IDs 20 a 50 IDs 51+ IDs 1 RL SIMPLES SIMPLES MÉDIA 2 a 5 RL SIMPLES MÉDIA COMPLE XA 6+ RL MÉDIA COMPLE XA COMPLE XA AIE 1 a 19 IDs 20 a 50 IDs 51+ IDs 1 RL SIMPLES SIMPLES MÉDIA 2 a 5 RL SIMPLES MÉDIA COMPLE XA 6+ RL MÉDIA COMPLE XA COMPLE XA Baixa Média Compl exa ALI 7 10 15 AIE 5 7 10
♦ Identifique os Itens de Dados (ID) e Arquivos Referenciados (AR) para cada Processo Elementar reconhecido pelo usuário o Arquivos Referenciados são os ALI e AIE identificados pelo usuário ♦ Adicione 1 Item de Dado para a capacidade de enviar mensagens ♦ Adicione 1 Item de Dado para a capacidade de executar a ação
a 4 IDs 5 a 15 IDs 16+ IDs 0 ou 1 AR SIMPLES SIMPLES MÉDIA 2 AR SIMPLES MÉDIA COMPLEXA 3+ AR MÉDIA COMPLEXA COMPLEXA CE 1 a 5 IDs 6 a 19 IDs 20+ IDs 1 AR SIMPLES SIMPLES MÉDIA 2 ou 3 AR SIMPLES MÉDIA COMPLEXA 4+ AR MÉDIA COMPLEXA COMPLEXA SE 1 a 5 IDs 6 a 19 IDs 20+ IDs 0 ou 1 AR SIMPLES SIMPLES MÉDIA 2 ou 3 AR SIMPLES MÉDIA COMPLEXA 4+ AR MÉDIA COMPLEXA COMPLEXA Baixa Média Complexa EE 3 4 6 CE 3 4 6 SE 4 5 7
NESMA o Determina-se a quantidade de Funções de Dados (ALI e AIE) e aplica-se a seguinte formula: PF = 35 x ALI + 15 x AIE o Utilizada para estudo de viabilidade de um projeto com pouca informação disponível sobre os requisitos
NESMA o Considera-se que todas as Funções de Dados (ALI e AIE) tenham complexidade BAIXA o Considera-se que todas as Funções de Transações (EE, CE e SE) tenham complexidade MÉDIA o Utilizada na fase inicial do projeto, onde temos um escopo um pouco mais detalhado
IFPUG o Determina-se a complexidade das Funções de Dados (ALI e AIE) através do detalhamento dos Itens de Dados e dos Registros Lógicos o Determina-se a complexidade das Funções de Transações (EE, CE e SE) através do detalhamento dos Itens de Dados e dos Arquivos Referenciados o Utilizada após o detalhamento dos requisitos pelo usuário
do Serviço Público ♦ Atualmente chamado de Sistema de Administração dos Recursos de Tecnologia da Informação ♦ Regulamenta a padronização do uso da métrica de pontos de função pelo Governo Federal e suas Unidades Federativas ♦ É um roteiro complementar contendo questões não abordadas pelo manual do IFPUG mas que são vivenciadas no nosso dia a dia http://www.sisp.gov.br
Trata de mudanças em requisitos funcionais do sistema o Inclusão, alteração ou exclusão de funcionalidades ♦ Requisitos Funcionais descrevem o que o sistema faz com os dados manipulados pela aplicação o Validações de dados e execução de fórmulas e cálculos o Atualização de ALI e consulta de AIE o Alteração do comportamento do sistema
Trata de mudanças em requisitos não funcionais do sistema ♦ Requisitos não funcionais estão relacionados com o uso do sistema, ou seja, são requisitos técnicos, de segurança, de performance etc o Alteração na quantidade de linhas de um relatório ou criação de paginação o Replicação de funcionalidade: criar uma chamada a uma funcionalidade existente em outra tela o Permitir exclusão múltipla em uma funcionalidade que só permitia exclusão unitária
♦ 50% do valor para funcionalidades desenvolvidas ou alteradas pela empresa contratada ♦ 75% do valor para funcionalidades não desenvolvidas ou não alteradas pela empresa contratada ♦ 90% do valor para funcionalidades não desenvolvidas ou não alteradas pela empresa contratada e com necessidade de redocumentação da funcionalidade ♦ 100% do valor para demandas de desenvolvimento de novas funcionalidades
♦ Trata-se de demandas referentes a comportamento anormal ou indevido do sistema. o Caso a equipe de desenvolvimento constate a existência do erro, a demanda será tratada como Manutenção Corretiva o Caso o problema seja decorrente de regras de negócio ou utilização incorreta da funcionalidade, é realizado o calculo dos pontos nas funcionalidades onde o usuário reportou o erro ♦ Se existir documentação de testes da funcionalidade, é utilizado um Fator de Impacto de 15% da funcionalidade. Se não existir a documentação, é utilizado um Fator de Impacto de 20%
Funcionalidades executadas uma vez para: o Corrigir problemas de dados incorretos o Atualizar dados o Gerar relatórios ou arquivos específicos ♦ Essas funcionalidades não fazem parte da aplicação ♦ Recomenda-se armazenar o script para posterior reexecução
Especiais ♦ Consulta Prévia sem Atualização o Geração de uma consulta antes da criação de uma Apuração Especial o Deve ser solicitada pelo usuário para avaliação da viabilidade de execução de uma Apuração Especial o Interessante para evitar dados incorretos na base de dados ♦ Atualização de Dados com Consulta Prévia o Geração de procedimentos com base na consulta gerada anteriormente o É aplicado um Fator de Impacto de 60%
Especiais ♦ Atualização de Dados sem Consulta Prévia o Geração de procedimentos para atualização da base de dados o Normalmente são afetados múltiplos registros o Deve ser gerado um relatório de homologação da demanda para o usuário o Geralmente são classificadas como Entradas Externas ♦ Reexecução o Nova execução de Apuração Especial já executada pela contratada o É aplicado um Fator de Impacto de 10%
Especiais ♦ Geração de Relatórios o Geração de relatórios específicos em uma ou mais mídias para o usuário ♦ Atualização de Dados o Atualização de dados em um único registro, sem cálculos ou procedimentos complexos o Não existe reexecução nesses casos o É aplicado um Fator de Impacto de 10%
ideia clara do que quer pedir o Alterar o requisito durante o projeto implica em retrabalho ♦ Peça todas as alterações no mesmo momento o O custo para se alterar uma mesma função é fixo o Pedir várias alterações na mesma função em momentos diferentes, paga-se por várias alterações o Pedir várias alterações na mesma função no mesmo momento, paga-se por uma única alteração