You are on page 1of 7

Use mtricas adequadas

Garanta a qualidade de projeto orientado a objeto


Jose Ricardo Correa Maia

oftware , atualmente, um dos produtos mais utilizados e valorizados no mercado. A preocupao com a qualidade tem se tornado requisito imprescindvel e tem constitudo a orientao bsica para garantir a funcionalidade do software com o mnimo de erros, defeitos e maior satisfao das expectativas de qualidade. Apesar da dificuldade em se medir qualidade, sua ausncia facilmente percebida. Assim, ela tem sido alvo de busca na maioria das atividades que envolvem produtos, e o software tambm deve ter uma garantia de qualidade objetiva e eficiente. Na tentativa de medir a qualidade de um software possvel identificar ndices por meio de mtricas, que tm sido apontadas eficazes como forma quantitativa de avaliar a qualidade, porque permitem comparaes. Este artigo apresenta um estudo de como melhorar a medio da qualidade do gerenciamento de projetos de desenvolvimento de software orientado a objeto por intermdio de mtricas.

Introduo
O gerenciamento de projeto de desenvolvimento de software vem se constituindo pea fundamental na gerao de produto com qualidade e ainda para que o projeto seja produtivo, ou seja, software que aumente a rentabilidade pela reduo de custos em falhas internas e externas e com aumento da satisfao do cliente.

1
A utilizao de mtricas vem aumentando consideravelmente e a principal causa a dificuldade de gerenciar projetos sem a dimenso do que se est gerenciando. Por meio da utilizao de mtricas consegue-se calcular, com mais preciso e confiabilidade, o tamanho do projeto do software. A medio a primeira etapa que leva ao controle. Se voc no mede algo, no pode entender o processo. Se voc no entende o processo, no o controla. Se voc no o controla, no consegue aperfeio-lo. O objetivo deste artigo recomendar a adoo de mtricas para auxiliar a medio da qualidade de projetos de desenvolvimento de software orientado a objeto. O artigo est dividido em tipos de mtricas, apresentando as mtricas mais adotadas e algumas concluses.

Tipos de Mtricas
Mtrica pode ser definida como um atributo mensurvel de uma entidade. No caso de um projeto, uma mtrica pode ser, por exemplo, o seu tamanho, uma vez que o tamanho pode ser medido. Uma mtrica pode ser obtida da prpria entidade, por leitura direta. Nesse caso, a mtrica chamada mtrica primitiva. O atributo mensurvel, que obtido por clculo a partir de mtricas primitivas, conhecido como mtrica derivada.

O atributo mensurvel que obtido por clculo a partir de mtricas primitivas conhecido como

mtrica derivada.

Normalmente, so coletadas mtricas medidas diretamente, mas de pouco significado numa interpretao isolada. O nmero de classes de um modelo, analisado isoladamente, tem pouca relevncia. Contudo, pode ser feita estimativa do tamanho do sistema se for combinado, por exemplo, o nmero de classes com o nmero de operaes e atributos de cada classe. Isso reflete a necessidade de interpretao e indica as vrias abordagens para a medio.
www.euax.com.br

Use mtricas adequadas


Garanta a qualidade de projeto orientado a objeto
Jose Ricardo Correa Maia

Segundo Pressman (1995, apud RIEDER, 2003), as mtricas tm como princpios especficos:

A essas responsabilidades a toda equipe envolvida no projeto. B Reunir dados de desempenho relativos complementao do software. C desses fatores, prevenindo erros para projetos futuros. A B C D
Constatar a qualidade do produto. Avaliar a produtividade das pessoas. Ter uma base de estimativas (baseline). Justificar pedidos de recursos e treinamento adicional, entre outros. Analisar os histricos de projetos anteriores para determinar o efeito

Coletar dados para avaliao de desempenho atribuindo

De acordo com (PRESSMAN,1995) apud (RIEDER, 2003), os principais benefcios das mtricas so:

As mtricas podem ser divididas em: mtricas de qualidade, mtricas de produtividade, mtricas orientadas funo e mtricas orientadas ao objeto. As mtricas de qualidade e de produtividade so independentes do tipo de modelagem e anlise aplicada no projeto de desenvolvimento do software. Todavia, as mtricas orientadas funo e as orientadas ao objeto, normalmente so aplicadas de acordo com o tipo de modelagem e anlise do projeto.

