Softversko inženjerstvo 

1. SOFTVER I SOFTVERSKI INŽENJERING 

 

Proteklo   je   šest   decenija   razvoja   računarskih   sistema.   Tokom   prve   tri 
decenije, primarno je razvijan hardver sa ciljem da se smanje troškovi obrade 
i   čuvanja   podataka.   Osamdesetih   i,   delom,   dvedesetih   godina   i   dalje   se 
najviše   pažnje   poklanjalo   razvoju   hardvera   i   povećanju   njegove   brzine   i 
moći. Tek poslednje decenije razvoja, izazov su postali  

viši kvalitet i niži 

troškovi softvera. 

Danas 

softver 

predstavlja ključ uspeha većine računarskih sistema i ujedno 

faktor diferencijacije organizacija koje ga poseduju. Softver je postao bitna 
komponenta u poslovnom odlučivanju i osnova u naučnim istraživanjima i 
inženjerskom   rešavanju   problema.   On   takode   predstavlja   značajnu 
komponentu   u   industrijskim,   transportnim,   medicinskim, 
telekomunikacijskim,   vojnim   i   brojnim   drugim   vrstama   sistema.  U 
savremenom svetu softver je praktično neizbežan i svuda prisutan. Na pragu 
21.   veka   izmenjeno   je   poimanje   softvera   i   isti   javnost   ga   prihvata   kao 
tehnološku stvarnost u budućem razvoju. 
 
 

1.1.  Pojmovno određenje softvera 

 

Pre   trideset   godina,   manje   od   1%   javnosti   je   bilo   u   mogućnosti   da 
inteligentno objasni značenje pojma "softver". Međutim, sada sve veći dio te 
javnosti smatra da i razume softver. Da li je to tako? 

Softverski   proizvod  

(engleski:   consumer   software   package)   predstavlja 

softversku   podršku   računarskim   sistemima,   a   čine   ga   skup   računarskih 
programa,   datoteke   i   odgovarajuća   dokumentacija,   namenjeni   realizaciji 
određenih zadataka (definicija preuzeta iz standarda JUS ISO 9127/94). Za 
razliku   od   softverskog   proizvoda,  

softver  

se   sastoji   iz   skupa   računarskih 

programa i datoteka sa istom namenom koju ima softverski proizvod. Kako 
su,   prema   usvojenim   standardima,   softver   i   odgovarajuća   prateća 
dokumentacija nerazdvojivi, upakovani za prodaju kao jedinstvena celina i 
prodaju se zajedno, u nastavku se ova dva pojma poistovećuju. 

Iz izloženog se vidi da softverski proizvod predstavlja jedinstvo računarskih 
programa, struktura podataka sadržanih u datotekama i dokumentacije koja 
opisuje   način   funkcionisanja   i   upotrebe   programa.   Pri   tome,   posebno   se 
ističe značaj 

dokumentacije, 

koju projektanti i programeri često zanemaruju, 

1

Softversko inženjerstvo 

ali bez koje se softver ne može smatrati kompletnim. Informacije sadržane u 
pratećoj   dokumentaciji   su   često   jedino   sredstvo   putem   koga   proizvođač 
softvera i/ili distributer mogu komunicirati sa kupcem ili korisnikom. Samo 
ukoliko dokumentacija sadrži dovoljno informacija, korisniku se omogućuje 
uspešno korišćenje softvera. 

Za pojam softvera vezan je i pojam 

softverska podrška.

 Ona predstavlja rad 

na   održavanju   softvera   i   prateće   dokumentacije   u   funkcionalnom   stanju. 
Mogu   je   pružati:   proizvođač   (organizacija   koja   je   razvila   softver), 
predstavnik   (organizacija   koja   plasira   softver   na   tržištu),   distributer 
(organizacija   koja   neposredno   prodaje   softver   korisniku)   ili   neka   druga 
organizacija. 
 

1.2. Paradigme arhitekture softvera 

Slika 1.1 .www.fit.ba (DL-Softversko inženjerstvo)

1

