GPS - Gestão de Projeto de Software

Documentos relacionados
Análise de Ponto de Função APF. Aula 04

Análise de Ponto de Função APF. Aula 05

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é:

Medidas de Esforço de Desenvolvimento de Software

Análise de Ponto de Função APF. Aula 03

Análise de Ponto de Função APF. Aula 01

ANÁLISE DE PONTOS DE FUNÇÃO E SUA IMPORTÂNCIA PARA PROJETOS DE DESENVOLVIMENTO DE SOFTWARE

Ciência da Computação ENGENHARIA DE SOFTWARE. Métricas e Estimativas do Projeto

Análise de Pontos de Função Carlos Eduardo Vazquez

Pontos de Função & Contagem de Software Aplicativo Middleware

Análise de Ponto de Função APF. Aula 02

Orientação prática para preenchimento da Planilha de Contagem NESMA (EFP)

FATTO CONSULTORIA E SISTEMAS

Pontos de Função - PF COCOMO

Síntese das discussões do fórum Livro-APF: Outubro/2012

Conceitos Básicos. Capítulo 1. Introdução. Medições

Medidas de Esforço de Desenvolvimento de Software

Caso Prático de Análise de Pontos de Função IFPUG Contatos do Google FATTO CONSULTORIA E SISTEMAS

Medidas de Esforço de Desenvolvimento de Software

Manual do Aplicativo de Configuração

MANUAL DO USUÁRIO Subunidade Acadêmica

Movimento do Caixa

Estudo de Caso - Sistema de Controle de Ponto

Infor LN Guia do usuário para estatísticas

Manual do Gerência do Cliente Resultados de Exames

Manual Converte-MV S_Line

Gerabyte AFV (Automação de Força de Venda) Manual do Aplicativo

"A estimativa de tamanho de software é o coração do processo de estimativas de um projeto de software". (PUTMAN,1992)

Bem-vindo ao tópico sobre os relatórios de imposto ampliados.

Ferramenta: Spider-CoCoMo

Versão do documento agosto Usando recursos avançados de geração de relatórios Soluções Ariba On-Demand

DOCUMENTAÇÃO SISTEMA DE ADMINISTRAÇÃO DE CONSULTÓRIO MÉDICO

Copyright Padrão ix Sistemas Abertos S/A. Todos os direitos reservados.

Manual do Usuário. Sistema Controle de Caixa (versão gratuita)

ANÁLISE DE PONTOS DE FUNÇÃO: CONCEITOS E PRÁTICAS DE CONTAGEM

Pontos de Função na Engenharia de Software

Assina Web S_Line Manual de Uso

Banco de Dados. SGBDs. Professor: Charles Leite

LIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES

Portal Educacional Professor On line

Implantando Pontos de Função com PSM

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

PROJETO DE BANCO DE DADOS

Revisão: Estimando o tamanho do projeto

SUMÁRIA 1. O QUE É O EOL? ACESSANDO O EOL TELA INICIAL EXAMES ADMISSIONAIS...5a7. 5. MUDANÇA DE FUNÇÃO...

Manual Pedido Eletrônico Orgafarma

Emissão de Recibos. Copyright ControleNaNet

2 O armazenamento local e o compartilhamento de dados estão sob seu controle

Engenharia de Software

Carnê de Pagamento. Copyright ControleNaNet

MANUAL DE OPERAÇÃO PROFESSOR. Página Inicial

Caso Prático de Análise de Pontos de Função COSMIC Contatos do Google FATTO CONSULTORIA E SISTEMAS

Manual Entradas. 1 Conceito. 2 Requisitos. 3 Configurações. Sumário. Entradas

O Seletor 2.0 o ajudará a selecionar os seguintes Evaporadores com Ar Forçado da Linha MIPAL:

CLARO BACKUP ONLINE Guia Prático

Manual de Versão Sistema Condomínio21

BETA SISTEMAS MÓDULO CAIXA 3.0. Instruções de uso do Caixa Beta:

