1 puan yazan GN⁺ 2024-06-16 | 1 yorum | WhatsApp'ta paylaş

Yazılım mimarisi kitabına giriş

Kitabın özellikleri

  • Risk temelli tasarım: Risk düşük olduğunda basit tasarımı, risk yüksek olduğunda ise titiz tasarımı vurgular.
  • Mimarinin demokratikleşmesi: Tüm geliştiricilerin mimariyi anlamasına yardımcı olmayı hedefler.
  • Bildirimsel bilgi: Sistem tasarımı ve inşasına dair net kavramlar sunar.
  • Mühendislik vurgusu: Teknik kısımlara odaklanarak ilkeli tasarım kararları alınmasına yardımcı olur.
  • Pratik tavsiyeler: Farklı soyutlama seviyelerindeki modeller aracılığıyla pratik tasarım yöntemleri sunar.

Kitabın yapısı

Part I: Risk temelli yazılım mimarisi

  • Yazılım mimarisinin tanımı: Sistemin iskelet görevi görür ve kalite niteliklerini etkiler.
  • Risk temelli model: Risklerin nasıl belirleneceğini ve önceliklendirileceğini, ardından riskleri azaltmak için uygun tasarım tekniklerinin nasıl uygulanacağını açıklar.
  • Model kullanımı için tavsiyeler: Sorun çözmek için modellerin nasıl kullanılacağını, kısıtların nasıl dikkatle ekleneceğini ve mimari becerilerin tüm ekibe nasıl dağıtılacağını sunar.

Part II: Mimari modelleme

  • Kavramsal model yapısı: Alan modeli, tasarım modeli ve kod modelinden oluşur.
  • Kapsülleme sınırları kurma: Bileşen ya da modülün iç işleyişini gizleyerek başka sorunların çözümüne odaklanmayı sağlar.
  • Etkili model kurma: Kalite niteliklerini ve işlevselliği vurgulayan çeşitli mimari teknikleri birleştirerek pratik modellerin nasıl kurulacağını ve debug edileceğini açıklar.
  • Model kullanımı için tavsiyeler: Modelin hem avantajlarını hem de dezavantajlarını ele alır ve etkili kullanım yollarını sunar.

E-kitap ve ciltli baskı

  • E-kitap: Google Play'de DRM-free sürüm olarak satışta ($9.99).
  • Ciltli baskı: Amazon'dan satın alınabilir.

Kitap incelemeleri ve ek materyaller

  • İncelemeler: IEEE Software gibi kaynaklarda çeşitli inceleme ve denemeler sunuluyor.
  • Ek materyaller: Sürekli tasarım, mimari stiller, modelleme gibi çeşitli konularda videolar ve yayınlar sunuluyor.

GN⁺'ın görüşü

  • Risk temelli yaklaşımın önemi: Riske dayalı tasarım, projenin başarı olasılığını artırmada çok faydalıdır.
  • Mimarinin demokratikleşmesi: Tüm geliştiriciler mimariyi anlarsa, tüm ekibin verimliliği artabilir.
  • Pratik tavsiyeler: Bu kitap teoriden çok pratik tavsiyeler sunar ve gerçek projelere doğrudan uygulanabilir.
  • Teknik odak: Teknik kısımlara odaklanarak geliştiricilerin somut sorunları çözmesine yardımcı olur.
  • Ek öğrenme materyalleri: Çeşitli ek materyaller sayesinde daha derinlemesine öğrenme mümkündür.

1 yorum

 
GN⁺ 2024-06-16
Hacker News görüşleri
  • Proje yönetimi riski ile yazılım mühendisliği riski birbirinden ayrılmalı. Mühendislik becerileri çoğu zaman yönetim riskini çözmez.
  • Kod kalitesi, düzen, test, dokümantasyon ve standart araçların kullanımı her iki tarafa da yardımcı olur.
  • "Otobüs çarpması" varsayımının sık kullanılmasının nedeni, yeniden üretilebilir ve anlaşılması kolay yazılım yapmak istememizdir.
  • Olumsuz çağrışımı önlemek için "piyangoyu kazanmak" ifadesini kullanmak daha iyi olabilir.
  • Mimari, sırf mimari olsun diye yapıldığında en kötüsüdür. Gereksiz yere karmaşıklığı artırır.
  • İyi mimarinin nihai hedefi maliyeti düşürmektir. Geliştirme ve bakım daha fazla zaman alıyorsa, bu başarısız bir mimaridir.
  • 2010'da yayımlanan bu kitabın ne kadar iyi ayakta kaldığını merak ediyorum.
  • "Design It" kitabı, atölye çalışması etkinlikleri teknik kişiler için faydalı olduğu ve belirli bir teknik mimari tarzına fazla yaslanmadığı için iyi.
  • John Ousterhout'un 'A Philosophy of Software Design' kitabı faydalı. Anlaşılması kolay çok sayıda tavsiye ve örnek içeriyor.
  • "Riske bağımlı" terimi daha iyi bir adlandırma olabilir gibi geliyor. Programcıların neden "[X]-tabanlı" ifadesini sevdiğini merak ediyorum.
  • Bu belirli kitabı bilmiyorum ama yazarın "entelektüel kontrol" üzerine yazısı oldukça içgörülü.
  • Birkaç yıl önce şirkette bununla ilgili bir kitap kulübü yaptık ama bana çok tekrarlı gelmişti.
  • Önemli bir açık kaynak proje başlatanlar ya da solopreneur'lar için bunun iyi bir kaynak olup olmadığını merak ediyorum. Solo geliştiriciler için faydalı kitap veya kaynak önerisi isteniyor.
  • Yazılım mimarisi genel mimariye benziyor, ancak yazılımda Isaac Newton gibi bir figür olmadığı için inşaat mühendisliği benzeri bir alan yok. Buna en yakın isim Claude Shannon.
  • Rastgele terimleri okumaktan bıkkınlık. Matematiksel model istiyorum. Muğlak, insanların uydurduğu terimler sadece fikirleri çevirmeye yönelik bir hack'ten ibaret.