Bruno Hott. Aula: Análise de Pontos de Função (FPA)

Documentos relacionados
Análise de Pontos de Função

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

Revisão: Estimando o tamanho do projeto

Estimação com Métricas Indiretas e Contagem de Pontos de Função

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

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

Medidas de Esforço de Desenvolvimento de Software

Medidas de Esforço de Desenvolvimento de Software

FATTO CONSULTORIA E SISTEMAS

Function Point Analysis: Uma Aplicação na Gestão de Projetos de Manutenção de Software

Medição de Pontos por Função a Partir da Especificação de Requisitos

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

APENSOS AO TERMO DE REFERÊNCIA (Anexo II)

Medidas de Esforço de Desenvolvimento de Software

Aula 05 - ES - Métricas de Software

Análise de Pontos de Função. Por Denize Terra Pimenta

Uso das Ferramentas APF e COCOMO para Estimativa da Capacidade Produtiva da TI

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

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

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

INICIAÇÃO DO PROJETO PLANEJAMENTO PRELIMINAR. Engenharia de Software INE Planejamento de projetos de SW. O Planejamento de projetos de SW

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

Engenharia de Software

Métricas de processo e projeto de software

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

FATORES E MÉTRICAS DE QUALIDADE

Utilizando um modelo de maturidade para implementar um programa de métricas. Márcio Silveira EDS - - Electronic Data Systems do do Brasil Ltda.

Práticas de Contagem. - Data Warehouse. - Workflow. - Mudança de tipo. - Drop-down. - Mudança de tamanho de campo. - Mudança de domínio

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

P R O C E SSO D E D E S E N VOLVIMENTO D E S O F T WAR E

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

Aplicação de Pontos por Função em Projetos que Usam Métodos Ágeis

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

Pontos por Caso de Uso

Gerenciando Ágil em Escala

Resgatando Projetos Com Problemas Usando Pontos de Função. Márcio Silveira, PMP HPE-ABS. Cristian Ferreira, CFPS Sigma.

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015

Desenvolvimento de um aplicativo para cálculo de Pontos de Função

Planejamento de Projeto de Software: Estimativas de Esforço e Custo

Métricas de Software

Estimativa por Use Case Point (UCP)

Gerência e Planejamento de Projeto. SCE Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002

Carlos Eduardo Vazquez 21/03/2015 FATTO CONSULTORIA E SISTEMAS

Plano de Projeto. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

FATTO CONSULTORIA E SISTEMAS

Gerenciamento Objetivo de Projetos com PSM

Pontos de Função na Engenharia de Software

Engenharia de Software II

Pontos de Função - PF COCOMO

Estimativa de Esforço. Estimativas de Software. Subjetividade da Estimativa. Incerteza de Estimativa. Técnicas de Estimativas

Gerência da Melhoria do Processo de S oftware através de Indicadores da Qualidade e P rodutividade. Software Measurement & IT Project Management

Desenvolvimento de Software com Análise Ponto de Função APF para Estimativa do Tempo e Custo do Projeto

UMA ANÁLISE DE MÉTRICAS DE SOFTWARE ORIENTADAS À FUNÇÃO E SUA APLICAÇÃO AO DESENVOLVIMENTO ORIENTADO A OBJETOS

DIEGO BOAVENTURA SILVA RODRIGO DOURADO SANTOS LOPES ESTIMATIVA DO TAMANHO DE SOFTWARE UTILIZANDO ANÁLISE DE PONTOS POR FUNÇÃO

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

FATTO CONSULTORIA E SISTEMAS

APLICAÇÃO DA ANÁLISE DE PONTOS DE FUNÇÃO NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

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

Estimativas e Métricas Engenharia de Software

Desmistificando Pontos de Função: Entendendo a Terminologia por Carol A. Dekkers, Quality Plus Technologies, Inc. dekkers@qualityplustech.

Pontos de Função & Contagem de Sistemas Data Warehouses

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

Implantando Pontos de Função com PSM

Dispositivos de Entrada. Dispositivos de Entrada. Data Glove. Data Glove. Profa. M. Cristina Profa. Rosane março 2006 março 2009

DISTRIBUINDO SUA APLICAÇÃO

23/12/ de 11. Consultoria e Sistemas FATTO CONSULTORIA E SISTEMAS. Estudo de Caso (versão 1.0) Pregão Eletrônico

Uso da curva ABC na Técnica de Análise por Pontos de Função nas Estimativas de Projetos de Software

Análise Estruturada. Análise Essencial e Estruturada

Métricas de Complexidade

Conceitos de Sistemas de Banco de Dados INE 5323

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

