You are on page 1of 17

SEMINARSKI RAD IZ UVODA U INŽENJERSKU

INFORMATIKU

Tema: Softver
Sadržaj:

Uvod.............................................................................................................................................................. 3
1.Softver – pojam, definicija i nastanak softvera ................................................................................... 4
2. Podjela softvera ...................................................................................................................................... 6
2.1. Sistemski softver ......................................................................................................................... 6
2.1.1. Operativni sistem ................................................................................................................ 6
2.1.2. Pogonski programi ............................................................................................................ 10
2.1.3. Pomoćni programi i alati .................................................................................................. 10
2.1.4. Uslužni programi ............................................................................................................... 10
2.2. Aplikativni softver ...................................................................................................................... 11
3. Odnos softvera i hardvera računara .................................................................................................. 13
4. Verzije (inačice) softvera ..................................................................................................................... 14
4.1. Primjer verzioniranja softvera ................................................................................................. 14
5. Kreatori softvera – programeri ........................................................................................................... 15
6. Zaključna razmatranja ......................................................................................................................... 16
7. Korištena literatura ............................................................................................................................... 17
Uvod

Vrijeme u kojem živimo je obilježeno brzim razvojem tehnologije, kao i sve većom
primjenom iste u svim sferama čovjekovog života, bilo da se radi o svakodnevom životu,
industriji, obrazovanju itd.
Jednu od ključnih uloga u tom razvoju imaju računari, a kao sastavni dio računarskog
sistema i sam softver.
Prošlo je više od 70 godina otkako je ENIAC pušten u pogon, te je pokrenut prvi
računarski program i za to vrijeme je softver doživio ogromne promjene.
Hardver i softver su povezani, te poboljšanja jednog nužno povlače i potrebu za
poboljšanjem drugog. Na početku razvoja računara, veća pažnja se poklanjala razvoju
hardvera, zbog čega je njegova cijena bila izrazito visoka. Programi su kreirani isključivo
za određeni tip hardvera i u većini slučajeva su bili memorisani na samom hardveru. Na
taj način je specifičan hardver izvršavao specifične zadatke. Vremenom su naučnici
uvidjeli prednosti primjene računara u različitim oblastima, što je rezultiralo početkom
razvoja softvera različite namjene. Od tog je trenutka razvoj računara bio usmjeren na
pravljenje univerzalnih računara koji podržavaju različit softver. Softver je postajao sve
složeniji, dok je softverski inžinjering privlačio sve veći broj naučnika. Sve ovo je
uzrokovalo pad cijena hardvera i ubrzan rast cijena softvera.
Ovaj brzi razvoj višenamjenskog softvera doveo je do njegove prisutnosti u
domaćinstvu, školama, fabrikama, saobraćaju, projektovanju itd. Tako da danas, bilo da
želimo pokrenuti neku mašinu u fabrici, projektovati neku zgradu, uraditi prezentaciju za
školu ili pak napraviti bazu podataka, potreban nam je softver.

3
1.Softver – pojam, definicija i nastanak softvera

Softver (engl. software) je termin koji koristimo za opisivanje neopipljivog dijela