Mtricas de Qualidade
Qualidade pode ser definida como conformidade com as especificaes e atendimento das necessidades ou expectativas dos clientes. Feigenbaum (1994, apud MAIA, 2001) define os custos da qualidade como aqueles associados definio, criao e controle da qualidade, assim como avaliao e realimentao de conformidade com exigncias em confiabilidade, segurana e tambm custos associados s conseqncias provenientes de falha em atender essas exigncias, tanto na fbrica como no cliente. Podem-se definir Custos da Qualidade como aqueles incorridos para garantir e assegurar a qualidade, bem como aqueles decorrentes das perdas, quando essa qualidade no obtida. O custo da qualidade, segundo Ostrenga (1991, apud MAIA, 2001) constitui uma metodologia que aplica custos para atividades, e outros recursos consumidos em:

Conformidade com a especificao da qualidade e reduo de variaes. Custo da no conformidade. Os custos de preveno e de avaliao so custos voluntrios, e podem ser controlados, por deciso da empresa. Normalmente so incorridos durante a pesquisa e desenvolvimento, planejamento e desenho do produto. Esses custos so considerados custos de conformidade.
Os custos de falhas internas e externas, denominados custos involuntrios, ocorrem na fase de produo e vendas. Os custos da qualidade podem ser adotados como mtricas da qualidade. A expectativa pela reduo de custos com eventuais no-conformidades (falhas internas e externas). Pode-se definir retrabalho como o esforo consumido com mudanas, isso , a carga de trabalho realizado para analisar, implementar e testar novamente as alteraes no software. A expectativa pela diminuio do retrabalho. Se a tendncia do retrabalho aumentar, pode ser interpretado como um mau sinal sobre a manutenibilidade futura do software. A primeira impresso que se tem ao se falar em defeitos o nmero absoluto de defeitos que um software possui. Esses defeitos apresentam-se como falhas na operao ou so descobertos durante as atividades de testes.
www.euax.com.br

Use mtricas adequadas


Garanta a qualidade de projeto orientado a objeto
Jose Ricardo Correa Maia
Falha o no cumprimento dos resultados esperados, tanto por comparao aos requisitos como por interrupo no funcionamento. Defeito a imperfeio na especificao tcnica, no projeto de um componente ou na codificao de um software, que, em determinadas condies, causa a falha observada. Assim, ao longo do tempo vo aparecendo falhas que constituem a curva de deteco de falhas. Por sua vez, os defeitos tambm podem ser analisados construindo curva de deteco de defeitos e curva de densidade de defeitos. Como, geralmente, os defeitos mais fceis de detectar so os primeiros a ser encontrados, o trabalho de testes fica mais difcil na medida em que avana. Novas interaes ou manutenes freqentemente introduzem novos defeitos. Esse padro de comportamento deve ser observado minuciosamente pelo gerente de projetos para verificar se h tendncia em direo qualidade. Vale salientar que os valores absolutos so menos importantes do que a tendncia, porque uma tendncia a zero, mesmo partindo de patamares mais altos, significa um processo que est fazendo o seu trabalho de depurao. Uma forma de medir a maturidade de um produto determinar o tempo mdio entre falhas (MTBF Mean Time Between Failures), que reflete a taxa de descoberta de defeitos quando certas condies de operao so satisfeitas. Portanto, essa mtrica fornece uma maneira de estabelecer e acompanhar o nvel de confiabilidade do software.

Mtricas de Produtividade
Todo projeto deve ser produtivo. Para medir a produtividade de um projeto de software podem ser adotadas mtricas, como por exemplo, o nmero de horas por homem, que aborda a produtividade da mo-de-obra aplicada, tendo tambm o objetivo de reduzir os custos do projeto. Outra abordagem de produtividade pode ser considerada a mtrica de nmero de horas por produto gerado (deliverables), que no caso da engenharia de software, denominado de artefato. Portanto, pode-se medir o nmero de horas por artefato. Com o apoio de uma base de informaes histricas sobre projetos, podem ser estabelecidas metas para aumentar a produtividade, isto , reduzir o nmero de horas por homem ou nmero de horas por artefato. A fim de monitorar a produtividade pode ser adotada a mtrica de custos, que visa comparar, ao longo do tempo do projeto, o custo planejado com o realizado, atravs do controle executado pelo gerente de projeto.

Mtricas Orientadas a Funo


Mtricas orientadas funo constituem medidas indiretas do software. O FPA (Function Point Analisys), ou anlise de ponto por funo, determina o tamanho e a complexidade de um software. Ao invs de contar as linhas de cdigo, essa mtrica concentrase na quantificao da funcionalidade do software. Ponto por funo baseia-se na viso do usurio e mede o que um sistema, o seu tamanho funcional. Tambm pode medir a relao do sistema com usurios e com outros sistemas. A contagem dos pontos por funo se d sobre cinco elementos funcionais bsicos de um sistema modelado: Arquivos Lgicos Internos (ALI). Arquivos de Interfaces Externas (AIE). Entradas Externas (EE). Sadas Externas (SE).