Métricas do processo e projeto de software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho

Uma ferramenta de cálculo de esforço para projetos de desenvolvimento de software baseada no método de Pontos de Função.

Redes Complexas Aula 3

GPCode SOFTWARE DIDÁTICO PARA CALCULAR OBSERVAÇÕES GPS

7. Gerenciamento dos Custos do Projeto. Bruno Hott

Aplicabilidade de Métricas por Pontos de Função a Sistemas Baseados em Web

APF. Métrica. Análise de Pontos de Função. Carlos J E de Campos. G u i a d e R e f e r ê n c i a C P M

Medidas do Esforço de Desenvolvimento de Software

CRISTIANE RIBEIRO DA CUNHA PROPOSTA DE UTILIZAÇÃO DE ANÁLISE DE PONTOS DE FUNÇÃO EM PROJETOS DESENVOLVIDOS COM FDD

RetiraAcentuação e PostCounter: Ferramentas de otimização e preparação de arquivos

ENGENHARIA DE SOFTWARE I AULA 3. Análise e diagramação. professor Luciano Roberto Rocha.

Análise de Ponto de Teste. Uma proposta de adaptação

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001

ANÁLISE DE PONTOS POR FUNÇÃO: UMA ANÁLISE COMPARATIVA DO PROCESSO DE CONTAGEM

Esta é uma tradução do trabalho de autoria da NESMA, cuja versão original em inglês está disponível em

GERENCIAMENTO DA QUALIDADE DO PROJETO

Prof. Luiz A. Nascimento

Índice. Escolha de um Computador

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SÃO PAULO IFSP CAMPUS PRESIDENTE EPITÁCIO

MapReduce Mapeando e reduzindo

APOSTILAS: NORMAS; ABNT NBR ISO; MPS BR

Introdução a Métricas de Software

Inferência Estatística: Conceitos Básicos II

PARTE I - FUNDAMENTOS DE PROJETOS DE COMPUTADORES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Aplicações da APF em Contratos de Desenvolvimento de Software

Transcrição:

Bruno Hott Aula: Análise de Pontos de Função (FPA)

Objetivos 1. Medir um software quantificando as funcionalidades requisitadas pelo cliente. 2. Medir o desenvolvimento e a manutenção do software independente da tecnologia utilizada para implementação. 3. Medir o desenvolvimento e a manutenção do software independente da tecnologia utilizada para implementação. Com relação aos objetivos 2 e 3, diversas organizações tem criado grandes repositórios de contagens de Pontos de Função (FP). Estes repositórios formam uma ferramenta poderosa para trabalhos de estimativas de software, pois permitem a comparação entre projetos similares que já foram desenvolvidos. 2

O que é um Function Point (FP)? FP é uma unidade padrão de medida que representa o tamanho funcional de uma aplicação. Da mesma maneira que uma casa é medida em metros quadrados, o tamanho de uma aplicação pode ser medida pelo número de pontos de função que ela entrega aos usuários da aplicação. Exemplo: Digamos que você vá construir uma casa com 200m². Se você utilizar materiais baratos, você construirá a $800 por m². O que dá $160,000. Se você utilizar materiais melhores e o custo for de $1,100, você desembolsará $220,000. 3

Notas introdutórias sobre FPA Medição é realizada pela perspectiva do usuário Baseada no visão do usuário sobre o sistema. Baseada no que o usuário pediu, não no que foi entregue. Baseada na maneira que o usuário interage com o sistema, incluindo as janelas que o usuário utiliza para entrar com dados e os relatórios que os usuários recebem como output. Baseado no entendimento do usuário dos dados que precisam ser armazenados e processados pelo sistema. Independente de tecnologia Apenas me mostre suas telas e suas tabelas de dados que calcularei o número de pontos de função para você. 4

Notas introdutórias sobre FPA Baixo custo Incorporar FPA ao desenvolvimento de software é fácil. Custos crescem em cerca de 1% Repetível Estudos mostram que diferentes contadores de ponto de função podem contar a mesma aplicação independentemente com uma acurácia de 10% entre eles. Sem essa característica não poderíamos confiar nos dados de centenas de aplicações armazenados em repositórios pelo mundo. Funciona bem com casos de uso Podendo inclusive funcionar com o conceito de histórias em Extreme Programming (XP) 5

Mais informações Grupo de usuários extenso International Function Point User Group (IFPUG) é uma organização governada pelos seus membros que consiste em mais de 1,200 membros ao longo de 30 países. Padrão ISO IFPUG v4.1 é um padrão ISO Padrão de facto FPs são utilizados como padrão de facto para estimativa de custo de aplicações assim como Cocomo II, Construx Estimate etc. Certified Funcition Point Specialist (CFPS) Certificação IFPUG. Counting Practices Manual (CPM) Manual oficial criado e distribuído pela IFPUG. FP data repositories Existem diversos repositórios grandes de dados de projetos que utilizaram FPA 6