Gabarito das Questões de Fixação do Livro "Análise de Pontos de Função: Medição, Estimativas e Gerenciamento de Projetos de Software"

Sistema NetConta I - Guia de Referência

Uso das ferramentas APF e COCOMO para estimativa da capacidade produtiva da TI

Engenharia de Software.

Manual. Portal de Seminovos

IMBARQ Portal imercado. Manual de Usuário

Medição, Estimativas e Gerenciamento de Projetos de Software

Atualizações de Software Guia do Usuário

Análise Estruturada. Análise Essencial e Estruturada

Relatório de Curva ABC

Professor Emiliano S. Monteiro

1 Montando relatórios personalizados no LimerSoft MasterReport (custo médio)

Atualizações de Software Guia do Usuário

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR Bacharelado em Ciência da Computação

e-sus Atenção Básica Manual de utilização do sistema Prontuário Eletrônico do Cidadão - PEC

WINTHOR UPGRADE VERSÃO 2

Ferramenta: Spider-APF. Manual do Usuário. Versão da Ferramenta:

Transcrição:

GPS - Gestão de Projeto de Software Aula 4 FPA ou APF Versão 1.0.2 em revisão! Professor Emiliano S. Monteiro

FPA, intro. Desenvolvido por Allan J. Albrecht da IBM em 1979. O método foi publicado pela primeira vez em 1979, depois em 1983. Em 1984, Albrecht refinou o método e, desde 1986, quando o Grupo Internacional de Usuários de Pontos de Função (IFPUG) foi criado, várias versões do Manual de Práticas de Contagem de Pontos de Função foram publicadas pelo IFPUG. A versão atual do Manual do IFPUG é 4.1. O FPA fornece um conjunto de regras para dimensionar funcionalmente o produto de trabalho de software. A técnica de Análise de Pontos de Função é usada para avaliar a funcionalidade fornecida pelo software. A medida está diretamente relacionada aos requisitos comerciais que o software deve atender. A análise de pontos de função é uma técnica estruturada de classificação de componentes de um sistema. É um método para dividir os sistemas em componentes menores, para que possam ser melhor compreendidos e analisados. Ele fornece uma técnica estruturada para resolução de problemas. A análise de pontos de função pode ser usada para determinar se uma ferramenta, um ambiente, uma linguagem é mais produtiva em comparação com outras dentro de uma organização ou entre organizações.

FPA, Não é... O FPA não é uma técnica de estimativa de esforço por si só. Obviamente, a relação entre o tamanho dos requisitos funcionais e o esforço de implementação pode ser e geralmente é bastante solto(bem vago!). Os pontos de função podem ser usados como (uma) entrada para modelos de estimativa mais complexos (como COCOMO), que devem levar em conta todos as outros formas de medir esforço. O FPA não é uma métrica de software - o tamanho funcional está sempre relacionado aos requisitos do usuário atendidos pelo software. Embora você possa contar e medir linhas de código ou complexidade de código, o tamanho funcional é o resultado de um processo analítico.

FPA, quando usar... O FPA pode ser útil para estimar o esforço de um projeto de software em um estágio inicial, quando os requisitos são conhecidos, mas os detalhes da implementação ainda não foram especificados ou avaliados. Os requisitos funcionais são refletidos no tamanho funcional, os requisitos não-funcionais precisam ser inseridos em um modelo de estimativa. Você precisa ter / usar um modelo bom e comprovado (e confiável), caso contrário, o tamanho funcional é inútil para essa finalidade. O FPA também pode ajudar a avaliar o "valor" de um aplicativo no sentido de "custos de recuperação". --- Imagine um índice! Eventualmente, no contexto das relações cliente / fornecedor de TI, o FPA pode ser usado como base para o cálculo de preços. Os clientes são faturados com base em um "preço por FPA" acordado, em vez de uma taxa horária.

