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



Documentos relacionados
Estima de pontos de caso de uso Trabalho substitutivo ao Projeto Integrador

Estimativa de Software Baseada em Ponto de Caso de Uso

Implantação de um Processo de Medições de Software

Pontos de Função. André Chastel Lima Andréia Ferreira Pinto Diego Souza Campos. Engenharia de Software Mestrado Ciência da Computação - UFMS

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função

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

Utilizando métricas para dimensionar um software.

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

Definition of a Measurement Guide for Data Warehouse Projects

UNICAMP Especialização em Engenharia de Software INF-322 Gerenciamento de Projetos de Software: Conceitos e Práticas. Equipe 9

Professor X Software Educativo: a difícil tarefa de escolher

Métricas para Contratação de Fábricas de Software - Pontos de Função

Diretrizes Propostas para Aplicação da APF em Programa Envolvendo Tecnologias Recentes Tais como Barramento, BPMS e Portal

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

MODELO CMM MATURIDADE DE SOFTWARE

Diretrizes Complementares para Aplicação da Análise de Pontos de Função no PAD

ENGENHARIA DE SOFTWARE I

Padrões de Qualidade e Métricas de Software. Aécio Costa

Como Definir Processos de Estimativas aderentes às Melhores Práticas do CMMI?

Planejamento de Projetos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Análise de Ponto de Função

Introdução - Cenário

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar

Histórico da Revisão. Data Versão Descrição Autor

Pontos de Função na Engenharia de Software

Análise de Pontos por Função

Engenharia de Requisitos

Plano de Gerenciamento do Projeto

Fábrica de Software 29/04/2015

APOO Análise e Projeto Orientado a Objetos. Requisitos

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Conceitos de Qualidade. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA

Estimativas de software

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática

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

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

Considerações no Projeto de Sistemas Cliente/Servidor

MINISTÉRIO DA INTEGRAÇÃO NACIONAL SECRETARIA EXECUTIVA DEPARTAMENTO DE GESTÃO ESTRATÉGICA COORDENAÇÃO-GERAL DE TECNOLOGIA DA INFORMAÇÃO ENCARTE R

Metodologia e Gerenciamento do Projeto na Fábrica de Software

Medição de tamanho para Sistemas de Data Mart

Relatório Gerencial. Coordenação de Tecnologia da Informação e Comunicação FUNDEPAG 17/01/2013

SISTEMA DE ADMINISTRAÇÃO DE LOCAÇÃO IMOBILIÁRIA LISTA DE ATUALIZAÇÕES NOVAS

Ricardo Roberto de Lima UNIPÊ APS-I. Históricos e Modelagem Orientada a Objetos

Engenharia de Software III

Estimativa por Use Case Point (UCP)

Prof. Marcelo Machado Cunha

ADM041 / EPR806 Sistemas de Informação

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

CMM - Capability Maturity Model

Processos de Desenvolvimento de Software

Engenharia de Software

ANEXO 6 Critérios e Parâmetros de Pontuação Técnica

CAPABILITY MATURITY MODEL INTEGRATION. Prof. Késsia R. C. Marchi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

Modelo para Documento de. Especificação de Requisitos de Software

Manual do Usuário Central de Agendamento. Versão 1.1

Métricas para Contratação de Desenvolvimento de Software

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

Pontos por Caso de Uso

Planejamento e Gerenciamento de Software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Gerenciamento de projetos.

Métricas para Contratação de Desenvolvimento de Software

Curva ABC. Tecinco Informática Ltda. Av. Brasil, º Andar Centro Cascavel PR

1

Introdução à Engenharia de Software

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

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

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

XDOC. Solução otimizada para armazenamento e recuperação de documentos

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

ANEXO 8 Planilha de Pontuação Técnica

Engenharia de Software

Análise de Pontos por Função - O Processo de contagem

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

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

Feature-Driven Development

Gerenciamento de Incidentes

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Copyright Total Metrics

Sistemas de Informação I

EMENTAS DAS DISCIPLINAS

Universidade Paulista

Uma Aplicação da Análise de Pontos de Função

ESTIMATIVAS BASEADA EM CASOS DE USO

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

Wilson Moraes Góes. Novatec

Sistemas de Gerenciamento de Banco de Dados

Manual Geral do OASIS

Contabilização de Pontos de Função

Pós Graduação Engenharia de Software

ERP Enterprise Resource Planning

Estabelecer os procedimentos para o gerenciamento dos sistemas e demais aplicações informatizadas do TJAC.

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Transcrição:

Uso da curva ABC na Técnica de Análise por Pontos de Função nas Estimativas de Projetos de Softwarea Ivanir Costa Melhorando a Relação com o Cliente Cronogramas Previsíveis Custos Previsíveis Funcionalidade Previsível

Desafios do Desenvolvimento de Software Tamanho dos Aplicativos Prazos e Custos dos Projetos de Software Estimativas Baseadas nos Requisitos Medir e Melhorar a Produtividade e a Qualidade O PAPEL DA GESTÃO DE PROJETOS... A ADMINISTRAÇÃO DE PROJETOS É UM PROCESSO EXTREMAMENTE ADEQUADO PARA LIDAR COM SITUAÇÕES DE MUDANÇAS

Melhoria Organizacional Mensuração do Processo Métricas Para Gerenciamento de Projetos Estimativas Produtividade Densidade de Defeitos etc. Benchmarking Estimativas Baseadas nos Requisitos Estimativas Baseadas nos Requisitos Entradas Ponderadas - Influências: Linguagem Conhecimento Metodologia Factores de Risco Tamanho Tecnologias Base Histórica

Objetivos da Análise de Pontos de Função Medir o software através da quantificação da funcionalidade solicitada e adquirida pelo cliente, tendo como base primária os requisitos do cliente Medir o desenvolvimento e manutenção de software independentemente da tecnologia utilizada na implementação Medir o desenvolvimento e manutenção de software consistentemente em todos os projetos e organizações Pontos de Função É Uma Unidade de Medida Entrada Externa Saída Externa Aplicativo Sendo Analisado Arquivos de Interface Externa Entrada Externa Consulta Externa Arquivo Lógico Interno Saída Externa Consulta Externa Outros Aplicativos Funcionalidade vista segundo a perspectiva do usuário

CRONOGRAMA DE ATIVIDADES Cronograma (dias) 10 20 30 40 50 60 70 80 90 Requisitos Completos Regras do Negócio Tamanho dos Requisitos Entendimento Mútuo (Cliente e Equipes) Suposições Documentadas Tamanho Estimado Estimar não é advinhar (chutar!)

Pontos de Função e CMM A APF é a métrica preferida para muitas atividades requeridas no nível 2 do SEI CMM Na próxima versão do CMM, Métricas tornarse-á uma Key Process Area ( Área Chave de Processo ) SEI Capability Maturity Model Controle 5. 5. OTIMIZAÇÃO OTIMIZAÇÃO Controle do do processo processo Mensuração 4. 4. GERENCIADO GERENCIADO do processo Mensuração do processo Definição 3. 3. DEFINIDO DEFINIDO do processo Definição do processo Controle 2. 2. REPLICÁVEL REPLICÁVEL gerencial básico Controle gerencial básico 1. INICIAL Ad hoc Níveis de Maturidade do Processo de Desenvolvimento de software Pontos de Função Não São Linhas de Código Independentes de tecnologia e plataforma Disponíveis cedo na fase de requisitos Unidade de medida consistente e objetiva, através do ciclo de vida do sistema Definem o aplicativo objetivamente, a partir do ponto de vista do cliente Definem uma série de aplicativos a partir da perspectiva do cliente e não do técnico Expressos em termos que os usuários podem facilmente compreender

CICLO DE VIDA DE PROJETO Consumo de recursos Execução Estruturação Encerramento Conceituaçãol Tempo (fases) I II III IV Como estimar os recursos nas diversas fases do desenvolvimento de software? Como Contar Pontos de Função Telas Relatórios Entradas Batch Tamanho Arquivos de Controle Arquivos de Referência Sinais

Passos na Contagem de PF Determine o Tipo de Contagem Identifique o Escopo da Contagem e a Fronteira da Aplicação Conte as Funções de Dados Conte as Funções Transacionais Determine os Pontos de Função Não Ajustados Determine o Factor de Ajuste Calcule os Pontos de Função Ajustados Visão Geral da APF: O Que é Contado EE P1 Registros de Funcionarios Atualizar Arquivo Funcionário ALI Arquivo Arquivo Funcionário P2 Produzir Relatório SE Relatório Resumo Semanal Semanal Chave CE Detalhes P3 Detalhes Arquivo Funcionário Arquivo Referên cia em Outro Sistema AIE Fronteira do Sistema

