Što je vizualizacija softvera?

Vizualizacija softvera je čin korištenja programa ili dodataka integriranog razvojnog okruženja (IDE) tijekom razvoja i testiranja softverskih aplikacija; to omogućuje stvaranje grafičkog prikaza nekog aspekta softvera u svrhu utvrđivanja postoje li problemi ili neučinkovitosti unutar programa. Postoji niz vrsta tehnika vizualizacije softvera, ali najčešće se koriste za uvid u pojedinosti o izvornom kodu programa, za ispitivanje odnosa između softverskih komponenti ili za gledanje apstraktnog pogleda na to kako se program izvršava, uključujući informacije o tome kako se program izvodi. u interakciji s okolnim procesima. Općenito, vizualizacija softvera koristi se na složenim sustavima kako bi se otkrila neuobičajena ponašanja ili korištenje resursa, ili da bi se uočila područja dizajna koja su nepotrebna ili neispravna. Stvarni vizualni prikaz koji se koristi uvelike varira od međusobno povezanih blokova teksta do dvodimenzionalnih (2D) trakastih grafova za razradu trodimenzionalnih (3D) objekata koji mijenjaju oblik dok se program izvodi.

U nekim slučajevima može biti korisno koristiti softversku vizualizaciju za pregled izvornog koda programa. Korištenjem bojanja i apstrakcije, ogromne količine napisanog koda mogu se vidjeti odjednom. Namjera bi mogla biti utvrditi koliko se koda koristi za koju svrhu ili, naizmjenično, zaslon bi mogao biti vezan za profilator ili program za ispravljanje pogrešaka koji ističe blokove koda za koje je potrebno dugo vremena da se izvrše ili koji se često izvršavaju.

Objektno orijentirani programski jezici mogu koristiti softversku vizualizaciju za određivanje odnosa između različitih knjižnica, klasa i metoda u programu. To pomaže u određivanju ovisnosti između različitih područja programa, od kojih neke mogu biti nenamjerne. Također može prikazati klase ili metode u programu koje se nikada ne pozivaju ili koje programska logika čini nedostižnim. Vizualno, grafikon ovisnosti ili odnosa može izgledati kao mreža mreža i linija, preklapajućih sfera različitih veličina ili čak grana stabla.

Jednom kada se program pokrene, vizualizacija softvera u stvarnom vremenu može pokazati apstraktni prikaz kako se program izvršava, kako se rukuje različitim redovima čekanja i kako ulaze i izlaze teku. To može pomoći programerima da vide skokove ili nedostatke u izvedbi i područja koja primaju iznimno visoku aktivnost. Ove vrste vizualizacija mogu izgledati kao gotovo sve, od pomicanja obojenih blokova i valnih oblika do mijenjanja topografskih karata koje predstavljaju segmente koda koji se izvršavaju. Općenito, međutim, vizualizacija je prilično bazična tako da se anomalni događaji mogu jasno vidjeti i promatrati bez pretjeranog grafičkog nereda.

Postoje i druge aplikacije za vizualizaciju softvera, od kojih je jedna obrnuti inženjering aplikacije. Promatrajući kako program djeluje i radi, različiti segmenti koda mogu se usredotočiti na bez potrebe za strmom početnom krivuljom učenja. Još jedna specifična upotreba je u području računalne sigurnosti za promatranje koja područja programa su u interakciji s vanjskim procesima ili koja su područja otvorena za napad.