Definicija: Prestavljaju NEFUNKCIONALNE OSOBINE koje nisu pokrivene funkcionalnim specifikacijama odnosno kvalitativne osobine koje sistem mora da ima. Uopšteno govoreći odnose se na:
- pouzdanost,
- kompatibilnost,
- mogućnost održavanja,
- saradnju u radu,
- mogućnost zamjene,
- efikasnost,
- mogućnost testiranja i
- ponovne upotrebe softverskog sistema.
U nastavku su navedeni najčešći tipovi nefunkcionalnih zahtjeva:
PERFORMANSE
Navesti konkretne zahtjeve vezane za performanse izvođenja određenih operacija (brzina reagovanja sistema na korisničke akcije). Specificirati: broj transakcija (konkretnih) koji će se moći izvršiti u sekundi, vrijemena odziva, preciznost rezultata proračuna. Zatim, mogu se specificirati količine podataka sa kojima sistem mora da izađe na kraj: memorijski zahtjevi, maksimalan broj konkurentnih korisnika, maksimalan broj slogova u tabeli. Ako su ovi zahtjevi specifični za određeni funkcionalni zahtjev, mogu se navesti kod njega, umjesto ovdje.
Primjeri: 95% upita za prikazom sadržaja kataloga će se izvršiti za najviše 3 sekunde. Odgovor na svaku korisničku akciju pojaviće se u roku od najviše 4 sekunde. Sistem će ispitivati stanje uplata svakih 10 sekundi. Sistem će download-ovati nove parametre statusa svakih 5 minuta. Svi novčani iznosi biće tačni do drugog decimalnog mjesta. Program će podržavati 300 istovremenih korisnika u periodu od 9:00h do 11:00h. U drugim periodima maksimalno opterećenje će biti 150 istovremenih korisnika i sl.
BEZBJEDNOST
Specifikacija obuhvata zahtjeve vezane za gubitak i štetu (za LJUDE, IMOVINU ili OKOLINU) koji mogu nastati kao rezultat korišćenja sistema. Definisati mjere predostrožnosti i akcije koje treba preduzeti, kao i potencijalno opasne akcije koje treba spriječiti. Identifikovati sertifikate, pravilnike, regulative vezane za bezbjednost koje sistem mora da poštuje. Takođe, specificirati zahtjeve vezane za obezbjeđivanje integriteta podataka, kontrolu pristupa sistemu i njegovog korišćenja, kao i za zaštitu podataka koje sam sistem kreira ili koristi, npr. korišćenjem tehnika enkripcije, kreiranjem logova i slično.
- ko ima autorizovan pristup sistemu (podacima i funkcijama) i čemu može da pristupi
- integritet podataka u bazi ili datotekama, kao i samog programa
- očuvanje privatnosti podataka
Primjer 1: Sistem će u roku od 1 sekunde terminirati svaku operaciju ako je više od 95% odstupanje od maksimalne predviđene vrijednosti.
Primjer 2: Samo menadžeri imaju pristup podacima o radnicima. Svaki korisnik mora da promjeni svoju lozinku prvi put kada se prijavi na sistem. Sistem će spriječiti unos netačnih podataka. Sistem će informisati korisnika o praksi korišćenja informacija o njemu prije nego što traži od njega te informacije.
RASPOLOŽIVOST I POUZDANOST
Obično se iskazuje kao vremenski interval u kojem je dozvoljeno da sistem ne bude na raspolaganju ili procenat vremena u kojem je sistem na raspolaganju korisnicima.
Primjer: neki sistemi se izvršavaju rijetko i na zahtjev (npr. MS Word), za neke je poželjno da budu stalno na raspolaganju (web sajt), dok je za neke od kritične važnosti da nikada ne staju (neki real-time sistemi).
Primjer: Sistem će biti na raspolaganju 24h časa dnevno, 365 dana u godini. Sistem će se moći koristiti između 8:00h i 17:30h. Proizvod će imati raspoloživost od 99%.
ROBUSNOST
Robusnost ili otpornost sistema na greške određuje sposobnost sistema da nastavi da funkcioniše i pod okolnostima koje nisu normalne. Specificirati funkcije koje će sistem ispunjavati u abnormalnim uslovima. Opisati način na koji će se sistem oporaviti od eventualnog pada ili grešaka.
Primjer: Sistem će nastaviti da funkcioniše u lokalnom režimu kada izgubi vezu sa centralnim serverom. Sistem će obezbjediti 10 minuta rada za hitne operacije kada se isključi sa izvora električne energije.
OSTALI NEFUNKCIONALNI ZAHTJEVI
Zahtjevi koji nisu pokriveni drugim sekcijama dokumenta:
- SKALABILNOST: Osobina sistema da ispunjava svoje zahtjeve sa povećanjem broja korisnika, transakcija itd. Opisati očekivan rast: broja korisnika, broja slogova u kritičnim tabelama, broja transakcija i navesti vremenski okvir u kojem se očekuje rast.
Primjer: Program će moći da procesira postojećih 500000 klijenata, a očekuje se da će ovaj broj u sljedeće tri godine porasti na 800000. - OPERACIONI ZAHTJEVI: Opisati uslove prirodnog okruženja u kojem sistem mora da funkcioniše.
Na primjer: Program će se koristiti u socijalno dinamičnom okruženju/sa mnogo promjena normativnih akata - INTERNACIONALIZACIJA: cijene i valute, format datuma, jezik
- ADMINISTRACIJA I ODRŽAVANJE: instalacija, konfiguracija, pokretanje i zaustavljanje, oporavak od pada sistema, logovanje i monitoring operacija, zahtjevi koji se tiču održavanja koda
- KULTURNI I POLITIČKI ZAHTJEVI: Primjer: Sistem će čuvati informacije o državnim i vjerskim praznicima svih etničkih grupa u državi. Sistem će biti implementiran korišćenjem samo domaćih alata i komponenti.
PRIMJER JEDNOG NEFUNKCIONALNOG ZAHTJEVA
Naziv: NF-7: Ograničenja vezana za performanse funkcije zamjene
Opis: Funkcija pretrage koja prethodi zamjeni mora da se obavlja brzo.
Opravdanje: Ako pretraga nije dovoljno brza, korisnici će izbjegavati da koriste program.
Izvor: Marko Marković
Zahtjevi: Case-insensitive zamjena na dokumentu od 3MB sa 20 djelova teksta od 30 karaktera koji treba da se zamjene drugim tekstom od 30 karaktera mora da traje manje od 500ms na i5 PC sa Microsoft Windows 10 OS-om i 50% opterećenja procesora.
Reference: UC-8: Zamjena
Prioritet: Srednji
Autor: Konstantin Konstantinović; revizija: Maja Majić
Verzija: 1.1 Status: Odobren Datum odobravanja: 01.01.2020.
Vezani tekstovi:
- Kako softverske zavisnosti utiču na razvoj softvera?
- Confluence Cloud iz Atlassiana, moćan softver za projektne timove
- Šta podrazumjeva Testiranje Softvera?
- Predstavljam Vam rusku softversku kompaniju Yandex i njene najpoznatije servise
- Funkcionalna specifikacija softvera, detaljno
- Šta je to Studija izvodljivosti?
Ako vam se ovaj članak dopao, lajkujte FB stranicu DM Spot, Twitter ili LinkedIn i budite obavješteni kad novi članak bude objavljen.