Problemas no uso da técnica APF Uso de pessoal experiente quando aplica-se métricas de estimativas em estágio de alto nível de abstração Corre-se o risco de se obter medidas incorretas que levarão a problemas sérios com relação ao tamanho do sistema e daí nos prazos, recursos e custos associados. A técnica APF original exige um certo nível de detalhamento e conhecimento das 5 Funções O ideal seria ter acesso a toda documentação disponível, tais como, telas de entrada e saída, layouts de relatórios, layouts das interfaces, definição dos arquivos de armazenamento, etc. Problemas no uso da técnica APF Alguns autores afirmam que apesar do bom resultado decorrente da aplicação da técnica de Pontos de Função nesses últimos anos, ela: Exige a aplicação de um método complexo, usa tabelas e fórmulas de cálculos de ajuste. Baseia-se no detalhamento dos requisitos para determinar seu tamanho, normalmente disponível depois de uma análise detalhada e até a construção de protótipo. Porém, na nossa cultura, os clientes logo no inicio da negociação exigem que seja dado o prazo e o custo do aplicativo, para que seja efetuado o contrato de desenvolvimento.

Problemas no uso da técnica APF Durante muitos anos tem-se tentado a divisão do contrato em duas partes: Implementação do Projeto Análise do Problema Desenvolvedor Cliente Abordagem semelhante a da engenharia civil. Inicialmente a contratação da análise do problema, e depois de efetuadas a análise e as estimativas, partir-se-ia para a contratação da implementação do projeto. O cliente inicialmente contrata um arquiteto que faz todo o mapeamento das necessidades gera um projeto arquitetônico. Dependendo do resultado da arquitetura o cliente pode decidir se constrói ou não o seu imóvel. Problemas no uso da técnica APF Análise do Problema Cliente Desenvolvedor Implementação do Projeto Infelizmente, até o momento, os clientes de empresas de informática somente fazem uma contratação de desenvolvimento se for lhes forem informados os custos e os prazos, logo no inicio das negociações, antes mesmo de se ter o domínio de todas as necessidades que deverão ser atendidas pelo aplicativo.

Problemas no uso da técnica APF Para diminuir o impacto desse problema Gustav Karner da Rational, propõe uma nova técnica de estimativa por UCP (Use Case Points), que parte do diagrama Use Case da UML e que descreve as funcionalidades do sistema de acordo com a forma de utilização do aplicativo pelos usuários. Dessa forma a estimativa pode ser realizada logo no inicio dos trabalhos, durante o mapeamento dos requisitos dos clientes ou usuários. Método de cálculo usando UCP Passos: Classificar os atores envolvidos em cada Caso de Uso. A classificação dos atores de um Caso de Uso permitirá calcularse um somatório de pontos não-ajustados, conforme mostra a tabela abaixo Tipo de ator Pe so Descrio Simples 1 Quando o ator representa um sistema externo que acessado atravs de uma API de programao ou outro acesso direto e local Mdio 2 Quando o ator representa um sistema externo, que reside em outro local, e acessado atravs de protocolo de comunicao tipo TCP/IP Complexo 3 Quando o ator representa um usurio que interage com o sistema atravs de uma interface grfica cliente-servidor ou WEB

Método de cálculo usando UCP Passos: Calcular o valor inicial do peso bruto dos Casos de Uso atravs da diviso dos Casos de Uso em trs nveis de complexidade, de acordo com o nmero de transaes envolvidas em seu processamento. Tipo de UCP Numero de Transaes Peso Simples At 3 1 Mdio 4 a 7 2 Complexo 7 ou mais 3 Peso de UCPs por número de transações Método de cálculo usando UCP O peso total no ajustado calculado pela usos: soma entre os pesos de atores e casos de UUCP = UAW + UUCW ONDE: UUCP (Unadjusted Use Case Point) UAW (Unadjusted Actor Weight) UUCW (Unadjusted Use Case Weight)

Método de cálculo usando UCP Como na APF os Use Case Points também devem ser ajustados através das duas fórmulas: TCF = 0.6 + (0.01 x TFactor) onde TCF - (Technical Complexity Factor) EF = 1.4 + (-0.03 x EFactor) onde EF (Environment Factor) Finalmente o Tamanho do aplicativo é dado em Pontos de Casos de Uso UCP = UUCP x TCF x EF A aplicao da Curva ABC Os princípios envolvidos na classificação ABC ou curva ABC é atribuído a Vilfredo Paretto, um italiano, que em 1897 executou um estudo sobre a distribuição de renda na Itália. Através desse estudo, ele percebeu que a distribuição de riqueza não se dava de maneira uniforme, havendo grande concentração de riqueza ( 80% ) nas mãos de uma pequena parcela da população ( 20% ).

