• Nenhum resultado encontrado

Os tipos de métricas

No documento Qualidade de Software (páginas 94-114)

Para início de estudo

Seção 2 Os tipos de métricas

Pressman (1995) dividiu o domínio das métricas de sotware sob o ponto de vista da aplicação em:

a) Métricas de qualidade: oerecem uma indicação de quanto o

sotware pode adequar-se às exigências implícitas e explícitas do cliente. Normalmente, a qualidade é medida durante todo o processo de engenharia de sotware (complexidade, modularidade e tamanho do programa) e depois que o produto é entregue a seu usuário (número de deeitos, manutebilidade do sistema). Tipicamente empresas

desenvolvedoras utilizam-se da norma ISO/IEC 9126, que possuem um conjunto de métricas relacionadas às suas características.

 b) Métricas de produtividade: concentra-se na saída do processo de

engenharia de sotware.

c) Métricas técnicas: concentra-se na característica do sotware, na sua

complexibilidade lógica e grau de manutenibilidade e não no processo por meio do qual o sotware oi desenvolvido.

d) Métricas orientadas ao tamanho: são medidas diretas do sotware e

do processo por meio do qual ele é desenvolvido.

e) Métricas orientadas para unção: são medidas indiretas do

sotware e do processo por meio do qual ele é desenvolvido, determina de orma consistente o tamanho e a complexidade de um sotware.

) Métricas orientadas às pessoas: compilam inormações sobre

a maneira segundo a qual as pessoas desenvolvem sotware de computador, e as percepções humanas sobre a eetividade das erramentas e métodos.

A classicação das métricas não é uma unanimidade, em alguns casos parecem até redundantes, como no caso das métricas de produtividade e orientadas ao tamanho. A seguir, acompanhe mais detalhes sobre as métricas orientadas ao tamanho e a unção:

Métricas orientadas ao tamanho

As métricas de sotware orientadas ao tamanho são medidas diretas do sotware e do processo de desenvolvimento de sotware.

Universidade do Sul de Santa Catarina

Imagin a sguint situação: você tm uma pquna mprsa d dsnvolvimnto  mantém rgistros rlacionados ao tamanho dsts projtos (m linhas d código) no dcorrr dos últimos 5 anos.

ests dados srão a bas para alimntar um conjunto d métricas d qualidad  d produtividad orintadas ao tamanho para cada projto. Obsrv a gura a sguir:

Projeto Esorço $ KLOC Pg/Doc Erros Pessoas

Folha de Pagamento 24 168 12.1 365 29 3 Contabilidade 62 440 27.2 1224 86 5 Contas a Pagar 43 314 20.2 1050 64 6

Lgnda:

Esorço- númro d mss d dsnvolvimnto

$- custo m dólars ( X 100 )

KLOC- númro d linhas d código ( X 100 )

PG/Doc- rr-s ao númro d páginas d documntação

Erros- rros ncontrados na as d tsts

Pessoas- númro d pssoas nvolvidas no dsnvolvimnto Obsrv qu as métricas orintadas ao tamanho giram m torno do númro d linhas d código (LOC) como a principal mdida. Vja qu, a partir do quadro aprsntado, torna-s possívl calcular a produtividad, a qualidad, o custo  o nívl d documntação do projto. Acompanh: Produtividad = KLOC/pssoa-mês

Qualidad = rros/KLOC Custo = $/LOC

Documntação = páginas documntação/KLOC

Contas a Pagar

Produtividad = 20200 / 6 = 3366,67 Qualidad = 64/20200 = 0,003168

Custo = 31400/20200 = 1,55

Documntação = 1050/20200 = 0,05198

No sistma d contas a pagar, o custo por linha d código do projto oi d US$ 1,55, ntão oram implmntadas 20.200 linhas a um custo d US$ 1,55 por linha d código. Já a produtividad da quip oi d 3366,67 linhas d código para cada mmbro da quip d dsnvolvimnto.

Qualidade de Sotware

e dados históricos disponíveis. Mas seu uso possui muitos opositores que criticam a dependência da métrica do tipo de linguagem de programação. Seu uso com linguagens procedurais é eciente, mas de diícil utilização em linguagens não-

procedurais como linguagens orientadas a objetos (JAVA), pois não considera questões como herança, penalizando programas bem escritos. De qualquer maneira, sua aplicação depende de uma base histórica de projetos anteriores.

Métricas orientadas à unção

