Tarkvaraarendus on protsess, mis nõuab täpset planeerimist ja ettenägelikkust. Tarkvaraarenduse dokumenteerimiseks on saadaval mitu tehnikat. Unified Modeling Language (UML) on standardmeetod, mida kasutatakse tarkvara arendamiseks vajalike artefaktide dokumenteerimiseks.
UML on disaini parimate tavade kogum, mida on tarkvaraarenduse kogukonnas kasutatud juba aastaid. Unified Modeling Language võeti esmakordselt kasutusele 1996. aastal Object Management Group (OMG) poolt. UML-i esialgse versiooni lõi tarkvaraarenduse ekspertide rühm, keda sageli nimetatakse kolmeks sõbraks.
Kolm kaaslast on Grady Booch, James Rumbaugh ja Ivar Jacobson. Neid peetakse 1996. aastal standardmeetodi ühtlustamise projekti eestvedajaks ja asutajateks, mis viis Unified Modeling Language loomiseni. See ühendamine kasutas parimaid lähenemisviise tarkvara kujundamiseks ja arendamiseks ning lõi korduvkasutatava raamistiku, mida oli lihtne mõista.
UML-i disaini lähenemisviis kasutab tarkvaraprojektide ja kasutajate kogukonna kommunikatsioonivahendina graafilisi tähiseid. Need graafilised märgid aitavad tarkvaraarenduse meeskonnal uurida võimalikke kujundusi ja lõkse. Ühtset modelleerimiskeelt kasutatakse tavaliselt tarkvararakenduse projekteerimisel. See plaan selgitab, kuidas tarkvararakendust luuakse.
Agile Modeling (AM) on näide tarkvara kujundamise lähenemisviisist, mis kasutab UML-i. AM on tarkvara kujundamise tavade ja põhimõtete kogum. UML-i protsessi kritiseeritakse sageli selle eest, et see on arendusmeeskonnale koormav, eriti dokumendihalduse valdkonnas. Agile Modeling püüab võtta vajalikud UML-i tükid ja ühtlustada need paindlikuks disainiraamistikuks. Agile Modeling kasutab UML-i dokumente kujunduse umbkaudsete mustanditena, mitte lõplike jooniste või ametliku dokumendina. See eemaldab vajaduse UML-dokumentide korrapärase värskendamise järele.
Mudelipõhine testimine (MBT) on protsess, mille käigus testimine viiakse lõpule kindlaksmääratud kavandite alusel. Need kujundused on üles ehitatud süsteemi nõuete alusel. Määratletud nõudeid kasutatakse seejärel testjuhtumite genereerimiseks, mis kirjutatakse testskriptidena. Järgmisena saavad MBT artefaktid genereerida vajaliku teabe, et selgitada süsteemi eeldatavat olekut.
Üks keerukamaid protsesse tarkvaraarenduses on komponentide integreerimine. Mudelipõhine integratsioon (MDI) on protsess, mis on loodud rakenduse integreerimise lihtsustamiseks. MDI-s luuakse Unified Modeling Language’is kujundus, mis esindab vahetusteede juhtimist tarkvaras.