Guia de Contagem de Pontos de Função do DATASUS Versão 2.3

Visão do Projeto - Ministério da Saúde Visão do Projeto - Ministério da Saúde

fattocs.com.br
from fattocs.com.br More from this publisher

<strong>Guia</strong> <strong>de</strong> <strong>Contagem</strong> <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> <strong>do</strong> <strong>DATASUS</strong><strong>Versão</strong> <strong>2.3</strong>


<strong>Guia</strong> <strong>de</strong> <strong>Contagem</strong> <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> <strong>do</strong><strong>DATASUS</strong><strong>Versão</strong> <strong>2.3</strong>Data <strong>de</strong> Impressão29/04/13 16:04:04<strong>Guia</strong> <strong>de</strong> <strong>Contagem</strong> <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> <strong>do</strong> <strong>DATASUS</strong>


<strong>Guia</strong> <strong>de</strong> <strong>Contagem</strong> <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> <strong>do</strong><strong>DATASUS</strong><strong>Versão</strong> <strong>2.3</strong>Data <strong>de</strong> Impressão29/04/13 16:04:04Sumário1 INTRODUÇÃO...................................................................................................................................... 52 OBJETIVOS.......................................................................................................................................... 63 PREMISSAS ......................................................................................................................................... 64 ORDEM DE SERVIÇO ......................................................................................................................... 65 PROCESSO DE CONTAGEM ............................................................................................................ 75.1. REUNIR A DOCUMENTAÇÃO DISPONÍVEL .............................................................................................. 75.1.1. DOCUMENTAÇÃO PARA CONTAGEM ESTIMADA .................................................................................... 75.1.2. DOCUMENTAÇÃO PARA CONTAGEM DETALHADA ................................................................................. 85.2. DETERMINAR O ESCOPO E A FRONTEIRA DA CONTAGEM, IDENTIFICANDO OS REQUISITOSFUNCIONAIS DO USUÁRIO. .................................................................................................................................. 95.2.1. IDENTIFICAR O PROPÓSITO DA CONTAGEM .......................................................................................... 95.2.2. DETERMINAR O TIPO DE CONTAGEM .................................................................................................... 95.<strong>2.3</strong>. ESCOPO DA CONTAGEM..................................................................................................................... 105.2.4. FRONTEIRA DA APLICAÇÃO ................................................................................................................ 105.3. MEDIR FUNÇÕES DE DADOS ............................................................................................................... 115.3.1. DADOS DE NEGÓCIO .......................................................................................................................... 115.3.2. DADOS DE REFERÊNCIA ..................................................................................................................... 115.3.3. DADOS DE CÓDIGO ............................................................................................................................ 115.4. MEDIR FUNÇÕES DE TRANSAÇÃO....................................................................................................... 125.4.1. ENTRADAS EXTERNAS (EE)............................................................................................................... 125.4.2. SAÍDAS EXTERNAS (SE) .................................................................................................................... 125.4.3. CONSULTAS EXTERNAS (CE) ............................................................................................................ 125.5. CALCULAR TAMANHO FUNCIONAL ...................................................................................................... 125.5.1. TAMANHO FUNCIONAL DE UM PROJETO DE DESENVOLVIMENTO ....................................................... 135.5.2. TAMANHO FUNCIONAL DE UMA APLICAÇÃO ........................................................................................ 135.5.3. TAMANHO FUNCIONAL DE UM PROJETO DE MELHORIA ...................................................................... 135.6. DOCUMENTAR E REPORTAR ............................................................................................................... 136 SERVIÇO DE MANUTENÇÃO DE SOFTWARE .............................................................................136.1. MANUTENÇÕES ADAPTATIVAS OU EVOLUTIVAS ................................................................................ 146.1.1. FUNCIONAIS ........................................................................................................................................ 146.1.2. NÃO FUNCIONAIS ................................................................................................................................ 156.1.2.1. REDESENVOLVIMENTO DE SOFTWARE EM OUTRA PLATAFORMA ................................................. 156.1.2.2. ATUALIZAÇÃO DE PLATAFORMA .................................................................................................... 156.1.<strong>2.3</strong>. DESENVOLVIMENTO DE FUNCIONALIDADES PARA TABELAS DE CÓDIGO (CODE DATA) ............... 166.2. MANUTENÇÃO CORRETIVA ................................................................................................................ 166.2.1. CORREÇÃO DE ERROS (BUG) ............................................................................................................ 176.2.2. APURAÇÃO ESPECIAL ........................................................................................................................ 176.2.2.1. CORREÇÃO DE DADOS .................................................................................................................. 17<strong>Guia</strong> <strong>de</strong> <strong>Contagem</strong> <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> <strong>do</strong> <strong>DATASUS</strong>


<strong>Guia</strong> <strong>de</strong> <strong>Contagem</strong> <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> <strong>do</strong><strong>DATASUS</strong><strong>Versão</strong> <strong>2.3</strong>Data <strong>de</strong> Impressão29/04/13 16:04:046.2.2.2. RELATÓRIO DE VERIFICAÇÃO DE CORREÇÃO DE DADOS ............................................................. 186.2.<strong>2.3</strong>. GERAÇÃO DE RELATÓRIOS ........................................................................................................... 186.3. MANUTENÇÃO PERFECTIVA ............................................................................................................... 186.3.1. MANUTENÇÃO DE INTERFACE (CAMADA DE APRESENTAÇÃO) .......................................................... 186.3.2. MANUTENÇÃO PARA MELHORIA DE PERFORMANCE ........................................................................... 206.4. CONSIDERAÇÕES GERAIS DE CONTAGEM .......................................................................................... 206.4.1. MIGRAÇÃO DE DADOS ........................................................................................................................ 206.4.2. MÚLTIPLOS FORMATOS (MÚLTIPLAS MÍDIAS) ..................................................................................... 206.4.3. BUSINESS INTELLIGENCE ................................................................................................................... 216.4.4. SERVIÇOS MENSURADOS EM HORAS ................................................................................................. 216.4.5. PROGRAMAS BATCH .......................................................................................................................... 217 DIRETRIZES ESPECÍFICAS .............................................................................................................227.1. PADRONIZAÇÃO DE PASTAS ............................................................................................................... 227.1.1. NOMENCLATURA................................................................................................................................. 227.2. PADRONIZAÇÃO DAS CONTAGENS/ESTIMATIVAS ............................................................................... 237.2.1. NOMENCLATURA DE FUNÇÕES DO TIPO DADO ................................................................................... 237.2.2. NOMENCLATURA DE FUNÇÕES DO TIPO TRANSAÇÃO ........................................................................ 237.3. POLÍTICA DE AUDITORIA ..................................................................................................................... 237.4. DIVERGÊNCIAS ................................................................................................................................... 247.5. CONSIDERAÇÕES DE MUDANÇA DE REQUISITOS .............................................................................. 247.6. CONSIDERAÇÕES DE ESTIMATIVAS DE CONTAGENS .......................................................................... 247.7. PROCESSO DE REVISÃO DO GUIA DE CONTAGEM ............................................................................ 247.7.1. REVISÃO PARA CORREÇÃO DE INCONSISTÊNCIAS E SITUAÇÕES NÃO PREVISTAS .......................... 247.7.2. REVISÃO PARA ADOÇÃO DE NOVAS VERSÕES DO CPM [2] ............................................................. 258 REFERÊNCIAS BIBLIOGRÁFICAS .................................................................................................269 APROVAÇÃO .................................................................................... ERRO! INDICADOR NÃO DEFINIDO.<strong>Guia</strong> <strong>de</strong> <strong>Contagem</strong> <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> <strong>do</strong> <strong>DATASUS</strong>


