Çok Katmanlı Mimari Nedir? Neden Kullanılır?Çok katmanlı mimari sık kullanılan temel bir mimaridir. Özellikle basit web uygulamalarında uygulanan n-layer ve n-tier olarak farklı 2 kavrama karşılık gelmektedir. Bu iki kavram birbirinden farklıdır.1. N-Layer:Genelde uygulamanın 3 katmana ayrılmasıdır. Sunum (presentation), iş (business or logic), veri erişim (data access) katmanları temel katmanlardır. Sırasıyla kısaca PL, BL ve DAL diye adlandıralım. Katmanlar aynı işlem tarafından sunulmakta fiziksel olarak değil ama mantıksal olarak ayrılmış durumdadır. .Net için örnekleyecek olursak uygulamanın 3 farklı kütüphaneden (dll) den oluşması gibi, Java için ayrı package (jar) öğeleri gibi. Açık çok katmanlı mimaride; katmanlar, bağımlı olduğu diğer tüm katmanlara erişim sağlayabilir (PL>>BL & PL>>DAL gibi). Kapalıda ise her katman sadece bir sonrakine erişim sağlayabilir (PL>>BL>>DAL). Bu 3 temel katman dışında ihtiyaca ve tasarıma bağlı olarak başka katmanlar da (Facade, Controller, Proxy vb.) eklenebilir. Ayrıca tüm katmanların erişebileceği (helper, exception vb. sınıfların yer aldığı) ortak bir katman kullanımı da sık tercih edilmektedir. devamı için tıklayınız...
Yazılım Tasarım Kalitesi Nedir? Yazılım Kalitesi Nedir? Farkları Nelerdir?Öncelikle kalite nedir onu tanımlayalım. Bir ürün, hizmetin belirlenen veya olabilecek ihtiyaçları karşılama kabiliyetine dayanan özelliklerin toplamıdır şeklinde basitçe tanımlanır kalite. Peki bu tanım yeterli midir? Bence hayır. Kalite bakıldığında sezgisel olarak anlaşılabilen ama tanımlanması güç bir kavramdır. Yine de biz tanımlayabildiğimiz kadarı ile yazılım kalitesi ve tasarım kalitesi nedir ele alalım.Yazılım kalitesi bir yazılımın dıştan göründüğü şekliyle ihtiyaçları karşılama kabiliyeti ve özelliklerinin toplamıdır. Yazılımın çalışma, cevap verme süreleri, kullanıcı açısından kullanım kolaylığı, görsel özellikleri, hata verme sıklığı vs. gibi kavramları dışarıdan gözlemlenen unsurlara örnek verebiliriz. Yazılım Tasarım Kalitesi ise yazılım iç özelliklerini temsil eder. Kolay anlaşılır, kolay gerçeklenebilir, kolay değiştirilebilir, kolay test edilebilir bir tasarım yüksek kaliteli bir tasarımdır. Geliştirme, test, hata giderme, bakım maliyetlerini minimuma indiren bir tasarım, yazılım tasarım kalitesinin yüksek olduğunu gösterir. Yazılım tasarım kalitesi, yazılım kalitesini büyük oranda etkilemektedir ancak tasarım kalitesi yüksek, kalitesi düşük bir yazılım veya bunun tersi de mümkündür. Soyut kavram olan yazılım yerine somut bir kavram üzerinden benzetme yapalım; devamı için tıklayınız...