Softver – razlika između verzija

Uklonjeni sadržaj Dodani sadržaj
m Članku Software je promenjeno ime u Softver putem preusmerenja: oblik prilagođen srpskohrvatskom jeziku
Nema sažetka izmjene
Red 1:
{{radovi}}
'''Softver''' ('''software''') je zbirka [[kompjuterski program|kompjuterskih programa]] i pratećih [[podatak]]a koji zajedno daju instrukcije [[kompjuter]]skom [[hardver]]u što i kako da radi. Softver čine svi [[računalni program|programi]] i podaci koji se nalaze na kompjuteru, uključujući [[operacijski sustav]]. Također se koriste termini '''programska podrška''' ili '''programska potpora'''.<ref name="InfoRjecnik">Kiš Miroslav, ''Englesko-hrvatski i hrvatsko-engleski informatički rječnik'', Zagreb, Naklada Ljevak, 2000., str. 847</ref> Softver kolokvijalno označava aplikacijski softver, dok je u [[informatika|informatici]] i softverskom inženjeringu to naziv za sve informacije koje procesiraju kompjuterski sustav, programi i podaci.
 
Prvu teoriju o softveru osmislio je [[Alan Turing]] [[1935.]] u svom eseju ''Computable numbers with an application to the Entscheidungsproblem (Decision problem)''. Termin softver prvi je koristio [[John W. Tukey]] [[1958.]] godine.
 
== Podjela ==
Red 8:
 
'''Sistemski softver''' su osnovni programi koji omogućavaju izvođenje osnovnih funkcija na računalu te su bitni za rad hardvera kompjutera te kompjuterskog sustava. U njega spadaju:
* [[operacijski sustav]] - kao što su Windowsi[[Windows]]i ili [[Linux]]
* pokretači uređaja (''device [[drivers]]'')
* grafičko korisničko sučelje ([[GUI]])
* utility softver
 
Ovaj tip softvera često dolazi s kupljenim računalom.
 
'''Aplikacijski softver''' su programi koji pomažu u izvršenju određenih zadataka. Riječ je o tipu softvera na koji većina ljudi pomisli kada se spomene softver. Ovo je poprilično široka kategorija koja se sastoji od mnogo programa raznih vrsta, koji uključuju i [[internetski preglednik]] (''browser'') koji prikazuje ovu stranicu. Osim internetskog preglednika u aplikacije spadaju i baze podataka, [[računalne igre]], obrazovni softver, softver za obradu teksta[[dokument|dokumenata]], [[slika|slike]], zvuka[[zvuk]]a i/ili [[video|videa]], medicinski softver, matematički softver, simulacijski softver, komunikacijski softver, poslovni softver itd.
'''Programski softver''' su programi koje programeri koriste za vrijeme stvaranja drugih programa te njihovog modificiranja. Uključuje kompajlere[[kompajler]]e, interpretere[[interpreter]]e, debuggere[[debugger]]e, linkere[[linker]]e i [[tekstualni editor]].
 
Integrirano razvojno okruženje ili ''integrated development enviroment'' ([[IDE]]) je jedna aplikacija koja uključuje sve prethodno navedene funkcije.
 
=== Opis ===
Većina softvera ima priloženu dokumentaciju koja krajnjem korisniku objašnjava kako se koristi i što radi. Bez dobrog sustava pomoći softver može biti teško koristiti, pogotovo ako je riječ o nekom vrlo specijaliziranom i kompleksnom programu kao što je [[Photoshop]] ili [[AutoCAD]]. Također može biti dostupna i dokumentacija za ''developere'', s priloženim kodom[[kod]]om kao komentarima i/ili odvojenim datotekama[[datote]]kama, koja objašnjava kako program radi i kako se može izmijeniti.
 
[[Softverske knjižice]] su kolekcija funkcija i funkcionalnosti koje se mogu ugraditi u druge aplikacije. Operacijski sustavi dolaze sa standardnim softverskim knjižnicama, a većina aplikacija se distribuira s njihovim vlastitim softverskim knjižnicama. Na Windowsima većina njih ima [[datotečni nastavak|nastavak]] .dll ili, nešto rjeđe, .ocx.
 
Pošto softver može biti dizajniran pomoću brojnih programskih jezika za brojne razne operacijske sustave, softverski standard potreban je kako bi različit softver mogao razumjeti i međusobno izmjenjivati informacije. Tako bi se, na primjer, [[e-mail]] poslan [[Microsoft OutlookomOutlook]]om trebalo moći pročitati u [[Yahoo! Mailu]] i obrnuto.
 
=== Suradnja softvera i hardvera ===
 