<strong>Guia</strong> <strong>de</strong> <strong>Contagem</strong> <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> <strong>do</strong> <strong>DATASUS</strong>1 IntroduçãoO Tribunal <strong>de</strong> Contas da União (TCU) se pronunciou apontan<strong>do</strong> o Ponto <strong>de</strong> <strong>Função</strong> (PF) comosen<strong>do</strong> a unida<strong>de</strong> mais a<strong>de</strong>quada para <strong>de</strong>terminar o tamanho <strong>de</strong> qualquer sistema <strong>de</strong> informação. O<strong>DATASUS</strong> alinha<strong>do</strong> com a IN04 [7], que instrui que a contratação <strong>de</strong> serviços <strong>de</strong> Tecnologia daInformação – TI pela Administração Pública Fe<strong>de</strong>ral direta, autárquica e fundacional seja feita usan<strong>do</strong>métricas, indica<strong>do</strong>res e valores, também a<strong>do</strong>ta a técnica <strong>de</strong> Análise <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> (APF)como unida<strong>de</strong> <strong>de</strong> medida para apoiar o acompanhamento e controle <strong>do</strong> processo <strong>de</strong> <strong>de</strong>senvolvimentoe manutenção <strong>de</strong> software.A APF, técnica normatizada, <strong>de</strong>fendida e divulgada pelo International Funcion Point Users Group– IFPUG visa medir o tamanho <strong>de</strong> um software em termos significativos para os seus usuários, combase na visão <strong>de</strong> negócio. O ponto <strong>de</strong> função – PF é a unida<strong>de</strong> utilizada para tal fim e busca em umnúmero pon<strong>de</strong>rar os requisitos funcionais <strong>de</strong> armazenamento e processamento <strong>de</strong> uma aplicação. Asregras, procedimentos e práticas <strong>de</strong> contagem estão <strong>de</strong>fini<strong>do</strong>s no Manual <strong>de</strong> Práticas <strong>de</strong> <strong>Contagem</strong> –Counting Practices Manual – CPM [2].O méto<strong>do</strong> <strong>de</strong> APF <strong>do</strong> IFPUG é um padrão ISO e está em conformida<strong>de</strong> com a ISO/IEC20926:2009. O propósito é medir o tamanho funcional e não o tamanho técnico. O tamanho técnico,ou seja, não funcional <strong>de</strong>ve ser trata<strong>do</strong> como uma medida separada.É importante ressaltar que a técnica <strong>de</strong> APF foi concebida como uma medida <strong>de</strong> tamanhofuncional para projetos <strong>de</strong> <strong>de</strong>senvolvimento e <strong>de</strong> manutenção evolutiva ou melhoria (enhancement)<strong>de</strong> software. No entanto, os projetos <strong>de</strong> software não estão limita<strong>do</strong>s a isso. Assim, torna-se essenciala <strong>de</strong>finição <strong>de</strong> méto<strong>do</strong>s para o dimensionamento <strong>de</strong> tamanho <strong>de</strong> projetos <strong>de</strong> manutenção(maintenance) basea<strong>do</strong>s em <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> para que estes possam ser avalia<strong>do</strong>s e gerencia<strong>do</strong>scom base em uma métrica, conforme a instrução normativa supracitada.Para melhor aproveitamento da técnica, é importante uma interpretação por parte da organizaçãopara utilização <strong>do</strong> CPM [2]. Logo, esse guia serve como orientação adicional que possibilita umamenor curva <strong>de</strong> aprendiza<strong>do</strong> <strong>de</strong> novos profissionais <strong>de</strong> contagem, aumento da consistência entre ascontagens realizadas por diferentes profissionais, maior convergência entre as contagens, melhorcomunicação entre a organização e empresas contratadas e esclarecimento <strong>de</strong> pontos omissos <strong>do</strong>CPM [2].Página:5


2 ObjetivosEste <strong>do</strong>cumento tem como propósito apresentar um guia <strong>de</strong> contagem <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong>a<strong>de</strong>rente ao CPM [2], além <strong>de</strong> <strong>de</strong>finir os tipos <strong>de</strong> projetos <strong>de</strong> manutenção, uma sistemática paradimensionar o tamanho <strong>de</strong> tais projetos fundamentada na técnica <strong>de</strong> APF e a <strong>de</strong>finição <strong>de</strong> algunspontos que po<strong>de</strong>m gerar divergências <strong>de</strong> entendimento na aplicação da técnica.A forma <strong>de</strong> <strong>de</strong>finição <strong>de</strong> prazos não será apresentada neste guia e <strong>de</strong>ve seguir as regras<strong>de</strong>finidas em contrato entre o <strong>DATASUS</strong> e a empresa contratada.O guia <strong>de</strong> contagem apresenta ainda um entendimento conforme a realida<strong>de</strong> <strong>do</strong> <strong>DATASUS</strong> paraaplicação da técnica <strong>de</strong> APF.3 PremissasA concepção <strong>de</strong>ste guia utiliza as seguintes premissas: Fundamenta<strong>do</strong> nos conceitos, regras e <strong>de</strong>finições apresentadas no CPM [2], versão 4.3.1manti<strong>do</strong> pelo IFPUG;É aplica<strong>do</strong> a profissionais que já possui conhecimento da técnica <strong>de</strong> APF;Não se sobrepõe condições pré-fixadas em contratos entre o <strong>DATASUS</strong> e empresascontratadas para o <strong>de</strong>senvolvimento e/ou manutenção <strong>de</strong> software;A cada nova versão <strong>do</strong> CPM [2], publica<strong>do</strong> pelo IFPUG, este guia po<strong>de</strong> ser revisto e asalterações <strong>de</strong>vem ser discutidas entre o <strong>DATASUS</strong> e empresas contratadas;Alinha<strong>do</strong> com o Processo <strong>de</strong> Gerenciamento e Desenvolvimento <strong>de</strong> Sistemas – PGDS,versão 3.0.4 Or<strong>de</strong>m <strong>de</strong> ServiçoAo realizar a contagem <strong>de</strong> pontos <strong>de</strong> função para abertura <strong>de</strong> or<strong>de</strong>m <strong>de</strong> serviço, <strong>de</strong>ve-se atentara responsabilida<strong>de</strong> <strong>de</strong>finida para execução <strong>do</strong> serviço <strong>de</strong>manda<strong>do</strong>.As contagens <strong>de</strong> Or<strong>de</strong>ns <strong>de</strong> Serviços <strong>de</strong> re<strong>do</strong>cumentação consi<strong>de</strong>rarão todas as funções (da<strong>do</strong>se transações), aplican<strong>do</strong> o percentual para tal ativida<strong>de</strong>, conforme item 6.1.2.5. ‘Documentação <strong>de</strong>Página:6


sistemas lega<strong>do</strong>s’.As <strong>de</strong>mais situações que não estejam previstas neste guia <strong>de</strong>verão seguir as regras <strong>de</strong>finidas noCPM [2].5 Processo <strong>de</strong> contagemEsta seção tem como propósito apresentar o entendimento <strong>do</strong> CPM [2] para aplicação no<strong>DATASUS</strong>.5.1. Reunir a <strong>do</strong>cumentação disponívelConforme o CPM [2], “a <strong>do</strong>cumentação <strong>de</strong> suporte a uma contagem <strong>de</strong> pontos <strong>de</strong> função <strong>de</strong>ve<strong>de</strong>screver a funcionalida<strong>de</strong> entregue pelo software ou a funcionalida<strong>de</strong> impactada pelo projeto <strong>de</strong>software medi<strong>do</strong>”.Assim, a equipe gestora <strong>do</strong> sistema <strong>de</strong>ve fornecer <strong>do</strong>cumentação suficiente para conduzir acontagem <strong>de</strong> pontos <strong>de</strong> função, ou acesso a especialistas capazes <strong>de</strong> fornecer informaçõesadicionais para suprir quaisquer falhas na <strong>do</strong>cumentação.5.1.1. Documentação para contagem estimadaUma contagem estimada [12] po<strong>de</strong> ser utilizada quan<strong>do</strong> há pouco <strong>de</strong>talhamento <strong>do</strong>srequisitos funcionais da aplicação a ser <strong>de</strong>senvolvida, pouca <strong>do</strong>cumentação ou pouco tempopara a realização <strong>de</strong> uma contagem <strong>de</strong>talhada <strong>de</strong> pontos <strong>de</strong> função. É importante que algum<strong>do</strong>cumento apresente <strong>de</strong> forma clara as funcionalida<strong>de</strong>s e o escopo <strong>de</strong>sta.A contagem estimada visa fornecer um quantitativo <strong>de</strong> pontos <strong>de</strong> função que possanortear ações futuras com uma margem <strong>de</strong> erro aceitável e <strong>de</strong> forma rápida.Página:7


