Katılım
15 Eki 2021
Mesajlar
17
Tepki puanı
557
NZ Yaşı
4 Yıl 6 Ay 8 Gün
Konum
Tekirdağ
NZR
39.29₺
Çekimlerim
0
Yazılım Mimarisi Nedir?
İnşaata başlamadan önce mimar, projenin ön çizimlerini ve tasarımını çizdi. Tıpkı bunun gibi, yazılım projelerinin inşa edilmeden önce planlanması gerekir. Bu plana "yazılım mimarisi" denir ve bu planı tasarlayan kişiye "yazılım mimarı" denir. Mimari, yazılım uygulamasının işletmenin donanımı, ağı ve diğer bileşenleri ile nasıl etkileşime gireceğini gösteren eksiksiz bir tasarım belgeleri setini içerir. Bu nedenle yazılım geliştiricilerin izleyeceği yol genellikle belirlenir.

Yazılım mimarisinin hangi özelliklere ihtiyacı var?

İşlevsellik: Yazılımın kullanım amacına göre performans düzeyini ifade eder. Güvenilirlik: Bir ürünün belirli koşullar altında gerekli işlevleri sağlama yeteneğini ifade eder.

Kullanılabilirlik: Yazılım ürününün kullanım kolaylığını ifade eder.

Performans: İşlem hızı, yanıt süresi, kaynak kullanımı, çıktı ve üretkenliği hesaba katan tahminleri ifade eder.

Desteklenebilirlik: Programlama geliştiricilerinin herhangi bir değişiklik yapmadan veya çok az değişiklikle yazılımı bir platformdan diğerine kolayca aktarabilmeleri anlamına gelir.

Güven: Bağımsız hizmetlerden birinin kesintiye uğramasına rağmen en iyi şekilde performans gösterme yeteneğini ifade eder.

Yazılım mimarisinin yukarıdaki özelliklere sahip olması ve başarılı bir mimari tasarım olabilmesi için yazılım mimarisi ilkelerine (S.O.L.I.D ilkeleri) uyması gerekir.


Tek sorumluluk ilkesi

Her sistem işlevinin (servis/modül/api gibi) yalnızca bir sorumluluğu olmalıdır, dolayısıyla değişimin bir nedeni vardır. Sorumluluk kapsamını mümkün olduğunca azaltmak, kullanıcının amaçlanan amacı bilmesi ve dolayısıyla hataların azaltılması anlamına gelir.

Açma ve kapama prensibi

Bu ilke, davranışını değiştirmeden sistemi genişletmenin en iyisi olduğunu varsayar. Gereksinimlerdeki değişiklikleri tahmin etmeye çalışmak genellikle iyi bir fikir olmasa da (çünkü aşırı karmaşık tasarımlara yol açabilir), mevcut bileşenlerde minimum değişiklikle yeni özelliklere uyum sağlayabilmek, bir uygulamanın ömrünün anahtarıdır.

Richter'in İkame Prensibi

Herhangi iki bağımsız hizmet, gerektiğinde API çağrıları aracılığıyla birbirleriyle iletişim kurabilmelidir. Ayrıca aynı sözleşmeye sahip iki hizmet, tüm sistemi değiştirmeden birbirinin yerine geçebilmelidir.

Arayüz izolasyon prensibi

Arayüzler/sözleşmeler mümkün olduğunca ayrıntılı ve müşteriye özel olmalıdır, böylece müşteri çağrıları kullanmadıkları fonksiyonlara bağlı olmaz. Bu, tek sorumluluk ilkesiyle yakından ilgilidir: ayrıştırıcı arayüzlerin bir kombinasyonunu, onları rol/sorumluluklara göre ayırmayı ve türetilmiş modülleri gereksiz sorumluluk kombinasyonlarından ayırmayarak ayırmayı tercih ediyoruz.

Bağımlılık ters çevirme ilkesi

Yüksek seviyeli modüller, düşük seviyeli modüllere bağlı olmamalıdır; her ikisi de soyutlamaya dayalı olmalıdır. Benzer şekilde, soyutlama ayrıntılara bağlı olmamalı ve ayrıntılar soyutlamalara bağlı olmalıdır. Bu ilke, aralarındaki bağımlılıkları ortadan kaldırmak için yüksek seviyeli ve düşük seviyeli yazılım bileşenleri veya katmanları arasındaki arayüzün bir soyutlamasını sağlar.

Kısa ve öz olarak yazılım mimarisinin bütünleşmesi için bu prensiplerin hepsine ihtiyacımız vardır. Uygulanan bu prensipler bize müşterinin isteğini doğrudan oluşturmamızı sağlayan kümeler haline yarar sağlayacaktır.

Not: Bir sonraki konumuzda görüşmek üzere sağlıcakla kalın
 
Üst