A métrica orientada à unção mede o sotware através da quanticação de sua uncionalidade ornecida ao usuário. Consiste em um método para medição de sotware que

determina de orma consistente o tamanho e a complexidade de um sotware , sob a perspectiva do usuário, independentemente

da tecnologia utilizada.

Não são contadas linhas de código. A métrica orientada à unção concentra-se na uncionalidade ou utilidade do programa. Uma abordagem oi sugerida baseada nesta proposta chamada de

pontos por unção ( unction point ).

Os pontos por unção (FPs) são derivados, usando-se uma relação empírica baseada em medidas de inormações e complexidade do sotware.

Pontos de Função e Medidas: o que é um Ponto de Função? O que é Tamanho Funcional?

Tamanho uncional é uma mdida d tamanho d sotwar basada m uma avaliação padronizada dos rquisitos lógicos dos usuários. Smlhant aos mtros quadrados d uma casa, pontos d unção são indpndnts dos métodos ísicos, rramntas ou linguagm d dsnvolvimnto utilizados para construir o sotwar. O procsso d cálculo d pontos d unção stá contido no Manual d Práticas d Contagm (atualmnt m sua vrsão 4.0) do Grupo Intrnacional d Usuários d Pontos d Função (IFPUG).

Universidade do Sul de Santa Catarina

Como calcular pontos d unção?

Pressmann (1995) identica as unções de negócio no cálculo do ponto de unção em 5 unções principais:

 Entradas (EE) -são inormações ornecidas ao sistema

pelo usuário, ou seja, entrada de dados no sistema eitas pelo usuário, por exemplo a inclusão, alteração ou exclusão dos dados cadastrais para azer sua cha na locadora, ou o lançamento dos dados de um DVD recebido pela locadora.

 Saídas (SE) - as saídas são relatórios, mensagens de erro,

telas do sistema. Usando como exemplo, um sistema de  videolocadora uma SE seriam relatórios de clientes, a

impressão do bloqueto de assinatura de retirada de ta.

 Consultas (CE) - são perguntas diretas em uma base de

dados ou em um arquivo que busca por dados especícos, usam chaves simples, requerem resposta imediata e não azem nenhuma atualização (saídas para as consultas do usuário). Você pode contar aqui telas de consulta, como a tela para vericar se o DVD que você deseja alugar está na locadora ou não, ou mesmo uma tela de consulta do seu

O que são Pontos de Função?

Da msma manira qu a mdida m mtros quadrados do tamanho d uma casa não prmit dduzir a vlocidad com a qual a casa pod sr construída ou o su tmpo d construção, o tamanho m Pontos d Função NÃO md a produtividad ou o sorço d dsnvolvimnto. Pontos d unção mdm o tamanho do QUe o sotwar az, ao invés d COMO l é dsnvolvido  implmntado. Isto signica qu, dado um conjunto d rquisitos d usuário, o tamanho uncional do sotwar srá o msmo, sja l dsnvolvido com a utilização d COBOL ou DB2, usando dsnvolvimnto rápido d

Qualidade de Sotware

 Arquivos (ALI)- cada agrupamento lógico de dados,

que pode ser uma parte do banco de dados ou um arquivo convencional, é contado. Um exemplo de ALI é o arquivo que armazena as inormações de todos os clientes e os DVDs da locadora.

 Interaces Externas (AIE) - com outro sistema, todas

as interaces legíveis por máquina, como arquivos de dados em ta ou disco que sejam usadas para transmitir inormações a outro sistema, são contadas.

Imagin um procsso qu xija a transmissão d dados como no caso d duplicatas cobradas por um dtrminado banco. O su sistma gra as duplicatas  postriormnt stas são transmitidas para o sistma do banco qu irá cobrá-las. est é um xmplo d intrac xtrna).

Quando as unções (EE, SE, CE, ALI, AIE) são avaliadas,  você vai ponderar a complexidade das unções em baixa, média

ou alta. São atribuídos pesos de acordo com a complexidade de cada unção de negócio. Por exemplo, se você tiver uma entrada de dados em um dos programas do sistema considerado como complexa, você vai multiplicar 1 X 6 e o valor da contagem para este programa será 6.

Parâmetro de

medida Contagem Fator de Ponderação Pontos

Simples Médio Complexo

EE X3 X4 X6

SE X4 X5 X7

CE X3 X4 X6

ALI X7 X10 X15

Universidade do Sul de Santa Catarina

Vja outro xmplo:

Imagin qu você prtnda calcular o ponto por unção d um sistma simpls, composto apnas por um cadastro d alunos, cadastro d notas, rlatório m ordm alabética d aluno  xportação dos dados do aluno para um arquivo no ormato excl qu srá utilizado por outro stor da scola. O primiro passo vai sr a idnticação das unçõs do ngócio.

Contagm:

ALI = 02 (temos no sistema o arquivo de alunos e o arquivo de notas) AIE = 0

SE = 01 (como saída, só existe uma listagem de alunos em ordem alabética) EE = 02 (existem duas entradas de dados, uma para inclusão de dados do alunoe outra para inclusão de notas)

CE = 01 (os dados do aluno são exportados para que possam ser consultados noarquivo Excel)

Todos os tipos d unção srão considrados d complxidad SIMPLeS nst xmplo.

Parâmetro

de medida Contagem

Fator de Ponderação

Pontos

Simples Médio Complexo

EE 02 X3 06 SE 01 X4 04 CE 01 X3 03 ALI 02 X7 14 AIE X5 0 Total 27

Para calcular os pontos por unção, você vai utilizar sta órmula:

Qualidade de Sotware

O qu é a SOMA(Fi)?

A Fi representa um ator de ajuste sobre atores que inuenciam

a implantação do sotware.

Este ator de ajuste é extraído de uma lista de atores (exemplo: 14 atores) adaptada às necessidades da empresa, podendo ser modicada de acordo com suas necessidades.

A tabla aprsntada é um xmplo d ators qu podm sr considrados na avaliação:

1. Comunicação d dados

2. Procssamnto d dados distribuído (unçõs distribuídas)

3. Prormanc

4. Conguração do quipamnto 5. Volum d transaçõs

6. entrada d dados on-lin 7. Intrac com o usuário 8. Atualização on-lin 9. Procssamnto complxo 10. Rusabilidad 11. Facilidad d implantação 12. Facilidad opracional 13. Múltiplos locais 14. Facilidad d mudanças Fonte: Koscianski (2007)

Cada ator deve ser pontuado com valores de 0 a 5, de acordo com sua inuência sobre o processo de desenvolvimento:

 0: Sem inuência  3: Médio

 1: Incidental  4: Signicativo  2: Moderado  5: Essencial

Acompanhe que na tabela a seguir o ator de ajuste do sistema de alunos pela contagem dos atores. Lembre-se que esta contagem é um exemplo e pode ser dierente de acordo com o projeto ou

Universidade do Sul de Santa Catarina

Fator Contagem

1. Comunicação de dados 0 2. Processamento de dados distribuído (Funções Distribuídas) 0

3.Perormance 3

4. Conguração do equipamento 3 5. Volume de transações 2 6. Entrada de dados on-line 3 7. Interace com o usuário 4 8. Atualização on-line 5 9. Processamento complexo 0 10. Reusabilidade 0 11. Facilidade de implantação 0 12. Facilidade operacional 0 13. Múltiplos locais 0 14. Facilidade de mudanças 0 Total 20

Neste caso, considere que a perormance do sotware tem uma inuência média no projeto, que a atualização on-line de notas é essencial que a interace do usuário é um ator signicativo para o sucesso do produto.

Assim, substituindo na órmula:

FP = contagem total x [0,65 + 0,01 x SOMA(Fi)] FP = 27 X [ 0,65 + 0,01 X 20 ]

FP = 22,95

Ao chegar ao valor do ponto por unção (22,95), você pode usar as seguintes medidas para cálculos de produtividade, qualidade e custos já utilizados anteriormente usando KLOC:

Calcular a produtividad > Produtividad = FP/pssoa-mês. Calcular a qualidad > Qualidad = ditos/FP.

Calcular o custo > Custo = $/FP.

Qualidade de Sotware

Lembre-se: para usar as métricas d ponto por unção

para uma proposta orintada a objtos, é ncssário adaptar a contagm dos pontos considrando o númro d classs, númro d cases, númro d métodos, médias d métodos, médias d métodos por class, linhas d código por método, proundidad máxima da hirarquia d classs, a rlação xistnt ntr métodos públicos  privados, ntr outros.

Quais são os bnícios das métricas orintadas à unção?

As métricas orientadas à unção apresentam vários beneícios, sendo usadas como:

 orma de dimensionar aplicações;

 veículo para quanticar custo, esorço e tempo;

 erramenta para cálculo de índices de produtividade e

qualidade do mesmo;

 ator de normalização para comparar sotware.

