Bu yazımızda yazılım mühendisliğinde kullanılan iki önemli terim olan fonksiyonel gereksinimler ve fonksiyonel olmayan gereksinimleri ve bunların karşılaştırmasını ele alacağız. Her iki terim arasındaki farkı anlamak, teslim edilen ürünün müşterinin beklentilerini karşılamasını sağlamaya yardımcı olur.
uygulama uygulaması
O halde daha fazla uzatmadan konumuza başlayalım.
İşlevsel gereksinimler
İşlevsel gereksinimler, bir sistemin veya sistem öğesinin gerçekleştirmeye uygun olması ve farklı biçimlerde belgelenmesi gereken bir işlevi tanımlar. İşlevsel gereksinimler, sistemin işlevselliğiyle ilişkili olarak sistemin davranışını tanımlar.
Fonksiyonel gereksinimler kolay anlaşılabilecek şekilde basit bir dille yazılmalıdır. İşlevsel gereksinimlere örnek olarak kimlik doğrulama, iş kuralları, denetim takibi, sertifika gereksinimleri, işlem düzeltmeleri vb. verilebilir.
Bu gereksinimler, uygulamanın işlevsel gereksinimlerinde belirtilen tüm işlevleri sağlayıp sağlamadığını doğrulamamıza olanak tanır. Daha kolay proje yönetimi için görevleri, etkinlikleri ve kullanıcı hedeflerini desteklerler.
İşlevsel gereksinimleri hazırlamanın çeşitli yolları vardır. En yaygın yol, bunların metin biçiminde belgelenmesidir. İşlevsel gereksinimleri hazırlamanın diğer formatları kullanım senaryoları, modeller, prototipler, kullanıcı hikayeleri ve diyagramlardır.
Java'daki bağlantılar
İşlevsel olmayan gereksinimler
İşlevsel olmayan gereksinimler yazılımın işlevsel yönü ile ilgili değildir. Sistemin belirli davranışları yerine, işleyişine karar vermek için kullanılabilecek kriterleri belirleyen zorunluluklar olabilirler. Temel işlevsel olmayan gereksinimler şunlardır: kullanılabilirlik, güvenilirlik, güvenlik, depolama, maliyet, esneklik, yapılandırma, performans, yasal veya düzenleyici gereksinimler vb.
İki ana kategoriye ayrılırlar:
Uygulama nitelikleri çalışma zamanında gözlemlenebilen güvenlik ve kullanılabilirlik gibi.
Evrim nitelikleri Yazılım sisteminin statik yapısında yer alan test edilebilirlik, bakım yapılabilirlik, genişletilebilirlik ve ölçeklenebilirlik gibi.
linux bir dizini nasıl yeniden adlandırabilirim
İşlevsel olmayan gereksinimler yazılımın kalite özelliğini belirtir. Bu gereksinimler sistemin genel özelliklerini, davranışını ve kullanıcının deneyimini etkileyen özellikleri tanımlar. Daha iyi bir kullanıcı deneyimi sağlarlar, maliyet faktörünü en aza indirirler. İşlevsel olmayan gereksinimler, yazılım sisteminin yasal ve uyumluluk kurallarına uymasını sağlar. İşlevsel olmayan gereksinimlerin etkisi sistemin işlevselliği üzerinde değildir ancak nasıl performans göstereceğini etkiler. İyi performans gösteren bir ürün için, işlevsel olmayan gereksinimlerin en azından bir kısmının karşılanması gerekir.
İşlevsel gereksinimler vs İşlevsel olmayan gereksinimler
Şimdi fonksiyonel ve fonksiyonel olmayan gereksinimler arasındaki karşılaştırma tablosuna bakalım.
İşlevsel gereksinimler | İşlevsel olmayan gereksinimler |
---|---|
İşlevsel gereksinimler sistemin işlevlerinin anlaşılmasına yardımcı olur. | Sistemin performansını anlamaya yardımcı olurlar. |
İşlevsel gereksinimler zorunludur. | İşlevsel olmayan gereksinimler zorunlu değildir. |
Tanımlanması kolaydır. | Tanımlanmaları zordur. |
Ürünün ne yaptığını açıklarlar. | Ürünün çalışmasını açıklarlar. |
Kullanıcının ihtiyacına odaklanır. | Kullanıcının beklenti ve deneyimine odaklanır. |
Yazılımın işlevselliğini doğrulamamıza yardımcı olur. | Yazılımın performansını doğrulamamıza yardımcı olur. |
Bu gereksinimler kullanıcı tarafından belirlenir. | Bu gereksinimler yazılım geliştiriciler, mimarlar ve teknik kişiler tarafından belirlenir. |
API testi, sistem, entegrasyon vb. fonksiyonel testler vardır. | Kullanılabilirlik, performans, stres, güvenlik vb. gibi işlevsel olmayan testler vardır. |
İşlevsel gereksinimlere örnekler: Sisteme giriş yapmaya çalışan kullanıcının kimlik doğrulaması. | İşlevsel olmayan gereksinimlere örnekler: Ekranların arka plan rengi açık mavi olmalıdır. |
Bu gereksinimler sistemin çalışması için önemlidir. | Bunlar her zaman önemli gereksinimler değildir, arzu edilebilirler. |
İşlevsel gereksinimlerin tamamlanması, işlevsel olmayan gereksinimlerin karşılanmasına bakılmaksızın sistemin performans göstermesini sağlar. | Sistem yalnızca işlevsel olmayan gereksinimlerle çalışmayacaktır. |
Yani bu makaleyle ilgili. Makalenin, işlevsel gereksinimler, işlevsel olmayan gereksinimler ve bunların karşılaştırılması hakkında bilgi almak için sizin için bilgilendirici, yararlı ve bilgili olmasını umarız.