Tarkvaraarenduses on kasutusel palju erinevaid töövahendeid, et visualiseerida erinevaid aspekte loodavast tarkvarast - nii kasutajaliidest/-kogemust, süsteemide arhitektuuri, aga ka üksikute keerulisemate algoritmide kirjeldamiseks ja üksikute etappide väljaselgitamiseks.
Visuaalsete diagrammide koostamine ja kasutamine on väga oluline osa tarkvararenduse projektides, eriti osana dokumentatsioonist. Suuremates projektides hõlbustab see töövoogu ning aitab hoida skoopi stabiilsena.
Allpool on täpsemalt räägitud ühtsest modelleerimiskeelest UML, mis on konkreetne keel, mida kasutatakse erinevate diagrammide loomisel, kuid lisaks on infotehnoloogias levinud ka teisi meetodeid tarkvaraprojekti osade visualiseerimiseks. Allpool viidetes on lähemalt tutvustatud neist kahte:
UML ehk ühtne mudelleerimiskeel (ing. k. Unified Modeling Language) on visuaalne modelleerimiskeel, mis aitab tarkvaraarenduses nii kliendi, arendaja, kui ka kui ka muudele projektiga kokkupuutuvatele isikutele visualiseerida arendatava toote sisemist struktuuri. UML on ka harukeel, mis tähendab, et on olemas erinevaid diagrammiliike erinevate tasandite kuvamise jaoks.
Selle abil defineeritakse ära erinevate tasandite diagrammide notatsioonid, keskendudes nendel spetsiifilistel tasemetel vaja minevatele kirjeldustele. Tarkvaratoote käitumise kirjeldamiseks on näiteks olemas käitumisdiagramm, andmestruktuuri kirjeldamiseks aga olemidiagramm.
UML diagramme kasutatakse nii uue arendustöö kirjeldamiseks, kui ka olemasoleva projekti dokumenteerimiseks.
UML tekkis vajadusest kujutada objektiorienteeritud programmeerimise jaoks ühtset keelt, mis kuvaks protsessi ilma koodita. Algselt tekkis, kui arendajad Grady Booch ja James Rumbaugh ühendasin enda loodud diagrammikeeled. Aja jooksul tekkis sinna teisi harusid juurde.
Kasutuslooskeem kirjeldab süsteemi funktsionaalsust kasutusloost lähtudes. See on süsteemi funktsionaalsuse (kasutuslugude) ja seda kasutava keskkonna ("aktorite") mudel. Kasutuslood aitavad arendusmeeskonnal luua seoseid süsteemilt nõutava "mida" ja "kuidas" vahel - mida süsteemilt nõutud on ja kuidas see süsteem kasutajale seda kätte toimetab.
Tegemist on skeemitüübiga, mis on objektiorienteeritud meetodites väga laialt levinud. Seda kasutatakse üksikasjalikuma süsteemidisaini loomiseks olemasolevate kasutuslugude põhjal.
See kirjeldab süsteemis leiduvaid objekte ja nendevahelisi erinevaid staatilisi suhteid.
Jadaskeem kirjeldab süsteemis leiduvate objektide omavahelist suhtlemist mingis kindlas kasutusloo olukorras. Oluline on selle skeemitüübi puhul interaktsioonide ajaline järjestus (time sequence).
Kirjeldab erinevaid olekuid, mida süsteemis olevad objektid läbivad oma elutsükli jooksul. Vastavalt süsteemis toimuvatele sündmustele muudavad objektid oma olekut. Skeemil on kirjeldatud ka objekti algne olek ning elutsükli lõpus olev viimane olek peale muutusi.
Aitab visualiseerida ja planeerida objektiorienteeritud tarkvarasüsteemide füüsilist poolt - kuidas tarkvara osad jaotatakse erinevate riistvaraliste elementide vahel nagu serverid ja isiklikud arvutiseadmed. Skeemil on kujutatud "artefaktid", mis sümboliseerivad reaalseid riistvaralisi seadmeid, millele tarkvara levitatakse.
Lühiülevaade UML'ist - TalTech abimaterjalid