Nesne yönelimli çözümleme ve tasarım

Nesne Yönelimli Çözümleme ve Tasarım (İngilizce - Object Oriented Analysis and Design (OOAD)), bir sistemin/sistem modülleri setinin/organizasyonun/işletme biriminin gereksinimlerinin çözümlenmesinde ve uygun bir çözümün tasarımında nesne ile modelleme tekniklerini kullanır. Modern nesne yönelimli çözümleme ve tasarım yöntemlerinin çoğu, gereksinim, tasarım, uygulama, test ve dağıtım süreçleri boyunca kullanım senaryoları üzerine kuruludur. Kullanım Senaryoları, nesne yönelimli programlama ile birlikte ortaya çıkmış olmasına rağmen yordamsal programlanan sistemlerde de işe yaramaktadır.

Nesne Yönelimli Sistemler 
Nesne yönelimli sistem nesnelerden oluşur. Nesneler arasındaki iş birliği, sistemin davranışını belirler. Tüm nesnelerin durumlarını kapsayan bileşke bir durum ise sistemin durumu olarak düşünülebilir. Nesnelerin birbirine gönderdikleri mesajlar, nesneler arası iş birliğinin temelini oluşturur. Mesajlar modellenen sisteme göre farklılık gösterebilir. Örneğin, bazı sistemlerde soket üzerinden veri iletimine benzer şekilde mesajlaşmalar gerçekleşebilir.

Çözümleme (Analiz) 
Nesne Yönelimli Çözümleme (NYÇ) problem alanını, nesne yönelimli bir sistem geliştirerek modeller.

Analiz işlemi için kullanılacak kaynaklar, yazılı gereksinimler ve kullanım senaryolarından oluşur. Sistemin nasıl kurulacağını uygulama kısıtlamaları belirler. Bu nedenle analiz modelinde dikkate alınmayan unsurlar: eşgüdüm, dağıtılmış bilgi işleme, kalıcılık, kalıtım gibi uygulama kısıtlamalarıdır.

Sistem modeli, farklı iş, farklı teknolojik veya kavramsal alanları temsil eden ve birbirinden bağımsız çözümlenen parçalara ayrılabilir.

Kavramlar ve kavramların ilişkilerini (kavramsal modeller) kullanarak gerçekleştirilen nesne yönelimli analizin çıktısı kurulacak sistemi tanımlar.

Tasarım 
Nesne Yönelimli Tasarım (NYT), problemin mantıksal çözümlerinin arandığı bir etkinlik olarak tanımlanabilir.

Nesne yönelimli tasarım, nesne yönelimli çözümlemenin çıktısı olan kavramsal modeli alır ve tasarımın temeli olarak seçilen mimari kararlarla birlikte ortamdan, programlama dilinden ve seçilen araçlardan gelen uygulama kısıtlamalarını bu model üzerine uygular.

Kavramsal modeldeki kavramlar - niteliklerine göre - sınıflara, API'lerin soyut arayüzlerine ve nesnelerin değişik durumlarda gerçekleştirecekleri rollere yansıtılır:

 Nesne yönelimli çözümlemedeki değişmez kavramlar, tekrar kullanılabilir arayüzleri ve uygulamaları oluşturur.
 Nesne yönelimli çözümlemedeki değişken kavramlar, karar veren, ortama özgü veya duruma özgü mantık veya algoritmaları uygulayan sınıfları oluşturur

Nesne yönelimli tasarım sonucunda, nesneleri kullanarak sistemin nasıl yapılandırılacağının detaylı bir tanımı verilir.

Tümleşik Modelleme Dili 

Tümleşik Modelleme Dili (TMD) Nesne Yönelimli Çözümleme ve Tasarımda kullanılan standart bir modelleme dili olmuştur.

Ayrıca bakınız 
 Nesne tabanlı programlama dili
 Tasarım Şablonları
 CORBA

Programlama
Yazılım mühendisliği