Anda di halaman 1dari 16

Metrics Software: Metricas de software

Allen Cludio das Neves Rebelo - 21100968 allenrebelo@gmail.com Resumo Para realizao deste trabalho salienta-se a medio de software (onde se abordam os requisitos das medidas), a categorizao das mtricas (onde fala-se dos tipos de mtricas existentes) e o estudo de caso (onde se pes em pratica as mtricas de software). O estudo de caso foi feito com base no JFreeChart, uma biblioteca grfica livre para a plataforma Java, que possibilitou a aplicao dos conceitos das mtricas atravs do uso da ferramenta Metrics 1.3.6 de forma a por-se em pratica os conhecimentos tericos adquiridos. 1. Introduo Desde os anos 20 que as mtricas de software so discutidas no meio da engenharia e mesmo assim, no verificada sua utilizao, na prtica, pela grande maioria dos projectos de construo de software. Para melhor percepo das mtricas importante constatar que: no se pode gerenciar o que no se pode medir, pode-se ento dizer que uma mtrica a medio de um atributo (propriedades ou caractersticas) de uma determinada entidade (produto, processoou recursos). As mtricas podem ser traduzidas no esforo, tempo e custo para a realizao de uma tarefa e pelo grau de satisfao do cliente. Estes aspectos salientam a importncia das mtricas, e salientam a importncia de medir osoftware, pois crucial entender e aperfeioar o processo de desenvolvimento, melhorar a gerncia de projectos e o relacionamento com clientes, reduzir frustraes e presses de cronograma, gerenciar contractos de software, indicar a qualidade de um produto de software, avaliar a produtividade do processo, avaliar retorno de investimento, identificar as melhores prticas de desenvolvimento de software entre outros aspectos igualmente importantes.

Devido a sua elevada importncia no desenvolvimento de software as mtricas devem: ser facilmente calculadas, entendidas e testadas, expressar em alguma unidade, passvel de automao, repetvel e independente do observador. Para realizao deste trabalho salienta-se a medio de software (onde se abordam os requisitos das medidas), a categorizao das mtricas (onde fala-se dos tipos de mtricas existentes) e o estudo de caso (onde se pes em pratica as mtricas de software). 2. Mtricas de Software Segundo Duarte &Falbo (2000) no se obtm qualidade do produto de forma espontnea, esta deve serconstruda, a qualidade do produto depende fortemente da qualidade de seu processode desenvolvimento.Para avaliar a qualidade, preciso haver meios de medi-la. Ou seja, preciso obter umamedida que quantifique o grau de alcance de uma caracterstica de qualidade. Assim, paracomputar uma caracterstica de qualidade, necessrio estabelecer uma mtrica capaz dequantific-la e fazer uma medio para determinar a medida. Mtrica de software qualquer tipo de medio que se refira a um sistema de software, processo ou documentao relacionada (Sommerville, 2003). A mtrica de software tem como principio especificar as funes de colecta de dados de avaliao e desempenho, atribuindo essas responsabilidades a toda equipe envolvida no projecto e analisar os histricos dos projectos anteriores. Dada a importncia da medio, est deveria ser aplicada em todas as partes envolvidas na criao de um projecto, e no somente na fase de desenvolvimento. Na ausncia das mtricas esto presentes apenas dados subjectivos de pouca importncia, dado que as mtricas so expressas de forma quantitativa (em nmeros); as mtricas so resultantes de 3 fases: colecta de dados, calculo e anlise dos mesmos. Apos a realizao da medio so feitas as estimativas dos custos e prazos de trmino do projecto ou entrega do produto final. As mtricas de software servem como medidas para quantificar o software em vrios aspectos, os recursos de desenvolvimento de software e/ ou o processo de desenvolvimento do mesmo; incluindo tambm os itens que no so directamente medidos tais como: linhas de cdigo, valor de agregado etc. Para desenvolver um software necessrio usar algum tipo de mtrica de software.

Mtricas de software incluem clculos baseados em medies de qualquer ou todos os componentes usados para desenvolver o software (Lazic&Mastorakis, 2008). As mtricas de teste so significativos se fornecem o feedback objectivo equipe do projecto em relao a qualquer dos processos de desenvolvimento - desde a anlise, a codificao, a testes - e apoiar um objectivo do projecto. Se a mtrica no suporta a meta do projecto, ento no h nenhuma razo para us-la - pois intil para a organizao. A objectividade da mtrica impede que os dados sejam corrompidos e torna mais fcil para a equipe do projecto confiar nas informaes e anlise resultante da mtrica (Lazic&Mastorakis, 2008). Ou seja, as mtricas fornecem informaes valiosas que quando usadas e interpretadas levam a melhorias significativas do projecto. 3. Medio de Software A medio muito importante para definir melhorias dos processos, segundo Pressman (1995) a medio componente de um conjunto de medicaes que visam ajudar a resolver a aflio do software, oferecendo assim benefcios a nvel estratgico, de projecto e a nvel tcnico. A medida processo pelo qual nmeros ou smbolos so designados a atributos ou entidades do mundo real de modo a descrev-los de acordo com regras ambguas, claras e bem definidas. As mtricas so necessrias para a avaliao da qualidade e da produtividade do processo de desenvolvimento, assim como a manuteno do produto. A medio ajuda a perceber em que ponto se encontra o projecto, ajudando assim a perceber o autoconhecimento para saber se o que se tem suficiente; a medio tambm ajuda a perceber o que deve ser feito e qual o caminho a seguir. Vrios autores consideram que medir e estimar a parte mais importante de um projecto de sistema bem-sucedido (Gomes, 2008). Este processo possibilita a preparao para o futuro, isto , atravs do conhecimento j adquirido possvel determinar o passo seguinte e ter a confiana que no haver impactos causadores de problemas no futuro. A medio possvel graas a quatro papeis da medio (Sommerville, 2003), nomeadamente:

- Caracterizao: atravs do entendimento do processo, produtos e recursos, estabelecimento dos marcos bsicos; - Avaliao: atravs da determinao do status com referncia ao planos, avaliar para que os projectos no fiquem fora de controlo ou para traze-los ao controle, verificando o cumprimento de metas de qualidade e os impactos de melhoramento de tecnologias; - Previso: para poder planear, atravs da observao de todo o processo e do produto possvel utilizar os valores observados para prever outros; - Aperfeioamento: ocorre atravs da colecta de informaes quantitativas para ajudar a identificar bloqueios, causas fundamentais, ineficincias, com vista a melhorar a qualidade do produto e o desempenho do sucesso. No processo de medio importante perceber que no se deve medir mais do que o necessrio e que no possvel medir sem conseguir: controlar, gerenciar, melhorar e trabalhar. Assim pode-se dizer que as mtricas podem ser usadas por profissionais e investigadores para melhorar a tomada de decises (Serrano, Piattini,Calero,Genero& Miranda, SD). Para a realizao de todo projecto, necessrio que as mtricas sejam categorizadas. As mtricas podem ser categorizadas da seguinte maneira:-Mtricas directas e indirectas; Mtricas orientadas a tamanho e funo; - Mtricas de produto e produtividade; -Mtricas de qualidade e mtricas tcnicas; -Mtricas privadas e pblicas. Segundo Duarte &Falbo (2000) o modelo de LINGO ajuda a perceber melhor e a simplificar a questo do como medir. (ver anexo1- figura 1) e anexo 2 (tabela 1) 4. Categorizao das mtricas 4.1 Mtricas directas e indirectas -Directas: so aquelas onde os atributos so observados (custo, esforo, quantidade de linhas de cdigos produzidas, total de defeitos registrados);Umacaracterstica directamente mensurvel possui uma mtrica correlacionada, qual, atravs deuma medio, se aplica uma medida - Indirectas: so resultantes de outras mtricas (eficincia, confiabilidade, qualidade, funcionalidade). A eficincia e a capacidade de manuteno so mais difceis de serem avaliadas, s podendo ser medidas indirectamente.As caractersticas indirectamente

mensurveis podem serdescritas em termos de outras caractersticas, sendo calculada, em ltima instncia, viacaractersticas directamente mensurveis. 4.2 Mtricas orientadas a tamanho e funo - Orientadas a tamanho: tem em considerao o tamanho do software produzido (linhas de cdigo), referindo-se a todas actividades da engenharia (analise, projecto, cdigo, testes); - Orientadas a funo: est concentra-se na funcionalidade do software (produto final), consistindo num mtodo para medio de software do ponto de vista do usurio, que determina de forma consistente o tamanho e complexidade de um software. 4.3 Mtricas de produto e produtividade - Produto: ocupam-se com as caractersticas do prprio software, segundo Claro (SD) dividem-se em duas classes, nomeadamente, mtricas estticas e mtricas dinmicas. - Produtividade: focaliza-se na sada do processo de engenharia de software (numero de casos de uso, interaco). 4.4 Mtricas de qualidade e mtricas tcnicas - Qualidade: indica o quanto o software se adequa s exigncias feitas pelo cliente (ex: erros, fase), segundo Pressman (1995) as medidas de qualidade devem ser: - Correto- um programa deve operar correctamente; - Manuteno- a facilidade com que um programa pode ser corrigido se um erro for encontrado, adaptado se o seu ambiente se modificar ou ampliar se o cliente desejar incluses de requisitos funcionais; - Integro- capacidade do sistema de suportar ataques a sua integridade (programas, dados e documentos); - Usvel- deve ser um programa amigvel ao usurio, caso contrrio estar destinado ao fracasso. -Tcnicas:centram-se nas caractersticas do software e no no processo pelo qual o software foi desenvolvido (complexidade lgica, manuteno). 4.5 Mtricas privadas e pblicas -Privadas: referem-se aos defeitos para funes importantes do software, erros encontrados durante revises tcnicas formais;

-Publicas: assimilam informaes que anteriormente eram privadas de uma equipe, faz-se a colecta e avaliao para descobrir indicadores. Um bom desempenho das mtricas de software requere um planeamento, organizao e identificao dos pontos principais (Sommerville, 2003), para tal necessrio que se faa a escolha das medies a serem feitas, a seleco de componentes a serem avaliados, a medio das caractersticas dos componentes, a aquisio de ferramentas necessrias e a identificao de medies anmalas.

5. Caso Prtico 5.1 O que JFreeChart? JFreeChart uma biblioteca grfica livre para a plataforma Java (tm). Projectada para uso em aplicaes, applets, servlets e JSP. JFreeChart distribudo com o cdigo completo assunto de origem para o termsof a GNU Lesser General PublicLicence , que permite que o JFreeChart seja usado em aplicaes de software ou livre de proprietrios. JFreeChart pode gerar grficos de pizza, grficos de barras (regular e empilhadas, com um opcional efeito 3D), grficos de linha, grficos de disperso, grficos de sries temporais (incluindo mdias de mveis, Gantt ,

parcelas high-low-open-closechartsandcandlestick ),

grficos

grficos metros (discagem, bssola e termmetro), cartas de smbolos, grficos, tabelas de combinao de vento ( windplots ), grficos combinados e mais. 5.2 Cdigo Descrio sobre como utilizar a biblioteca JFreeChart Java. Como exemplo, um diagrama de pizza. Fazer o download do JFreeChart no site: http://www.jfree.org/jfreechart/. Criar um novo projecto Java "de.vogella.jfreechart.swing.pie". Cria-se tambm um pacote "de.vogella.jfreechart.swing.pie". No projecto cria-se uma pasta "lib", e cola-se os jarsJFreeChart para esta pasta.S so necessrias as seguintes bibliotecas. - jcommon-1.0.17.jar

- jfreechart-1.0.14.jar Adicionar essas bibliotecas ao classpath. Criam-se as duas classes seguintes:


packagede.vogella.jfreechart.swing.pie;

importjavax.swing.JFrame;

importorg.jfree.chart.ChartFactory; importorg.jfree.chart.ChartPanel; importorg.jfree.chart.JFreeChart; import org.jfree.chart.plot.PiePlot3D; importorg.jfree.data.general.DefaultPieDataset; importorg.jfree.data.general.PieDataset; importorg.jfree.util.Rotation; packagede.vogella.jfreechart.swing.pie; publicclassPieChartextendsJFrame {

privatestaticfinallongserialVersionUID = 1L;

publicPieChart(StringapplicationTitle, StringchartTitle) { super(applicationTitle); // Thiswillcreatethedataset PieDatasetdataset = createDataset(); // basedonthedatasetwecreatethechart // weputthechartinto a panel

JFreeChartchart = createChart(dataset, chartTitle);

ChartPanelchartPanel = newChartPanel(chart); // defaultsize chartPanel.setPreferredSize(newjava.awt.Dimension(500, 270)); // addit to ourapplication setContentPane(chartPanel); } /** * Creates a sample dataset */ privatePieDatasetcreateDataset() { DefaultPieDatasetresult = newDefaultPieDataset(); result.setValue("Linux", 29); result.setValue("Mac", 20); result.setValue("Windows", 51); returnresult;

} /** * Creates a chart */

privateJFreeChartcreateChart(PieDatasetdataset, Stringtitle) { JFreeChartchart = ChartFactory.createPieChart3D(title, // charttitle

dataset, true, true, false);

// data // includelegend

PiePlot3D plot = (PiePlot3D) chart.getPlot(); plot.setStartAngle(290); plot.setDirection(Rotation.CLOCKWISE); plot.setForegroundAlpha(0.5f); returnchart; } } packagede.vogella.jfreechart.swing.pie;

publicclassMain { publicstaticvoidmain(String[] args) { PieChart demo = newPieChart("Comparison", "Whichoperatingsystem are youusing?"); demo.pack(); demo.setVisible(true); } }

Executa-se o Main.java. O resultado o seguinte:

5.3 Ferramenta -Metrics 1.3.6 5.3.1 O procedimento de instalao Executa-se o Eclipse, vai-se ao menu Help ->Install NewSoftware. Adiciona-se um novosite remoto com o seguinte url:http://metrics.sourceforge.net/, selecciona-se a ferramenta, clica-se finish e siga as instrues para a instalao. Para usar as mtricas plugin necessrio que se esteja em uma perspectiva de Navegao Java ou qualquer outra perspectiva que mostra os recursos Java como pastas de origem, pacotes e unidades de compilao. Para comear a usar o MetricsView, utiliza-se o Windows -> Show View ->Other e vai-se at o MetricsView, como mostrado na imagem seguinte.

Inicialmente, a vista resultante mostrar uma breve mensagem de uso porque nenhuma mtrica foi calculada. Para iniciar a recolhem-se mtricas para um projecto, clique direito sobre o projecto e, no menu pop-upseleciona-se "Metrics ->Enable" (ou, em alternativa, usar a pgina de propriedades). Isto ir dizer ao Eclipse para calcular as mtricas a cada vez que uma compilao acontece. Tendo activado o projecto, a maneira mais fcil de calcular todas as mtricas fazer uma reconstruo completa desse projecto. A viso mtrica indicar o andamento dos clculos das mtricas e como elasso executadas em segundo plano. Quando tudo feito, a vises mtricas para o projecto em estudo sero:

Qualquer mtrica mostrada em azul pode ser clicada duas vezes para navegar para o recurso fazendo o valor mximo para mtrica. 5.3.2 Preferncias

As preferncias de mtricas permitem que a ordem das mtricas de exibio sejammudadas e que a base de dados mtricas sejam apagadas (para forar novo clculo de todas as mtricas). Alm disso, a pgina de preferncias de nvel superior serve como uma categoria para pginas de preferncias individuais de mtricas (categoria ID net.sourceforge.metrics.ui.MetricsPreferencePage)

Pode-se agora accionar avisos que aparecem na exibio de tarefa, bem como os editores, indicando mtodos e tipos de mtricas de segurana venham a ser violadas. O mnimo e mximo para cada mtrica pode ser definido nas Preferences >MetricsPreferences -> Safe Rangers. Este recurso desabilitado por padro, e tem que ser habilitado na pgina de preferncias principal. 5.3.3 Exportar para XML Mtricas podem ser exportadas para um arquivo XML a ser processadas com XSL em qualquer tipo de relatrio desejado. Para exportar mtricas, seleciona-se o escopo (projecto, pacote, etc) para que ele seja exibido. Em seguida, usa-se a barra de ferramentas de visualizao ou menu suspenso para seleccionar a funo de exportao.

5.3.4 Cores As vises mtricas podem usar cores personalizadas para a exibio de mtricas. Trs cores so usadas indo para Preferences ->MetricsPreferences ->Colors. 5.3.5 Anlise de dependncia Esta viso iniciada a partir do menu Exibir mtricas ou barra de ferramentas e s funciona quando uma pasta de origem ou projecto inteiro seleccionado. Ele mostra um grfico hiperblico dinmico das dependncias de pacotes, que podem ser ampliadas e rodadas. Usam-se os botes de rdio e barra de rolagem para manipular o grfico. Os rectngulos vermelhos e azuis representam os pacotes, e as bordas suas dependncias.

As vezes difcil ver por que todos os esto conectados uns aos outros e como. Para ajudar com isso, o menu pop-upenredado tem uma entrada "Encontre ShortestPath", que mostra o seguinte dilogo:

6. Concluso

A realizao deste trabalho bastante esclarecedora, dado que elucida em relao ao facto de no bastar apenas criar algo, necessrio tambm medir e projetar, o que feito em funo do tempo e planeamento de recursos. Este projeto permitiu primeiramente verificar como criar um projeto atravs do JFreeChart, onde foi possvel verificar o uso daFerramenta - Metrics 1.3.6, atravs de um processo sequencial iniciado no procedimento de instalao da ferramenta mtricas. 7. Referncias Claro, D.B. Mtricas de Software. Disponvel em:

http://www.inf.ufsc.br/~danclaro/download/disciplinas/M%E9tricas%20de%Software .doc Pressman, R.S (1995). Engenharia de Software. So Paulo: MakronBooks. Sommerville, I. (2003). Engenharia de Software. 6 Ed. So Paulo: Addison Wesley. Gomes, A. E. (2008). Mtricas e Estimativas de Software O inicio de um rally de regularidade. Disponivelem: http://www.apinfo.com/artigo44.htm Duarte, K. C. &Falbo, R. A. (2000). Uma Ontologia de Qualidade de Software Serrano, M., Piattini, M., Calero, C., Genero, M. & Miranda, D. (SD). Un mtodo para la definicin de mtricas desoftware. Grupo ALARCOS Lazic, L. &Mastorakis, N. (2008).CostEffectiveSoftwareTestMetrics

ANEXOS

Fonte: Duarte &Falbo (2000)

Figura 1 Qualidade: Como Medir

Termos Clculo

Significado a relao entre as caractersticas indirectamente medidas e as caractersticas de qualidade, isto as caractersticas indirectamente medidas devem contar com o auxlio de outras caractersticas de qualidade (directa ou indirectamente medveis).

Correlao

a relao entre os conceitos mtrica e caractersticas directamente medveis, indicando que essa caracterstica pode ser tratada atravs da mtrica. Ex: a mtrica nmero de linhas de cdigo pode ser usada para tratar a caracterstica directamente medvel tamanho.

Determinao

a relao entre os conceitos medio e medida, o que indica que uma medio determinada pela medida. Ex: contar o nmero de linhas de cdigo determina um valor, que a medida.

Mtrica

a unidade de medio, ou seja o que se pretende medir. No contexto de qualidade de software, est correlacionada a uma caracterstica de qualidade. Ex: nmero de linhas de cdigo.

Medida Medio

o valor que uma mtrica assume no acto da medio. Ex: 300 linhas de cdigo Actividade de avaliao de qualidade que consiste na determinao de uma medida para uma mtrica. Ex: obter o nmero de cdigo.

Quantificao

a relao entre os conceitos medida e mtrica, indicando que uma medida quantifica uma mtrica. Ex: a medida 5000 linhas de cdigo quantifica a mtrica nmero de linhas de cdigo.

Fonte: Duarte &Falbo (2000)

Tabela 1 Dicionrio de Termos

Anda mungkin juga menyukai