Yazılım Mühendisliğinde Fonksiyonel Olmayan Gereksinim Nedir?
İşlevsel Olmayan Gereksinim Nedir?
İşlevsel Olmayan Gereksinim (NFR), bir yazılım sisteminin kalite özelliğini belirtir. Yazılım sistemini, Yanıt Verme, Kullanılabilirlik, Güvenlik, Taşınabilirlik ve yazılım sisteminin başarısı için kritik olan diğer işlevsel olmayan standartlara göre değerlendirirler. İşlevsel olmayan gereksinim örneği, “web sitesi ne kadar hızlı yükleniyor?” İşlevsel olmayan gereksinimlerin karşılanamaması, sistemlerin kullanıcı ihtiyaçlarını karşılayamaması ile sonuçlanabilir.
Yazılım Mühendisliğinde İşlevsel Olmayan Gereksinimler, çeşitli çevik birikimler arasında sistemin tasarımına kısıtlamalar veya sınırlamalar getirmenize olanak tanır. Örneğin, eş zamanlı kullanıcı sayısı > 3 olduğunda site 10000 saniyede yüklenmelidir. Descriptİşlevsel olmayan gereksinimlerin belirlenmesi, işlevsel gereksinimler kadar kritiktir.
İşlevsel Olmayan Gereksinim Türleri
Aşağıda işlevsel olmayan gereksinimlerin ana türleri verilmiştir:
- Kullanılabilirlik gereksinimi
- Servis kolaylığı gereksinimi
- Yönetilebilirlik gereksinimi
- Kurtarılabilirlik gereksinimi
- Güvenlik gereksinimi
- Veri Integrity gereklilik
- Kapasite gereksinimi
- Kullanılabilirlik gereksinimi
- Ölçeklenebilirlik gereksinimi
- Birlikte çalışabilirlik gereksinimi
- Güvenilirlik gereksinimi
- Sürdürülebilirlik gereksinimi
- Mevzuat gerekliliği
- Çevre şartı
İşlevsel olmayan gereksinim örnekleri
İşlevsel olmayan gereksinimlerin bazı örnekleri aşağıda verilmiştir:
- Kullanıcılar, ilk başarılı oturum açma işleminden hemen sonra başlangıçta atanan oturum açma parolasını değiştirmelidir. Üstelik baş harf asla tekrar kullanılmamalıdır.
- Çalışanların maaş bilgilerini güncellemelerine asla izin verilmedi. Bu tür girişimler güvenlik yöneticisine bildirilmelidir.
- Bir kullanıcının bir veri öğesine erişmeye yönelik her başarısız girişimi, bir denetim takibine kaydedilecektir.
- Bir web sitesi, performansını etkileyerek 20 milyon kullanıcıyı idare edebilecek kapasitede olmalıdır
- Yazılım taşınabilir olmalıdır. Yani bir işletim sisteminden diğer işletim sistemine geçmek herhangi bir sorun yaratmaz.
- Bilgilerin gizliliği, kısıtlı teknolojilerin ihracatı, fikri mülkiyet hakları vb. denetlenmelidir.
İşlevsel ve İşlevsel Olmayan Gereksinimler
Fonksiyonel ve Fonksiyonel Olmayan Gereksinimler arasındaki temel farklar şunlardır:
parametreler | İşlevsel Gereksinim | İşlevsel Olmayan Gereksinim |
---|---|---|
Nedir? | Fiil | Özellikler |
gereklilik | Bu zorunludur | Zorunlu değildir |
Yakalama türü | Kullanım durumunda yakalanır. | Bir kalite özelliği olarak yakalanır. |
Sonuç | Ürün özelliği | Ürün özellikleri |
Yakalama | Yakalanması kolay | Yakalanması zor |
Nesnel | Yazılımın işlevselliğini doğrulamanıza yardımcı olur. | Yazılımın performansını doğrulamanıza yardımcı olur. |
Odak alanı | Kullanıcı gereksinimlerine odaklanın | Kullanıcının beklentisine odaklanır. |
Dökümanlar | Ürünün ne işe yaradığını açıklayın | Ürünün nasıl çalıştığını açıklar |
Test Türü | Fonksiyonel Testler Sistem, Entegrasyon, Uçtan Uca, API testi vb. gibi. | Performans, Stres, Kullanılabilirlik, Güvenlik testleri vb. gibi İşlevsel Olmayan Testler. |
Test uygulaması | Test Yürütme, işlevsel olmayan testlerden önce yapılır. | Fonksiyonel testlerden sonra |
Ürün Bilgisi | Ürün Özellikleri | Ürün Özellikleri |
Fonksiyonel Olmayan Gereksinimin Avantajları
Faydaları/artıları İşlevsel olmayan testler şunlardır:
- İşlevsel olmayan gereksinimler, yazılım sisteminin yasal ve uyumluluk kurallarına uymasını sağlar.
- Yazılım sisteminin güvenilirliğini, kullanılabilirliğini ve performansını sağlarlar
- İyi bir kullanıcı deneyimi ve yazılımı çalıştırma kolaylığı sağlarlar.
- Yazılım sisteminin güvenlik politikasının oluşturulmasına yardımcı olurlar.
İşlevsel olmayan gereksinimin dezavantajları
İşlevsizlik gereksiniminin eksileri/dezavantajları şunlardır:
- Hiçbir işlevsel gereksinim çeşitli üst düzey yazılım alt sistemlerini etkilemez
- Yazılım mimarisi/üst düzey tasarım aşamasında özel bir değerlendirme gerektirirler ve bu da maliyetleri artırır.
- Bunların uygulanması genellikle belirli bir yazılım alt sistemiyle eşleşmez,
- Mimari aşamasını geçtikten sonra işlevsel olmayan bir şeyi değiştirmek zordur.
ANAHTAR ÖĞRENME
- NFR şu anlama gelir: İşlevsel olmayan bir gereksinim, bir yazılım sisteminin performans özelliğini tanımlar.
- İşlevsel olmayan davranış türleri nelerdir: Ölçeklenebilirlik Kapasitesi, Kullanılabilirlik, Güvenilirlik, Kurtarılabilirlik, Veri Integrity, vb.
- NFR örneklerinden biri, Çalışanların maaş bilgilerini güncellemesine asla izin verilmemesidir. Bu tür girişimler güvenlik yöneticisine bildirilmelidir.
- İşlevsel Gereksinim bir fiildir, İşlevsel Olmayan Gereksinim ise bir niteliktir
- İşlevsel olmayan gereksinimin avantajı, iyi bir kullanıcı deneyimi ve yazılımı çalıştırma kolaylığı sağlamanıza yardımcı olmasıdır.
- İşlevsel olmayan gereksinimin en büyük dezavantajı çeşitli üst düzey yazılım alt sistemlerini etkileyebilmesidir.