A aplicao da Curva ABC O princípio de análise de Paretto tem sido estendido a outras áreas e atividades tais como a industrial e a comercial, sendo mais amplamente aplicado a partir da segunda metade do século vinte. Sua utilização como uma ferramenta gerencial na administração de estoques, na definição de políticas de vendas, no planejamento da logística de distribuição de produtos, na programação da produção e numa série de problemas usuais de empresas, de características industriais, comerciais ou de prestação de serviços têm-se mostrado de relevância significativa. A aplicao da Curva ABC Percentual do Valor de Consumo Atual 100 90 65 B C 50% A 20% 30% 0 20 50 100 Percentual de Número de Itens Esta classificação ABC de itens de estoque tida como típica apresenta uma configuração na qual 20% dos itens são considerados A e que correspondem por 65% do valor de demanda ou consumo anual. Os itens B representam 30% do total de número de itens e 25% do valor de demanda ou consumo anual. Tem-se ainda que os restantes 50% dos itens e 10% do valor de consumo anual serão considerados de classe C

A curva ABC na tcnica de Pontos de Funo Analisando-se os 5 componentes ou funções da técnica de Pontos de Função, notamos que elas foram classificadas por Albrecth como de baixa, média e alta complexidade. Para cada uma delas, Albretch através de estatísticas em centenas de projetos atribuiu pesos que representavam as complexidades de processamento dependente dos dados e registros lógicos manipulados. A curva ABC na tcnica de Pontos de Funo Para cada uma delas podemos aplicar o princpio da curva ABC, trabalhando-se com os pesos que representam as complexidades de processamento dependente de dados e registros lgicos manipulados e o percentual relativo da quantidade de componentes manipulados. Ex: Entradas Externas Percentual da quantidade de componentes ou funções 100 80 45 A B 35% 23 % C 20% 31 % 46% NÍVEL DE COMPLEXIDADE DOS COMPONENTES Por exemplo: Nas Entradas Externas de diversos projetos obtivemos: Classe A - 45% das entradas externas Peso 3 Classe B 35% das entradas externas Peso 4 Classe C 20% das entradas externas Peso 6 0 23 54 100 Percentual de Pesos (complexidade) dos itens de dados e arquivos lgicos manipulados

A curva ABC na tcnica de Pontos de Funo Gerente Contas Correntes Sistema clientes especiais Interfaces homem x máquina Acesso remoto através de um protocolo de comunicação Usuário (caixa) Requisito Exemplo: O sistema exemplo (subsistema ou módulo) deve aceitar um saque em conta feita pelo cliente no caixa da agência. Caso a conta não possua saldo suficiente o gerente da agência pode autorizá-lo fazendo com que a conta fique devedora. Não aceitar saque se o cliente possuir alguma restrição de crédito (situação da conta) ou se o sistema de clientes especiais não estiver ativo. Este sistema de clientes especiais fica localizado no computador central do banco. Ao final da transação o sistema deverá gerar um recibo de comprovação do saque ao cliente. Clculo dos Use Case Points para o requisito Exemplo Gerente Usuário (caixa) Interfaces homem x máquina Saque em conta Acesso remoto através de um protocolo de comunicação Sistema clientes especiais UAW = (2 (atores interagindo) x 3 (peso)) + (1 (outro sistema) x 2) = 8 pontos não ajustados. No nosso exemplo teremos, aplicando a terceira forma o Peso 10, já que a interface envolve dois atores e no mínimo duas entidades no banco de dados, Cliente e Conta. UUCP = 8 + 10 = 18 - Total do peso não ajustado do requisito. TCF = 0.6 + (0.01 x 11) = 0,71 EF = 1.4 + (-0.03 x 6) = 1,22 UCP = 18 x 0,71 x 1,22 = 15,59 Pontos de Caso de Uso do Requisito 15,59 Pontos de Caso de Uso x 20 horas (por ponto UC) = 312 horas para o desenvolvimento do projeto. Considerando-se 140 horas úteis de trabalho por mês teremos: 312 / 140 = 2,23 meses.