računarskog sistema, tj. računarskih programa. On predstavlja skup uputa koje korisniku
daju mogućnost da komunicira sa računarom ili izvršava određene zadatke.
Pojam softver je prvi put korišten 1957. godine od strane američkog matematičara, John
Wilder Tukeya (1915-2000), u njegovom naučnom radu pod imenom „The Teachings of
Concrete Mathematics“.
Razvoj računara kroz historiju može se svrstati u nekoliko perioda:
1. pomagala za računanje,
2. mehaničke naprave,
3. elektromehaničke naprave i
4. elektroničke naprave – računare.
Ljudi su oduvijek imali potrebu za računanjem te su pronalazili različite načine kako da
ga sebi olakšaju. Iz tog razloga su koristili pomagala kao što su ruke, kamenčići, štapići i
drugi predmeti, koja su označavala broj životinja, oruđa, članova plemena itd.
Neki od značajnijih datuma u razvoju računara, pa samim time i u nastanku i razvoju
softvera su:
2600. p.n.e. – U Kini je napravljena prva mašina za pomoć u računanju (abakus).
1614. – John Napier opisuje prirodu logaritma i konstruiše verziju abakusa za množenje,
dijeljenje i korjenovanje pod nazivom „Napierove kosti“.
1623. – Wilhelm Schickard konstruiše prvi mehanički kalkulator tzv. kružni klizni linijar
(Računski sat).
1642. – Blaise Pascal konstruiše aritmetičku mašinu Pascalinu, koja može da sabira i
oduzima.
1670. – Gottfried Wilhelm Leibniz poboljšava Paskalinu i dodaje joj mogućnosti
množenja, dijeljenja i korjenovanja.
1679. – Liebniz osmišljava aritmetiku sa binarnim brojevima. Također, dokazuje da se
svaki broj može prikazati korištenjem cifara 0 i 1.
1804. – Joseph-Marie Jacquard programira razbor za tkanje koristeći bušene kartice za
kreiranje šara na tkanini. Ovaj izum se smatra početkom programiranja.
1822. – Charles Babbage konstruiše Diferencijalnu mašinu-mehanički kalkulator koji je
mogao da sabira i oduzima.

4
1833. – Charles Babbage projektuje Analitičku mašinu, na kojoj je radio sljedećih 40
godina, ali ju nije uspio završiti. Ona je trebala biti prvi mehanički računar koji se mogao
programirati.
1843. – Augusta Ada King, poznata i kao Ada Lovelace, kreira program koji je trebao da
se izvrši na Analitičkoj mašini. Da je mašina ikada konstruisana, program bi izračunavao
Bernulijev niz brojeva. Ostala je upamćena kao prvi programer u historiji. U njenu čast,
jedan programski jezik nosi ime ADA.
1854. – George Boole dalje razvija algebru nad binarnim brojevima i logičke operacije
sa logičkim vrijednostima-konjunkciju, disjunkciju i negaciju. U njegovu čast, ove
operacije nose naziv Bulova algebra.
1936-1938 – Konrad Zuse konstruiše prvi elektromehanički računar Z1, a 1941. godine i
prvi digitalni računar Z3.
1936. – Alan Turing postavlja temelje modernog računara predstavljene u radu u kome
dokazuje da se svaka izračunljiva matematička funkcija može predstaviti u obliku
algoritma za teorijski uređaj poznat kao Turingova mašina.
1944. – Američka vojska konstruiše računar ENIAC za izračunavanje putanja projektila.
U isto vrijeme, univerzitet Harvard i IBM razvijaju računar MARK I koji koristi bušene
kartice za unos podataka i programa.
1945. – John von Neumann definiše elektronski digitalni računar opće namjene koji
izvršava unutrašnji program-koncept koji sve do danas opisuje računar.
1956. – IBM razvija programski jezik FORTRAN koji je bio namijenjen izvršavanju
matematičkih proračuna.
1960. – Nastaje programski jezik COBOL namijenjen poslovnim potrebama.
1964. – John Kemeny i Thomas Kurtz razvijaju programski jezik BASIC.
1967. – U Norveškom računarskom centru u Oslu nastaje programski jezik Simula67-
prvi programski jezik koji je uveo koncepte objektno-orijentisanog programiranja.
1969. – Ken Thompson piše prvu verziju operativnog sistema Unix.
1970. – Niklaus Wirth kreira programski jezik Pascal.
1973. – Dennis Ritchie kreira programski jezik C.
1983. – Microsoft objavljuje prvu verziju Windows-a.
1991. – Linus Torvalds kreira operativni sistem Linux, koji je baziran na Unix-u.
1995. – James Gosling kreira programski jezik Java.
2007. – Postaje popularan koncept „rada u oblaku“ (engl. cloud computing), koji softver
ne tretira kao proizvod već kao uslugu kojoj se pristupa preko web-a.

5
2. Podjela softvera

Softver se može svrstati u nekoliko skupina zavisno od namjene, mogućeg broja