FPA, quando não usar... Por definição, o FPA requer uma compreensão básica dos requisitos funcionais. Assim, se você não possui ou conhece os requisitos funcionais, será difícil, se não impossível, usar o FPA. O FPA também não é adequado para avaliar o desempenho de indivíduos, pois é uma classificação bastante holística para um aplicativo e não pode ser usado para dimensionar apenas partes dele.

Os cinco componentes dos pontos de função Funções de dados: 1. Arquivos lógicos internos 2. Arquivos de interface externa Funções Transacionais: 1. Entradas Externas 2. Saídas Externas 3. Consultas Externas

Funções de dados 1. Arquivos lógicos internos: Permite que os usuários utilizem os dados que são responsáveis pela manutenção do sistema. Exemplo, um piloto pode inserir dados de navegação por meio de uma exibição no cockpit antes da partida. Os dados são armazenados em um arquivo para uso e podem ser modificados durante a missão. Portanto, o piloto é responsável por manter o arquivo que contém as informações de navegação. Agrupamentos lógicos de dados em um sistema, mantidos por um usuário final, são chamados de Arquivos Lógicos Internos (ALI). O ALI é um grupo identificável pelo usuário de dados logicamente relacionados ou informações de controle mantidas dentro do limite (da aplicação) A principal intenção de um ALI é guardar os dados mantidos através de um ou mais processos elementares da aplicação que está sendo contada. Tabela ou XML!

Funções de dados 2. Arquivos de interface externa: Permite ao usuário final também estar relacionado a agrupamentos lógicos de dados. Nesse caso, o usuário não é responsável pela manutenção dos dados. Os dados residem em outro sistema e são mantidos por outro usuário ou sistema. O usuário do sistema que está sendo contado requer esses dados apenas para fins de referência. Exemplo, pode ser necessário que um piloto faça referência a dados de posição de um satélite ou uma instalação/estação terrestre durante o voo. O piloto não tem a responsabilidade de atualizar os dados nesses sites, mas deve referenciá-los durante o voo. Agrupamentos de dados de outro sistema que são usados apenas para fins de referência são definidos como Arquivos de Interface Externa (AIE). O AIE é um grupo identificável pelo usuário de dados logicamente relacionados ou informações de controle referenciadas pelo aplicativo, mas mantidas dentro do limite de outro aplicativo. A intenção principal de um AIE é manter os dados transferidos através de um ou mais processos elementares dentro do limite do aplicativo contado. Tabela externa! Exemplo: tabelas em bancos de terceiros.

Funções transacionais 1. Entrada Externa: Permite que um usuário mantenha os Arquivos Lógicos Internos (ALI) através da capacidade de adicionar, alterar e excluir os dados. Exemplo, um piloto pode adicionar, alterar e excluir informações de navegação antes e durante a missão. Nesse caso, o piloto está utilizando uma transação denominada Entrada Externa (EE). Uma entrada externa dá ao usuário a capacidade de manter os dados (Operações CRUD) em ALIs através da adição, alteração e exclusão de seu conteúdo. Uma entrada externa (EE) processa dados ou informações de controle que vêm de fora do limite do aplicativo que está sendo contado. A intenção principal de uma EI é manter uma ou mais ALI e / ou alterar o comportamento do sistema. 2. Saída Externa: A saída externa (SE) envia dados ou informações de controle fora do limite do aplicativo que está sendo contado. A intenção principal de um SE é apresentar informações ao usuário através da lógica de processamento, além de ou além da recuperação de dados ou informações de controle. A lógica de processamento deve conter pelo menos uma fórmula matemática ou cálculo, ou criar dados derivados. Um output externo também pode manter um ou mais ALIs e / ou alterar o comportamento do sistema. Permite ao usuário a capacidade de produzir saídas. Exemplo, um piloto tem a capacidade de exibir separadamente a velocidade no solo, a velocidade real do ar e a velocidade do ar calibrada. Os resultados exibidos são derivados usando dados que são mantidos e dados que são referenciados. Na terminologia do ponto de função, a exibição resultante é chamada de Saída Externa (SE). Saída de consultas ou exibição de dados

