Hvad er softwarevisualisering?
Softwarevisualisering er handlingen med at bruge programmer eller integreret udviklingsmiljø (IDE) plug-ins under udvikling og test af softwareapplikationer; Dette giver mulighed for oprettelse af en grafisk repræsentation af et eller andet aspekt af softwaren med det formål at afgøre, om der er problemer eller ineffektivitet i programmet. Der er en række typer softwarevisualiseringsteknikker, men de bruges oftest til at se detaljer om programkildekode, til at undersøge forholdet mellem softwarekomponenter eller til at se et abstrakt overblik over, hvordan et program udføres, herunder oplysninger om, hvordan det interagerer med omgivende processer. Generelt bruges softwarevisualisering på komplekse systemer til at hjælpe med at opdage ude af den almindelige opførsel eller ressourceforbrug eller til at se områder af et design, der er unødvendige eller funktionsdygtige. Den faktiske visuelle repræsentation, der bruges, varierer meget fra sammenkoblede tekstblokke til to-dimensionel (2D) Søjlediagrammer til at uddybe tredimensionelle (3D) objekter, der ændrer form som et program kører.
I nogle tilfælde kan det være nyttigt at bruge softwarevisualisering til at se på kildekoden til et program. Gennem brug af farvelægning og abstraktion kan der ses enorme mængder af skriftlig kode på én gang. Hensigten kan være at bestemme, hvor meget kode der bruges til hvilket formål eller skiftevis, displayet kan være bundet til en profiler eller debugger, der fremhæver blokke af kode, der tager lang tid at udføre eller udføres ofte.
Objektorienterede programmeringssprog kan bruge softwarevisualisering til at bestemme forholdet mellem de forskellige biblioteker, klasser og metoder i et program. Dette hjælper med at bestemme afhængigheder mellem de forskellige områder af et program, hvoraf nogle kan være utilsigtet. Det kan også vise klasser eller metoder i et program, der aldrig kaldes eller detProgramlogikken gør ikke utilgængelig. Visuelt kan et afhængigheds- eller relationsdiagram ligne et netværk af baner og linjer, overlappende kugler i forskellige størrelser eller endda grene af et træ.
Når et program kører, kan softwarevisualisering i realtid vise abstrakt repræsentation af, hvordan programmet udføres, hvordan forskellige køer håndteres, og hvordan input og output flyder. Dette kan hjælpe udviklere med at se pigge eller huller i ydeevne og områder, der får usædvanligt høj aktivitet. Disse typer visualiseringer kan ligne næsten alt fra bevægelige farvede blokke og bølgeformer til at ændre topografiske kort, der repræsenterer kodesegmenter, der udføres. Generelt holdes visualiseringen imidlertid temmelig grundlæggende, så der kan ses tydeligt anomale begivenheder tydeligt uden overdreven grafisk rod.
Der er andre applikationer til softwarevisualisering, hvoraf den ene er omvendt konstruktion af en applikation. Ved at observere, hvordan en prograM interagerer og kører, forskellige segmenter af koden kan fokuseres på uden at kræve en stejl indledende læringskurve. En mere specifik anvendelse er inden for computersikkerhed for at observere, hvilke områder af et program, der interagerer med eksterne processer, eller hvilke områder der er åbne for angreb.