korisnika, načina pribavljanja itd.
Osnovna podjela softvera je na:
1. sistemski i
2. aplikativni (korisnički).

2.1. Sistemski softver

Sistemski softver je skup programa zadužen za svrsihodno, pouzdano i cjelovito


djelovanje računara, komunikaciju korisnika sa računarom, računara sa drugim
računarima i računarskom opremom, te pouzdano izvođenje ostalih korisničkih
programa.
Sastoji se od računarskih programa koji kontrolišu i podržavaju rad računarskog sistema
i aktivnosti obrade podataka. Računar se ne može pokrenuti, niti može uraditi bilo kakav
zadatak bez sistemskog softvera.
Njegova osnovna svrha jeste da omogući normalan rad računara. Tu se podrazumijeva:
upravljanje memorijom i centralnim procesorom, upravljanje i komunikacija s perifernim
uređajima, kao i pokretanje osnovnih funkcija sistema u svrhu izvođenja aplikativnog
softvera. Svi ostali zadaci su prepušteni aplikativnom softveru. Sistemski softver se
isporučuje zajedno sa računarom.
Čine ga sljedeći računarski programi:
1. operativni sistem,
2. pogonski programi,
3. pomoćni programi i alati i
4. uslužni programi.

2.1.1. Operativni sistem

Operativni sistem (OS) predstavlja skup programa koji upravlja cjelokupnim radom
računara. On kontroliše i upravlja hardverskim komponentama, omogućava izvršavanja
korisničkih programa i koordinira njihov rad, pohranjivanje podataka te istovremeno
uspostavlja interfejs između računara, korisnika, aplikacija i programa. Operativni sistem
zapravo predstavlja sredstvo pomoću kojeg korisnik komunicira sa računarom.

6
Osnovne funkcije operativnog sistema su:

 upravljanje procesorom (CPU),


 upravljanje memorijom (RAM),
 upravljanje I/O uređajima,
 upravljanje podacima i
 upravljenje aplikacijama.

Slika 1. Funkcije operativnog sistema


Tipičan operativni sistem se sastoji od nekoliko komponenti, i to: mikrokoda, jezgra i
ljuske.
Mikrokod (engl. microcode) je skup programa dizajniran za određeni hardver računara.
Da bi operativni sistem mogao da funkcioniše na različitim hardverskim platformama,
ovaj skup je grupisan u jedan modul, koji se naziva BIOS (Basic Input Output System).
Mikrokod je upisan u ROM memoriju i ne može lako biti izmijenjen od strane
programera.
Jezgro (engl. kernel) je skup programa operativnog sistema koji kontroliše pristup
računaru, organizaciju memorije, organizaciju datoteka, raspored rada procesa i
raspored sistemskih resursa. Ovi programi rade u posebnom režimu radu (kernel mode,
supervisior mode) hardverski zaštićenom od mogućih uticaja korisnika.
Ljuska (engl. shell) je komandni interfejs koji interpretira ulazne komande korisnika ili
njihovih programa i aktivira odgovarajuće sistemske programe koji čine jezgro sistema.

7
Interfejs je nešto što povezuje dvije stvari. Kada je u pitanju softver, to je program koji
povezuje dva programa ili korisnika sa programom.
Postoji nekoliko podjela operativnih sistema, kao što su:
I. prema broju programa koji mogu istovremeno da budu u memoriji,
II. prema broju korisnika,
III. prema načinu zadavanja komandi i
IV. na osnovu prenosivosti na različite tehnologije.
Prema broju programa koji mogu istovremeno da budu u centralnoj memoriji računara,
operativni sistemi mogu se podijeliti na:
i. monoprogramske i
ii. multiprogramske.
Monoprogramski operativni sistem u memoriji računara drži jedan program i njega
izvršava.
Multiprogramski operativni sistem u memoriji računara istovremeno drži više programa,
ali samo jedan od njih može da radi u svakom trenutku.
Prema broju korisnika, operativni sistemi mogu se podijeliti na:
i. jednokorisničke i
ii. višekorisničke.
Kod jednokorisničkih operativnih sistema (single-user), računar može koristiti samo
jedan korisnik, dok kod višekorisničkih operativnih sistema (multiuser), na računar može
biti priključeno i do nekoliko stotina korisnika.
Prema načinu zadavanja komandi, operativni sistemi se mogu podijeliti na:
i. operativne sisteme komandnog tipa i
ii. grafičke operativne sisteme.
U operativne sisteme komandnog tipa spadaju Unix i MS-DOS, dok u grafičke
operativne sisteme ubrajamo Windows, MAC i Linux.
Na osnovu prenosivosti na različite tehnologije, operativni sistemi se mogu podijeliti na:
i. prenosive i
ii. neprenosive.
Prenosivi (portable) operativni sistemi se mogu koristiti na različitim arhitekturama
računara, uz određene izmjene.
Neprenosivi (proprietary) operativni sistemi se mogu koristiti samo na određenom
modelu računara.