Hoje ela é usada em conjunto na implantação do modelo CMM e CMMI como apoio à implantação das áreas-chaves Gerência de Requisitos, Planejamento e Acompanhamento de Sotware e

Gerência de Subcontratação de Sotware.

O uso do ponto por unção ultrapassou as barreiras para avaliação da qualidade e sua quanticação está sendo usada inclusive para a aquisição de produtos de sotware.

Universidade do Sul de Santa Catarina

A Solução Australiana para os Projetos de Desenvolvimento de Sistemas

O govrno do estado d Victoria, Austrália, possui um orçamnto anual para sotwar da ordm d US$ 26 milhõs, crca d R$ 66 milhõs, sndo o lídr nacional na utilização da TI para provr srviços aos cidadãos.

Assim como outras organizaçõs la também tm nrntado sérios problmas no dsnvolvimnto d sotwar.

Antriormnt, os prços ram xos nas contrataçõs d dsnvolvimnto. Os orncdors cotavam prços baixos nas licitaçõs, a m d ganhar o contrato, na xpctativa d qu o clint solicitass muitas altraçõs no dcorrr do projto. essas altraçõs ram cobradas a um prço alto, d modo a compnsar o prço baixo original.

A solução adotada oi a contratação basada m um prço xo por ponto d unção. Com bas m uma spcicação prliminar, é licitado o prço por ponto d unção.

O orncdor é scolhido com bas no prço orcido  na capacitação técnica. O pagamnto é tuado com bas no prço por ponto d unção contratado, no tamanho do sotwar ntrgu  nas modicaçõs solicitadas ao longo do projto.

Font: AGUIAR, Mauricio.A Solução Australiana para os Projetos de

Desenvolvimento de Sistemas. PMI Inormation Systms Local Intst Group – Rio. Disponívl: <http://www.bpug.com.br/islig-rio/Downloads>. Acsso m: 19 jan. 2011.

No Brasil, empresas como Correios, Serpro, Dataprev e Caixa Econômica Federal selecionam e pagam seus ornecedores usando pontos por unção. Neste caso, é utilizado para determinar custo, qualidade e produtividade.

Agora que você conhece algumas métricas existentes no mercado, estude na próxima seção um modelo de mensuração que oi

Qualidade de Sotware

Seção 3 - PSM –

Practical Software Measurement 

PSM é um modelo de mensuração patrocinado pelo

Departamento de Deesa Americano (DoD). Este modelo é bastante recente e oi publicado pela primeira vez em 1997.

Apesar de novo, tem sido usado no mundo todo como base para elaborar a Process Area Measurement and Analysis do CMMI e oi

padronizado pela norma ISO/IEC 15939Sotware Engineering –  Sotware Measurement Process Framework.

Segundo Aguiar (2005), o PSM é adaptado para abordar os objetivos, questões e requisitos de inormação especícos do

sistema e do sotware, pertinentes a cada programa ou projeto. O processo de medição do PSM é denido a partir de um conjunto de 9 melhores práticas, denominadasprincípios da medição.

Você sabia?

Fazm part do dsnvolvimnto do PSM,

organizaçõs muito dirnts como a Força Aéra, a Marinha  o exército amricano, a Boing, o Mitr, GTe ntr outros.

Segundo Aguiar (2002), o modelo de estruturação de atividades de mensuração em um projeto de sotware, o PSM, deve resolver alguns problemas básicos:

 especicar ormalmente as medidas que serão utilizadas

no processo;

 conduzir o processo de medição.

O PSM atinge estes dois problemas azendo uso de 2 modelos: o modelo de inormação e o modelo de processo. A seguir,

Universidade do Sul de Santa Catarina

Modelo de Inormação

No modelo de inormação, você vai denir a estrutura e as

medidas que serão utilizadas no projeto. Neste modelo, existem alguns conceitos:

 Atributo – propriedade considerada undamental sob

o ponto de vista de necessidades da inormação (um atributo importante pode ser as horas trabalhadas ou mesmo as uncionalidades que você obtém a partir das especicações do projeto).

 Método – operação que mapeia o atributo para uma

escala (você pode usar o ponto por unção para obter o tamanho do projeto ou contar o tamanho do projeto em número de horas ou mesmo linhas de código).

 Medida básica – resultado da aplicação do método sobre

o atributo (se você aplicar o ponto por unção vai ter como medida básica o tamanho do projeto em pontos por unção).

 Função – algoritmo que combina duas ou mais medidas