Incluir Excluir Editar Exportar Sistema externo XYZ Campo 1 cep Campo 2 Campo 3 Transacional GRID Sistema externo ABC Total Exibe + mostra um cálculo! Tabela Dados

Funções transacionais 3. Consultas externas: Uma Consulta Externa (CE) envia dados ou informações de controle fora do limite do aplicativo. A intenção principal de um inquérito externo é apresentar informações ao usuário através da recuperação de dados ou informações de controle. A lógica de processamento não contém dados derivados. Nenhuma ALI é mantida durante o processamento, nem o comportamento do sistema é alterado. Permite aos usuários acionar requisito de selecionar e exibir dados específicos dos arquivos. Para conseguir isso, um usuário insere informações de seleção que são usadas para recuperar dados que atendem aos critérios específicos. Nesta situação, não há manipulação dos dados. É uma recuperação direta das informações contidas nos arquivos. Exemplo, se um piloto exibe dados de liberação do terreno previamente definidos, a saída resultante é a recuperação direta das informações armazenadas. Essas transações são referidas como consultas externas (CE).

Funções transacionais 1. Entrada Externa: Permite que um usuário mantenha os Arquivos Lógicos Internos (ALI) através da capacidade de adicionar, alterar e excluir os dados. Exemplo, um piloto pode adicionar, alterar e excluir informações de navegação antes e durante a missão. Nesse caso, o piloto está utilizando uma transação denominada Entrada Externa (EE). Uma entrada externa dá ao usuário a capacidade de manter os dados em ALIs através da adição, alteração e exclusão de seu conteúdo. 2. Saída Externa: Permite ao usuário a capacidade de produzir saídas. Exemplo, um piloto tem a capacidade de exibir separadamente a velocidade no solo, a velocidade real do ar e a velocidade do ar calibrada. Os resultados exibidos são derivados usando dados que são mantidos e dados que são referenciados. Na terminologia do ponto de função, a exibição resultante é chamada de Saída Externa (SE). 3. Consultas externas: Permite aos usuários acionar requisito de selecionar e exibir dados específicos dos arquivos. Para conseguir isso, um usuário insere informações de seleção que são usadas para recuperar dados que atendem aos critérios específicos. Nesta situação, não há manipulação dos dados. É uma recuperação direta das informações contidas nos arquivos. Exemplo, se um piloto exibe dados de liberação do terreno previamente definidos, a saída resultante é a recuperação direta das informações armazenadas. Essas transações são referidas como consultas externas (CE).

Passos 1. Determinar o tipo de contagem 2. Identificar o escopo da contagem e a fronteira da aplicação 3. Contar funções do tipo dados 3.1. Determinação da complexidade e da contribuição 4. Contar funções do tipo transação 5. Determinar a contagem de pontos de função não ajustados 6. Determinar o valor do fator de ajuste 7. Calcula o número dos pontos de função ajustados

Como contar arquivos lógicos internos? São vistos como os dados lógicos da aplicação (tabelas e arquivos mantidos pela aplicação). Atenção: Localize os grupos de dados lógicos da aplicação nos diagramas de modelos de dados e diagramas de classe. Não considere relacionamentos N-N. Entidades fracas não são consideradas ALI (1-n). Nº ALI Simples x 7PF Nº ALI Médio x 10 PF Nº ALI Complexo x 15 PF

A contagem de arquivos de interface externa: No banco de dados são apenas referenciados pela aplicação pois são dados mantidos por outras aplicações. São com frequência arquivos usados para validar dados em um cadastro por exemplo. Nº AIE Simples: x 5 PF Nº AIE Média: x 7 PF Nº AIE Complexa: x 10PF

Contagem de Entradas Externas São funcionalidades que mantém os Arquivos Lógicos Internos ou alteram o comportamento da aplicação. São funcionalidades de inclusão, alteração e exclusão de dados, devem ser contadas separadamente. Se a aplicação possui processamento batch estas devem ser contadas. Nº EE Simples: x 3 PF Nº EE Média: x 4 PF Nº EE Complexa: x 6 PF CRUD