8
Softver se može podijeliti i prema načinu pribavljanja (distribucije) na:

 Komercijalne programe sa licencom (kupovina prava korištenja),


 Freeware softver namijenjen slobodnoj distribuciji bez novčane naknade za prava
korištenja,
 Shareware softver ograničenog vremena korištenja poslije čega ga korisnik može
kupiti ili prestati koristiti,
 Trialware softver ograničenog vremenskog trajanja (npr. 30 dana),
 Demo softver reklamna verzija sa samo nekim mogućnostima i
 Open Source softver je besplatni program otvorenog koda i dostupan svim
korisnicima.
Neki od najpoznatijih operativnih sistema današnjice su:
1. MS-DOS
Operativni sistem MS-DOS (engl. Microsoft Disk Operating System) je naziv za
operativni sistem koji se pojavio krajem 70-ih godina prošlog stoljeća. U to
vrijeme je bio najkorišteniji operativni sistem, budući da se isporučivao uz svaki
računar. Prva verzija DOS-a je objavljena 1981. godine od strane IBM-a.
Njegove funkcije bile su: obezbjeđivanje uslova za rad korisnika, koordiniranje
rada programa, upravljanje radom hardvera itd.

2. Windows
Ovaj operativni sistem, objavljen 1985. godine, je najpopularniji i najzastupljeniji
operativni sistem. Postoji više verzija Windows-a, kao što su: Windows 95/98/Me,
Windows NT/Me/2000, Windows XP/Vista, Windows 7/8/10. Windows je
korisnicima ponudio dvije novine u odnosu na MS-DOS. Omogućio je izvršavanje
aplikativnih programa namijenski pisanih za Windows, te izvršavanje više
programa odjednom.

3. Unix
Prva verzija Unix-a je objavljena 1969. godine. Unix ide dalje od tradicionalnih
operativnih sistema tako što omogućava korištenje standardnog skupa biblioteka
i aplikacija korisnih za programere i korisnike. Ovaj standardni interfejs
omogućava prenos aplikacije i olakšava dobro poznavanje interfejsa.
U početku je korišten samo na velikim računarima, dok je s razvojem personalnih
računara omogućenja njegova primjena i na njima.

4. Linux
Linux je verzija operativnog sistema Unix, čije je jezgro napisao Linus Torvalds.
Ovaj operativni sistem je besplatan, te je od svog pojavljivanja privukao veliki broj
programera, koji ga konstantno nadograđuju. Zahvaljujući naglom razvoju
interneta Linux se uveliko raširio, te danas podržava Web servere i pokreće
računare inžinjera, naučnika itd.

9
2.1.2. Pogonski programi

Pogonski programi (engl. drivers) se koriste za rad određenih hardverskih komponenti,


tj. oni predstavljaju programe koji upravljaju određenim uređajima koji su priključeni na
računar. Najjednostavnije rečeno, driveri se ponašaju kao prevodioci između uređaja i
programa koji koriste uređaj. Svaki uređaj ima svoje specifične komande koje su
poznate samo njemu pripadajućem driveru, pa tako imamo drivere za tastaturu, miš,
printer, mrežnu karticu, zvučnu karticu itd.

