Yazılım Mimarisi

Ergün Akıllı
Akbank Teknoloji
Published in
2 min readJun 13, 2023

Bir proje ne kadar büyük ve kapsamlı ise yazılım geliştirme süreci de o denli karmaşık ve zor (mu)dur! (?)

Kapsamı geniş, hedef kitlesi büyük ve özellikleri fazla olan projeleri genellikle büyük ölçekli projeler olarak nitelendiriyoruz. Bu tür projelerin ihtiyaçlarının belirlenmesi, geliştirme sürecinin planlanması, karşılaşılan problemlerin çözümlenmesi ve ortaya çıkan ürünlerin değerlendirilmesi süreçlerinde yazılım mimarisinin önemini çok daha iyi anlıyoruz.

Yeni bir kavram olmamakla birlikte yazılım mimarisi; teknolojinin hızla gelişmesi, yeni yaklaşım ve kavramların literatüre kazandırılmasıyla içeriği sürekli değişen ve sınırları net olarak tanımlanamayan bir kavram olarak karşımıza çıkmaktadır. En çok da uygulama tasarımı ile karıştırıldığını dile getirmek gerekiyor!

Zamanla projeler, ihtiyaçların değişmesi, farklı özellikler eklenmesi, yeni entegrasyonlar kazandırılması ya da güncel teknolojilerin kullanımı gerekçeleriyle değişime uğrar. Yazılım mimarisi bu konuda bizim en büyük yardımcımız olur. Yazılım mimarisi;

  • Performans
  • Güvenlik
  • Yönetim ve bakım
  • Ölçeklenebilirlik
  • Maliyet

konularında önemli katkı sağlar.

Mimari tasarımı iyi olmayan projelerde yapılan değişiklikler; performans, maliyet ve güvenlik konularında riskler barındırır ve bu risklerin çözümlenmesi tahmin edilenden daha fazla zaman ve çaba gerektirir.

Yazılım mimarisi, kararlar bütünüdür. Kararların, yazılımın geliştirme aşamasına geçmeden önce alınması beklenir. Ancak geliştirme sürecinde de bazı kararların alınması gerektiği de bir gerçek olarak karşımıza çıkmaktadır. İyi bir mimari ise doğru kararların verilmesine bağlıdır. Mimari kararlar alınırken;

  • Projenin büyüklüğü
  • Kullanıcı profili ve organizasyon yapısı
  • Entegrasyon ve fonksiyonel isterler
  • Mevcut yazılımlar
  • Teknoloji seçimi
  • Alternatif çözümler
  • Mimarın bilgi birikimi ve tecrübesi

önemli bir rol oynar. Kararların, esnekliği ve değişen durumlar karşısındaki davranışı da yazılımın kalitesini belirler.

Hak ettiği değeri görmeyen bir konu olan dokümantasyon, yazılım mimarisinin ömrü ve yazılım ekipleri tarafından kabul görme, benimsenme adına çok önemlidir. Doküman yazmak da tıpkı kod yazmak gibi özel bir gayret, zaman ve düşünmeyi gerektirir. Bu konuyu atlamamak adına mimari tasarım oluşturulurken bir yandan doküman için notlar alınmalıdır.

Geliştirilen her yazılım; içerisinde birçok kararı ve dolayısıyla bir mimariyi barındırır. Ancak burada amaç “iyi bir yazılım mimarisi” olmalıdır. İyi bir yazılım mimarisinin sahip olması gereken özellikleri birçok açıdan ele aldık. Unutmamamız gereken bir konu; değişimi kabullenmek ve kararlar alırken değişimin gerektirdiği yeniliklere adapte olabilecek esnek kararlar almak olmalıdır.

Bu yazıda yazılım mimarisini genel hatlarıyla açıklamaya çalıştım. Bir sonraki yazıda görüşmek üzere…

--

--