Consultas Externas (CE).


www.euax.com.br

Use mtricas adequadas


Garanta a qualidade de projeto orientado a objeto
Jose Ricardo Correa Maia
Para essa contagem deve ser considerada a complexidade de cada elemento funcional. A complexidade dos Arquivos Lgicos Internos e dos Arquivos de Interfaces Externas leva em considerao o nmero de registros lgicos e o nmero de itens de dados referenciados. A complexidade das Entradas Externas, Sadas Externas e Consultas Externas baseada no nmero de arquivos referenciados e no nmero de itens de dados referenciados. No manual de prticas de contagem de pontos por funo do International Function Point Users Group (IFPUG) so apresentadas tabelas e diretrizes para a determinao da complexidade dos elementos funcionais. Os elementos funcionais so totalizados para a obteno dos pontos por funo no ajustados (PFNA). O fator de ajuste de pontos por funo (FAPF) calculado a partir de 14 (quatorze) caractersticas gerais que permitem uma avaliao do nvel de influncia das funcionalidades do software:

A B C D E F G

Comunicao de dados. Processamento distribudo. Desempenho. Utilizao do equipamento. Volume de transaes. Entrada de dados on-line. Atualizao de dados on-line.

H I J K L M N

Procesamento complexo. Reutilizao de cdigo. Facilidade de implantao. Facilidade operacional. Eficincia do usurio final. Multiplicidade de locais. Facilidade de mudanas.

A cada caracterstica atribui-se um peso de 0 (zero) a 5 (cinco), conforme o nvel de influncia no software. Somando-se o nvel de influncia de cada caractersitica, obtem-se o nvel de influncia geral no software (NIGS). Segundo (PINHEIRO, 1998) apud (MIRANDA, 2002) essas caractersticas influenciam em at 35% o tamanho do projeto de software, ou seja, o projeto pode variar de 0,65 at 1,35. O fator de ajuste de pontos por funo obtido pela frmula:

FAPF = VTPS + (NIGS * 0,01)


O total de pontos por funo ou pontos por funo ajustados (PFA) o resultado da multiplicao do nmero de pontos por funo no ajustados (PFNA) pelo fator de ajuste de pontos por funo:
Onde

FAPF = Fator de Ajuste de Pontos por Funo VTPS = Variao do Tamanho do Projeto de Software (normalmente adotado 0,65) NIGS = Nvel de Influncia Geral no Software

PFA = PFNA * FAPF


Assim, alguns softwares que a princpio parecem pequenos, quando em desenvolvimento, mostram-se muitas vezes maiores do que o inicialmente previsto, podendo afetar drasticamente o gerenciamento do projeto.

FAPF = Fator de Ajuste de Pontos por Funo PFA = Pontos por Funo Ajustados PFNA = Pontos por Funo No Ajustados

Mtricas Orientadas ao Objeto


Software orientado a objeto baseado na composio e interao entre diversas unidades chamadas objetos. Objeto uma instncia de uma classe. Um objeto capaz de armazenar estados atravs de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos. Classe representa um conjunto de objetos com caractersticas afins. Uma classe define o comportamento dos objetos, atravs de mtodos, e quais estados ele capaz de manter, atravs de atributos.

Onde

www.euax.com.br

Use mtricas adequadas