2.1.3. Pomoćni programi i alati

Pomoćni programi i alati (engl. tools) su jedan od sastavnih dijelova sistemskog


softvera. Njihove primarne funkcije jesu razvoj softvera ili održavanje sistema.
Generalno gledano, alatom se može smatrati svaki program koji pomaže programerima
ili korisnicima u razvoju aplikacija ili održavanju računara u optimalnom stanju.
U pomoćne programe i alate se ubrajaju sljedeće aplikacije: NotePad, WordPad, Paint,
Calculator, Snipping Tool i dr. Također postoje i jednostavniji alati koji služe u radu sa
multimedijom, a u koje spadaju: jačina zvuka, snimač zvuka, media player i dr.
Posebnu grupu alata čine tzv. sistemski alati (engl. system tools) koji se koriste za
čišćenje diska, defragmentaciju i optimizaciju diska, stvaranje sigurnosnih kopija,
dobijanje informacija o sistemu itd.

2.1.4. Uslužni programi

Uslužni programi (engl. utility) predstavljaju komponentu sistemskog softvera kreiranu


kao sredstvo koje pomaže korisniku u analiziranju, konfiguriranju, optimiziranju i
održavanju računara. Pomoću ovih programa korisnik je u stanju da sam upravlja
organizacijom podataka na spoljašnjoj memoriji (hard disku). Osnovne operacije koje su
omogućene korisniku su kreiranje, brisanje i premještanje direktorijuma i fajlova. Uslužni
programi su uglavnom manje veličine u odnosu na standardne programe. Iako osnovni
uslužni programi mogu biti distribuirani zajedno sa operativnim sistemom, budući da se
tzv. Utility Software ne smatra dijelom operativnog sistema, korisnici ga obično moraju
zasebno instalirati.
Postoji jako veliki broj uslužnih programa, a neki od njih su:

 Backup softver koji omogućava korisniku da stvori rezervne kopije podataka


spremljenih na disku, kako bi se mogli povratiti u slučaju gubitka ili oštećenja
originalnih podataka (Backup PC, Memopal, Norton 360,...)
 Programi za sažimanje podataka (WinZip, WinRar,...)

10
 Programi za reprodukovanje multimedijalnih datoteka (Windows Media Player,
Quick Time Player, PowerDVD Player,...)
 Čuvari zaslona (engl. screensavers) i dr.
Posebnu skupinu uslužnih programa čine antivirusni programi koji služe za zaštitu
računara od računarskih virusa. Zadatak antivirusnog program jeste da prilikom
skeniranja računara otkrije i prepozna karakterističan kod virusa, a zatim da ga izbriše ili
ukloni.
Iako je antivirusni softver originalno kreiran za otkrivanje i uklanjanje virusa sa računara,
on pored toga računar štiti i od raznih vrsta prijetnji, kao što su zlonamjerni softveri,
među kojima su najpoznatiji:

 Trojanski konj – program koji djeluje bezopasno, ali je ustvari zlonamjeran.


Neočekivanje promjene u postavkama računara i neobična aktivnost, čak i kada
se računar nalazi u stanju mirovanja, su snažni indikatori prisustva trojanskog
konja na računaru. Za razliku od računalnog virusa, trojanski konj se ne može
replicirati, niti se može širiti bez pomoći krajnjeg korisnika.
 Crvi – tip zlonamjernog softvera koji se samostalno replicira i širi na nezaražene
računare. Crvi često koriste dijelove operativnog sistema koji su korisniku
nevidljivi i na taj način prolaze neopaženi sve dok zbog svoje nekontrolirane
replikacije ne dovedu do usporavanja ili zaustavljanja programa.
 Spyware – softver koji je instaliran na računaru bez znanja krajnjeg korisnika.
Iako može biti instaliran iz razloga koji nisu štetni, također može biti
zloupotrijebljen na način da se pomoću njega krši privatnost krajnjeg korsinika.
 Rootkit – grupa programa koji omogućuju pristup računaru ili računarskoj mreži