Clculo do total de Pontos de Funo para o requisito Exemplo Gerente Usuário (caixa) Interfaces homem x máquina Saque em conta Acesso remoto através de um protocolo de comunicação Sistema clientes especiais TPFEE = (0.45 x TEE x 3) + (0.35 x TEE x 4) + (0.20 x TEE x 6) onde TPFSE = (0.45 x TSE x 4) + (0.35 x TSE x 5) + (0.20 x TSE x 7) onde TPFCE = (0.45 x TCE x 3) + (0.35 x TCE x 4) + (0.20 x TCE x 6) onde TPFALI = (0.45 x TALI x 7) + (0.35 x TALI x 10) + (0.20 x TALI x 15) onde TPFAIE = (0.45 x TAIE x 5) + (0.35 x TAIE x 7) + (0.20 x TAIE x 10) onde O total de pontos de função brutos do aplicativo será calculado conforme a fórmula: TPF = TPFEE + TPFSE + TPFCE + TPFALI + TPFAIE Onde TPF é o total de pontos de função brutos do aplicativo. Para se encontrar o número de pontos de função ajustado deve-se aplicar as mesmas regras da técnica APF proposta por Albrecht. Clculo do total de Pontos de Funo para o requisito Exemplo Gerente Usuário (caixa) Interfaces homem x máquina Saque em conta Acesso remoto através de um protocolo de comunicação Sistema clientes especiais Analisando o requisito vemos que temos: 2 entradas externas A entrada oriunda do caixa do banco e do gerente. 1 saída externa A saída gerada pelo sistema quando emite o recibo ao cliente. 3 arquivos lógicos internos Entidades cliente, conta e movimento da conta. 1 arquivo de interface externa Acesso ao sistema central para verificação de cliente especial. TPF = 10+4,5+ 28,95+ 6,7 = 50,15 PONTOS DE FUNÇÃO NÃO AJUSTADOS TPFA = TPF x (0,65 + (0,01 x 33)) = 50,15 x 0,98 = 49,9 PONTOS DE FUNÇÃO AJUSTADOS

Total de Pontos de Funo para o requisito - Exemplo Gerente Usuário (caixa) Interfaces homem x máquina Saque em conta Acesso remoto através de um protocolo de comunicação Sistema clientes especiais Usando-se um índice de produtividade igual a 4 (pressupõe-se uso de ferramentas de produtividade, uso de OO, reuso de código e linguagem do tipo JAVA) e aplicando-se COCOMO para o cálculo do esforço necessário ao desenvolvimento do aplicativo e ainda considerando-se o número de horas mensal igual a 140 horas, vamos obter: meses PO (prazo ótimo) = 2,4 A partir do número de pontos de função ajustados e de uma base histórica de medidas do desenvolvimento de software pode-se chegar ao tamanho do aplicativo, ao prazo ótimo e a distribuição CONCLUSÃO VERIFICAMOS QUE NO NOSSO PEQUENO E SIMPLES EXEMPLO QUE OS PRAZOS FICARAM MUITO PRÓXIMOS: 2,23 meses na técnica UCP e 2,4 meses na técnica de pontos por função Porém a técnica de Pontos de Função usa valores matemáticos estatísticos já comprovados e nos dá uma certeza mais confiável devido aos vários anos de uso e a sua comprovação na prática. Nota-se também que os valores usados na técnica UCP são mais empíricos e mais dependentes de julgamentos do que a APF, mesmo com o uso da curva ABC.

CONCLUSÃO COMO AMBAS AS TÉCNICAS SÃO EXTREMAMENTE SIMPLES QUANDO APLICADAS A NÍVEL DE REQUISITOS, SUGERIMOS QUE OS ANALISTAS APLIQUEM AS DUAS E FAÇAM UMA ANÁLISE DAS DIFERENÇAS APRESENTADAS, O QUE PODERÁ MELHORAR O AJUSTE DOS VALORES. NÃO PODEMOS ESQUECER QUE DEVEMOS APLICAR NOVAMENTE AS TÉCNICAS AO FIM DA ANÁLISE E SE POSSÍVEL AO FIM DO DESIGN PARA QUE AO LONGO DO TEMPO POSSAMOS TER OS PESOS E ÍNDICES DE PRODUTIVIDADE MAIS PRÓXIMOS DE NOSSA REALIDADE. ENTENDER O TAMANHO DO SOFTWARE A CHAVE PARA ENTENDER A PRODUTIVIDADE E A QUALIDADE SEM UMA MTRICA DE TAMANHO CONFIVEL AS MUDANAS RELATIVAS NA PRODUTIVIDADE E AS MUDANAS RELATIVAS NA QUALIDADE (DEFEITOS) NO PODEM SER CALCULADAS IVANIR COSTA E-MAIL icosta@atech.br E-MAIL ivanir.costa@poli.usp.br