Projektowanie zorientowane obiektowo (OOD) to specjalny rodzaj projektowania oprogramowania, który został opracowany w celu zastąpienia prostego kodu liniowego rodzajem kodu, który jest zgodny z bardziej złożonymi konwencjami. W projektowaniu zorientowanym obiektowo kod odnosi się do określonego „obiektu” i koncepcyjnie „pasuje do” tego obiektu, aby zapewnić określone operacje użytkownika lub inne warunki. Projektowanie obiektowe jest również nazywane programowaniem obiektowym (OOP).
Projektowanie zorientowane obiektowo doprowadziło do rozwoju wielu nowych technologii, w tym związanych z Microsoft Visual Basic i pakietem C (C, C++, C#) języków programowania, które są nadal bardzo w użyciu. Jako model koncepcyjny dla lepszych konwencji kodu oprogramowania, programowanie zorientowane obiektowo jest idealne dla rodzaju aplikacji wizualnych często tworzonych w Visual Basic, które są powszechnie używane w systemach operacyjnych Windows. Analiza zorientowana obiektowo może również zapewnić lepszy sposób patrzenia na „surowy kod”, aby zrozumieć, co działa w określonym programie lub aplikacji.
Przykładem projektowania zorientowanego obiektowo są różne przyciski, pola tekstowe, ramki graficzne itp., które są zaprogramowane w aplikacjach wizualnych. Każdy z tych „obiektów” może zawierać swój własny kod, który reguluje zachowanie lub użycie tego obiektu. Programiści mogą dalej rozdzielać różne instancje obiektu na „klasy”, które mogą być obsługiwane przez funkcje lub inne moduły kodu.
W projektowaniu zorientowanym obiektowo, diagram sekwencji systemu może być przydatny. Te diagramy działają zgodnie z ujednoliconym językiem modelowania. Diagram sekwencji systemu (SSD) pokazuje różne zdarzenia kierowane przez „aktorów”, które pomagają zdefiniować zachowania i zastosowania obiektów w programie.
Jako bardziej wszechstronna forma kodu niż starsze systemy liniowe, które powstały przy użyciu prymitywnego oprogramowania, takiego jak BASIC i FORTRAN, programowanie obiektowe prawdopodobnie nadal będzie napędzać postęp technologiczny w projektowaniu oprogramowania. Wraz z językami kodowania, takimi jak XML i inne języki znaczników, programowanie obiektowe może obsługiwać zarówno wysoce konceptualne, jak i wysoce funkcjonalne programy. Ten rodzaj projektowania oprogramowania wpisuje się w filozofię tworzenia wirtualnych obiektów, które będą dobrze służyć społeczności IT w wysiłkach na rzecz wyodrębniania i ulepszania różnych funkcji oprogramowania lub modelowania oprogramowania w celu naśladowania zdarzeń w świecie fizycznym. Tymczasem programowanie obiektowe stało się standardową konwencją, która jest powszechnie przydatna w społeczności programistów komputerowych.