Garanta a qualidade de projeto orientado a objeto
Jose Ricardo Correa Maia Classe representa um conjunto de objetos com caractersticas afins. Uma classe define o comportamento dos objetos, por meio de mtodos, e quais estados ele capaz de manter, atravs de atributos. Mensagem constitui uma chamada a um objeto para invocar um de seus mtodos, ativando um comportamento descrito por sua classe, podendo mudar o valor de um ou mais atributos, alterando o estado de um objeto. Mtodo uma rotina que executada por um objeto ao receber uma mensagem. Ele pode ser pblico, quando utilizado por vrios aplicativos (softwares) ou privados, quando criado ou utilizado pelo aplicativo (software) do projeto. Atributo significa o elemento que define a estrutura de uma classe. Os atributos tambm so conhecidos como variveis de classe, e podem ser divididos em dois tipos bsicos: atributos de instncia e de classe. Os valores dos atributos de instncia determinam o estado de cada objeto. Um atributo de classe possui um estado que compartilhado por todos os objetos de uma classe. Conforme Gomes (2001), existem vrias propostas para mtricas orientadas ao objeto que consideram as caractersticas e interaes do sistema. Tais mtricas baseiam-se na anlise detalhada do design do sistema. Para efetivao de uma mtrica orientada a objetos, essencial o acrscimo de um peso s caractersticas das classes, o qual produzir um fator de ajuste de complexidade orientado a objeto (FACOO), assim como se faz com os parmetros de mtrica de ponto por funo. Deve-se dar uma maior importncia s caractersticas de reusabilidade de cdigo produzido, assim como considerar a utilizao de componentes pr-implementados, quando da definio das bases para o fator de ajuste de complexidade orientado a objeto. A maioria das medidas examina atributos em termos dos conceitos de Orientao a Objeto, como herana, polimorfismo e encapsulamento. Herana constitui o mecanismo pelo qual uma classe pode estender outra classe, aproveitando seus comportamentos (mtodos) e estados possveis (atributos). Polimorfismo a ao que permite a um objeto se comportar de acordo com sua classe. Dessa forma, possvel se relacionar com objetos de classes diferentes, enviar mensagens iguais e deixar o objeto se comportar de acordo com sua classe. J o encapsulamento consiste na separao de aspectos internos e externos de um objeto. Esse mecanismo amplamente utilizado para impedir o acesso direto ao estado de um objeto, disponibilizando externamente apenas os mtodos que alteram esses estados. O nmero de pontos por funo orientados a objeto (PFOO) pode ser obtido aplicando-se a frmula:

PFOO = PFNA x (VTPS + FACOO x 0,01))


FACOO = Fator de Ajuste de Complexidade Orientado a Objeto
Onde

PFNA = Pontos por Funo No Ajustados PFOO = Pontos por Funo Orientados a Objeto VTPS = Variao do Tamanho do Projeto de Software (normalmente adotado 0,65)

Ressalta-se que fundamental realizar medies em um nmero significativo de softwares j desenvolvidos, selecionando as classes, os mtodos e os atributos desejveis para a obteno dos dados histricos necessrios ao embasamento das estimativas dos prximos softwares a serem desenvolvidos. possvel que seja mais fcil colher os dados durante os projetos atuais de desenvolvimento, do que tentar obt-los de softwares desenvolvidos anteriormente. interessante saber como o projeto est se comportando no tempo, com o objetivo de averiguar se o produto ser concludo no prazo planejado. Para avaliar o progresso do projeto, deve-se medir quanto de trabalho realizado em relao ao programado.

www.euax.com.br

Use mtricas adequadas


Garanta a qualidade de projeto orientado a objeto
Jose Ricardo Correa Maia Para isso, podem ser aplicadas as seguintes mtricas:

A B C D E F G H

Nmero de classes. Nmero de casos de uso. Pontos por casos de uso. Nmero de casos de teste. Nmero de mtodos. Mdia de mtodos por classe. Mdia de linhas de cdigo por mtodos. Relao existente entre mtodos pblicos e privados, entre outros.

Concluses
As medies e as mtricas permitem um melhor entendimento do processo utilizado para desenvolver um produto, assim como uma melhor avaliao do projeto e do prprio produto. As medies podem permitir melhorias no processo, aumentando a produtividade e comparaes entre projetos de desenvolvimento. Constata-se que a partir da utilizao de um planejamento de garantia de qualidade que contenha o estabelecimento de mtricas, adquire-se um histrico e, por meio dele, a qualidade e produtividade do projeto ir aumentar, diminuindo assim a margem de erros. A princpio, necessrio determinar o que se quer medir, definindo como os dados sero coletados. Essas decises devem ser compatveis com o projeto de desenvolvimento. Um modelo de mtrica no vai solucionar de imediato os problemas do desenvolvimento, no entanto, as mtricas devem ser utilizadas para tornar possvel o entendimento do processo, para facilitar a previso de suas fases e mostrar como control-las. Verifica-se, ento, que no existem modelos consistentes de mtricas para aplicao orientada a objeto. Uma prtica comum aplicar as mtricas de tamanho e complexidade que foram desenvolvidas para softwares procedimentais, tratando mtodos da mesma forma que procedimentos, adequando a utilizao orientao a objeto. Recomenda-se no adotar apenas mtricas primitivas, mas estabelecer mtricas derivadas com a composio de vrias mtricas obtendo, assim, uma abordagem mais especfica, de acordo com a necessidade do projeto, com vistas criao de uma base histrica para poder realizarem-se comparaes entre os projetos. conveniente realizar a coleta das mtricas ao longo do desenvolvimento do projeto. Ento, deve-se eleger a abrangncia da coleta, isto , estabelecer se as mtricas sero coletadas por semana, por ms, por iterao, por mdulo do sistema, por equipe etc. indicada a adoo da coleta por iterao para o monitoramento do projeto e a coleta por mdulo ou por classe para avaliao da qualidade do produto. Vale salientar que quando se adota um processo iterativo, a coleta e a interpretao das mtricas no deve ser feita da maneira usada num processo cascata para no gerar problemas e preocupaes desnecessrias. Num processo cascata, para se medir o progresso do projeto, a disciplina de requisitos deve estar completa quando o projeto estiver com 25% de seu tempo. Essa realidade no aplicada em um processo iterativo, uma vez que a disciplina de requisitos fica completa somente na ltima iterao. Fato que normalmente no ocorre na marca de 25% do tempo do projeto.
www.euax.com.br