na administratorskom nivou.
Bitno je naglasiti da antivirusni programi svojim radom usporavaju funkcioniranje
računara.
Oni se sastoje od tri komponente:
1. Detektora (engl. scaner) koji otkriva prirustvo računarskih virusa,
2. Čistača (engl. cleaner) čiji je zadatak da očisti zaraženu datoteku, ili, u slučaju
da to nije moguće, da je izbriše i
3. Štita (engl. shield) koji treba da djeluje preventivno kako bi zaštitio računar od
zaraze.
Prvi antivirusni programi su se pojavili 1983. godine, a njihov broj se konstantno
povećava. Neki od najpoznatijih su Avast, AVG, Norton, Kaspersky, McAfee itd.

2.2. Aplikativni softver

Aplikativni softver je skup kodiranih instrukcija koje se daju računaru da bi mogao da


izvrši određeni zadatak ili riješi postavljeni program. Razlog zbog kojeg je dobio naziv

11
aplikativni jeste zato što omogućava rješavanje konkretnih problema, tj. omogućava
aplikaciju (primjenu) računara na taj problem ili zadatak.
Računar može normalno funkcionisati bez njega, dok je sam aplikacijski softver
potrebno instalirati na računaru ili ga pokrenuti koristeći internet.
Aplikativni softver se može razvijati za specifične potrebe određenog korisnika
(kompanije) ili se može razvijati za masovnu distribuciju. Budući da se prvi tip
aplikativnog softvera razvija prema zahtjevima i potrebama korisnika, on se ne može
naći u slobodnoj prodaji. Za razliku od njega, drugi tip aplikativnog softvera za određenu
oblast primjene sadrži funkcije koje korisniku omogućavaju realizaciju određenog
zadatka. Pošto ovaj tip softvera nije dizajniran za pojedinačnog korisnika već je
usmjeren ka njegovoj primjeni, on se može pronaći u slobodnoj prodaji aplikativnih
softvera.
Aplikativni softver se može podijeliti prema namjeni na programe opće i posebne
namjene.
U skupinu programa opće namjene ubrajaju se programi za:

 obradu teksta (MS Word, OpenOffice.org Writer, WordPerfect...),


 izradu proračunskih tablica (MS Excel, OpenOffice.org Calc, Lotus1-2-3...),
 crtanje i rad sa slikama (Corel, Inkscape, Photoshop, FreeHand...),
 izradu prezentacija (MS PowerPoint, OpenOffice.org Impress...),
 rad sa bazama podataka (MS Access, OpenOffice.org Base, Oracle...),
 stolno izdavaštvo (MS Publisher, Page Plus SE, InDesign...),
 izradu WEB stranica (MS Front Page, Builder, Dreamweaver...),
 za komunikaciju (Internet Explorer, Opera, Mozilla Firefox, Skype...).
Aplikativni programi opće namjene sve češće se nude kao integrirani programski paketi
kao što su: Microsoft Office, OpenOffice.org, Lotus Smart Suite, Sigma Suite itd.
Aplikativni programi posebne namjene služe za izvršavanje specijaliziranih zadataka,
kao što su:

 programi za finansijsko i računovodstveno poslovanje,


 programi za statistiku,
 programi za programiranje i razvoj,
 programi za projektovanje i dr.
Također, u aplikativne programe se ubrajaju i obrazovni programi koji su stvoreni s
ciljem da pomognu korisniku u učenju o nekoj specifičnoj oblasti ili temi. Veliki broj
obrazovnih programa je dizajniran za djecu te obavlja funkciju „asistenta“ u učenju.
Obrazovni softver je također poznat pod nazivom akademski softver. Neki od
najpoznatijih obrazovnih softvera te oblasti u kojima se primjenjuju jesu: Visible Human
Project (anatomija); Fun School, Lola Panda, Reader Rabbit (dječiji softver); Google
Earth, Stellatrium (geografija i astronomija); GeoGebra, MATLAB (matematika); BlueJ,
Hackety Hack, Scratch, RoboMind (informatika) itd.

