Funkcionalni naspram nefunkcionalnih zahtjeva
Ključna razlika između funkcionalnih i nefunkcionalnih zahtjeva je u tome što funkcionalni zahtjevi opisuju šta sistem treba da radi, dok nefunkcionalni zahtjevi opisuju kako sistem funkcionira.
U softverskom inženjerstvu, softverski zahtjevi se fokusiraju na potrebe koje softver treba riješiti. Prilikom razvoja softvera, prvi korak je prikupljanje zahtjeva. To je jedan od najvažnijih koraka jer cijeli proizvod ovisi o prikupljenim zahtjevima. Kada se sakupe zahtevi, oni se analiziraju i dokumentuju u specifikaciji softverskih zahteva (SRS). Softverski zahtjevi se mogu kategorizirati u dva odjeljka kao funkcionalni i nefunkcionalni zahtjevi.
Šta su funkcionalni zahtjevi?
Zahtjevi koji specificiraju funkcionalne aspekte softvera poznati su kao funkcionalni zahtjevi. Funkcionalni zahtjevi se mijenjaju od jednog projekta do drugog. Oni definiraju funkcionalnosti koje pružaju sistemi ili komponente.
Slika 01: Razvoj softvera
Pretpostavimo sistem upravljanja bolnicom. Može imati nekoliko modula kao što su modul za prijavu, modul za pacijente, modul doktora, modul za termine, modul izvještaja i modul za naplatu. Modul za prijavu bi se trebao uspješno prijaviti na sistem kada se pruži ispravno korisničko ime i lozinka. Modul za pacijente treba da sačuva, uredi i izbriše detalje o pacijentu. Modul doktora treba da sačuva, uredi i izbriše podatke o lekaru. Modul za sastanke bi trebao zakazati, pomjeriti i izbrisati sastanke. Modul izvještaja treba da generiše medicinske izvještaje. Modul naplate treba da generiše račune za plaćanje. To su neki funkcionalni zahtjevi za sistem upravljanja bolnicom.
Šta su nefunkcionalni zahtjevi?
Zahtjevi koji nisu povezani s funkcionalnim aspektom softvera spadaju u kategoriju nefunkcionalnih zahtjeva. Oni definišu očekivane karakteristike softvera. Korisnici mogu napraviti pretpostavke o njima. Mnogi korisnici su zabrinuti da isprave nefunkcionalne zahtjeve, posebno za velike sisteme.
Sistem upravljanja bolnicom bi trebao imati sljedeće nefunkcionalne zahtjeve. Brzina je značajan uslov. Sistem treba da obrađuje podatke unutar minimalnog vremena odgovora. Sistem bi trebao biti siguran. Podaci trebaju biti dostupni samo ovlaštenim korisnicima. Trebalo bi da se lako održava. Softver bi trebao biti funkcionalan i upotrebljiv proizvod. Podaci trebaju biti pouzdani i dostupni kada je to potrebno. Stoga sistem upravljanja bolnicom treba da ima nefunkcionalne zahtjeve kao što su performanse, sigurnost, mogućnost održavanja, upotrebljivost, pouzdanost i dostupnost.
Koja je razlika između funkcionalnih i nefunkcionalnih zahtjeva?
Funkcionalni naspram nefunkcionalnih zahtjeva |
|
Funkcionalni zahtjevi su zahtjevi koji definiraju funkcije sistema ili njegovih podsistema. | Nefunkcionalni zahtjevi su zahtjevi koji specificiraju kriterije koji se mogu koristiti za procjenu rada sistema. |
Upotreba | |
Funkcionalni zahtjevi se koriste za opisivanje funkcionalnosti sistema. | Nefunkcionalni zahtjevi opisuju karakteristike kvaliteta sistema ili atribute kvaliteta. |
Sažetak – funkcionalni naspram nefunkcionalnih zahtjeva
Ovaj članak govori o razlici između dvije kategorije softverskih zahtjeva. Razlika između funkcionalnih i nefunkcionalnih zahtjeva je u tome što funkcionalni zahtjevi opisuju šta sistem treba da radi, dok nefunkcionalni zahtjevi opisuju kako sistem funkcionira.