Na contagem estimada é feita apenas a i<strong>de</strong>ntificação das funções e <strong>de</strong>terminada umacomplexida<strong>de</strong> padrão, sen<strong>do</strong>: complexida<strong>de</strong> “baixa” para as funções <strong>do</strong> tipo da<strong>do</strong>s e “média”para as funções <strong>do</strong> tipo transação. Os valores <strong>de</strong> contribuição <strong>de</strong> pontos <strong>de</strong> função seguemas respectivas tabelas <strong>do</strong> CPM [2].As informações mínimas necessárias são: Documento <strong>de</strong> evidência <strong>de</strong> entrevista; Relação <strong>de</strong> funcionalida<strong>de</strong>s; Telas <strong>do</strong> sistema (se disponível). Documento <strong>de</strong> consenso (se disponível); Fluxo <strong>do</strong> negócio (se disponível); Lista <strong>de</strong> casos <strong>de</strong> uso (se disponível); Mo<strong>de</strong>lo <strong>de</strong> casos <strong>de</strong> uso (se disponível); Regras <strong>de</strong> negócios e requisitos (se disponível).5.1.2. Documentação para contagem <strong>de</strong>talhadaUma contagem <strong>de</strong>talhada [12] segue as regras <strong>de</strong>finidas no CPM [2]. Este tipo <strong>de</strong>contagem requer um maior <strong>de</strong>talhamento nos requisitos <strong>de</strong> forma a refletir o real tamanho <strong>do</strong>projeto.A contagem <strong>de</strong>talhada visa fornecer um quantitativo <strong>de</strong> pontos <strong>de</strong> função por meio dai<strong>de</strong>ntificação das funcionalida<strong>de</strong>s (processos elementares), i<strong>de</strong>ntificação <strong>do</strong>s tipos <strong>de</strong>funcionalida<strong>de</strong>s, complexida<strong>de</strong> <strong>de</strong> cada função e cálculo da quantida<strong>de</strong> <strong>de</strong> pontos <strong>de</strong> funçãonão ajusta<strong>do</strong>s.Os <strong>do</strong>cumentos necessários são: Documento <strong>de</strong> consenso (se disponível); Fluxo <strong>do</strong> negócio; Lista <strong>de</strong> casos <strong>de</strong> uso;Página:8


Matriz <strong>de</strong> rastreabilida<strong>de</strong>; Mo<strong>de</strong>lo <strong>de</strong> casos <strong>de</strong> uso; Mo<strong>de</strong>lo <strong>de</strong> banco <strong>de</strong> da<strong>do</strong>s; Regras <strong>de</strong> negócios e requisitos.5.2. Determinar o escopo e a fronteira da contagem, i<strong>de</strong>ntifican<strong>do</strong> os requisitos funcionais<strong>do</strong> usuário.Uma contagem <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> se inicia pela <strong>de</strong>finição <strong>do</strong> propósito da contagem e pelotipo <strong>de</strong> contagem. Após a <strong>de</strong>finição <strong>do</strong> propósito e <strong>do</strong> tipo <strong>de</strong> contagem, <strong>de</strong>ve-se i<strong>de</strong>ntificar oescopo e a fronteira da contagem <strong>de</strong>scrita nas subseções seguinte.5.2.1. I<strong>de</strong>ntificar o propósito da contagemO propósito <strong>de</strong> uma contagem <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> é fornecer uma resposta a umproblema <strong>de</strong> negócio. É o “por que” haverá a contagem <strong>de</strong> pontos <strong>de</strong> função.O propósito da contagem <strong>de</strong>termina o escopo da contagem.5.2.2. Determinar o tipo <strong>de</strong> contagemO CPM [2] <strong>de</strong>fine três tipos <strong>de</strong> contagem <strong>de</strong> Ponto <strong>de</strong> <strong>Função</strong>, a saber: Projeto <strong>de</strong> Desenvolvimento:Um projeto <strong>de</strong> <strong>de</strong>senvolvimento é um projeto para <strong>de</strong>senvolver e fornecer a primeiraversão <strong>de</strong> um software.O tamanho funcional <strong>do</strong> projeto <strong>de</strong> <strong>de</strong>senvolvimento é uma medida <strong>de</strong> funcionalida<strong>de</strong>oferecida aos usuários com a primeira instalação <strong>do</strong> software, conforme medi<strong>do</strong> pelacontagem <strong>de</strong> pontos <strong>de</strong> função <strong>do</strong> projeto <strong>de</strong> <strong>de</strong>senvolvimento pela ativida<strong>de</strong> <strong>de</strong> aplicação,o méto<strong>do</strong> <strong>de</strong> medição funcional (FSM) IFPUG. Projeto <strong>de</strong> Melhoria (Enhancement):Página:9


Um projeto <strong>de</strong> melhoria é um projeto para <strong>de</strong>senvolver e entregar manutençãoadaptativa. O tamanho funcional <strong>do</strong> projeto <strong>de</strong> melhoria é uma medida dasfuncionalida<strong>de</strong>s adicionadas, alteradas e excluídas na conclusão <strong>de</strong> um projeto <strong>de</strong>melhoria, conforme medi<strong>do</strong> pela contagem <strong>do</strong>s pontos <strong>de</strong> função <strong>do</strong> projeto <strong>de</strong> melhoriapela ativida<strong>de</strong> <strong>de</strong> aplicação <strong>do</strong> méto<strong>do</strong> <strong>de</strong> Medição <strong>de</strong> Tamanho Funcional (FSM) <strong>do</strong>IFPUG. Aplicação:Uma aplicação é uma coleção coesa <strong>de</strong> procedimentos automatiza<strong>do</strong>s e da<strong>do</strong>sapoian<strong>do</strong> um objetivo <strong>de</strong> negócio; isto consiste em um ou mais componentes, módulos, ousubsistemas.Um tamanho funcional <strong>de</strong> uma aplicação é uma medida <strong>de</strong> funcionalida<strong>de</strong> que umaaplicação oferece ao usuário, <strong>de</strong>termina<strong>do</strong> pela contagem <strong>de</strong> pontos <strong>de</strong> função daaplicação pela ativida<strong>de</strong> <strong>de</strong> aplicação <strong>do</strong> méto<strong>do</strong> <strong>de</strong> Medição <strong>de</strong> Tamanho Funcional(FSM) <strong>do</strong> IFPUG.No entanto, projetos <strong>de</strong> manutenção <strong>de</strong> software <strong>de</strong>vem ser classifica<strong>do</strong>s conforme<strong>de</strong>finições apresentadas no item 5 <strong>de</strong>ste guia.5.<strong>2.3</strong>. Escopo da <strong>Contagem</strong>No escopo, são <strong>de</strong>finidas quais as funcionalida<strong>de</strong>s contempladas na contagem <strong>de</strong>pontos <strong>de</strong> função. O escopo é <strong>de</strong>termina<strong>do</strong> pelo propósito da contagem. I<strong>de</strong>ntifica o(sub)conjunto <strong>do</strong> software que será dimensiona<strong>do</strong>. Um escopo <strong>de</strong> contagem po<strong>de</strong> contermais <strong>de</strong> uma aplicação. No entanto, a contagem <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> será realizadaseparadamente consi<strong>de</strong>ran<strong>do</strong> cada fronteira <strong>de</strong> aplicação.5.2.4. Fronteira da AplicaçãoA fronteira da aplicação indica o limite lógico entre o sistema que está sen<strong>do</strong> medi<strong>do</strong> e ousuário. É uma interface conceitual entre a aplicação (interno) e o mun<strong>do</strong> <strong>do</strong> usuário(externo). Depen<strong>de</strong> da visão <strong>do</strong> usuário da aplicação. Uma visão <strong>de</strong> usuário representa uma<strong>de</strong>scrição formal das necessida<strong>de</strong>s <strong>de</strong> negócio na linguagem <strong>do</strong> usuário, ou seja, é uma<strong>de</strong>scrição das funções <strong>de</strong> negócio, in<strong>de</strong>pen<strong>de</strong>nte <strong>de</strong> consi<strong>de</strong>rações técnicas ou <strong>de</strong>implementação.Página:10