12
3. Odnos softvera i hardvera računara

Svaki računarski sistem sastoji se od dvije komponenete koje zajedno, kao cjelina,
obavljaju predviđene poslove. Te komponente su hardver i softver.

Hardver predstavlja opipljivi dio računarskog sistema, tj. mašineriju računara. Hardver se
sastoji od:

 centralne jedinice (centralni procesor + upravljačka jedinica + operativna


memorija) i
 perifernih (vanjskih) jedinica (ulazni i izlazni uređaji, pomoćna ili spoljna memorija
i drugi uređaji).

Softver predstavlja neopipljivi dio računarskog sistema, tj. on predstavlja niz instrukcija
koje govore hardveru šta treba da radi. Softver se sastoji od sistemskog i aplikativnog
softvera.

U suštini, softver kontroliše rad hardvera, te predstavlja izvjesnu vezu između korisnika i
hardvera računara. Ove dvije komponente su komplementarne i ne mogu funkcionisati
jedna bez druge. Bez softvera, hardver nije ništa drugo do neupotrebljiva gomila željeza,
plastike i drugih materijala, kao što se ni softver ne može koristiti bez odgovarajućeg
hardvera. Sistemski softver, odnosno operativni sistem, čini hardver upotrebljivim dok
aplikativni softver čini računar korisnim, tj. omogućava mu izvršavanje određenih
zadataka. Za hardver se često kaže da predstavlja „srce“ računara, a softver njegovu
„dušu“.

Osim određenih nadogradnji, kao što je povećanje memorije ili kapaciteta hard diska,
harver predstavlja jednokratni trošak. Za razliku od njega, softver se neprestano
nadograđuje što uzrokuje kontinuirane troškove za korisnika.

Slika 2. Odnos hardvera i softvera


13
4. Verzije (inačice) softvera

Verzioniranje softvera (engl. software versioning) predstavlja proces dodjeljivanja


jedinstvenog naziva ili broja verzije koji odgovaraju određenoj verziji (inačici) softvera.
Obično se inačice softvera označavaju brojevima u rastućem nizu, te odražavaju veću
razvijenost softvera. Npr. verzija 1.0 se obično koristi za označavanje prvobitne verzije
programa.

Budući da ne postoji industrijski standard o tome kako broj verzije treba biti oblikovan,
svaka računarska kompanija ima svoj unikatan sistem verzioniranja.

4.1. Primjer verzioniranja softvera

U slučaju numeričkog verzioniranja, brojevi se dodjeljuju u rastućem nizu. Generalno se


koristi oblik x.y.z, gdje „x“ predstavlja broj velikog izdanja (engl. major release), „y“ broj
malog izdanja (engl. minor release), a „z“ broj revizije inačice (engl. patch level).

Broj velikog izdanja se povećava kada dođe do značajne promjene koda, koja možda
nije kompatibilna sa prethodnim verzijama, kao što je temeljna promjena okvira
(framework-a).

Broj malog izdanja se povećava kada se implementiraju značajni popravci grešaka


(bugova) ili dodavanjem novih značajki.

Broj revizije inačice se povećava kada dođe do manjih popravaka grešaka.

Npr. 3.4.5 označava 3. inačicu programa, 4. malo izdanje i 5. ispravku bugova.

14
5. Kreatori softvera – programeri

Programeri su osobe koje kreiraju softver računara. Oni pišu, testiraju, otklanjaju
nepravilnosti, održavaju i upućuju nizove naredbi koje u logičkom redoslijedu opisuju
korake koje računar mora izvršiti. Oni također osmišljavaju, dizajniraju i testiraju logičku
strukturu za rješenje problema.

Odgovornosti programera su:

 pisanje programa,
 prerada postojećih aplikacija i
 kontrola funkcionalnosti programa.

Vještine i osobine koje bi programer trebao imati su:

 stručno znanje iz oblasti informacionih tehnologija,


 dobro poznavanje engleskog jezika,
 logičko-analitičko razmišljanje,
 želju za stalnim usavršavanjem itd.

