Sve zahtjevniji i složeniji korisnički zahtjevi predstavljaju nove izazove u razvoju aplikacija. Neprestane promjene korisničkih zahtjeva rezultiraju promjenama funkcionalnosti aplikacije što posljedično znači i potrebu za izmjenom ili nadogradnjom programskog koda. U svrhu pojednostavljenja procesa ažuriranja UML modela koji opisuju funkcionalnost aplikacije razvoj softvera je potrebno podići na višu razinu apstrakcije, to jest na višu razinu zrelosti koja znači automatsko generiranje programskog koda iz jasno i nedvosmisleno kreiranih modela. Na posljednjoj, petoj, razini zrelosti uporabe modela pri razvoju aplikacija, osim strukture programskog koda i poslovne logike, u modele je potrebno ugraditi i različita ograničenja. U svrhu rješavanja ovog problema, OMG je u UML specifikaciju ugradio i OCL, formalni jezik za definiranje ograničenja nad objektima. Prepoznavši važnost i potrebu korištenja OCL-a u ovom radu smo predstavili šest razina zrelosti korištenja modela (MMLs) pri razvoju softvera, metodički prikazali uporabu UML-a i OCL-a pri spomenutim razinama zrelosti te prikazali važnost uporabe OCL-a u MDA arhitekturi. Potom smo predstavili osnovne značajke, koncepte i sintaksu OCL-a te u posljednjem poglavlju prikazali različite načine primjene ovog formalnog jezika za definiranje ograničenja nad objektima. |