5.3. Medir funções <strong>de</strong> da<strong>do</strong>sO CPM [2] <strong>de</strong>fine três tipos <strong>de</strong> da<strong>do</strong>s e a forma como são consi<strong>de</strong>ra<strong>do</strong>s na <strong>Contagem</strong> <strong>de</strong>Ponto <strong>de</strong> <strong>Função</strong> <strong>de</strong> uma aplicação. Os <strong>do</strong>is primeiros aten<strong>de</strong>m a requisitos funcionais <strong>de</strong> usuárioe o terceiro a requisitos técnicos.5.3.1. Da<strong>do</strong>s <strong>de</strong> NegócioEsses da<strong>do</strong>s representam a informação central trazida <strong>do</strong> mo<strong>de</strong>lo conceitual daaplicação. Representam as entida<strong>de</strong>s <strong>de</strong> negócio da aplicação, ainda que não se tenhanecessariamente uma relação um para um entre os grupos <strong>de</strong>sses da<strong>do</strong>s (Arquivos Lógicos)e as entida<strong>de</strong>s <strong>de</strong> negócio. As áreas funcionais da aplicação armazenam e recuperam essasinformações em atendimento a requisitos <strong>de</strong> usuário e, por aten<strong>de</strong>rem a requisitos funcionais,<strong>de</strong>vem ser conta<strong>do</strong>s como funções <strong>de</strong> da<strong>do</strong>s.5.3.2. Da<strong>do</strong>s <strong>de</strong> ReferênciaEsse tipo <strong>de</strong> da<strong>do</strong>s está liga<strong>do</strong> ao processamento <strong>de</strong> regras <strong>de</strong> negócio. Armazenamgran<strong>de</strong> parte das regras <strong>de</strong> negócio relacionadas às funções <strong>de</strong> negócio e servem para“suportar” as ativida<strong>de</strong>s principais <strong>do</strong> usuário no sistema.Esses da<strong>do</strong>s normalmente são manti<strong>do</strong>s por usuários <strong>de</strong> negócio. Sua alteração estáligada diretamente à alteração nas regras <strong>de</strong> negócio da aplicação e, por darem suporte aregras <strong>de</strong> negócios, são também conta<strong>do</strong>s como funções <strong>de</strong> da<strong>do</strong>s.Exemplo: Tabela <strong>de</strong> alíquota <strong>de</strong> imposto <strong>de</strong> renda para sistema <strong>de</strong> folha <strong>de</strong> pagamento.5.3.3. Da<strong>do</strong>s <strong>de</strong> CódigoTambém conheci<strong>do</strong>s como da<strong>do</strong>s <strong>de</strong> lista ou da<strong>do</strong>s <strong>de</strong> tradução, servem para converterinformações <strong>de</strong> sistema não familiares ao usuário em algo reconheci<strong>do</strong>, tais como asubstituição <strong>de</strong> um código (i<strong>de</strong>ntificação <strong>de</strong> um registro numa base <strong>de</strong> da<strong>do</strong>s) por seu títuloou nome. É utiliza<strong>do</strong> também para restringir valores váli<strong>do</strong>s para um <strong>de</strong>termina<strong>do</strong> campo <strong>de</strong>uma funcionalida<strong>de</strong>. Como aten<strong>de</strong> a requisitos técnicos, esse tipo <strong>de</strong> da<strong>do</strong> não é conta<strong>do</strong>como função <strong>de</strong> da<strong>do</strong> e as transações que os consultam ou atualizam também não sãocontadas como funções transacionais. Verificar o item 6.1.<strong>2.3</strong>. <strong>de</strong>ste <strong>do</strong>cumento paramensurar funcionalida<strong>de</strong>s <strong>de</strong>senvolvidas para manutenção <strong>de</strong> co<strong>de</strong> data.Página:11


5.4. Medir funções <strong>de</strong> transaçãoUm processo elementar é a menor unida<strong>de</strong> <strong>de</strong> ativida<strong>de</strong> i<strong>de</strong>ntificada pelo usuário. O processoelementar <strong>de</strong>ve ser autoconti<strong>do</strong> e <strong>de</strong>ixar a aplicação em um esta<strong>do</strong> consistente. Os processoselementares são representa<strong>do</strong>s pelas Funções <strong>de</strong> Transação e classifica<strong>do</strong>s em: Entrada Externa,Consulta Externa e Saída Externa.5.4.1. Entradas Externas (EE)Uma Entrada Externa é um processo elementar que processa da<strong>do</strong>s ou informações <strong>de</strong>controles vin<strong>do</strong>s <strong>de</strong> fora da fronteira da aplicação. A sua principal intenção é manter um ALIe/ou alterar o comportamento <strong>do</strong> sistema.A seguir são <strong>de</strong>scritas as diretrizes para contagem <strong>de</strong> algumas funcionalida<strong>de</strong>s <strong>de</strong>ssetipo, as quais apresentam características próprias.5.4.2. Saídas Externas (SE)A Saída Externa (SE) é um processo elementar que envia da<strong>do</strong>s para fora da fronteirada aplicação e sua principal intenção é apresentar informação ao usuário por meio <strong>de</strong> lógica<strong>de</strong> processamento adicional à recuperação <strong>de</strong> da<strong>do</strong>s ou informações <strong>de</strong> controle. Sua lógica<strong>de</strong> processamento <strong>de</strong>ve conter no mínimo uma fórmula matemática ou cálculo ou ainda criarda<strong>do</strong> <strong>de</strong>riva<strong>do</strong>. Esse processo po<strong>de</strong> manter um ou vários arquivos lógicos ou alterar ocomportamento <strong>do</strong> sistema.5.4.3. Consultas Externas (CE)A Consulta Externa (CE) é um processo elementar que envia da<strong>do</strong>s para fora dafronteira da aplicação e sua principal intenção é apresentar informação ao usuário por meioda recuperação <strong>de</strong> da<strong>do</strong>s ou informações <strong>de</strong> controle. Sua lógica <strong>de</strong> processamento nãoenvolve fórmula matemática, nem cálculo, não cria da<strong>do</strong> <strong>de</strong>riva<strong>do</strong>, nenhum arquivo lógico émanti<strong>do</strong> durante o processo e o comportamento <strong>do</strong> sistema também não é altera<strong>do</strong>.5.5. Calcular tamanho funcionalO cálculo <strong>do</strong> tamanho funcional <strong>de</strong>pen<strong>de</strong> diretamente <strong>do</strong> propósito e escopo da contagem e <strong>do</strong>tipo <strong>de</strong> contagem realiza<strong>do</strong>.Página:12


O <strong>DATASUS</strong> a<strong>do</strong>tará os cálculos propostos no roteiro <strong>de</strong> métricas <strong>de</strong> software [8] <strong>do</strong> SISP.5.5.1. Tamanho funcional <strong>de</strong> um projeto <strong>de</strong> <strong>de</strong>senvolvimentoConsi<strong>de</strong>ra todas as funções pertencentes ao escopo e as funções <strong>de</strong> conversão.O roteiro <strong>do</strong> SISP recomenda a criação <strong>de</strong> um projeto específico para o <strong>de</strong>senvolvimento<strong>de</strong> funções <strong>de</strong> conversão <strong>de</strong> da<strong>do</strong>s. O <strong>DATASUS</strong> a<strong>do</strong>tará esta prática.5.5.2. Tamanho funcional <strong>de</strong> uma aplicaçãoConsi<strong>de</strong>ra as funcionalida<strong>de</strong>s entregues após o projeto <strong>de</strong> <strong>de</strong>senvolvimento, a aplicaçãoem produção ou uma baseline da aplicação. Não são consi<strong>de</strong>radas quaisquer funções <strong>de</strong>conversão <strong>de</strong> da<strong>do</strong>s.5.5.3. Tamanho funcional <strong>de</strong> um projeto <strong>de</strong> melhoriaConsi<strong>de</strong>ra um projeto <strong>de</strong> melhoria <strong>de</strong> uma aplicação que terá funcionalida<strong>de</strong>s incluídas,alteradas ou excluídas.O IFPUG reconhece, como sen<strong>do</strong> passíveis <strong>de</strong> medição, apenas as manutençõesadaptativas. Entretanto, existem outros tipos <strong>de</strong> manutenção <strong>de</strong> software que geram esforçoe custo. O SISP, em seu roteiro <strong>de</strong> métricas <strong>de</strong> software [8], consi<strong>de</strong>ra estes outros tipos <strong>de</strong>manutenção <strong>de</strong> software. O <strong>DATASUS</strong> a<strong>do</strong>tará esta prática que está <strong>de</strong>scrita na seção 5<strong>de</strong>ste <strong>do</strong>cumento.5.6. Documentar e reportarA <strong>do</strong>cumentação da contagem será realizada em planilha eletrônica a<strong>de</strong>quada para arealida<strong>de</strong> <strong>do</strong> <strong>DATASUS</strong>, conten<strong>do</strong> todas as informações necessárias conforme o CPM [2].6 Serviço <strong>de</strong> Manutenção <strong>de</strong> SoftwareEsta seção tem como propósito <strong>de</strong>screver os diversos tipos <strong>de</strong> projetos <strong>de</strong> manutenção e mostraruma solução para o seu dimensionamento em <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong>, visto que o CPM [2] não contemplaprojetos <strong>de</strong> manutenção (maintenance), chama<strong>do</strong>s <strong>de</strong> Itens Não Mensuráveis – INM, mas apenas oPágina:13