Use mtricas adequadas


Garanta a qualidade de projeto orientado a objeto
Jose Ricardo Correa Maia

proposta a utilizao da medio dos custos da qualidade, nmero de no conformidades do processo por FPA, nmero de horas por classe, nmero de horas de retrabalho por FPA ou por mtodo, tempo mdio entre falhas, nmero de defeitos por classe, mtodo ou FPA, nmero de solicitaes de mudana por FPA ou classe (para medir as alteraes de escopo), nmero de classes privadas por classes pblicas e percentual de reutilizao de mtodos/componentes, entre outros. Conclui-se que existe a preocupao com a qualidade dos projetos de desenvolvimento de software orientado a objeto e que as mtricas so ferramentas que o gerente de projeto deve utilizar para diagnosticar e corrigir o rumo do projeto. Portanto, deve-se por em prtica a adoo de mtricas orientadas a objeto, combinadas com os demais tipos de mtricas. Por se tratar de mudana de paradigma, essas mtricas ainda no esto consistentes, entretanto, o exerccio constante das medies formar uma base para os ajustes necessrios no modelo adotado.

Referncias Bibliogrficas
FEIGENBAUM, Armand V. Controle da Qualidade Total: Gesto e Sistemas. Vol 1. So Paulo, Makron Books, 1994. GOMES, Alvaro Eduardo. Mtricas e estimativas de software o incio de um rally de regularidades. (2001). Available: www.apinfo.com/artigo44.htm. [abr. 2001]. MAIA, Jos Ricardo Correa (2001). A gesto dos custos da qualidade otimizando o processo de garantia da qualidade. VIII Congresso Brasileiro de Custos - UNISINOS - Rio Grande do Sul. [out. 2001]. MELLO FILHO, Moacyr Cardoso (2002). Aplicando as sete mtricas de controle de projeto. Rational Software White Paper. Reviso 1.1. Available: www.sit.com.br/textos/7metricas.pdf. [jan. 2002]. MIRANDA, Everton Alves (2002). Uma anlise de mtricas de software orientadas a funo e sua aplicao ao desenvolvimento orientado a objetos. Vrtices. Ano 4 nr. 1. Available: www.cefetcampos.br/publicacoes/vertices/v4n1/07%20uma_analise_de_metricas.pdf. [jan. 2002]. OSTRENGA, Michael R. Return on Investment through the Cost of Quality. Journal of Cost Management for the Manufacturing, v.5, n.2, p.37- 44, sum., 1991. PINHEIRO, C. A. R. (1998). Anlise de pontos por funo como mtrica de desenvolvimento. Developers Magazine. Rio de Janeiro. [nov. 1998]. PRESSMAN, R. S. Engenharia de Software. So Paulo: Makron Books, 1995. RIEDER, Clarice (2003). Estudo sobre a mtrica pontos por funo. SIRC/RS'2003 - II Simpsio de Informtica da Regio Centro do RS (UNIFRA). Santa Maria Rio Grande do Sul. Available: www.inf.unifra.br/tfg2002.sis_info/tfg.2002.35.pdf. [ago.2003].

Jos Ricardo Correa Maia profissional com 16 anos de experincia em desenvolvimento e qualidade de software. Atuou como analista de sistemas na MCI Informtica, analista de negcios e analista de testes na Datasul S.A., coordenador da qualidade na Softplan/Poligraph e atualmente especialista de processos na Euax Gesto de Projetos, atuando no gerenciamento da qualidade de projetos e processos. Graduado em processamento de dados (UDESC) e ps-graduado em administrao industrial (UNIVILLE). Autor dos artigos Reduzindo custos de falhas com a implantao do processo de garantia de qualidade (III Simpsio Internacional de Melhoria de Processo de Software SIMPROS - 2001) e A gesto dos custos da qualidade otimizando o processo de garantia da qualidade (VIII Congresso Brasileiro de Custos 2001).
www.euax.com.br

You might also like