Nesneye Dayalılık
Yazılım geliştirme modelleme aktivitesi olarak görülebilir. Yazılım geliştirmede ilk adım çözmeye çalıştığımız problemi modelleme ve problem alanının kavramsal modelini oluşturmadır. Sonraki adım bu modeli gerçekten bizim problemimizi çözecek programı gösteren çözüm alanına çevirmektir. Bu bakış açısında, programlama dilleri derleyici tarafından çalışan programa dönüştürülen çözüm alanı modelini tanımlar. Özetle, yazılım geliştirme işlemi iki farklı alanda yer alır ve en az iki tür modelleme tekniği gerekir.
Nesneye dayalılık bize çözüm alanını problem alanı elemanları ile gösterebildiği için problem ve çözüm alanları arasındaki boşluğu daraltır. Problem alanı elemanları verilen görevi başarmaya çalışan gerçek dünya nesneleri içerir. Örneğin, bir kütüphane sistemi kütüphaneler, ödünç alan insanlar, kitaplar ve bunların etkileşimleri ile uğraşır. Bir problemi modellerken, her problem alanını durumunu, davranışını ve ilişkilerinin kimliğini modelleriz. Örneğin, kütüphanede işletmenleri otomatikleştirmek için kullanılan herhangi bir sistem problem alanındaki nesneler ile uğraşır.
Yazılım geliştirme sürecinde nesneye dayalılık yaklaşımının iki özelliğini saptayabiliriz: karşılaştığımız herhangi bir problemde kullanılabilme ve çözüm alanı gerçekten problem alanına benzemesi. Gerçek dünya aynı görevi gerçekleştiren nesneler demeti olarak görüldüğünden, nesneye dayalı yaklaşım bize birçok problem için çözüm üretme olanağı sağlar. Aslında, çözüm alanı modeli problem alanı modelini yansıtır, programı okududuğunuzda aslında problem alanı içinde yönlendirilirilirsiniz. Bu, açıkça, programın karışıklığın derecesini düşürmeye, geliştirmeyi kolaylaştırmaya ve bakımına destek olur.