Primena   računara   u   naučno-istraživačkom   radu   prouzrokovala   je 
ovladavanje složenim tehnološkim procesima i novim proizvodima, među 
kojima se nalaze i kvalitetniji računari. Ova povratna sprega dovela je do 
eksplozije znanja kojom su nastale hardverske arhitekture izuzetno visokog 
kvaliteta. Razvoj softvera, međutim, nije pratila opisana dinamika, jer se on 
mogao meriti porastom od svega nekoliko procenata godišnje. Poboljšanje 

1

 

Prof.dr  D.Radosav, E-predavanja iz Softverskog inžinjeringa, FIT, Univerzitet u Mostaru

2

background image

Softversko inženjerstvo 

preuzimaju   ulogu   interfejsa   između   korisnika   i   aplikacije   koji   treba   da 
ispunjava njegove želje. Tako nastaje grafički korisnički interfejs zasnovan 
na korišćenju "ikona" koji nije karakterističan samo za hardver (ekrani u boji 
visoke rezolucije i grafičke kartice), već i za softver (Windows). Aplikacije 
počinju da se prodaju kao konfekcijski proizvodi, čijim se kombinovanjem 
vrši automatizacija određenog poslovnog okruženja. 

Pojavom   lokalnih   računarskih   mreža   personalni   računar   postaje 
komparativno najatraktivniji za realizaciju informcijskih sistema odeljenja ili 
organizacija   manje   ili   srednje   veličine.   Razmena   podataka   sa   širim 
okruženjem vrši se pomoću telekomunikacijske računarske mreže u koju se, 
pomoću   transportnih   komunikacijskih   protokola,   povezuju   računari   sa 
različitim hardverom i operativnim sistemima. Paradigmu 

računarske mreže 

karakteriše   podela   aplikacije   na   sistemski   deo   (ljusku)   i   korisničku, 
distribuiranu   aplikaciju.   Između   velikog   broja   modela   povezivanja 
distribuiranih   aplikacija   u   primeni   je   dominantan   TCP/IP   protokol,   koji 
koristi najveća svetska mreža Internet. Mreže ovog tipa predstavljaju osnovu 
za globalne informacijske sisteme, kod kojih sve informacije, bez obzira na 
geografski položaj, postaju pristupačne svim korisnicima u svetu. 

Tehnologija   skladištenja,   povezivanja   i   organizovanja   različitih   tipova 
informacija (tekstovi, numeričke vrednosti, tabele, grafici, slike, zvuk i video 
zapisi)   zasnovana   je   na   World   Wide   Web   (WWW)   servisu,   TCP/IP 
protokolu,   jeziku   za   označavanje   hipertekstualnih   informacija   HTML   i 
aplikativnom transportnom protokolu HTTP. Ona omogućava korisnicima da 
sve informacije, koje se nalaze na računarima raspoređenim po celom svetu i 
povezanim u internet, vide kao jedan 

globalni, distribuirani, multimedijalni 

informacijski sistem. 

Kreiranje efikasne infrastrukture za trenutnu isporuku 

uskladištenih   informacija   na   proizvoljno   mesto   uključilo   je   i   distribuciju 
pratećih   programa   kao   specifičnih   podataka.   Ovu   distribuciju   programa 
moguće je realizovati razvojem programa za virtuelni računar i simulatorima 
ovog   virtuelnog   računara   na   različitim   platformama   (SunSoft   Java)   ili 
razvojem različitih verzija istog programa za različite platforme (Microsoft). 
Pomaci u aplikativnoj paradigmi prouzrokovani primenom WWW servisa 
ukazuju  da  se  za  dominaciju  bore  mrežni računar  NC  (grafički interfejs, 
procesor,   operativna   memorija   i   komunikacijski   procesor)   i   Microsoftov 
NetPC,   koji   omogućava   naizmenično   korišćenje   mrežnog   i   personalnog 
računara. 
 
Prikazane   paradigme arhitekture   softvera   mogu   se   posmatrati     i   kroz 
četiri 

faze razvoja softvera. 

 

4

Softversko inženjerstvo 

Prvu

,   najraniju   etapu   karakteriše   razvoj   softvera   koji   su   realizovali 

proizvođači   računarske   opreme,   razvijajući   kompletan   neophodni   softver 
(operativne sisteme, programske jezike, pomoćne programe i dr.) za svoje 
proizvode.  To je bio  

