MÉTRICAS DE PONTO POR FUNÇÃO NO PROCESSO DE DESENVOLVIMENTO DO SOFTWARE
Por: Jose.Nascimento • 27/11/2018 • 1.781 Palavras (8 Páginas) • 382 Visualizações
...
3.1 Conceitos e características
Ter conhecimentos dos conceitos para medir o software como qualidade, prazo, tamanho etc., desde a fase de especificação de requisitos é fundamental para desenvolver um produto de qualidade.
São utilizadas diversas métricas para medir software, através dessas métricas é possível determinar o tempo ou o esforço para realização de uma tarefa ou ainda, o tamanho do produto. Além disso, as métricas de software são facilmente entendidas, calculadas e testadas não dependendo do analista que as aplica, sendo também uma boa fonte para estudos estatísticos referentes ao ciclo de vida do software.
Deve-se medir para se ter conhecimento sobre quanto cobrar, para definir os membros da equipe, a complexidade, para estimar prazo, medir riscos entre outros fatores. Para isso, determinam-se métricas convenientes para o software, coletam-se dados para aplicar as métricas definidas, analisa-se, interpreta-se para se possa modificar modelos de projetos e requisitos, casos de teste ou códigos.
Há dois tipos de métricas tratando-se de desenvolvimento de produtos de software: métricas diretas, realizadas em termos de atributos observáveis, como por exemplo, tamanho, esforço e custo, e as métricas indiretas, que podem ser obtidas através de outras métricas, como por exemplo, confiabilidade, complexidade e facilidade de manutenção.
No que se refere ao contexto, podem ser aplicadas em processos ou em produtos de software. Quando as métricas coincidem de modo direto no produto, chamam-se de métricas de predição, em processos de software, são usualmente chamadas de métricas de controle e sua aplicação comumente é realizada em processos já ponderados e equilibrados. Há ainda outros tipos de métricas como orientadas ao tamanho e métricas por pontos por função, o segundo será abordado no capítulo seguinte.
4 PONTO POR FUNÇÃO E DESENVOLVIMENTO DE SOFTWARE
Um procedimento de desenvolvimento de software pode ser visto como um conjunto de atividades sistemáticas, usadas para definir, desenvolver, testar e manter um software. Os objetivos do processo de desenvolvimento estão relacionados à definição das práticas a serem executadas, o momento que essas práticas devem ser executadas, pessoa ou grupo de pessoas a executar tais práticas e a padronização no processo de desenvolvimento.
Existem diversos processos de desenvolvimento de software, no entanto, há algumas atividades básicas comuns à grande parte dos processos existentes, como: levantamento de requisitos, análise de requisitos, projeto, implementação, testes e implantação. Em cada fase, é possível aplicar técnicas de medição visando entender e aperfeiçoar o processo de desenvolvimento e gestão, inclusive melhorando a relação com os clientes.
Outras questões relevantes ligadas à medição de um software estão relacionadas com a melhoria na gerência dos contratos de uma empresa, nas melhores avaliações relacionadas a produtividade do processo em sua totalidade, aos proventos da utilização de métodos de trabalho e ferramentas atuais e ao retorno de investimento presumido para um dado projeto.
A métrica de software de pontos por função justifica-se nas etapas de desenvolvimento quando se trata de estimar prazos e custos do software. Esses medem o tamanho funcional do projeto, fornecendo meios para medir a funcionalidade gerada por um sistema.
Nesse sentido, estimar exprime utilizar o mínimo de tempo e esforço para se obter um valor aproximado dos pontos por função do projeto de software pesquisado. A métrica baseia-se em medidas diretas do domínio do software com valores definidos como Arquivo Lógico Interno (number of internal logical files ILF), Arquivo de Interface Externa (number of external interface files - EIF), Entrada Externa (number of external inputs - EE), Consulta Externa (number of external inquiries - EQ) e Saída Externa (number of external outputs - EOs). Esta etapa realiza a análise de um projeto como um todo, desde suas modificações à entrega final.
O processo de contagem dos pontos de função (PF) é composto por mais duas etapas: a do processo de contagem, que traz aspectos de complexidade e contribuição, pontos por função não ajustados e pontos por função ajustados. E a etapa de aplicação de contagem que envolve os pontos por função de um projeto de software, de modificações de um software e de software.
O primeiro diz respeito a inclusão na contagem dos componentes novos, modificados e, provavelmente, deletados. O segundo, está relacionado unicamente com o sistema entregue ao cliente, medindo o tamanho do software. Veremos um exemplo de aplicação no tópico seguinte.
4.2 Exemplo de aplicação de ponto por função
Neste capítulo teremos uma aplicação prática para visualizar melhor o funcionamento de métrica de software de pontos por função, tendo em vista os conceitos abordados anteriormente.
Para isso, considera-se como exemplo um cenário de uma empresa que deseja desenvolver um software que deve possuir a funcionalidade de cadastro de clientes Para análise de ponto por função primeiro identifica-se o escopo e a fronteira da aplicação. Este cadastro deverá contemplar os seguintes dados do cliente: nome, sobrenome, data de nascimento, cpf (deve ser validado base da Receita Federal), cep (deve ser validado na base dos Correios), cidade, estado e país.
Têm-se os dados da equipe de desenvolvimento: 5 programadores, expediente de 40 horas semanais (8h/dia), produtividade média de 10h/PFA e valor/hora de cada programador de 40 reais.
O passo seguinte é contar as funções de tipo dado (Arquivos Lógicos Internos (ALI), Arquivos de Interface Externa (AIE)):
[pic 1]
Deve ainda contar as funções transacionais ( Entradas Externas (EE), Consultas Externas (CE), Saídas Externas (SE)):
[pic 2]
A partir de então determinar os pontos por função não-ajustados:
PFB = 1 x 7 + 2 x 5 + 2 x 3 + 0 + 0
PFB = 7 + 10 + 6
PFB = 23
Onde: os valores 7, 5 e 3 correspondem ao fator de ponderação definido nas categorias simples, médio e complexo na tabela definida abaixo, na tabela acima são considerados simples.
[pic
...