Um pouco de história A história dos pontos de função começam com a introdução do conceito por Alan Albrecht em 1979 1979 FPs introduzidos por Alan Albrecht 1984 Primeiros guidelines para FP 1986 Criação do IFPUG 1994 CPM 4.0 2003 Padrão ISO 7

Os benefícios da Análise de Pontos de Função Entender o tamanho funcional das aplicações é uma mina de outo para outras informações que vão ajudar no trabalho de gerenciamento de projetos de desenvolvimento de software, incluindo: A habilidade de estimar precisamente: O custo do projeto A duração do projeto O tamanho da equipe do projeto Um entendimento de outras métricas importantes: Taxa de defeitos de um projeto Custo por FP FP's por hora (o que podemos chamar de velocidade ) Benefícios de produtividade ao se usar ferramentas novas ou diferentes 8

Processo de contagem em cinco passos 1. Determine o tipo da contagem 2. Identifique o escopo e as fronteiras da contagem 3. Determine a contagem de FP desajustada* 4. Determine o Valor do Fator de Ajustamento 5. Calcule a contagem de FP ajustada Introduziremos os passos 1, 2, 4 e 5 mais adiante. O passo 3 é onde a contagem de FP realmente acontece. 9

Cinco funções básicas Na contagem de Fps, existem cinco funções básicas que podem ser contadas. 1. Data Functions: 1. Internal Logical Files 2. External Interface Files 2. Transactional Funcitions: 1. External Inputs 2. External Outputs 3. External Inquiries 10

Cinco funções básicas Visão de uma aplicação em FPA 11

Cinco funções básicas Termos e definições importantes Identificável pelo usuário Este termo se refere aos requerimentos definidos para os processos que foram consentidos e entendidos pelos usuários e desenvolvedores Informação de controle Que influencia um processo elementar da aplicação que está sendo contada. Especifica qual, quando ou como os dados são processados Processo elementar Menor unidade de atividade que é significativa para o usuário Data Element Type (DET) Campo único, reconhecível pelo usuário e não repetível Ex.: campos de uma tabela do banco de dados Record Element Type (RET) Subgrupo de dados reconhecível pelo usuário Ex: múltiplos tipos de informações em uma mesma tabela. File Type Referenced (FTR) Pode ser tanto um ILF ou um EIF 12

(1) Data Functions Internal Logical Files (ILFs) ILFs representam dados que são armazenados e mantidos dentro dos limites da aplicação. IFPUG: "An ILF is a user-identifiable group of logically related data or control information maintained within the boundary of the application. The primary intent of an ILF is to hold data maintained through one or more elementary processes of the application being counted." Regras: 1. O grupo de dados ou informações de controle são identificados logicamente e pelo usuário 2. O grupo de dados é mantido por meio de um processo elementar nas fronteiras da aplicação. 13

(1) Data Functions Internal Logical Files (ILFs) Exemplos que podem ser ILFs: 1. Tabelas em uma banco relacional 2. Flat files 3. Informações de controle da aplicação, p ex, preferencias do usuário armazenadas pela aplicação 14

(1) Data Functions Internal Logical Files (ILFs) O propósito da primeira tabela é ajudar a determinar a complexidade do ILF como sendo Low (L), Average (A) ou High (H). Dado que você sabe qual é a complexidade do ILF, a segunda tabela nos dá o número de FPs que deve ser contada para o ILF em questão. RETS Data Element Type (DETs) 1-19 20-50 51+ 1 L L A 2-5 L A H 6+ A H H Matriz de complexidade ILF Complexity Points Low 7 Average 10 High 15 Pesos ILF 15

(1) Data Functions Internal Logical Files (ILFs) O propósito da primeira tabela é ajudar a determinar a complexidade do ILF como sendo Low (L), Average (A) ou High (H). Exemplo: Suponha que seja contado 5 DETs e 1 RET, logo teremos um ILF de complexidade baixa. Porém, se tem-se 21 DETs e 2 RETs, teremos um ILF de complexidade média RETS Data Element Type (DETs) 1-19 20-50 51+ 1 L L A 2-5 L A H 6+ A H H Matriz de complexidade ILF Complexity Points Low 7 Average 10 High 15 Pesos ILF 16

