ARiSA - Control Software Quality

English | Svenska
Quality Monitor™ reverse code engineering: the view (by yWorks) shows the actual UML design of a system. Q-Analytics™ web analytics: the view shows sequences of events of test sessions.

Vizz3D™

Vizz3D™ är ett system som visualiserar information i 3D. Det förmedlar systemstruktur och kvalitetsinformation till en användare på ett begripligt sätt och ökar förståelsen för det systemet. Det är dock användbart även i andra sammanhang eftersom det kan visa vilken sorts grafisk och statistisk information som helst. [ tillbaka ]

Kommersiella licencser för Vizz3D™ finns fritt tillgängliga. Ladda gärna ner en kopia. [ till toppen ]

Vizz3D™ som fristående verktyg

Vizz3D™, från början utvecklad för VizzAnalyzer™, är nu ett fristående verktyg. Det kan visa flera olika relationer/grafer samtidigt. Även deras förändring över tid kan visas. Skärmdumparna nedan ger några exempel. Relationerna/graferna kan definieras av användaren. Sedan kan olika layouter och visuella metaforer väljas för att visa informationen. Även egna layouter och metaforer kan integreras om man använder Vizz3D™ som ramverk.

Några skärmdumpar ger en uppfattning om Vizz3Ds flexibilitet och visar dess möjligheter.

Den första bilden visar en mjukvaruvisualisering av programkoden till Vizz3D som fångar klasshierarkin och relationerna mellan klasser som använder varandra. Den innehåller klass- och gränssnittsnoder och bågar för fältåtkomst, skapande och anrop. Den kan tolkas som klassers (boxar) och gränssnitts (klot) interaktion. Den röda färgen indikerar noder som inte längre används (död kod).

Hierarkisk anropsgraf [ till toppen ]

Nästa bild illustrerar några kvalitetsaspekter för klasser i ett system. Det visar fyra standardmått som är indikatorer för hur lätt ett system blir att underhålla: brist på dokumentation (LOD, Lack of Documentation), viktat antal metoder (WMC, Weighted Method Count), beroende mellan klasser som förändras (CDBC, Change Dependency Between Classes) och antal rader kod (LOC, Lines of Code). Alla mått skalas mellan 0 och 100. För detaljer om måttdefinitionerna och analyserna refererar vi till vår ARiSA Quality Workshop™.

WMC representeras av boxarnas x-koordinat, LOC av y- och CDBC av z- koordinaten. LOD representeras av en färgkodning: små värden till grönt, mellanstora till gult och stora till rött.

Bilden visar extremvärden i systemet med avseende på lättheten att underhålla. Uppe till höger har klasser många rader kod och en hög komplexitet. Långt fram har klasser hög CDBC (beroende), vilket betyder att om en av dessa klasser ändras så kommer många andra klasser också att behöva ändras. "Friska" klasser förväntas vara gröna och placerade i origo i koordinatsystemet.

Kvalitetsgraf [ till toppen ]

Visualiseringen av ett systems kvalitet kan också kopplas till evolutionen av det systemet. Bilden nedan är en snapshot av en animation, dvs. en serie visualiseringar. Den visar förändringar av LOC och WMC mellan efterföljande versioner. Höjden på staplarna visar förändringen av LOC. En stapel i den positiva/negativa y-rikningen visar på en ökning/minskning av LOC. Färgen ändras mellan röd och grön, vilket innebär att en klass blev mer komplex (röd) eller mindre komplex (grön). Standard är grå färg om det inte förändrats. Samma klasser blir kvar på samma position genom versionerna så att deras förändring lätt kan uppfattas.

Förändringsgraf [ till toppen ]

Vizz3D™ som ramverk

Vizz3D™ är också ett återanvändbart ramverk. Alla visualiseringar och animationer som visats i föregående avsnitt har utvecklats med hjälp av detta ramverk. Mer specifikt, vi har i omgångar lagt till nya bindningsfunktioner, metaforer och layoutalgoritmer när det behövts för en viss visualisering eller animation. Sedan är det bara att konfigurera visualiseringarna och animationerna online genom att definiera modell- och vymappningar.

Fördelen med ett ramverk är att användare (utvecklare) kan återanvända alla bindningsfunktioner, metaforer och layoutalgoritmer när de väl har definierats. Därför kommer i allt större utsträckning en visualisering eller animation bara att behöva konfigureras online. Detta möjliggör också en interaktiv och iterativ mjukvaruanalys där passande vyer skapas efter hand som de behövs.

Bindningsfunktioner avbildar värden för grafers egenskaper till visuella egenskaper. I Vizz3D™ driftsätts bindningsfunktionerna i den speciella bindningskatalogen och kan laddas dynamiskt. De behöver kunna konfigureras online, i vår implementation genom att använda XML-deskriptorer. Detta gör det möjligt med en online-implementation av en bindningsfunktion om den skulle fattas för en viss visualisering. Observera att denna online-implementation ska ses som undantag när ramverket väl har mognat. Sedan är det bara att välja och konfigurera en lämplig bindningsfunktion från poolen av de som finns, se nedan.

Algoritmer för layout tilldelar positionsegenskaper för att placera ut grafnoder. Förutom denna layoutfunktion kan en layoutklass begränsa vilka metaforer den är tillämplig för. Layoutklasserna driftsätts i katalogen för layoutalgoritmer och laddas dynamiskt. Detta möjliggör online-implementationer av layouter också.

Metaforer är familjer av visuella objekt som passar ihop. Metaforer innehåller även filer som beskriver miljön för visualiseringen, dvs. bakgrunden, ytterligare visuella enheter och andra miljöfaktorer såsom dimma och ljuskällor. De individuella implementationerna är API-beroende (Java3D eller OpenGL). En metaforklass kan begränsa vilka layouter den tillåter används. Metaforklasserna driftsätts i metaforkatalogen och laddas dynamiskt. [ till toppen ]

Fri licens och nedladdning av Vizz3D™

Vizz3D™ finns fritt tillgänglig som källkod och bytekod från SourceForge.NET. Kontakta oss gärna om ni har frågor. [ till toppen ]

Copyright © 2008-2014, ARiSA. Telefon: 0733-564363 E-post: Valid CSS! Valid XHTML 1.0 Transitional se