You are on page 1of 14

UNIVERZITET U KRAGUJEVCU

FAKULTET TEHNIČKIH NAUKA U

ČAČKU

SEMINARSKI RAD

Tema: ISO/IEC TR 19759-Dizajn softvera

Studijski program​: Osnovne akademske studije Informacione tehnologije


Predmet​: Standardizacija

Student​: Jelena Ilić


Broj indeksa​: 38/2020

Profesor​:
Sandra Milunović Koprivica

2020. Godina
SADRŽAJ

1. ​UVOD ………………………………………………………….......................….........……….3 2
​ .

SOFTVER-POJAM I PODELA…………………………………………….............………..4

3. ​DIZAJN SOFTVERA…………………………………..……...........................……….…5,6,7
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
ZAKLJUČAK……………………………………………….......................................……………….8
LITERATURA………………………………………………………......................................….....….9
REFERENCE..........................................................................................................................................

1
1. UVOD

Informaciono komunikacione tehnologije su sila koja je promenila mnoge aspekte


načina na koji se živi. Početkom dvadeset prvog veka informaciona tehnologija je postala
nezaobilazan element obrazovanja.
Informacioni sistem je uređeni sistem koji čine ljudi, podaci, procesi i interfejsi koji
međusobno sarađuju na podršci i unapređivanju svakodnevnih operacija u poslovanju i
1
omogućavaju rešavanje problema u donošenju odluka upravi i korisnicima.
Razvoj informatike i računarstva u zadnjim decenijama uveo je softver u sve oblasti
života. Razvijeni su mnogobrojni softverski proizvodi sa veoma različitim namenama. Softver
je postao prisutan u gotovo svim oblastima društva: zdravstvu, obrazovanju, medijima,
privredi, zatim komunikacijama, politici, poslovanju itd.
Softver jeste program u kome je sadržana naredba koja se upotrebljava za željeno
ponašanje računara, tj. instrukcija pomoću kojih će računar da obavi željenu funkciju.
Osnovna podela softvera jeste na sistemski (operativi) softver, koji je zadužen da
omogući rad svih računarskih delova i softver aplikacija (aplikativni softver) koja se bavi
izučavanjem tačno određenih poslova.
Softversko inženjerstvo (SI) je disciplina koja se bavi tehnikama razvoja i održavanja
softvera. Njen cilj je razvoj kvalitetnijeg softvera uz niže troškove. Objekti posmatranja
softverskog inžinjerstva jesu softver (programski proizvod) i proces njegovog razvoja i
održavanja.
Da bi se postigao cilj softverskog inžinjerstva, razvijaju se nove tehnike u razvoju
softvera koje su slične inženjerskim. Na taj način softver se razvija po fazama te se tako
njegov razvoj kao i utrošak resursa može bolje nadgledati.
Predmet izučavanja u ovom radu jeste dizajn sofrvera. Naučni cilj rada jeste da se na
temelju proučavanja relavantne kako domaće, tako i strane literature, i internet izvora uz
komparaciju sa saznanjima iz dugogodišnje prakse autora, javnost, ja, mentor i ostali profesori
upoznaju sa pojmom i podelom softvera, pojmom dizajna softvera i svime ostalog što on
obihvata. Širi drustveni cilj jeste pruzanje korisnih informacija korisnicima koji imaju nameru
da se ozbiljno bave dizajnom softvera.

1 Informacione tehnologije je savremeni izraz koji oznacava kombinaciju racunarskih i telekomunikacionih tehnologija koje se upotrebljavaju u prikupljanju, obradi, skladistenju,

razmeni i izdavanju informacija.

2
2. SOFTVER-POJAM I PODELA