Softver ne može raditi bez hardvera[[hardver]]a, kao što hardver ne može raditi bez softvera. Na hardveru (kao što je što je [[tvrdi disk]]), se nalazi softver (kao što je operativnioperacijski sustav), softver upravlja hardverom. Obično, softver s tvrdog diska se učitava na [[RAM]] memoriju odakle se prosljeđuje procesoru koji izvršava naredbe koje sadrži neki program - softver. Najniži nivo softvera je [[strojni kod|strojni]] ili binarni kod, najjednostavniji oblik programa koji je obično teško promijeniti. Softver se zato češće piše u [[programski jezik|programskim jezicima]] višeg nivoa koje ljudi mnogo bolje razumiju nego li nule i jedinice. Za prevođenje programskih naredbi se koristi kompajler koji ponovo prevodi taj kod u, najniži, strojni kod koji kompjuter razumije - nule i jedinice.
 
=== Kvaliteta i pouzdanost softvera ===
Kvaliteta softvera veoma je bitna, posebno za komercijalni i sistemski softver, npr. [[Microsoft Office]], [[Microsoft Windows]] i [[Linux]]. Ako je softver pun ''bugova[[bug]]ova'' (grešaka u kodu) odnosno ''buggovit'', može izbrisati korisnikov rad, srušiti kompjuter te raditi ostale neočekivane stvari. Većina bugova se otkriva i eliminira softverskim testiranjem. Ipak, softversko testiranje rijetko kada - ako i uopće - eliminira svaki bug; neki programeri kažu da "svaki program ima barem jedan bug više" (Lubarskyev zakon). Sve velike softverske kompanije, primjerice [[Microsoft]], [[Novell]] i [[Sun Microsystems]] imaju svoje odjele za testiranje s specifičnim ciljem. Postoje razne metode testiranja, poput ''unit testing'' - testiranje individualnih dijelova koda kako bi se provjerilo rade li. Testiranje se provodi "ručno" ili još češće automatski, jer količina koda potrebna za testiranje zna biti dosta velika.
 
=== Licenca i patent ===
[[Softverska licenca]] daje korisniku pravo da koristi program u licenciranom okruženju. Postoje razne licence: licenca koja se dobije kad korisnik kupi neki komercijalni program, [[OEM]] licenca softvera koji dolazi s hardverom (npr. OEM licenca operacijskog sustava), softverska licenca [[softver otvorenog koda|softvera otvorenog koda]] koja daje korisniku pravo da modificira i dedistribuira softver, [[freeware]] te na kraju [[shareware]] licenca.
 
Softver je može patentirati u nekim, ali ne u svim zemljama. Softverski patenti mogu biti kontroverzni u softverskoj industriji gdje razni ljudi imaju razne poglede na njih. Kontroverza je u tome da se specifični algoritmi ili tehnike koje softver koristi drugi ne smiju duplicirati jer spadaju u [[intelektualno vlasništvo]], a njegova povreda se smatra kršenjem [[autorska prava|autorskih prava]].
 
=== Verzije softvera ===
 
Kako vrijeme odmiče, tako se pojavljuju nove inačice svakog kvalitetnog softvera (primjenjuje se ista logika kao i kod [[automobilska industrija|automobilske industrije]]). Kako tehnologija napreduje, ljudi je žele koristiti, a vole i redizajn starih stvari. Obično se programi označavaju brojevima u rastućem nizu - 1.0, 2.0 itd. Ponekad autori neke programe odmah nazovu 2.0 ili 3.0, čime žele reći da su njihovi programi dobri i stabilni, jer su već davno prošli 1.0 inačicu. Također se događa da se neki brojevi preskoče.
 
Kad se radi o softveru [[otvoreni kod|otvorenog koda]], često su publici dostupne razne inačice dotičnog softvera, npr. stare verzije, prije godinu, dvije ili čak i više dana, zatim zadnja stabilna (provjerena) inačica, te ''beta'' inačica. [[Beta]] inačica je program koji još nije prošao testiranje, no možete ga koristiti na vlastitu odgovornost, i ako dođe do problema javiti ih autorima softvera i na taj im način pomoći u izradi boljeg programa.
 
=== Softverska industrija ===
Veliki broj softverskih tvrtki i programera u svijetu čine softversku industriju. Softver može biti jako profitabilna industrija: [[Bill Gates]], osnivač tvrtke [[Microsoft]], u 2009. godini bio je najbogatija osoba na svijetu velikim dijelom zahvaljujući prodaji Windowsa i Microsoft Officea. Isto vrijedi i za [[Larry Ellison|Larrya Ellisona]] koji se obogatio zahvaljujući svojoj bazi podataka [[Oracle]]. Tijekom vremena softverska industrija se sve više specijalizirala.
 
Neprofitne softverske organizacije uključuju [[Free Software Foundation]], [[GNU Project]] i [[Mozilla Foundation]]. Organizacije za softverski standard poput W3C i IETF razvijaju softverske standarde tako da većina softvera može vršiti međusobne interakcije pomoću standarda kao što su [[XML]], [[HTML]], [[HTTP]] i [[FTP]].
 
Ostale poznate velike kompanije uključuju [[Novell]], [[SAP]], [[Symantec]], [[Adobe Systems]] i [[Corel]]. Male softverske tvrtke nerijetko uvode inovacije.
 
== Izvori ==