Objektno orijentirani dizajn (OOD) posebna je vrsta softverskog dizajna koji je razvijen da zamijeni jednostavan linearni kod vrstom koda koji se pridržava složenijih konvencija. U objektno orijentiranom dizajnu, kod se odnosi na određeni “objekt” i konceptualno se “uklapa unutar” tog objekta kako bi osigurao specifične korisničke operacije ili druge uvjete. Objektno orijentirani dizajn naziva se i objektno orijentirano programiranje (OOP).
Objektno orijentirani dizajn potaknuo je razvoj mnogih novih tehnologija, uključujući one vezane uz Microsoft Visual Basic i C Suite (C, C++, C#) programskih jezika koji su i danas vrlo često u upotrebi. Kao konceptualni model za bolje konvencije softverskog koda, objektno orijentirano programiranje savršeno je za vrstu vizualnih aplikacija često izrađenih u Visual Basicu, a koje se obično koriste u Windows operativnim sustavima. Objektno orijentirana analiza također može pružiti bolji način gledanja na “sirov kod” kako bi se razumjelo što je na djelu u određenom programu ili aplikaciji.
Primjer objektno orijentiranog dizajna uključuje različite gumbe, tekstualne okvire, okvire za slike itd. koji su programirani u vizualne aplikacije. Svaki od ovih “objekata” može sadržavati svoj specifični kod koji upravlja ponašanjem ili upotrebom tog objekta. Programeri mogu dalje odvojiti različite instance objekta u “klase” kojima se može upravljati pomoću funkcija ili drugih kodnih modula.
U objektno orijentiranom dizajnu, dijagram slijeda sustava može biti koristan. Ovi dijagrami rade u skladu s Unified Modeling Language. Dijagram slijeda sustava (SSD) prikazuje različite događaje koje pokreću “akteri” koji pomažu u definiranju ponašanja i upotrebe objekata u programu.
Kao svestraniji oblik koda od starijih linearnih sustava koji su se razvili s primitivnim softverom poput BASIC-a i FORTRAN-a, objektno orijentirano programiranje će vjerojatno nastaviti pokretati tehnološki napredak u dizajnu softvera. Zajedno s jezicima kodiranja kao što su XML i drugi označni jezici, objektno orijentirano programiranje može pokretati i visoko konceptualne i visoko funkcionalne programe. Ovakav dizajn softvera doprinosi filozofiji stvaranja virtualnih objekata koji će dobro poslužiti IT zajednici u nastojanjima da se izoliraju i poboljšaju različite softverske funkcije, ili model softvera koji oponaša događaje u fizičkom svijetu. U međuvremenu, objektno orijentirano programiranje postalo je standardna konvencija koja je univerzalno korisna u zajednici računalnog programiranja.