<strong>de</strong> melhoria (enhancement)..O IFPUG reconhece que alguns tipos <strong>de</strong> manutenção, on<strong>de</strong> os requisitos funcionais não sãoaltera<strong>do</strong>s e não são passíveis <strong>de</strong> medição pela técnica, conforme o CPM [2]. Faz menção às<strong>de</strong>finições <strong>do</strong> Institute of Electrical and Electronics Engineers Inc. – IEEE [1] que <strong>de</strong>fine trêscategorias <strong>de</strong> manutenção:Manutenções adaptativas ou evolutivas (maintenance).Manutenções corretivas.Manutenções perfectivas.Quan<strong>do</strong> se trata <strong>de</strong> manutenção, o IFPUG consi<strong>de</strong>ra apenas os projetos <strong>de</strong> melhoria realiza<strong>do</strong>spara aten<strong>de</strong>r alterações em requisitos funcionais <strong>de</strong>fini<strong>do</strong>s pelo usuário. Desta forma, manutençõesadaptativas, corretivas e perfectivas que não alteram requisitos funcionais <strong>de</strong>fini<strong>do</strong>s pelo usuário nãosão passíveis <strong>de</strong> medição conforme a técnica <strong>de</strong> APF.Apesar <strong>de</strong>stas manutenções não serem passíveis <strong>de</strong> medição conforme a APF, o <strong>DATASUS</strong>enten<strong>de</strong> que existem tais <strong>de</strong>mandas e que seu tamanho <strong>de</strong>ve ser dimensiona<strong>do</strong>. Neste guia <strong>de</strong>contagem, o <strong>DATASUS</strong> apresenta um entendimento <strong>de</strong> como consi<strong>de</strong>rar tais projetos <strong>de</strong> manutençãopara fins <strong>de</strong> faturamento.6.1. Manutenções Adaptativas ou EvolutivasA modificação <strong>de</strong> um sistema, realizada após a entrega, para manter um software utilizável emum ambiente altera<strong>do</strong> ou em alteração. Manutenção adaptativa fornece as melhorias necessáriaspara adaptar as modificações no ambiente em que o software <strong>de</strong>ve funcionar. Essas mudançassão aquelas que <strong>de</strong>vem ser realizadas para regular com o ambiente em alteração. Por exemplo, osistema operacional <strong>de</strong>ve ser atualiza<strong>do</strong> e algumas alterações po<strong>de</strong>m ser feitas para adaptar onovo sistema operacional. (ISO/IEC 14764:2006).Uma manutenção adaptativa po<strong>de</strong> envolver mudanças em requisitos funcionais ou nãofuncionais (qualida<strong>de</strong> ou técnico) da aplicação. Assim, serão divididas em manutençõesadaptativas <strong>de</strong> requisitos funcionais e não funcionais.6.1.1. FuncionaisAs manutenções adaptativas que envolvem requisitos funcionais são consi<strong>de</strong>radas pelaPágina:14


APF como Projeto <strong>de</strong> Melhoria (enhancement). Estão associa<strong>do</strong>s às mudanças em requisitosfuncionais da aplicação, ou seja, a inclusão, alteração ou exclusão <strong>de</strong> funcionalida<strong>de</strong>s emaplicações em produção.6.1.2. Não funcionaisAs manutenções adaptativas envolvem requisitos não funcionais, ou seja, requisitos <strong>de</strong>qualida<strong>de</strong> ou técnicos que não são medi<strong>do</strong>s pela técnica <strong>de</strong> APF. Seguem os seguintes tipos<strong>de</strong> manutenção adaptativa nesta categoria: Re<strong>de</strong>senvolvimento <strong>de</strong> software em outra plataforma; Atualização <strong>de</strong> plataforma; Atualização em textos <strong>de</strong> mensagens exibidas ao usuário; Atualização em páginas estáticas <strong>de</strong> intranet, internet ou portal; Múltiplas mídias; Documentação <strong>de</strong> sistemas lega<strong>do</strong>s; Desenvolvimento <strong>de</strong> funcionalida<strong>de</strong>s para co<strong>de</strong> data.6.1.2.1. Re<strong>de</strong>senvolvimento <strong>de</strong> Software em outra PlataformaSão consi<strong>de</strong>ra<strong>do</strong>s nesta categoria projetos que precisam ser migra<strong>do</strong>s para outraplataforma.Exemplo: Um sistema lega<strong>do</strong> em ASP será re<strong>de</strong>senvolvi<strong>do</strong> em JAVA.Tais <strong>de</strong>mandas costumam surgir <strong>de</strong> sistemas lega<strong>do</strong>s, que frequentemente encontramsesem <strong>do</strong>cumentação ou com uma <strong>do</strong>cumentação <strong>de</strong>satualizada. Logo, estes projetosserão consi<strong>de</strong>ra<strong>do</strong>s como novos projetos <strong>de</strong> <strong>de</strong>senvolvimento, pois terão que passar porto<strong>do</strong> ciclo <strong>de</strong> <strong>de</strong>senvolvimento. Neste caso, os projetos <strong>de</strong>vem utilizar as <strong>de</strong>finições,regras e fórmulas para Projetos <strong>de</strong> Melhoria <strong>de</strong>finidas no CPM [2].6.1.2.2. Atualização <strong>de</strong> PlataformaPágina:15


São consi<strong>de</strong>radas nesta categoria <strong>de</strong>mandas para atualização em uma aplicaçãoexistente ou parte <strong>de</strong>la para executar em versões mais atuais <strong>de</strong> browsers (ex: versãoatual <strong>do</strong> Internet Explorer, Firefox etc.), <strong>de</strong> linguagens <strong>de</strong> programação (ex: versão maisatual <strong>do</strong> Delphi) ou <strong>de</strong> banco <strong>de</strong> da<strong>do</strong>s (ex: versão mais atual <strong>do</strong> Oracle). Também sãoconsi<strong>de</strong>radas nesta categoria aplicações Web <strong>de</strong>senvolvidas para executar em InternetExplorer que precisam executar também em browser em software livre.Em casos em que houver uma solicitação <strong>de</strong> <strong>de</strong>manda para alteração da plataforma <strong>de</strong>uma <strong>de</strong>terminada aplicação, esta solicitação será medida em pontos <strong>de</strong> função,conforme o CPM vigente <strong>de</strong> todas as funcionalida<strong>de</strong>s impactadas pela alteração.Posteriormente, para faturamento, serão consi<strong>de</strong>radas as etapas <strong>do</strong> Edital <strong>de</strong>contratação.6.1.<strong>2.3</strong>. Desenvolvimento <strong>de</strong> funcionalida<strong>de</strong>s para tabelas <strong>de</strong> código (Co<strong>de</strong>Data)Demandas <strong>de</strong> <strong>de</strong>senvolvimento <strong>de</strong> funcionalida<strong>de</strong>s consi<strong>de</strong>radas co<strong>de</strong> data (Da<strong>do</strong>s <strong>de</strong>Código) pela técnica não são mensuráveis em pontos <strong>de</strong> função. Também não sãomensura<strong>do</strong>s os processos elementares que consultam ou mantém estes arquivos. Noentanto, existe um esforço <strong>de</strong> custo e prazo para o <strong>de</strong>senvolvimento <strong>de</strong>stasfuncionalida<strong>de</strong>s.Caso estas funcionalida<strong>de</strong>s sejam requisitos <strong>do</strong> usuário, ou seja, houve uma solicitaçãoformal para a sua implementação, estas funcionalida<strong>de</strong>s serão medidas como requisitos<strong>de</strong> negócios (item 5). Se não forem requisito <strong>do</strong> usuário, estas funcionalida<strong>de</strong>s não serãomedidas, conforme CPM[2].6.2. Manutenção CorretivaA modificação reativa <strong>de</strong> um software realizada <strong>de</strong>pois da entrega para corrigir problemas<strong>de</strong>scobertos. A modificação corrige o software para satisfazer requisitos. (ISO/IEC14764:2006).Temos os seguintes tipos <strong>de</strong> manutenção corretiva:Correção <strong>de</strong> erros (bug);Apuração especial;Página:16