(2) Data Functions External Interface Files (EIFs) EIFs representam os dados que sua aplicação usará/referenciará, porém os dados não são mantidos pela sua aplicação. IFPUG: "An external interface file (EIF) is a user identifiable group of logically related data or control information referenced by the application, but maintained within the boundary of another application. The primary intent of an EIF is to hold data referenced through one or more elementary processes within the boundary of the application counted. This means an EIF counted for an application must be in an ILF in another application." Exemplos de EIFs são idênticos à lista para ILFs, novamente porém, EIFs não são mantidos pela aplicação em questão. 17

(2) Data Functions External Interface Files (EIFs) Calcular um valor FP para um EIF é o mesmo que calcular para ILF. Primeiramente, determine o número de DETs e RETs do EIF, então olhe na tabela sua complexidade. Então atribua os pesos correspondentes. Perceba que as tabelas são similares àquelas do EIFs, porém mais FPs são assinalados para ILFs do que para EIFs. Por quê? RETS Data Element Type (DETs) 1-19 20-50 51+ 1 L L A 2-5 L A H 6+ A H H Matriz de complexidade EIF Complexity Points Low 5 Average 7 High 10 Pesos EIF 18

(3) Transaction Functions - External Inputs (EI's) Processa dados de entrada (que vem de fora da aplicação) IFPUG: An external input (EI) is an elementary process that processes data or control information that comes from outside the application boundary. The primary intent of an EI is to maintain one or more ILFs and/or to alter the behavior of the system. Exemplos de EIs: Entrada de dados pelos usuários. Dados os arquivos alimentados por aplicações externas. 19

(3) Transaction Functions - External Inputs (EI's) Calcular FPs para EIs é similar ao processo dos ILFs e EIFs. Contudo, ao invés de se basear em DETs e RETs, vamos utilizar DETs e FTRs. Exemplo: suponha que um processo possua 5DETs e durante o processamento ele referencia um EIF chamado Users e um ILF chamado Process. Pela tabela, este EI é considerado de complexidade média (A). FTRs Data Element Type (DETs) 1-4 5-15 16+ 0-1 L L A 2 L A H 3+ A H H Matriz de complexidade EI Complexity Points Low 3 Average 4 High 6 Pesos EI 20

(4) Transaction Functions - External Outputs (EOs) Processa dados de saída (para fora da aplicação). IFPUG: An external output (EO) is an elementary process that sends data or control information outside the application boundary. The primary intent of an external output is to present information to a user through processing logic other than, or in addition to, the retrieval of data or control information. The processing logic must contain at least one mathematical formula or calculation, create derived data maintain one or more ILFs or alter the behavior of the system. Exemplos de EIs: Relatórios criados pela aplicação, onde o relatório inclui informação derivada (calculada) 21

(4) Transaction Functions - External Outputs (EOs) Calcular FPs para EOs é muito similar ao processo dos EIs. De novo, você observa os DETs e FTRs Exemplo: suponha que um processo possua 10DETs e referencie 2 FTRs. Pela tabela, este EO é considerado de complexidade média (A). FTRs Data Element Type (DETs) 1-5 6-19 20+ 0-1 L L A 2-3 L A H 4+ A H H Matriz de complexidade EO Complexity Points Low 4 Average 5 High 7 Pesos EO 22

(5) Transaction Functions - External Inquiries (EQs) Exive dados de saída (para fora da aplicação). IFPUG: An external inquiry (EQ) is an elementary process that sends data or control information outside the application boundary. The primary intent of an external inquiry is to present information to a user through the retrieval of data or control information from an ILF of EIF. The processing logic contains no mathematical formulas or calculations, and creates no derived data. No ILF is maintained during the processing, nor is the behavior of the system altered. Exemplos de EQs: Relatórios criados pela aplicação, onde o relatório não inclui nenhuma informação derivada (calculada) 23

(5) Transaction Functions - External Inquiries (EQs) Calcular FPs para EOs é muito similar ao processo dos Eis e EOs. De novo, você observa os DETs e FTRs Exemplo: suponha que um processo possua 20DETs e referencie 4 FTRs. Pela tabela, este EO é considerado de complexidade alta (H). Perceba que as tabelas são similares àquelas do EO, porém menos FPs são assinalados para EQs do que para EOs. Por quê? FTRs Data Element Type (DETs) 1-5 6-19 20+ 0-1 L L A 2-3 L A H 4+ A H H Matriz de complexidade EQ Complexity Points Low 3 Average 4 High 6 Pesos EQ 24

Contagem de Pontos de Função Juntas, estas duas data functions (ILFs e EIFs) e as três transactional functions (Eis, Eos, Eqs) representam os cinco tipos de funções que são contados em uma Contagem de Pontos de Função. 25