Računarski sistem se sastoji od dve komponente koje se zovu hardver i softver. Ove
komponente su međusobno usko povezane i nikako ne mogu funkcionisati jedna bez druge.
Softver je u odnosu na hardver, neopipljivi deo računara. Kompjuterski softver ili jednostavno
softver je bilo koji skup instrukcija koje može da izvrši kako bi izveo određenu operaciju.
Sastoji se od kompjuterskih programa, biblioteka i njihove dokumentacije. U kompjuterskim
naukama, biblioteka je kolekcija stalnih resursa koji se često upotrebljavaju za razvoj softvera.
Računarski hardver je efikasan onoliko koliko su efikasne instrukcije koje mu se
zadaju. Termin softver se upotrebljava za one komponente računarskog sistema koje nisu
fizičke. Sa pojavom prve teorije o softveru, 1935. godine, dolazi do postepenog razvoja na
polju računarske nauke i softverskog inžinjerstva, u kojima se izučava softver i njegovo
stvaranje. Softverski inženjering se bavio praktičnim delom, dok se računarska nauka bavila
2
time više teorijski. ​Danas je razvijen veliki broj na temu softvera, otvoreni su departmani koji
se bave izučavanjem ljudi u interesu neprestanog razvoja i usavršavanja. U toku razvoja,
razvijen je i veliki broj programskih jezika: Java, Python, PHP, C++, Swift, Visual Basic itd.
Svaki od ovih programskih jezika ima svoje razlike koje ga čine jedinstvenim i
izdvajaju ga od drugog programskog jezika, ali ono što je zajedničko svakom od njih, jeste
funkcija koju obavljaju, a to je da služe razvoju i kreiranju novih, inovativnih softvera ili za
3
usavršavanje starih. M
​ ogućnost kreiranja softvera postala je dostupna velikom broju ljudi.

Kreiraju se raznovrsni programi, počevši od onih koji služe zabavu, komunikativni softveri,
multimedijalni programi, pa sve do analitičkig i poslovnih programa.4 Osobe koje se bave
proizvodnjom softvera, odnosno kreiranjem softverskih programa zovu se programeri,
5
softverski inžinjeri ili razvijači softvera – različiti termini za približno značenje. G
​ eneralno

gledano, mogu se izdvojiti tri vrste softvera: sistemski softver, operativni i aplikativni softver.
Sistemski softver je skup instrukcija koje posreduju između hardvera i aplikativni softvera. On
je opština tipa u odnosu na aplikativan softver. Njegov osnovni zadatak jeste da podrži rad
aplikativnog softvera tako što upravlja glavnim funkcijama računara. Aplikativni softver može
biti softver specifične namene i softver masovne distribucije. Softver za specifične namene
može da razvije osoblje kompanije ili kompanija može da iznajmi nekog spolja ko će razviti
takav softver. S druge strane softver masovne distribucije namenjen je za široku upotrebu.

2 ​https://en,wikipediaa.org/wiki/History​ofsoftware

3 ​http:/pcpress.rs/10-popularnih-programskih-jezika/
4
https://bs.wikipedia.org/wiki/Aplikativni​softver

5 ​https://sr-wikipedia.org/wiki/%D0%A1%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%8

3
Slika 1. Podela softvera

3. DIZAJN SOFTVERA

Softverski dizajn jeste aktivnost životnog ciklusa softverskog inžinjerstva u kome se


softverski zahtevi analiziraju u cilju proizvodnje opisa interne strukture softvera koja će služiti
kao osnova za konstrukciju. Jos preciznije, softverski dizajn mora opisati softversku
arhitekturu, tj. kako je softver razložen i u komponente organizovan, kao i kakav je interfejs
između ovih komponenti. Softverski dizajn mora da opiše komponente na nivou detalja koji
omogućavaju njihovu konstrukciju. Softverski dizajn igra bitnu ulogu u razvoju softvera,
dozvoljavajući softver inžinjerima da proizvedu svakojake modele koji formiraju neke vrste
nacrta za rešenje koje se implemenira. ​Softverski inženjeri zaduženi su za mnogobrojne
aktivnosti prilikom dizajniranja ​softverske arhitekture, kao što su: izvođenje hardver/softver
analize i balansa, dizajniranje ​interfejsa ka eksternim komponentama, odlučivanje o
centralizovanoj ili distribuiranoj šemi itd. Gledajući opseg oblasti softverskog dizajna,
postojeći opis oblasti neobuhvata svaku temu koja sadrži pojam oblast. Pre svega, ova oblast
se bavi pre svega sa D-dizajnom. S obzirom na konstantno rastuće polje softverske
arhitekture, postoji takođe i FP-dizajn, čija je glavna namera uspostavljanje iskoristive
unificiranosti u softverskoj porodici.

4
Oblast softverskog dizajna se posebno oslanja na: zahteve softvera, zatim softversku
konstrukciju, upravljanje softverskim inžinjerstvom, i kvalitet softvera. Dizajn softvera
obuhvata:
1. Osnove dizajna softvera;
2. Kreiranje dizajna softvera;
3. Ključna pitanja softverskog dizajna;
4. Softverska struktura i arhitektura;
5. Analiza kvaliteta i evaluacija softverskog dizajna;
6. Notacija softverskog dizajna;
7. Strategije i metode softverskog dizajna.