Manutenções corretivas <strong>de</strong>vem observar os prazos e condições <strong>de</strong> garantias estabelecidasem contrato, para <strong>de</strong>finir se serão cobradas ou não.6.2.1. Correção <strong>de</strong> Erros (bug)Quan<strong>do</strong> o sistema não estiver na garantia, esta manutenção <strong>de</strong>verá ser medida. A estimativae dimensionamento <strong>de</strong> tamanho <strong>de</strong> projetos <strong>de</strong> manutenção corretiva em <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong><strong>de</strong>vem levar em consi<strong>de</strong>ração a <strong>do</strong>cumentação <strong>do</strong> sistema disponível para auxílio nai<strong>de</strong>ntificação <strong>do</strong> erro e a real necessida<strong>de</strong> <strong>de</strong> intervenção no código da aplicação.Caso haja necessida<strong>de</strong> <strong>de</strong> intervenção no código, esta <strong>de</strong>manda <strong>de</strong>verá ser consi<strong>de</strong>radacomo uma manutenção adaptativa (item 6.1).6.2.2. Apuração EspecialSão funcionalida<strong>de</strong>s executadas apenas uma vez para correção <strong>de</strong> problemas <strong>de</strong> da<strong>do</strong>s.I<strong>de</strong>ntificamos os seguintes tipos para apuração especial:Correção <strong>de</strong> Da<strong>do</strong>s;Relatório <strong>de</strong> Verificação <strong>de</strong> Correção <strong>de</strong> Da<strong>do</strong>s;Geração <strong>de</strong> Relatórios.6.2.2.1. Correção <strong>de</strong> Da<strong>do</strong>sUma apuração especial para correção <strong>de</strong> da<strong>do</strong>s é um projeto para geração <strong>de</strong>procedimentos <strong>de</strong> atualização da base <strong>de</strong> da<strong>do</strong>s. Deve-se <strong>de</strong>stacar que estas funçõessão executadas apenas uma vez, não fazen<strong>do</strong> parte da aplicação, visan<strong>do</strong> à correção <strong>de</strong>da<strong>do</strong>s incorretos na base <strong>de</strong> da<strong>do</strong>s. Esta correção geralmente é oriunda <strong>de</strong> um erro naaplicação que gerou da<strong>do</strong>s inconsistentes ou errôneos.De acor<strong>do</strong> com o CPM [2], não existe alteração funcional na aplicação, porém existeesforço para a geração <strong>de</strong> um script para essa correção.Exemplo: Uma rotina não foi executada por algum problema no ambiente. Após aemissão <strong>de</strong> um relatório, foi constata<strong>do</strong> que os da<strong>do</strong>s não estão corretos <strong>de</strong>vi<strong>do</strong> a essafalha. Portanto, será elabora<strong>do</strong> um script a ser executa<strong>do</strong> uma única vez para atualização<strong>do</strong>s da<strong>do</strong>s..Página:17


6.2.2.2. Relatório <strong>de</strong> Verificação <strong>de</strong> Correção <strong>de</strong> Da<strong>do</strong>sEm alguns casos, o usuário solicita uma consulta prévia das informações corrigidas noitem acima para validação. É uma prática que visa garantir que as informações errôneassejam realmente corrigidas antes <strong>de</strong> ir para base <strong>de</strong> produção.6.2.<strong>2.3</strong>. Geração <strong>de</strong> RelatóriosUma apuração especial para geração <strong>de</strong> relatórios é um projeto para geração <strong>de</strong>relatórios em uma ou mais mídias para o usuário. Estas <strong>de</strong>mandas costumam surgir danecessida<strong>de</strong> <strong>de</strong> extração <strong>de</strong> da<strong>do</strong>s para outras aplicações.Deve-se <strong>de</strong>stacar que estas funções são executadas apenas uma vez, não fazen<strong>do</strong> parteda aplicação.6.3. Manutenção PerfectivaManutenção <strong>de</strong> um software após a entrega para <strong>de</strong>tectar e corrigir falhas ocultas no softwareantes que elas se manifestem como falhas. Manutenção perfectiva fornece melhorias para ousuário, melhoria da <strong>do</strong>cumentação <strong>do</strong> programa, e recodificação para melhorar a performance,manutenção ou outros atributos <strong>do</strong> software. Contraste com: manutenção adaptativa;manutenção corretiva. (ISO/IEC 14764:2006).6.3.1. Manutenção <strong>de</strong> Interface (Camada <strong>de</strong> Apresentação)Uma manutenção <strong>de</strong> interface, também chamada <strong>de</strong> alteração cosmética, é qualquermodificação na camada <strong>de</strong> apresentação da aplicação. Dentre as alterações cosméticaspo<strong>de</strong>m ser <strong>de</strong>stacadas:oAlteração <strong>de</strong> elementos na interface;• Alterações em literais em telas ou relatórios;• Mudanças em posições <strong>de</strong> campos <strong>de</strong> telas ou relatórios;• Alterações no logotipo <strong>de</strong> empresa;• Mudanças em fontes <strong>de</strong> letras, cores <strong>de</strong> letras, tamanho <strong>de</strong> letras, negrito,sublinha<strong>do</strong>, itálico etc.;Página:18


• Variáveis <strong>de</strong> paginação tais como: página x <strong>de</strong> y, apresentan<strong>do</strong> x-x’ <strong>de</strong> yregistros;• Mudança no logotipo da empresa.oModificação <strong>de</strong> layout;• Divisão ou junção <strong>de</strong> telas;• A<strong>de</strong>quação <strong>do</strong> sistema para novo padrão visual.oAtualização em Textos <strong>de</strong> Mensagens Exibidas ao Usuário.oParâmetros <strong>de</strong> Processamento• Alteração <strong>do</strong>s valores <strong>do</strong>s parâmetros, sem que a lógica <strong>de</strong>processamento tenha si<strong>do</strong> alterada.oCampos e Variáveis• Inclusão, alteração ou exclusão <strong>de</strong> campos e variáveis em programas etabelas, sem que tenha havi<strong>do</strong> mudança na funcionalida<strong>de</strong>;• Padronização <strong>de</strong> nomenclatura <strong>de</strong> campos e variáveis;• Validações <strong>de</strong> Java Script, não classifica<strong>do</strong>s como requisitos funcionais <strong>do</strong>usuário.oMenus• Adição ou reestruturação <strong>de</strong> menus <strong>de</strong> navegação estáticos;Deverão ser consi<strong>de</strong>ra<strong>do</strong>s somente itens <strong>de</strong> menu que acionemfuncionalida<strong>de</strong>s <strong>do</strong> sistema ou páginas estáticas. Itens <strong>de</strong>agrupamentos não <strong>de</strong>verão ser consi<strong>de</strong>ra<strong>do</strong>s.• Ajuda (Help estático);oCriação, alteração ou exclusão <strong>de</strong> páginas estáticas.• em sistemas• em portais.Página:19


