Hva er programvarevisualisering?
Visualisering av programvare er handlingen med å bruke programmer eller integrert utviklingsmiljø (IDE) plugins under utvikling og testing av programvareapplikasjoner; Dette gir mulighet for å opprette en grafisk fremstilling av et aspekt av programvaren med det formål å avgjøre om det er noen problemer eller ineffektivitet i programmet. Det er en rekke typer programvarevisualiseringsteknikker, men de brukes ofte for å se detaljer om programkildekode, for å undersøke forhold mellom programvarekomponenter eller for å se et abstrakt syn på hvordan et program utfører, inkludert informasjon om hvordan det samhandler med omkringliggende prosesser. Generelt brukes programvarevisualisering på komplekse systemer for å oppdage ut-av-den vanlige atferden eller ressursbruken, eller for å se områder av et design som er unødvendig eller funksjonsfeil. Den faktiske visuelle representasjonen som brukes varierer veldig fra sammenkoblede tekstblokker til todimensjonal (2D) Søylediagrammer for å utdype tredimensjonale (3D) objekter som endrer form som et program kjører.
I noen tilfeller kan det være nyttig å bruke programvarevisualisering for å se på kildekoden for et program. Gjennom bruk av fargelegging og abstraksjon, kan enorme mengder skriftlig kode sees på en gang. Intensjonen kan være å bestemme hvor mye kode som brukes til hvilket formål eller vekselvis, skjermen kan være bundet til en profiler eller feilsøking som fremhever kodeklokker som tar lang tid å utføre eller som blir utført ofte.
Objektorienterte programmeringsspråk kan bruke programvarevisualisering for å bestemme forhold mellom de forskjellige bibliotekene, klassene og metodene i et program. Dette hjelper til med å bestemme avhengigheter mellom de forskjellige områdene i et program, hvorav noen kan være utilsiktet. Det kan også vise klasser eller metoder i et program som aldri kalles eller detProgramlogikken gjør ugjennomtrengelig. Visuelt kan et avhengighets- eller relasjonskart se ut som et nettverk av nett og linjer, overlappende kuler med forskjellige størrelser, eller til og med grenene til et tre.
Når et program kjører, kan visualisering av programvare i sanntid vise abstrakt representasjon av hvordan programmet utfører, hvordan forskjellige køer blir håndtert, og hvordan inngang og utgang flyter. Dette kan hjelpe utviklere til å se pigger eller hull i ytelse og områder som mottar eksepsjonelt høy aktivitet. Disse typer visualiseringer kan se ut som nesten alt fra å bevege fargede blokker og bølgeformer til å endre topografiske kart som representerer kodesegmenter som blir utført. Generelt sett holdes visualiseringen ganske grunnleggende, slik at anomale hendelser tydelig kan sees og observeres uten overdreven grafisk rot.
Det er andre applikasjoner for visualisering av programvare, hvorav den ene er omvendt konstruksjon av en applikasjon. Ved å observere hvordan et prograM samhandler og kjører, forskjellige segmenter av koden kan fokuseres på uten å kreve en bratt innledende læringskurve. En mer spesifikk bruk er innen datasikkerhet for å observere hvilke områder i et program som samhandler med eksterne prosesser, eller hvilke områder som er åpne for angrep.