Proiectarea orientată pe obiect (OOD) este un tip special de proiectare software care a dezvoltat pentru a înlocui codul liniar simplu cu un tip de cod care aderă la convenții mai complexe. În proiectarea orientată pe obiect, codul se referă la un anumit „obiect” și conceptual „se încadrează în interiorul” respectivului obiect pentru a asigura operațiuni specifice utilizatorului sau alte condiții. Proiectarea orientată pe obiect se mai numește și programare orientată pe obiecte (OOP).
Designul orientat pe obiecte a condus la dezvoltarea multor tehnologii noi, inclusiv cele legate de Microsoft Visual Basic și C Suite (C, C++, C#) a limbajelor de programare care sunt încă foarte utilizate astăzi. Ca model conceptual pentru convenții de cod software mai bune, programarea orientată pe obiecte este perfectă pentru tipul de aplicații vizuale adesea create în Visual Basic, care sunt utilizate în mod obișnuit în sistemele de operare Windows. Analiza orientată pe obiect poate oferi, de asemenea, o modalitate mai bună de a privi „codul brut” pentru a înțelege ce funcționează într-un anumit program sau aplicație.
Un exemplu de proiectare orientată pe obiecte implică diferitele butoane, casete de text, casete cu imagini etc. care sunt programate în aplicații vizuale. Fiecare dintre aceste „obiecte” poate conține propriul cod specific care guvernează comportamentul sau utilizarea acelui obiect. Programatorii pot separa în continuare diverse instanțe ale unui obiect în „clase” care pot fi operate de funcții sau alte module de cod.
În proiectarea orientată pe obiecte, o diagramă de secvență a sistemului poate fi utilă. Aceste diagrame funcționează conform unui limbaj de modelare unificat. O diagramă de secvență a sistemului (SSD) arată diverse evenimente conduse de „actori” care ajută la definirea comportamentelor și utilizărilor obiectelor dintr-un program.
Fiind o formă de cod mai versatilă decât sistemele liniare mai vechi care s-au dezvoltat cu software primitiv precum BASIC și FORTRAN, programarea orientată pe obiecte va continua probabil să conducă progresele tehnologice în proiectarea software-ului. Alături de limbaje de codare precum XML și alte limbaje de marcare, programarea orientată pe obiecte poate conduce atât programe extrem de conceptuale, cât și foarte funcționale. Acest tip de proiectare de software contribuie la o filozofie de a crea obiecte virtuale care vor servi bine comunității IT în eforturile de a izola și de a îmbunătăți diferite funcții software, sau de a modela software pentru a imita evenimentele din lumea fizică. Între timp, programarea orientată pe obiecte a devenit o convenție standard care este universal utilă în comunitatea de programare a computerelor.