Vad är mjukvaruvisualisering?
Programvarualisering är handlingen att använda program eller integrerad utvecklingsmiljö (IDE) plug-ins under utveckling och testning av programvaruapplikationer; Detta möjliggör skapandet av en grafisk representation av någon aspekt av programvaran i syfte att avgöra om det finns några problem eller ineffektivitet i programmet. Det finns ett antal typer av mjukvaruvisualiseringstekniker, men de används oftast för att se detaljer om programkällkod, för att undersöka förhållanden mellan mjukvarukomponenter eller för att se en abstrakt syn på hur ett program körs, inklusive information om hur det interagerar med omgivande processer. I allmänhet används mjukvaruvisualisering på komplexa system för att upptäcka utanför det vanliga beteendet eller resursanvändningen, eller för att se områden i en design som är onödiga eller felaktiga. Den faktiska visuella representationen som används varierar mycket från sammankopplade textblock till tvådimensionell (2D) stapeldiagram för att utarbeta tredimensionella (3D) objekt som ändrar form som ett program körs.
I vissa fall kan det vara användbart att använda programvisualisering för att titta på källkoden för ett program. Genom användning av färg och abstraktion kan enorma mängder skriftlig kod ses på en gång. Avsikten kan vara att bestämma hur mycket kod som används för vilket syfte eller, växelvis kan displayen kan vara bunden till en profiler eller felsökare som belyser kodblock som tar lång tid att utföra eller som körs ofta.
Objektorienterade programmeringsspråk kan använda mjukvaruvisualisering för att bestämma förhållanden mellan de olika biblioteken, klasserna och metoderna i ett program. Detta hjälper till att bestämma beroenden mellan de olika områdena i ett program, av vilka några kan vara oavsiktliga. Det kan också visa klasser eller metoder i ett program som aldrig kallas eller detProgramlogiken gör oåtkomlig. Visuellt kan ett beroende- eller relationsdiagram se ut som ett nätverk av banor och linjer, överlappande sfärer av olika storlekar eller till och med grenarna på ett träd.
När ett program har körts kan realtidsvisualisering av mjukvaruförändring visa abstrakt representation av hur programmet körs, hur olika köer hanteras och hur inmatning och utgång flyter. Detta kan hjälpa utvecklare att se spikar eller luckor i prestanda och områden som får exceptionellt hög aktivitet. Dessa typer av visualiseringar kan se ut som nästan allt från att flytta färgade block och vågformer till förändrade topografiska kartor som representerar kodsegment som utförs. I allmänhet hålls emellertid visualiseringen ganska grundläggande så anomala händelser kan tydligt ses och observeras utan överdriven grafisk röran.
Det finns andra applikationer för mjukvaruvisualisering, varav en är omväntingenjören för en applikation. Genom att observera hur en programM interagerar och körs, olika delar av koden kan fokuseras på utan att kräva en brant initial inlärningskurva. En mer specifik användning är inom datorsäkerhet för att observera vilka områden i ett program som interagerar med externa processer, eller vilka områden som är öppna att attackera.