6.3.2. Manutenção para melhoria <strong>de</strong> performanceEm casos em que houver uma solicitação <strong>de</strong> <strong>de</strong>manda para a melhoria <strong>de</strong> performance <strong>de</strong>uma <strong>de</strong>terminada aplicação, esta solicitação será medida em pontos <strong>de</strong> função, conforme oCPM vigente mas apenas das funcionalida<strong>de</strong>s impactadas pela melhoria <strong>de</strong> performance.Posteriormente, para faturamento, serão consi<strong>de</strong>radas as etapas <strong>do</strong> Edital <strong>de</strong> contratação.6.4. Consi<strong>de</strong>rações gerais <strong>de</strong> contagem6.4.1. Migração <strong>de</strong> da<strong>do</strong>sConforme menciona<strong>do</strong>, O SISP, em seu roteiro <strong>de</strong> métricas <strong>de</strong> software [8], recomenda asupressão <strong>do</strong> PFC (pontos <strong>de</strong> função <strong>de</strong> conversão <strong>de</strong> da<strong>do</strong>s) das fórmulas <strong>de</strong> contagem <strong>de</strong><strong>Pontos</strong> <strong>de</strong> <strong>Função</strong> <strong>de</strong> Projetos <strong>de</strong> Desenvolvimento e <strong>de</strong> Melhoria e o tratamento das funções<strong>de</strong> migração <strong>de</strong> da<strong>do</strong>s como projetos separa<strong>do</strong>s <strong>de</strong> migração <strong>de</strong> da<strong>do</strong>s.Os projetos <strong>de</strong> migração <strong>de</strong> da<strong>do</strong>s <strong>de</strong>vem ser conta<strong>do</strong>s como um novo projeto <strong>de</strong><strong>de</strong>senvolvimento <strong>de</strong> um sistema, contemplan<strong>do</strong> minimamente: os ALIs manti<strong>do</strong>s pelamigração, Entradas Externas – consi<strong>de</strong>ran<strong>do</strong> as cargas <strong>de</strong> da<strong>do</strong>s nos ALIs e caso sejasolicita<strong>do</strong> pelo usuário relatórios gerenciais das cargas, estes serão conta<strong>do</strong>s como SaídasExternas. Todas as contagens <strong>de</strong> pontos <strong>de</strong> função <strong>de</strong>vem ser realizadas com base nasfuncionalida<strong>de</strong>s requisitadas e recebidas pelo usuário.6.4.2. Múltiplos formatos (múltiplas mídias)Este seção <strong>de</strong>screve a situação em que a funcionalida<strong>de</strong> é entregue em mais <strong>de</strong> uma mídia.Normalmente as funcionalida<strong>de</strong>s são entregue em apenas uma mídia (exibição na tela,impressão ou pdf, por exemplo), contu<strong>do</strong> há situações em que o cliente solicita uma consultaou relatório com apresentação <strong>de</strong> da<strong>do</strong>s em tela, com opções para geração <strong>de</strong>ste relatórioem outras mídias e/ou formatos <strong>de</strong> apresentação (ex: pdf, excel, txt etc.).Nestes casos não há quebra na unicida<strong>de</strong> <strong>do</strong> processo elementar, portanto não serãoconsi<strong>de</strong>ra<strong>do</strong>s PF adicionais ao projeto, ou seja, não serão conta<strong>do</strong>s como funcionalida<strong>de</strong>sseparadas.Vale lembrar que quan<strong>do</strong> houver diferença nos itens <strong>de</strong> da<strong>do</strong>s, arquivos referencia<strong>do</strong>s e/oulógica <strong>de</strong> processamento, cada camada <strong>de</strong> apresentação <strong>de</strong>ve ser contada como umPágina:20


processo elementar diferencia<strong>do</strong>. Neste caso existe quebra na unicida<strong>de</strong> <strong>do</strong> processoelementar, <strong>de</strong> acor<strong>do</strong> com os critérios <strong>do</strong> CPM [2].6.4.3. Business IntelligenceNos casos <strong>de</strong> solicitações em aplicações, para manutenção <strong>de</strong> interfaces com a ferramenta<strong>de</strong> business intelligence – BI consi<strong>de</strong>rar-se-á uma consulta externa ou saída externa paracada visão <strong>do</strong> projeto.Neste caso, a metrificação se justifica por haver esforço, para a manutenção <strong>de</strong>stas visões,uma vez que o custo e esforço para tal <strong>de</strong>veria ser inseri<strong>do</strong> em projeto <strong>de</strong> manutenção <strong>do</strong> BI.Porém, projetos <strong>de</strong> Business intelligence não será escopo <strong>de</strong> <strong>de</strong>mandas da fábrica <strong>de</strong>software.Nos casos <strong>de</strong> novos <strong>de</strong>senvolvimentos, ao <strong>de</strong>senvolvimento <strong>de</strong>stas visões já estarãoembutidas no projeto, não <strong>de</strong>ven<strong>do</strong> ser mensurada.6.4.4. Serviços mensura<strong>do</strong>s em horasEm alguns momentos po<strong>de</strong>m ser necessários a execução <strong>de</strong> algumas ativida<strong>de</strong>s específicasque não po<strong>de</strong>m ser mensuráveis por meio da APF. Para estes casos em que o Lí<strong>de</strong>r <strong>do</strong>Projeto (LP) solicitar um recurso da contratada para a execução <strong>de</strong> um serviço específico,este serviço será consi<strong>de</strong>ra<strong>do</strong> em horas e converti<strong>do</strong> para pontos <strong>de</strong> função utilizan<strong>do</strong> arazão horas/PF <strong>do</strong> contrato.Serão enquadra<strong>do</strong>s os serviços <strong>de</strong>correntes <strong>de</strong> solicitação <strong>do</strong> LP, com autorização dacoor<strong>de</strong>nação <strong>do</strong> <strong>DATASUS</strong> e executa<strong>do</strong>s no ambiente <strong>do</strong> <strong>DATASUS</strong> e que não estejamprevistos em contrato.O LP <strong>de</strong>verá atestar a quantida<strong>de</strong> <strong>de</strong> horas executadas.6.4.5. Programas BatchProgramas batch, em que os da<strong>do</strong>s não cruzam a fronteira da aplicação, serão consi<strong>de</strong>ra<strong>do</strong>s<strong>de</strong> forma equivalente aos processos elementares <strong>de</strong>fini<strong>do</strong>s pelo CPM, observan<strong>do</strong> as regrasdas funções <strong>de</strong> transação.Este item <strong>de</strong>verá ser consi<strong>de</strong>ra<strong>do</strong> apenas para projetos <strong>de</strong> manutenção. Em caso <strong>de</strong> novoPágina:21


<strong>de</strong>senvolvimento, o esforço necessário para realização <strong>do</strong> trabalho, já estará contempla<strong>do</strong> noprojeto.7 Diretrizes Específicas7.1. Padronização <strong>de</strong> pastas7.1.1. NomenclaturaSVN.As planilhas <strong>de</strong> contagem <strong>de</strong> ponto <strong>de</strong> função <strong>de</strong>verão ser armazenadas no repositórioA nomenclatura <strong>do</strong>s arquivos seguirão o seguinte padrão:oo“SiglaSistema_DemandaJira__”.Exemplo: “SIED_SIED-1_1D_DE.xlsx”; ou“SiglaSistema_DemandaSGCD__”.Exemplo: “SIED_0001623_1D_ES.xlsx”;On<strong>de</strong>:NumeroMedicao é um número sequencial <strong>de</strong> contagens <strong>do</strong> mesmo sistema.Tipo<strong>Contagem</strong> é o tipo <strong>de</strong> contagem <strong>de</strong> pontos <strong>de</strong> função.A – AplicaçãoD – DesenvolvimentoM – MelhoriaMéto<strong>do</strong><strong>Contagem</strong> é o méto<strong>do</strong> <strong>de</strong> contagem utiliza<strong>do</strong>DE – DetalhadaES – EstimadaPágina:22