​3.1. OSNOVE SOFTVERSKOG DIZAJNA

Generalni koncepti dizajna. ​Softver nije jedino polje koje uključuje dizajn. Gleda se
dizajn kao forma za rešavanje problema, gde postoje i limiti dizajna. U tom smislu priča se i o
generalnim konceptima dizajna, rešenjima, alternativama, ograničenjima kao i ciljevima.
Kontekst dizajna softvera​. Za shvatanje uloge dizajna softvera bitno je razumeti
kontekst u kome se primenjuje životni ciklus softverskog inžinjerstva. Bitno je razumeti
glavne karakteristike i odnose između analize softverskih zahteva, dizajna softvera,
konstrukcije softvera i testiranja softvera.
Proces dizajna softvera​. Dizajn softvera se sastoji od dve bitne vrste procesa i to su:
1. Detaljni dizajn, koji opisuje specifično ponašanje ovih komponenti, i izlaz iz ovog
procesa jeste skup modela i artifakata koji odslikavaju glavne odluke koje su donete.
2. Arhitektonski dizajn, koji objašnjava na koji je način softver dekomponovan i u
komponente organizovan.
Principi dizajna softvera​. Ovi pomenuti principi, odslikavaju fundamente različitih
pristupa i koncepata dizajna softvera. To su sledeći: apstrakcija, spajanje i sprezanje,
dekompozicija i modularizacija, skrivanje podataka, odvajanje interface-a i implementacije,
jednostavnost, dovoljnost i savršenost.

KREIRANJE DIZAJNA SOFTVERA

Kreiranje dizajna softvera podrazumeva određivanje skupa komponenti i interfejsa


između komponenti tako da zadovoljavaju skup postavljenih zadataka. Postoje svakojake
metode za dizajniranje sistema, ali svaka od njih sadrži neki vid dekompozicije koja polazi od

5
predstave sistema na visokom nivou i zatim prelazi na niže nivoe gde su detaljnije opisane
funkcionalnosti i karakteristike svake od komponenti. Dizajn može biti kreiran na jedan od
sledećih načina:
1. ​Moderna dekompozicija. ​Ona podrazumeva dodeljivanje funkcija komponentama.
najvišeg nivoa počinje dizajn, a zatim opisuje kako je svaka komponenta napravljena
i koje funkcije pruža. Potrebno je takođe i opisati odnose izmedju komponenti.
2. ​Dekompozicija bazirana na podacima. ​Dizajn se bazira na strukturi podataka, pa
su komponente sistema raspoređene u module (pakete) sa hijerarhijskom strukturom
koja odgovara strukturi baze podataka.
3. ​Dekompozicija bazirana na događajima. ​Dizajn je baziran na događajima koje
sistem treba da obradi. Ovde je važno sagledati kako događaji utiču na promenu
stanja sistema.
4. ​Dekompozicija bazirana na ulazima u sistem. ​Ovo je pristup baziran na ulazima
koji korisnici obezbeđuju za sistem. Polazi se od visokog nivoa opisa ulaza, a posle
se detaljno opisuju komponente koje obezbeđuju da se realizuje funkcionalnost za
dat ulaz.
5. ​Objektno-orijentisani dizajn. ​Dizajn obezbeđuje identifikaciju klasa i objekata i
njihovih međusobnih relacija. Na visokom nivou opisuje se svaki objekt, a onda se
na nižem nivou opisuju njegovi atributi i akcije. Takođe, dizajn treba da opiše i sve
relacije između objekata. Takođe je vrlo bitno sagledati hijerarhijsku organizaciju
objekata u komplikovanije celine kao što su podistemi ili paketi.

3.2. GLAVNA PITANJA DIZAJNA SOFTVERA

Ima nekoliko glavnih tema koje treba uzeti u obzir prilikom dizajniranja softvera.
Jedna od njih jeste obezbeđivanje kvaliteta. Zatim, druga bitna stvar jeste kako
dekomponovati, organizovati i pakovati softverske komponente. Svaki dizajnerski pristup
obavezno mora uzeti u obzir ove fundamente na jedan ili drugi način.
Nasuprot tome, druge teme se bave nekim aspektom ponašanja softvera koje nije u
domenu aplikacija. Te teme koje obično daju poprečni presek funkcionalnosti sistema tretiraju
se kao aspekti. Glavna pitanja dizajna softvera su sledeća:
1. ​Postojanost informacija. ​Bavi se pitanjima kako se obrađuju long - lived
informacije.
2. ​Interakcija i prezentacija. ​One, podrazumevaju kako strukturirati i organizovati
interakciju sa korisnikom kao i prezentaciju informacije. Pomenuta podoblast se bavi

