Za pomoč pri modeliranju programa se uporablja odprtokodno orodje poenotenega modelirnega jezika (UML), vendar se zdi veliko orodij UML zelo podobnih in izbira enega je lahko težka. Odprtokodno orodje UML ima lahko samodejno ali ročno generiranje kode ali kombinacijo obeh, in običajno je najbolje izbrati vrsto kodiranja, ki ustreza vašemu slogu. Za izpis diagrama UML je lahko koristna možnost izvoza diagrama kot slike. Pri kodiranju diagrama bo odprtokodno orodje UML razumelo enega ali več kodnih jezikov in običajno je najbolje izbrati program, ki podpira jezik, ki ga poznate. Če ima orodje UML izkušen forum, bi vam moralo pomagati, če program ne deluje po pričakovanjih.
Z generiranjem kode ali s prikazom sprememb vaše nove kode v realnem času vam odprtokodno orodje UML pomaga pri modeliranju programskih diagramov. Kodo je mogoče izdelati samodejno, vtipkati ročno ali ustvariti z mešanico obeh; običajno je najbolje izbrati orodje, ki ustvari kodo na način, ki ustreza vašemu slogu kodiranja. Samodejno ustvarjanje UML pomeni manj dela z vaše strani, vendar ima koda lahko velik odtis ali pa ima napake. Ročno kodiranje UML traja dlje, ker je ročno, vendar je le redko odtis. Mešano kodiranje ustvari generično kodiranje in izpolnite praznine; čeprav se pričakuje, da znate jezik, se s tem izognete napakam in je običajno lažje kot v celoti ročno kodirati.
Če vi ali kdo drug potrebuje diagram natisnjen, je običajno najbolje, da diagram UML izvozite kot slikovno datoteko. Za pomoč pri tem je morda najbolje, če ima odprtokodno orodje UML več možnosti izvoza slik. Običajne vrste slik so običajno najboljše, razen če iščete določeno obliko.
Če želite kodirati diagram UML, razen če samodejno generira kodo, boste običajno morali poznati vrsto kodnega jezika. Glede na odprtokodno orodje UML boste morda lahko uporabljali enega ali več jezikov hkrati. Običajno je najbolje, da dobite orodje UML, ki prepozna jezik, ki ga poznate.
Medtem ko je odprtokodno orodje UML lahko zgrajeno po enakih strogih standardih kot zaprtokodni programi, večina odprtokodnih orodij UML ne bo imela posebne podporne skupine. Če želite to ublažiti, poiščite forum z izkušenimi člani. Na ta način, če se zgodi kaj nepričakovanega, lahko na forumu objavite vprašanje in prejeli boste odgovor, ki je dobro obveščen.