Mimari (IT)Çözüm Mimarı

Fonksiyonel olmayan gereksinimlerin (kros fonksiyonel gereksinimler) BT sistemleri mimarisindeki rolü nedir ve bu tür gereksinimlerin mimarinin tasarımına etkisini örnekle açıklayınız?

Hintsage yapay zeka asistanı ile mülakatları geçin

Cevap.

Kros fonksiyonel gereksinimler (NFR, non-functional requirements), BT sisteminin performans, güvenlik, hata toleransı, ölçeklenebilirlik, bakım kolaylığı gibi işlevsel olmayan özellikleridir. Bu gereksinimler, mimari tasarımda kritik bir rol oynar ve genellikle teknik çözümleri ve altyapıyı işlevsel gereksinimler kadar belirler.

Örneğin: eğer bir iş sistemi yüksek erişilebilirlik (uptime > 99.99%) gerektiriyorsa, mimar otomatik devreye alma (failover), veri replikasyonu, yük dengeleme mekanizmaları kurmalıdır. Aksi takdirde, iş değeri kaybedilebilir.

Örnek: NFR'nin mimari üzerindeki etkisi (Python, FastAPI ile):

from fastapi import FastAPI from starlette.middleware.cors import CORSMiddleware app = FastAPI() app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Bu yaklaşım, NFR arasında dış uçlarla entegrasyonu destekleme gereksinimi varsa gereklidir.

Ana özellikler:

  • NFR'ler, teknoloji ve mimari kalıpların seçiminde belirleyici rol oynar.
  • Dikkate alınmaları tasarımın en erken aşamalarında olmalıdır.
  • NFR'leri göz ardı etmek, mükemmel iş mantığına sahip olunsa bile başarısızlıklara neden olabilir.

Tuzak Sorular.

NFR'leri geliştirme sürecinin geç aşamalarında eklemek mümkündür?

Hayır, kritik NFR'lerin en baştan dikkate alınması gerekir, aksi takdirde mimarinin köklü bir şekilde yeniden tasarlanması gerekecektir.

NFR'lerin yerine getirilmesinden yalnızca mimar mı sorumludur?

Yanlış. Bu, tüm proje ekibinin sorumluluğundadır — analistlerden devops mühendisine kadar.

Ölçeklenebilirlik ve güvenliği yalnızca altyapı görevleri olarak mı değerlendirmek mümkündür?

Hayır. Ölçeklenebilirlik ve güvenlik, hem mimari hem de altyapı görevleridir (örneğin, verilerin kullanıcı bazında ayrılması servis seviyesinde gerçekleştirilir).