básicas (se você contou o projeto em pontos por unção, pode dividir estes pontos pelo número de horas

trabalhadas nele, assim terá a medida do esorço para seu desenvolvimento).

 Modelo – algoritmo que combina medidas e critérios

de decisão.

 Indicador – estimativa que promove uma baseline para

Qualidade de Sotware

Figura 4.1 - Construção Mensurável. Fonte: Aguiar (2005).

Modelo de Processo

O modelo de processo é um roteiro que apoia a equipe de

medição na condução das atividades para a execução da mesma. O modelo é composto de três pontes principais: osprocessos técnicos gerencias, os processos centrais de mensuração e a avaliação da mensuração.

Universidade do Sul de Santa Catarina

Figura 4.2 - Modelo de Processo. Fonte: Aguiar (2005).

De acordo com a gura, observe que o processo que o processo mais central compreende as atividades centrais de medição.

Neste processo, você tem atividades undamentais como o

planejamento da medição.

Para planejar a medição, é necessário a execução de 3 subprocessos:

 O primeiro deles é aidenticação e priorização das

necessidades de inormação. Neste subprocesso, você

considera questões como objetivos, itens críticos, ambiente de execução, melhorias e mudanças necessárias. O PSM classica estas necessidades em categorias como prazo e progresso, recursos e custo, tamanho e estabilidade do produto, qualidade do produto, perormance do processo, ecácia da tecnologia e satisação do usuário.

 A segunda atividade deve ser aseleção e especicação das

medidas.Nesta etapa você vai selecionar os indicadores,

Qualidade de Sotware

 A terceira atividade é aintegração da medição aos

processos de apoio. Nesta atividade, você vai analisar como os dados serão coletados e analisados.

 Todos os procedimentos de coleta de dados devem ser integrados aos processos que ornecem dados. No plano de medição, você vai ter o arteato gerado neste processo, com toda sua documentação. Outro processo central é aexecução da medição composto por 3

atividades principais:

 A primeira atividade é a coleta e o processamento de

dados. Aqui você realiza a coleta de dados considerando a

especicação contida no plano de medição, sua preparação e armazenamento de orma que a inormação seja

acilmente recuperável.

 A segunda atividade,análise dos dados, envolve a

transormação das medidas básicas em indicadores e sua utilização em questões relacionadas ao planejamento e ações corretivas.

 A última atividade do processo de execução é aprodução

de recomendações. Nesta etapa, são eitas avaliações do

projeto e projeções para o uturo.

Além deste processo central, você também tem processos

periéricos, como avaliar medição onde são avaliadas as medidas,

o próprio processo de mensuração e a base de experiência são avaliadas e melhorias são identicadas e implementadas. Outro processo periérico é oestabelecimento e sustentação de compromissosque propõe obtenção do comprometimento

organizacional, denição de responsabilidades, previsão de recursos e revisão do progresso do programa de mensuração.

Apesar do PSM ser um modelo relativamente novo, sua aceitação no mercado tem sido expressiva principalmente ao ser combinada com modelos como o CMM e o CMMI.

Universidade do Sul de Santa Catarina

Síntese

O interesse pelo uso de métricas por empresas desenvolvedoras de sotware tem aumentado de orma surpreendente nos últimos anos. Isto tem ocorrido pelo reconhecimento por parte das

empresas, da necessidade de se estabelecerem métodos e medidas consistentes que acompanhem a avaliação, o planejamento, o gerenciamento e a evolução dos processo de produção.

A melhoria do processo acontece pela medição de seus atributos signicativos e pelo desenvolvimento de uma série de métricas que orneçam indicadores capazes de apontar uma estratégia de melhoria para este processo.

Medir não traz beneícios relacionados somente ao cumprimento de prazos ou mesmo à estimativa de custo de um projeto, mas traz beneícios gerais ao uncionário, possibilitando melhoria no dimensionamento de sua carga de trabalho. Possibilitar cursos e treinamentos, reequilibrar divisões de tareas, alterar processos considerados diíceis readequar equipes são alguns dos resultados possíveis por meio da análise do processo de medição. Nesta unidade, observou-se que técnicas e métodos independentes, como o ponto por unção e o PSM, podem ser usados isoladamente ou em conjunto com outros modelos, como no caso do CMM. Vericou-se que undamental no processo de medição é a denição do que medir, como medir e como analisar os resultados desta medição.

Qualidade de Sotware

No documento Qualidade de Software (páginas 94-114)