27 Ağustos 2020 Perşembe

Non-Functional Gereksinimler - Non-Functional Requirements

Non-Functional Gereksinimler (NFR) Nedir?
Not : Software Quality Attributes yazısında NFR maddeleri daha detaylı açıklanıyor

Bazı gereksinimler "Non-Functional" olarak sınıflandırılırlar.

İlk duyduğumda NFR gereksinimleri sanki yazılı olmayan ancak olması beklenen şeylermiş gibi düşünmüştüm. İsminden de belli olduğu gibi yazılı olmaları gerekir.

Bir bakış açısında 3 kısma ayrılır
1. Product (Efficiency, Reliability, Portability)
2. Organization (
3. External (Interoperability)

NFR Maddeleri FR Maddeleri Kadar Önemlidir
Açıklaması şöyle
Like System Functionality Requirements, the NFR's (Non Functional Reequipments) like scalability, performance and availability are given equal importance.
NFR Yazılımın Tasarım ve Mimarisini Şekillendirir
Açıklaması şöyle.
Nonfunctional requirements (NFRs), describe system attributes such as security, reliability, maintainability, scalability, usability, operating costs, etc. and need to be considered in the API review.
NFR'ler genellikle (responsiveness, performance, reliability, interoperability) yazılımın tasarım ve mimarisini şekillendiren gereksinimlerdir.

Bazen quality requirements olarak ta adlandırılırlar. Non-functional gereksinimleri sistem kısıtları olarak düşünülebilir.

Non-Functional Gereksinimleri Kim Yazar?
Genellikle teknik insanlar tarafından yazılırlar.

Functional Gereksinimler Örnekleri
Açıklaması şöyle.
A function is described as a set of inputs, the behavior, and outputs.
Functional requirements [...] define what a system is supposed to accomplish.
Örnek
"Kullanıcı X ekranında sayıları görecektir"
Örnek
"The Stock Control system must update the stock item quantity when a stock item is sold."

Non-Functional Gereksinimler Örnekleri
Functional ve Non-Functional gereksinimler arasındaki fark şöyle. NFR olanlar İngilizce 'de "shall" ile kullanılıyor.
Generally, functional requirements are expressed in the form "system must do ", while non-functional requirements are "system shall be "
Türkçe'de bence "shall" tam olarak olmadığı için genellikle
"Yazılım... yapacaktır/edecektir/destekleyecektir" şeklinde yazılıyor.

Örnek
Bazı örnekler şöyle.
- Yazılım 100,000 kullanıcıyı destekleyecektir.
- Yazılım Windows 95'ten itibaren tüm Windows işletim sistemlerinde çalışabilecektir.
- Yazılım %90 uptime sağlayacaktır.

NFR İçin Testler
Bu tür gereksinimleri test etmek için tasarlanan testler, fonksiyonel gereksinimlerden ayrı sınıflandırılabilir.

Müşteri İle Paylaşım
Bazı projelerde NFR'ler müşteri ile paylaşılmaz ve gizli tutulur.

Hiç yorum yok:

Yorum Gönder