softver batch   orijentacije,   

projektovan i razvijan za 

pojedinačne   potrebe   naručilaca.   Celi   postupak   od   inicijalizacije,   preko 
projektovanja   do   implementacije   i   održavanja   softvera   je   obavljala   ista 
osoba, te projektno-programska dokumentacija nije postojala. U računarskim 
centrima je bila realizovana koncentracija vrhunskih kadrova značajnih za 
razvoj softvera. 

Međutim,   ubrzani   razvoj   računarske   opreme,   uslovio   je   da   se   menjaju   i 
zahtevi korisnika prema softveru. Viši zahtevi u odnosu na softver isticali su 
potrebu   za   višim   nivoom   znanja   onih   koji   softver   razvijaju.   Sopstvenim 
snagama  ove   organizacije  su   sve   teže   mogle   da  prate   takav   razvoj.   Viši 
troškovi   razvoja   softvera   uslovljavali   su   i   postepeni   rast   zahteva   za 
sredstvima   odnosno   kapitalom   potrebnim   za   razvoj.   Samo   veoma   velike 
računarske   kuće   su   dozvoljavale   sebi   taj   luksuz   i   pravo   da   održavaju 
računarske   centre   u   celini   i   da   se   bave   istovremeno   razvojem,   kako 
računarske opreme, tako i softvera. 

Drugu

  etapu karakteriše softver razvijen za  

višekorisnički rad u on line 

režimu   rada   i

  pojava   prvih   sistema   za   upravljanje   bazama   podataka. 

Sedamdesetih godina se pojavljuju prve softverske kuće. One su u početku 
razvijale specifični softver za određenu računarsku opremu, da bi se kasnije 
usmerile   ka   razvoju   univerzalnijeg   softvera   upotrebljivog   na   različitoj 
opremi. U ovim organizacijama se koncentrisalo kvalitetno osoblje, koje je 

timskim   radom   i   dobrom   koordinacijom   poslova

  dolazilo   do 

najkvalitetnijih rešenja. 

Kada bi se želeli ukratko navesti  

faktori,  

koji su uslovili potrebu novog 

načina razvoja softvera, onda bi to bili:  

• eksplozija informacija, 
• pojava softverskih kuća, 
• raznovrsna i brojna primena računara, 
• potreba za softverom koji se lako upotrebljava i nije skup, 
• brze i dinamične promene u društvu, 
• zahtevi za visokim nivoom kvaliteta softvera, 
• brza realizacija, odnosno kraće vreme dostupnosti i 
• zahtevi za univerzalnom primenom. 

 

Treću  

etapu   razvoja   karakteriše   softver   za   podršku   distribuiranih 

računarskih sistema koji su međusobno komunicirali i pojava personalnih 

5

background image

Softversko inženjerstvo 

Slika 1.2. www.fit.ba (DL-Softversko inženjerstvo)

 Slika 1.3. www.fit.ba (DL-Softversko inženjerstvo)

Teorijske   osnove   industrijskog     razvoja

 

softverskih   proizvoda   opisao   je 

sredinom   osamdesetih   godina   Brad   Cos.   On,   razvoj   složenog   sistema 
softverskog   proizvoda   definiše   kao   proces   povezivanja   manje   složenih 
gotovih  

objekata i komponenti.  

Do ovakvog načina industrijskog razvoja 

dolazi se evolucijom iz zanatskog razvoja, koji i dalje postoji, ali prestaje biti 
dominantan način. 

Da bi se mogla organizovati industrijska proizvodnja potrebno je obezbediti 
sve delove koji ulaze u konkretan proizvod. Ti delovi moraju biti međusobno 
usaglašeni, odnosno neophodno je da postoje  

standardi  

po kojima se oni 

razvijaju.   Kako   je   razvoj   softvera   vrlo   (dinamičan,   donošenje   zvaničnih 
standarda nije sposobno da ga prati, pa se na tržištu prvo pojavljuju standardi 
koji   predstavljaju   zajednički   dogovor   određene   grupe   proizvođača   ili 

7

Želiš da pročitaš svih 187 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti