Вы находитесь на странице: 1из 2

Apresentao de Artigo - Engenharia de Software Artigo: Novas Mtricas de Qualidade para Programas Orientados a Objetos Autores: Dapeng Liu

- Department of Computer Science - College of Science - Wayne State University Shaochun Xu - Department of Computer Science - Algoma University College Laurentian University Resumo: Mtricas de software; Mtricas de acoplamento; Nova mtrica para medir o nvel de acoplamento entre classes; Realizao experimentos em cinco sistemas open-source; Concluso. Mtricas de Software O que so mtricas? Uma mtrica a medio de um atributo (propriedades ou caractersticas) de uma determinada entidade (produto, processo ou recursos). Este conceito tem uma aplicao mais concreta nas cincias exatas onde possvel mensurar determinadas caractersticas com a preciso suficiente para tornar a informao confivel. Mas na Engenharia de Software como estamos tratando de caractersticas abstratas e s vezes subjetivas no possvel estabelecer mtricas de qualidade que sejam, sozinhas, capazes de nos dar informaes completas e conclusivas sobre um programa. Existem vrios tipos de mtricas de qualidade desde aquelas ditas de baixo nvel que analisam o cdigo-fonte e/ou a execuo do programa. E aquelas ditas de alto nvel que avaliam o projeto por exemplo. Por que utilizar mtricas de software? Entender e aperfeioar o processo de desenvolvimento; Melhorar a gerncia de projetos;

Indicar a qualidade de um produto de software, etc.

Enfim existem varias razes para que as utilizemos. Mtricas de Acoplamento Desde que a classe o mdulo bsico em sistemas OO, o acoplamento, isto , o grau de interao entre as classes, deve ser to baixo quanto possvel. Assim a mtricas de acoplamento uma mtrica de baixo nvel que visa determinar o grau de dependncia que as classes de um software possuem entre si. Dependncias que podem ser chamadas a mtodos estticos, variveis de instancia ou manipulao de referencias entre outras. Neste trabalho, propomos novas mtricas de software para medir o grau de acoplamento em um sistema OO baseado na relao de chamada entre as classes. Nova Mtrica de Acoplamento Quanto menor for o nvel de acoplamento entre as classes de um projeto maior ser a escalabilidade do mesmo, isto , mais fceis sero as futuras alteraes, upgrades, e correes. Baixo acoplamento tambm contribui para uma maior reutilizao de cdigo, pois quanto menos acoplada ao software uma classe for mais fcil ser copia-la e adapta-la para outro programa. Em nossa proposta de mtrica iremos determinar o grau de acoplamento das classes a partir da quantidade de chamadas de mtodo. Em nossa mtrica iremos considerar apenas as chamadas de/para mtodos estticos localizados em outras classes, descartando desta forma outros tipos de relao, como associao, herana, etc. Experimento Programas submetidos ao teste: 1) JAdvisor [16] 2) JHotDraw [2] 3) example JDI application [1]

4) Violet [12] 5) AspectBrowser [19] 6) Ferramenta de Teste Foi desenvolvido, para este experimento, o seguinte plug-in para o IDE Eclipse: Um navegador de dependncia que usa AST (rvore de sintaxe abstrata) para analisar o cdigo fonte e para extrair dependncias estticas. Ele processa os campos das classes, os parmetros dos mtodos, as variveis locais e os mtodos estticos chamados para poder determinar as relaes entre as classes. Grficos Nos grficos seguintes no eixo y esto representas as classes, no lado positivo do eixo x esta o numero de mtodos chamados e do lado negativo o numero de chamadas recebidas. 1 grfico: JAdvisor um sistema de aconselhamento para estudantes universitrios. Ele no usa muitas tcnicas de programao abstrata. Como resultado, o navegador de dependncias detecta chamadas de mtodo para quase todas as classes. 2 grfico: JHotDraw um programa para desenho de grficos tcnicos e estruturados. Parece que ele adota fortemente alguns padres de desenvolvimento amplamente conhecidos uma vez que existem muitas classes para as quais as chamadas para outras classes no foram detectados pela anlise de cdigo esttico. Algumas classes fundamentais so muito utilizadas por outras. 3 grfico: JDI (Java interface de depurao) uma Java API que fornece informaes teis para depuradores e sistemas similares que necessitam de acesso ao estado de execuo de uma mquina virtual. As chamadas de mtodo entre as classes so excessivos: algumas classes foram chamadas cerca de 150 vezes. O programa claro e conciso. Tticas de Programao Orientada a Objeto no pode realmente melhorar a estrutura do sistema. 4 grfico: Violet

um simples e fcil editor de UML. Ele usa um monte de tcnicas de Programao Orientada a Objetos. A estrutura do sistema abstrata e concisa. O nmero de chamadas de mtodo relativamente pequeno, uma vez que usa muitos arquivos de propriedade que no puderam ser analisados. 5 grfico: AspectBrowser Ele tem uma interface de usurio densa e h uma srie de operaes de interface de usurio no cdigo. por isso que o nmero de chamadas de mtodo detectadas pela anlise esttica de cdigo pequeno e , em geral, inferior a 30. Concluses estatsticas 1 grfico: representa o numero mximo de chamadas observadas de uma classe para outra classe especifica. A coluna de trs representa as chamadas feitas e a da frente s recebidas. Observa-se que algumas classes do JHotDraw (2) e do JDI (3) fazem muitas chamadas a outras classes e que no JDI, Violet, e AspectBrowser algumas classes recebem muitas chamadas. 2 grfico: representa a media entre o numero de chamadas de mtodo e o numero de classes. 3 grfico: representa o desvio padro das observaes, nos mostra quanto s observaes esto distribudas em volta da media. Ajuda a determinar a qualidade da observao. Quanto menor for melhor ser a qualidade da observao. 4 grfico: representa o percentual de classes onde foram detectadas chamadas de mtodo. Programas antigos como o JAdvisor e JDI se saram melhor enquanto programas mais recentes por utilizarem muitos recursos de abstrao no podem ser bem examinados. Concluso A mtrica proposta no foi capaz de determinar a qualidade dos softwares testados; Mas pode servir como complemento para outras mtricas de acoplamento; Os resultados demonstram que ela capaz de descobrir caractersticas especificas de determinados projetos.

Вам также может понравиться