6
unser interface-a, što je tema za unser interface desing.
​3​. Na koji način uraditi prevenciju, toleranciju nedostataka i obradu izuzetaka.
4. ​Distribucija komponenti. ​Bavi se pitanjima distribucije softvera preko hardvera, na
primer kako komuniciraju komponente i drugo.
5. ​Konkurentnost​. Podrazumeva na koji način dekomponovati softver u procese,
trendove i rešavati pitanja efikasnosti, rasporeda, sihronizacije, i atomičnosti.
6. ​Kontrola i upravljanje događajima. ​Podrazumeva kako organizovati kontrolu toka
i informacije, na koji način obraditi reaktivne i privremene događaje kroz različite
mehanizme kao što su implicitan poziv i odziv.

3.3.SOFTVERSKA STRUKTURA I ARHITEKTURA

Softverska arhitektura se definiše kao opis podsistema i komponenata softverskog


sistema i relacije između njih. Softverska arhitektura definiše internu strukturu rezultujućeg
softvera, način na koji je organizovan i konstruisan. U zadnjoj deceniji softverska arhitektura
počinje da se javlja kao šira disciplina, uključujući proučavanje softverske strukture i
arhitekture na više opšti način. Kao rezultat svega toga, razvija se i broj ideja o softverskom
dizajnu na različitim nivoima apstrakcije. Neki od ovih koncepata mogu biti od koristi tokom
arhitektonskog dizajna datig softvera, kao i za vreme detaljnog dizajna.

3.4.ANALIZA KVALITETA I EVALUACIJA SOFTVERSKOG DIZAJNA

Ovo jeste podoblast koja se oslanja na oblast znanja "kvalitet softvera". Obrađuje teme
iz oblasti kvaliteta i dizajna koje su specifično povezane sa softverskim dizajnom.
Atributi kvaliteta (Quality Attributes)​. Više različitih atributa se smatra veoma
bitnim za sprovođenje kvalitetnog softverskog dizajna i to su:
1. Maintainability, Portability, Testability, Traceability, itd.
2. Correctness,Robustness,itd.
Razlika postoji između atributa kvaliteta prepoznatih u Run-Time-u (Performance,
Security, Availability, Functionality, Usability), onih koji to nisu (Modifiability, Portability,
Reusability, Integrability, Testability), kao i onih povezanih sa unutrašnjim kvalitetom
arhitekture (Conceptual Integrity, Correctness, Completeness, Buildability).
Analiza kvaliteta i tehnike evaluacije (Quality Analysis and Evaluation
Techniques)​. Različiti alati i tehnike mogu pomoći osiguranju kvaliteta softverskog dizajna:

7
1. Software Design Reviews​, ​neformalna ili poluformalna, često group-based, tehnika
za verifikaciju i obezbeđenje kvaliteta dizajna artifakata (npr. Architecture Reviews,
Design Reviews, Inspections, Scenario-Based Techniques, Requirements Tracing;
2. Static Analysi​s​, ​neformalna ili poluformalna statična (non-executable) analiza koja
može biti korišćena za evaluaciju dizajna;
3. Simulacija i prototip​, d​ inamička tehnika za evaluaciju dizajna (npr. simulacija
performansi ili prototip izvodljivosti).
Merenja. ​Merenja mogu da se upotrebljavaju za kvantitativnu procenu različitih
aspekata: veličine, strukture ili kvaliteta softverskog dizajna. Najviše mera koje su predložene
generalno zavise od pristupa korišćenog za izvođenje dizajna. Ove mere su klasifikovane u
dve široke kategorije i to su:
1. Function-oriented (Structured) Design Measures​: s​ truktura dizajna, dobijena
najčešće kroz funkcionalnu dekompoziciju, generalno predstavljena kao strukturni
graf (nekad nazivan hijerarhijski dijagram) na kom se različite mere mogu
sprovesti.
2. Object-oriented Design Measures​: ​ukupna struktura dizajna je najčešće predstavljena
kao klasni dijagram na kome se mogu sprovesti različita merenja. Takođe se mogu
izračunati i merenja osobina internog sadržaja svake klase.

3.5. NOTACIJA SOFTVERSKOG DIZAJNA

Postoje mnoge notacije i jezici za predstavu artifakata softverskog dizajna. Neki od njih
se upotrebljavaju za opis strukturalne organizacije dizajna, dok se drugi upotrebljavaju za
predstavljanje ponašanja softvera. Određene notacije se upotrebljavaju uglavnom tokom
architectural design-a, a ostali uglavnom tokom detailed design-a, mada se iste notacije mogu
upotrebljavati u oba koraka.
Neke notacije se pre svega upotrebljavaju u kontekstu specifičnog metoda (veza sa
Software Design Strategies and Methods). Software Design Notations obuhvata:

1. Struktura Descriptions (static view)


2. Behavioral Descriptions (dynamic view)

3.6. STRATEGIJE I METODE SOFTVERSKOG DIZAJNA

8
Ima svakojakih generalnih strategija za pomoć u sprovođenju dizajn procesa. Nasuprot
generalnim strategijama, metodi su specifičniji u tome da generalno predlažu i obezbeđuju
skup notacija koje će se upotrebljavati sa metodom, opis procesa koji će se upotrebljavati
nakon metoda i skupom uputstava u upotrebljavanju metoda. Takvi metodi su vrlo korisni i
kao način transfera znanja i kao zajednički okvir za timove softverskih inženjera.
Generalne strategije​. Neke od najčešće navođenih primera generalnih strategija
pogodnih u dizajn procesu su:
1. Divide-and-Conquer and Stepwise Refinement (postepeno prečišćavanje);

2. Top-Down vs. Bottom-Up strategije;

3. apstrakcija podataka i skrivanje informacija;

4. korišćenje heuristika;

5. korišćenje paterna i patern jezika;

6. korišćenje iterativnog i inkrementalnog pristupa.

Funkcionalno orijentisan dizajn (Function-Oriented Design). ​Predstavlja jedan od


klasičnih metoda softverskog dizajna, gde se dekompozicija fokusira na identifikovanju
osnovnih funkcija softvera i potom ih elaborira i prečišćava u Top-Down pristupu. Strukturni
dizajn se generalno koristi posle strukturne analize, proizvodeći, između ostalog dijagrame
toka podataka i pripadajuće opise procesa. Istraživači predlažu različite strategije (npr.
Transformation Analysis, Transaction Analysis) i heuristike, radi transformacije DFD u
softversku arhitekturu generalno predstavljenu kao strukturni grafikon.
Objektno orijentisan dizajn (Object-Oriented Design). ​Postoje brojne metode
softverskog dizajna zasnovane na objektima. Ovo polje se razvijalo u poslednje dve decenije
od početnog Object-Based dizajna (noun = object; verb = method; adjective = attribute) preko
objektno orijentisanog dizajna (gde nasleđivanje i polimorfizam igraju ključnu ulogu), do
Component-Based dizajna, gde je moguće definisati i pristupiti meta informacijama.
Dizajn orijentisan ka strukturama podataka (Data-Structure-Centered Design)
Dizajn orijentisan ka strukturama podataka polazi od struktura podataka kojima program
manipuliše, umesto od funkcija koje obavlja. Softver inženjer prvo opisuje ulazne i izlazne
strukture podataka (pomoću npr. Jackson Structure dijagrama), a potom razvija programske
kontrolne strukture zasnovane na ovim dijagramima struktura podataka. Različite heuristike
su predložene za rukovanje specijalnim slučajevima, npr. kada postoji razlika između ulaznih
i izlaznih struktura.

9
Dizajn baziran na komponentama (Component-Based Design (CBD)) ​Softverska
komponenta je nezavisna jedinica, ima dobro definisan interfejs i zavisnosti koje je moguće
ukomponovati i implementirati nezavisno. Dizajn baziran na komponentama obrađuje teme
vezane za obezbeđivanje, razvoj i integraciju takvih komponenti u cilju poboljšanja ponovne
upotrebe (Reuse).

ZAKLJUČAK

Pitanjima poput «Šta postoji?» i «Kakve su veze između onoga što postoji?» bavi se
filozofske ​disciplina koja se zove ontologija. Ontologija dizajna softvera treba da da odgovore
na pitanja ​koji sve entiteti postoje u dizajnu softvera i kakve su međusobne veze između tih
entiteta. To b​i omogućilo da dizajneri mogu da komuniciraju globalno i da se razumeju
nezavisno od toga ​ ​gde su učili dizajn softvera i i koje metodologije primenjuju.
N​akon ovog brzog objašnjenja šta je softver, kako se deli, šta je dizajn softvera i koje

10
su njegove ​karakteristike, nadam se da smo naučili dublje razmišljati o soffveru kojeg svaki
dan koristimo, ​ ​o dizajniranju softvera, imamo li potpunu kontrolu nad njime i obrnuto.
Dizajn je proces primene raznih tehnika i principa u cilju definisanja nekog uredjaja,
procesa, ili sistema, u dovoljno detalja da omogući njegovu fizičku realizaciju’.
Zaključuje se da je softverski dizajn najkreativniji deo u procesu razvoja softvera.
Nekoliko pravila mogu biti napisana da rukovode dizajnom. Kod odredjivanja zahteva za
softver imamo tipično pitanje ‘šta’, dok kod dizajna je tipično pitanje ‘kako’. Rezultat faze
dizajna je dokument koji sadrži dovoljno detalja da omogući implementaciju, bez
komunikacije sa dizajnerom ili korisnikom. Proces dizajna konvertuje terminologiju iz
problemskog domena kod definisanja zahteva, u prostor rešenja/implemenacije.

LITERATURA

1. Agarwal B.B., Tayal S.P., Software Engineering, 3rd Ed, Lolxmi, 2016. 2. D. Bojić,
Testiranje softvera, Skripta, Elektrotehnički fakultet Beograd, 2010. 3. Dragica Radosav,
Softversko inžinjetstvo, Tehnički fakultet, Mihajlo Pupin, Zrenjanin, 2005
4. K. Bošnjak, R. Dejanović, DZ. Medić, Informacioni sistem Univerziteta u Banjaluci,
Praksa br. 4 Beograd. 1982, str. 133-135.
5. L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, Addison

11
Wesley, 1998.
6. L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, second ed.,
Addison-Wesley, 1998.
7. Mišković V., Projektovanje informacionih sistema (predavanja), Univezitet
Singidunum, 2020.
8. Prof. dr Dragan, Milan Banić, Predavanje Softver i softversko inžinjerstvo, Mašinski
fakultet, Univerzitet u Nišu, 2015.
9. R. Dejanović, Lj. Preradović, Informacione tehnologije-2 izdanje, Grafid- Banjaluka,
2005 godina.
10. R. Dejanović, Lj. Preradović, Softverski inžinjering, Elektrotehnički fakultet,
Banjaluka, 2007.
11. S. Marić, R. Dejanović, K. Bošnjak, Razvoj kompleksnih informacionih sistema.,
Automatizacija informacionih sistema u državnim organima Republike Srpske,
Banjaluka, 1993.

12. S.L. Pfleeder, J.M. Atlee, Softversko inžinjerstvo, teorija i praksa, Beograd, 2006. ​13.
S. Minić, Osnovi informatike i računarstva, Učiteljski fakultet, Univerzitet u Kosovskoj
Mitrovici, Leposavić, 2005.
14.​Informacione tehnologije je savremeni izraz koji označava kombinaciju računarskih i
telekomunikacionih tehnologija koje se upotrebljavaju u prikupljanju, obradi,
skladištenju, razmeni i izdavanju informacija.
15. ​https://en.wikipedia.org/wiki/History_of_software
16. ​http:/pcpress.rs/10-popularnih-programskih-jezika/
17. ​https://bs.wikipedia.org/wiki/Aplikativni_softver
18.
https://sr.wikipedia.org/wiki/%D0%A1%D0%BE%D1%84%D1%82%D0%B2%D0%
B5%D1%8

REFERENCE

1. Informacione tehnologije je savremeni izraz koji označava kombinaciju računarskih i


telekomunikacionih tehnologija koje se upotrebljavaju u prikupljanju, obradi,
skladištenju, razmeni i izdavanju informacija.
2. ​https://en.wikipedia.org/wiki/History_of_software
3. ​http:/pcpress.rs/10-popularnih-programskih-jezika/

12
4. ​https://bs.wikipedia.org/wiki/Aplikativni_softver
5. ​https://sr.wikipedia.org/wiki/%D0%A1%D0%BE%D1%84%D1%82%D0%B2%D0%
B5%D1%8

13

You might also like