Contagem de consulta externa São funcionalidades que apresentam informações para o usuário sem o uso de processamento de cálculos. São processos elementares do ler e imprimir ou ler e apresentar dados, incluem aqui consultas, relatórios, geração de discos, cds, geração de arquivos que exportam dados, downloads de dados para fora do domínio da aplicação,etc. Nº CE Simples: x 3 PF Nº CE Média: x 4 PF Nº CE Complexa: x 6 PF

A contagem de saídas Externas São funcionalidades que apresentam para o usuário o resultados de cálculos. São consultas que geram totalizações, relatórios estatísticos, gráficos, relatórios com porcentagens e outras saídas de processamentos. Nº SE Simples: x 4 PF Nº SE Média: x 5 PF Nº SE Complexa: x 7 PF

Tabela de referência para contagem

Exemplo imagine um sistema simples (com uma tela apenas) de cadastro de alunos Funcionalidades: 1. Aluno 2. Incluir aluno 3. Alterar aluno 4. Excluir aluno 5. Consultar Aluno 6. Imprimir um registro de aluno 7. Imprimir listagem de alunos 8. Consultas Gerenciais (3 gráficos e 3 relatórios com dados calculados) 9. Consultar financeiro do aluno 10.Envio de email ao aluno 11.Consultar Status Aluno pelo site

Exemplo imagine um sistema simples (com uma tela apenas) de cadastro de alunos Funcionalidades: Qtde Tipo Complexidade Tamanho Aluno 1 ALI Simples=7 7 PF (1x7) Incluir aluno 1 EE Simples=7 7 PF (1x7) Alterar aluno 1 EE Simples=7 7 PF (1x7) Excluir aluno 1 EE Simples=7 7 PF (1x7) Consultar Aluno 1 EE Simples=7 7 PF (1x7) Imprimir um registro de aluno 1 SE Simples=7 7 PF (1x7) Imprimir listagem de alunos 1 SE Simples=7 7 PF (1x7) Consultas Gerenciais (3 gráficos e 3 relatórios com dados calculados) 6 SE Média=5 30 PF (6x5) Consultar financeiro do aluno 1 AIE Simples=5 5 PF (1x5) Envio de email ao aluno 1 SE Média=5 5 PF (1x5) Consultar Status Aluno pelo site 1 CE Simples=3 1 PF (1x3) ALI Arquivo lógico interno, AIE - Arquivo de Interface Externa, EE Entrada Externa, SE Saída Externa, CE Consulta Externa 90 PF

Passos 1. Determinar o tipo de contagem 2. Identificar o escopo da contagem e a fronteira da aplicação 3. Contar funções do tipo dados 4. Contar funções do tipo transação 5. Determinar a contagem de pontos de função não ajustados 6. Determinar o valor do fator de ajuste 7. Calcula o número dos pontos de função ajustados

1. Determinar o tipo de contagem Existem 3 tipos de contagem: Projeto de desenvolvimento Para sistemas novos Projeto de melhoria Para novas funcionalidades Aplicação Para sistemas já instalados

2. Identificar o escopo da contagem Definir a fronteira da aplicação Definir quais funções serão contadas O usuário determina o que para ele é a aplicação baseados nas funções que ele utiliza Arquivo ou Tabela Aplicação 1 Aplicação 2 Fronteira da Aplicação Neste exemplo temos: 3 aplicações Cada aplicação com seu arquivo lógico interno As aplicações fazem referências a arquivos de interface externa. Aplicação 3

3. Contar funções do tipo dado Funções do tipo dado são funcionalidades para o armazenamento de dados em arquivos. Estes arquivos podem ser mantidos pela aplicação de nosso interesse ou por aplicações de terceiros. Temos dois tipos de arquivos: ALI Arquivo lógico interno: São dados mantidos pela aplicação e alterados pelos processos das funcionalidades disponibilizados ao usuário. Podem parecer como tabelas de um banco de dados, mas um grupo de tabelas também pode ser considerado um ALI. São exemplos também: arquivos de senhas, arquivos de conexão, arquivos de configuração. Não são exemplos de ALI: arquivos temporários, viés de banco de dados e arquivos de backup. AIE Arquivo de interface externa: São arquivos de dados mantidos por outras aplicações.

