İşlevsel ve İşlevsel Olmayan Gereksinimler
İşlevsel ve İşlevsel Olmayan Gereksinimler Arasındaki Temel Fark
- İşlevsel bir gereksinim, bir sistemi veya bileşenini tanımlarken işlevsel olmayan bir gereksinim, bir yazılım sisteminin performans özelliğini tanımlar.
- İşlevsel gereksinimler, gereksinim analiziyle birlikte eksik gereksinimlerin belirlenmesine yardımcı olurken İşlevsel olmayan gereksinimlerin avantajı, iyi bir kullanıcı deneyimi ve yazılımı çalıştırma kolaylığı sağlamanıza yardımcı olmasıdır.
- İşlevsel Gereksinim bir fiildir, İşlevsel Olmayan Gereksinim ise bir niteliktir
- İşlevsel olmayan gereksinim türleri şunlardır: Ölçeklenebilirlik Kapasitesi, Kullanılabilirlik, Güvenilirlik, Kurtarılabilirlik, Veri Integrity, vb. olmakla birlikte, işlem düzeltmeleri, ayarlamalar ve iptaller, İş Kuralları, Sertifikasyon Gereksinimleri, Raporlama Gereksinimleri, Yönetimsel işlevler, Yetki düzeyleri, Denetim Takibi, Harici Arayüzler, Geçmiş Veri yönetimi, Yasal veya Düzenleyici Gereksinimler çeşitli işlevsel gereksinimlerdir.

İşlevsel Gereksinim Nedir?
Yazılım mühendisliğinde bir fonksiyonel gereksinim Bir sistemi veya onun bileşenini tanımlar. Bir yazılımın gerçekleştirmesi gereken işlevleri açıklar. Bir fonksiyon girdilerden, davranışından ve çıktılardan başka bir şey değildir. Bir sistemin muhtemelen hangi işlevi gerçekleştireceğini tanımlayan bir hesaplama, veri manipülasyonu, iş süreci, kullanıcı etkileşimi veya başka herhangi bir spesifik işlevsellik olabilir.
İşlevsel gereksinimler yazılım mühendisliğinde sistemin amaçlanan davranışını yakalamanıza yardımcı olur. Bu davranış, işlevler, hizmetler veya görevler veya hangi sistemin gerçekleştirmesi gerektiği şeklinde ifade edilebilir.
İşlevsel Olmayan Gereksinim Nedir?
A işlevsel olmayan gereksinim Bir yazılım sisteminin kalite özelliğini tanımlar. Bir sistemin belirli işleyişini yargılamak için kullanılan bir dizi standardı temsil ederler. Örnek; web sitesi ne kadar hızlı yükleniyor?
İşlevsel olmayan bir gereksinim, tüm yazılım sisteminin kullanılabilirliğini ve etkinliğini sağlamak için gereklidir. İşlevsel olmayan gereksinimlerin karşılanamaması, sistemlerin kullanıcı ihtiyaçlarını karşılayamaması ile sonuçlanabilir.
İşlevsel Olmayan Gereksinimler, çeşitli çevik birikimler arasında sistemin tasarımına kısıtlamalar veya sınırlamalar koymanıza 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 Gereksinimlere Örnek
Yazılım mühendisliğindeki fonksiyonel gereksinimlere bazı örnekler:
- Yazılım, müşterileri ABC İletişim Yönetim Sistemine göre otomatik olarak doğrular
- Satış sistemi, kullanıcıların müşterilerin satışlarını kaydetmesine izin vermelidir
- Uygulamadaki tüm pencerelerin arka plan rengi mavi olacak ve hexadecimal RGB renk değeri 0x0000FF olacak.
- Yalnızca Yönetim düzeyindeki çalışanlar gelir verilerini görüntüleme hakkına sahiptir.
- Yazılım sistemi bankacılık API'si ile entegre olmalıdır
- Yazılım sistemi geçmeli Bölüm 508 erişilebilirlik gereksinimi.
İşlevsel olmayan gereksinim örnekleri
Yazılım mühendisliğinde işlevsel olmayan gereksinimlere bazı örnekler:
- 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 Arasındaki Fark
Yazılım mühendisliğinde fonksiyonel ve fonksiyonel olmayan gereksinimler arasındaki temel fark aşağıdadır:
Parametreler | İşlevsel Gereksinim | İşlevsel Olmayan Gereksinim |
---|---|---|
Ne olduğunu | 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ü | Sistem, Entegrasyon, Uçtan Uca gibi Fonksiyonel Testler, API testi, vb. | Performans, Stres, Kullanılabilirlik gibi İşlevsel Olmayan Testler, Güvenlik testi, vb. |
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 Gereksinimin Avantajları
Burada tipik bir işlevsel gereksinim belgesi oluşturmanın artıları/avantajları verilmiştir:
- Uygulamanın, söz konusu uygulamanın işlevsel gereksinimlerinde belirtilen tüm işlevleri sağlayıp sağlamadığını kontrol etmenize yardımcı olur.
- İşlevsel gereksinim belgesi, bir sistemin veya alt sistemlerinden birinin işlevselliğini tanımlamanıza yardımcı olur.
- Gereksinim analiziyle birlikte işlevsel gereksinimler, eksik gereksinimlerin belirlenmesine yardımcı olur. Beklenen sistem hizmetinin ve davranışının açıkça tanımlanmasına yardımcı olurlar.
- İşlevsel gereksinim toplama aşamasında yakalanan hatalar düzeltilmesi en ucuz olanlardır.
- Kolay proje yönetimi için kullanıcı hedeflerini, görevlerini veya etkinliklerini destekleyin
- İşlevsel gereksinimler, dışarıdan görülebilen işlevsel davranışlar sergilediklerinden Kullanım Senaryosu formunda veya kullanıcı hikayesinde ifade edilebilir.
Fonksiyonel Olmayan Gereksinimin Avantajları
İşlevsel olmayan testlerin faydaları/artıları yazılım Mühendisliği ş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.