Neki od najboljih programera u dosadašnjoj historiji su:

1. James Gosling (otac programskog jezika Java),


2. Dennis Ritchie (autor C programskog jezika, zajedno sa Kenom Thompsonom je
kreirao operativni sistem Unix),
3. Linus Torvalds (tvorac operativnog sistema Linux),
4. Bjarne Stroustrup (kreator C++ programskog jezika),
5. Anders Hejlsberg (kreator C# programskog jezika, te programskog prevodioca
Turbo Pascala),
6. Tim Berners Lee (tvorac World Wide Weba),
7. Ken Thompson (dizajnirao je i implementirao prvi originalni Unix operativni
sistem, izmislio B programski jezik koji je bio direktni prethodnik C programskog
jezika, te programski jezik Go),
8. Guido van Rossum (autor programskog jezika Python) i
9. Donald Knuth („otac algoritama“, autor knjige „Umjetnost kompjuterskog
dizajniranja“).

15
6. Zaključna razmatranja

Tema ovog maturskog rada bio je softver sa naglaskom na njegove podjele. Pritom smo
vidjeli da softver zajedno sa hardverom čini računarski sistem, te da jedan ne može
funkcionisati bez drugog. Sam softver se dijeli na sistemski i aplikativni softver, od kojih
svaki obavlja određene funkcije na računaru.

Računarski softver je kreiran od strane programera koji koriste svoja znanja iz oblasti
informacionih tehnologija kako bi uspješno napisali raznovrsne programe.

Softverska industrija predstavlja jednu od najbrže rastućih industrija današnjice, te se u


budućnosti predviđa nastavak njene ekspanzije, a sve zahvaljujući masovnoj upotrebi
računara, pametnih telefona, te brojnih drugih uređaja koji funkcionišu zahvaljujući radu
softvera, a koji su postali neizostavan dio našeg svakodnevnog života.

16
7. Korištena literatura

1. Slobodan B. Vujić. Računarstvo i informatika, Mikro knjiga, Beograd, 2001.


2. Željko Jurić. Informatika za prvi, drugi i treći razred gimnazije, Sarajevo Publishing,
Sarajevo, 2003.
3. Sulejman Ljubović, Milan Cvijetinović. Informatika za 7. razred devetogodišnje
osnovne škole, Dječija knjiga, Bosanska riječ, Sarajevo, 2010.
4.https://www.computerhope.com/
(https://www.computerhope.com/jargon/s/software.htm )
5.http://www.webnstudy.com/index.php?s=1&l=sr
(http://www.webnstudy.com/tema.php?id=doba-mehanike;
http://www.webnstudy.com/tema.php?id=elektrika-i-elektronika;
http://www.webnstudy.com/tema.php?id=razvoj-softvera )
6.http://skolskainformatika.weebly.com/index.html
(http://skolskainformatika.weebly.com/softver.html )
7. http://www.differencebetween.info/ (http://www.differencebetween.info/different-types-
of-software )
8.http://alas.matf.bg.ac.rs/~ml07068/informatika/index.php
(http://alas.matf.bg.ac.rs/~ml07068/informatika/index.php?content=operativni-
sistem&id=1 )
9.http://searchsecurity.techtarget.com/
(http://searchsecurity.techtarget.com/definition/antivirus-software )
10. https://www.sophia.org/ (https://www.sophia.org/tutorials/the-relationship-between-
hardware-and-software )
11.https://www.computerhope.com/
(https://www.computerhope.com/jargon/v/version.htm )
12.https://hr.wikipedia.org/wiki/Glavna_stranica
(https://hr.wikipedia.org/wiki/Verzioniranje_softvera )
13. http://mrav.ffzg.hr/ (http://mrav.ffzg.hr/zanimanja/book/part2/node0205.htm )
14. https://poslovi.infostud.com/ (https://poslovi.infostud.com/zanimanje/Programer/28 )
15.http://www.telegraf.rs/
(http://www.telegraf.rs/hi-tech/1630851-ovo-su-najbolji-programeri-svih-vremena )

17

You might also like