3.1. Determinação da complexidade e da contribuição A complexidade é o quanto um arquivo pode tender para alterar as dimensões funcionais do sistema. Para calcular vamos contar... Tipos de dados (TD): Equivale a atributos de uma tabela Tipos de registros (TR): Equivale a tabelas Exemplo: Técnico Bolsa Funcionários IdFuncionário Salário Professor Orientador O usuário não vê 3 classes! Funcionários IdFuncionário Salário Bolsa Orientador Visão do usuário. Funcionário é um ALI As outras tabelas (Técnico e Professor) serão contadas como tipo de registro Os tipos de dados das tabelas (Técnico e Professor serão contados junto à funcionário)

3.1. Determinação da complexidade e da contribuição Tabela de complexidade: Tabela de contribuição: Após realizar todas as verificações de complexidade e contribuição, temos...

4. Contar funções do tipo transação As funções do tipo transação são o pilar do processamento do sistema. Estes processos básicos são também chamados de elementares : Entradas externas Saídas externas Consultas externas Entradas externas: Processo de controle Processa dados Inclui, exclui e altera dados Qualquer transação que mantenha arquivos lógicos internos Saída externas: Destinado a mostrar informações ao usuário ou a atender uma aplicação externa por meio de cálculo. Relatórios Consultas Apresentação de gráficos a partir de cálculos Consulta externas: Destinado a mostrar informações ao usuário ou a atender uma aplicação externa por consulta simples. Consultar registros por Id ou nome. Apresentar gráficos

4.1. Determinação da complexidade e da contribuição As funções do tipo transação são o pilar do processamento do sistema. Estes processos básicos são também chamados de elementares : Entradas externas Saídas externas Consultas externas Entradas externas: Processo de controle Processa dados Inclui, exclui e altera dados Qualquer transação que mantenha arquivos lógicos internos Saída externas: Destinado a mostrar informações ao usuário ou a atender uma aplicação externa por meio de cálculo. Relatórios Consultas Apresentação de gráficos a partir de cálculos. Consulta externas: Destinado a mostrar informações ao usuário ou a atender uma aplicação externa por consulta simples. Consultar registros por Id ou nome. Apresentar gráficos

4.1. Determinação da complexidade e da contribuição Tabela de complexidade: Tabela de contribuição:

4.1. Determinação da complexidade e da contribuição 1. Identificar processos elementares:

4.1. Determinação da complexidade e da contribuição 2. Classifique os processos quanto ao tipo de processo elementar:

4.1. Determinação da complexidade e da contribuição 3. Classifique os processos quanto ao tipo de dado:

4.1. Determinação da complexidade e da contribuição 4. Classifique os processos quanto aos arquivos referenciados:

4.1. Determinação da complexidade e da contribuição 5. Determine a complexidade:

4.1. Determinação da complexidade e da contribuição 5. Determine a contribuição de cada processo elementar:

4.1. Determinação da complexidade e da contribuição 5. Determine a contribuição total:

5. Calculo de pontos de função não ajustados

6. Determinar o valor do fator de ajuste O IFPUG determina esta etapa como opcional, portanto será 1. Valor de ponto de função não ajustado (VAF) = 1.

7. Calcula o número dos pontos de função ajustados DFP = (UFP + CFP) x VAF DFP: O número de pontos de função do projeto de desenvolvimento. UFP: Número de pontos de função não ajustados das funções disponíveis aos usuários após a instalação. CFP: Número de pontos de função não ajustados das funções de conversão, ou seja, as funções transitórias que são inutilizadas após a instalação. VAF: Valor do fator de ajuste. DFP = (29+0) x 1 DFP = 29