Tipična računalna aplikacija uključuje sastav softvera, hardvera i mrežnih komponenti. Specifikacija zahtjeva sustava (SyRS) je detaljan pregled zahtjeva potrebnih za stvaranje cjelovitog sustava. Ovi zahtjevi su dokumentirani u nastojanju da se definira potpuna funkcionalnost, dostupnost, performanse i sigurnosne potrebe sustava.
Institut inženjera elektrotehnike i elektronike (IEEE) najveće je tehničko društvo posvećeno standardima u elektroničkom i računalnom području. IEEE je stvorio skup standardnih procedura o tome kako treba dokumentirati specifikaciju zahtjeva sustava. Ova dokumentacija uključuje upute za kreiranje, organizaciju i modifikacije zahtjeva sustava.
Stvaranje SyRS-a obično dovršava poslovni analitičar. Poslovni analitičar je profesionalac koji je odgovoran za pretvaranje poslovnog žargona u tehnička rješenja. Ona je veza između poslovne i tehničke zajednice. Dobar poslovni analitičar učinkovit je komunikator koji može artikulirati poslovne potrebe tehničkom timu.
Postoje mnoge prednosti u praćenju smjernica najbolje prakse za specifikaciju zahtjeva sustava. Specifikacija zahtjeva temelj je arhitekture, dizajna i implementacije koja će se izgraditi. Ovi zahtjevi se koriste za određivanje razine napora potrebnog za dovršetak projekta. Loši zahtjevi su usporedivi s lošim temeljima za zgradu, što će uvijek dovesti do neuspjele implementacije.
Svi sustavi imaju zahtjeve izvedbe koji bi trebali biti dokumentirani unutar specifikacije zahtjeva sustava. Ovi zahtjevi definiraju vrijeme odgovora, dostupnost i produktivnost sustava na specifične zadatke. Na primjer, osiguravajuće društvo moglo bi imati zahtjev za obradu 100,000 zahtjeva za osiguranje dnevno. Ovi bi se zahtjevi smatrali zahtjevom izvedbe.
Funkcionalni zahtjev je karakteristika sustava koji se temelji na specifičnim poslovnim procesima. Funkcionalni zahtjev mogao bi biti jednostavan poput pravila o tome kako bi aplikacija trebala stvarati i spremati podatke u sustav. Na primjer, tvrtka bi mogla zahtijevati da sve osobe moraju imati adresu prije nego što sustav spremi podatke na uređaj za pohranu. Ovaj funkcionalni zahtjev bi bio dokumentiran unutar specifikacije zahtjeva.
Sigurnosni zahtjevi često su najvažniji aspekti sustava. Ti su zahtjevi dokumentirani kako bi se ocrtalo kako će se pristupiti podacima i koja bi se pravila trebala koristiti za šifriranje podataka unutar aplikacije. Uz stalnu prijetnju hakera i internetskih grabežljivaca, kibernetička sigurnost postaje sve važniji zahtjev za većinu računalnih sustava.