7.2. Padronização das contagens/estimativasA padronização no registro das funcionalida<strong>de</strong>s visa facilitar na i<strong>de</strong>ntificação <strong>de</strong> funcionalida<strong>de</strong>sduplicadas e minimizar eventuais divergências entre a Equipe <strong>de</strong> métricas <strong>do</strong> DATASU e <strong>de</strong>maisparticipantes (analistas) ou com a empresa contratada.7.2.1. Nomenclatura <strong>de</strong> funções <strong>do</strong> tipo da<strong>do</strong>As funções <strong>do</strong> tipo da<strong>do</strong> <strong>de</strong>vem ser i<strong>de</strong>ntificadas <strong>de</strong> forma que o grupo <strong>de</strong> da<strong>do</strong>s sejafacilmente reconheci<strong>do</strong>.Deverá ser utiliza<strong>do</strong> o nome mais significativo para o grupo <strong>de</strong> da<strong>do</strong>s e em letras maiúsculas.Exemplo: Para o grupo lógico que armazena informações a respeito <strong>do</strong>s clientes, <strong>de</strong>verá ser<strong>de</strong>scrito na planilha o arquivo lógico CLIENTE.7.2.2. Nomenclatura <strong>de</strong> funções <strong>do</strong> tipo transaçãoAs funções <strong>do</strong> tipo transações <strong>de</strong>vem ser i<strong>de</strong>ntificadas inician<strong>do</strong> por verbo no infinitivo que<strong>de</strong>screva a ação em questão, segui<strong>do</strong> <strong>do</strong> nome da funcionalida<strong>de</strong> ou grupo lógico. Devem-seutilizar verbos que estejam relaciona<strong>do</strong>s ao negócio <strong>do</strong> sistema.Exemplo: Para as funcionalida<strong>de</strong>s que mantém as informações a respeito <strong>do</strong>s clientes,<strong>de</strong>verão ser <strong>de</strong>scritas na planilha como Incluir clientes, Alterar Clientes.7.3. Política <strong>de</strong> AuditoriaAs estimativas <strong>de</strong> tamanho funcional para a abertura das or<strong>de</strong>ns <strong>de</strong> serviço serão realizadas pelaEquipe <strong>de</strong> Métricas <strong>do</strong> <strong>DATASUS</strong> e aferidas pela contratada, a fim <strong>de</strong> validar a quantida<strong>de</strong> <strong>de</strong> PFinformada na or<strong>de</strong>m <strong>de</strong> serviço.Juntamente com o produto final, a contratada <strong>de</strong>verá apresentar a contagem <strong>de</strong> pontos <strong>de</strong> função<strong>de</strong>talhada para aferição e validação por parte da Equipe <strong>de</strong> Métricas <strong>do</strong> <strong>DATASUS</strong>.O <strong>DATASUS</strong> po<strong>de</strong>rá realizar auditorias nas contagens realizadas pelas contratadas, sempre queachar necessário e periodicamente, por amostragem.Página:23


7.4. DivergênciasEm caso <strong>de</strong> divergências, o <strong>DATASUS</strong> <strong>de</strong>verá <strong>de</strong>finir a solução para cada caso.7.5. Consi<strong>de</strong>rações <strong>de</strong> Mudança <strong>de</strong> RequisitosEm projetos <strong>de</strong> software, é bastante comum ocorrem mudanças <strong>de</strong> requisitos no <strong>de</strong>correr <strong>do</strong>projeto ou da <strong>de</strong>manda <strong>de</strong> manutenção. É durante o levantamento/especificação da <strong>de</strong>manda ou<strong>do</strong> requisito que os usuários e os analistas <strong>de</strong> requisitos adquirem mais conhecimento sobre onegócio ou <strong>de</strong>manda. O CPM [2] <strong>de</strong>nomina este fenômeno <strong>de</strong> Scope Creep. Como os requisitosnão po<strong>de</strong>m ser congela<strong>do</strong>s, então se <strong>de</strong>ve gerenciá-los <strong>de</strong> forma efetiva.Uma mudança <strong>de</strong> requisito gera retrabalho da equipe <strong>de</strong> <strong>de</strong>senvolvimento, aumentan<strong>do</strong> assim oesforço e o custo <strong>do</strong> projeto.Para os casos em que o <strong>de</strong>senvolvimento <strong>do</strong>s requisitos será realiza<strong>do</strong> pela equipe <strong>do</strong> <strong>DATASUS</strong>e a codificação será realizada pela empresa contratada, as mudanças <strong>de</strong> requisitos serãoconsi<strong>de</strong>radas como um projeto <strong>de</strong> melhoria e <strong>de</strong>verá ser medi<strong>do</strong> conforme o CPM [2].7.6. Consi<strong>de</strong>rações <strong>de</strong> estimativas <strong>de</strong> contagensNas estimativas iniciais <strong>de</strong> tamanho <strong>de</strong> projetos <strong>de</strong> <strong>de</strong>senvolvimento, após a fase <strong>de</strong>especificação, consi<strong>de</strong>ran<strong>do</strong> o <strong>do</strong>cumento <strong>de</strong> visão inicial <strong>do</strong> projeto, O SISP recomenda utilizarum percentual para evolução <strong>de</strong> requisitos <strong>de</strong> 30% a 40%. Nas estimativas, após a fase <strong>de</strong>requisitos, utilizan<strong>do</strong>-se como insumo as especificações <strong>de</strong> casos <strong>de</strong> uso, <strong>de</strong>ve-se consi<strong>de</strong>rar umpercentual <strong>de</strong> 20% a 30%.O <strong>DATASUS</strong> a<strong>do</strong>tará, nas contagens estimadas, um acréscimo <strong>de</strong> 20% por conta da taxa <strong>de</strong>evolução <strong>do</strong> sistema.Para as medições realizadas após a entrega da aplicação serão <strong>de</strong>talhadas e não po<strong>de</strong>rão teracréscimo nenhum.7.7. Processo <strong>de</strong> Revisão <strong>do</strong> <strong>Guia</strong> <strong>de</strong> <strong>Contagem</strong>7.7.1. Revisão para Correção <strong>de</strong> Inconsistências e Situações não PrevistasPágina:24


A revisão <strong>de</strong>ste guia será feita sempre que verificarem inconsistências entre uma<strong>de</strong>finição <strong>do</strong> CPM [2] e uma regra constante <strong>de</strong>ste <strong>do</strong>cumento e situações não previstasneste guia. Para situações não previstas neste guia, o <strong>DATASUS</strong> analisará e <strong>de</strong>cidirá pelaatualização <strong>de</strong>ste guia ou <strong>do</strong> contrato em vigor.Sempre que necessário, o <strong>DATASUS</strong> po<strong>de</strong>rá alterar o texto <strong>do</strong> <strong>Guia</strong> <strong>de</strong> <strong>Contagem</strong>, a fim<strong>de</strong> evitar duplicida<strong>de</strong>s no entendimento, bem como melhorias.7.7.2. Revisão para A<strong>do</strong>ção <strong>de</strong> Novas Versões <strong>do</strong> CPM [2]A a<strong>do</strong>ção <strong>de</strong> nova versão <strong>do</strong> CPM como referência para este <strong>Guia</strong> <strong>de</strong> <strong>Contagem</strong> nãoserá imediata à sua publicação. Nesse caso, haverá uma avaliação da nova versão, a serrealizada pelo <strong>DATASUS</strong> para se <strong>de</strong>cidir sobre a atualização <strong>do</strong> guia.Página:25


8 Referências Bibliográficas[1] IEEE Computer Society. IEEE Standard for Software Maintenance. IEEE Std. 1219 1998.[2] IFPUG. Counting Practices Manual – CPM. Version 4.3.1, January, 2010.[3] JONES, C. Estimating Software Costs. Second Edition, Mc Graw Hill, 2007.[4] VAZQUEZ, C. et. al. Análise <strong>de</strong> <strong>Pontos</strong> <strong>de</strong> <strong>Função</strong>: medição, estimativas e gerenciamento <strong>de</strong>projetos <strong>de</strong> software. 7ª Edição, Editora Érica, 2007.[5] IFPUG. Framework for Functional Sizing. Version 1.0, September, 2003.[6] MORRIS, P. Counting “Non-Functional” Requirements when they are implemented asSoftware. Version 2.2, October 2006. http://www.totalmetrics.com[7] TCU. Instrução Normativa Nº 4, <strong>de</strong> 12 <strong>de</strong> novembro <strong>de</strong> 2010, expedida pela SECRETARIADE LOGÍSTICA E TECNOLOGIA, em vigor <strong>de</strong>s<strong>de</strong> 02 <strong>de</strong> janeiro <strong>de</strong> 2011.[8] Ministério da Saú<strong>de</strong>. Processo <strong>de</strong> Gerenciamento e Desenvolvimento <strong>de</strong> Sistemas – PGDS,versão 3.0.[9] Ministério da Saú<strong>de</strong>. Edital <strong>do</strong> pregão eletrônico nº 154-2010.[10] SLTI/MP, Roteiro <strong>de</strong> Métricas <strong>de</strong> Software <strong>do</strong> SISP, <strong>Versão</strong> 1.0., novembro <strong>de</strong> 2010.[11] IFPUG. Consi<strong>de</strong>rations for Counting with Multiple Media. Release 1.1, April 15, 2010.[12] NESMA. NESMA EARLY FPA COUNTING Acessa<strong>do</strong> em Junho 20, 2011. (tradução emhttp://www.fattocs.com.br/traduzi<strong>do</strong>/earlyfpa.asp).Página:26

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!