Dokument

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

Generalne stra

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

1
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..........................................................................................................................................

2
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 omogućavaju
rešavanje problema u donošenju odluka upravi i korisnicima.1

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

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.

3
društveni cilj jeste pružanje korisnih informacija korisnicima koji imaju nameru da se bave
dizajnom sofrvera.

SOFTVER-POJAM I PODELA Računarski sistem se sastoji od dve osnovne


komponente koje se zovu hardver i softver. Ove pomenute 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 (software) 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 prateće dokumentacije. U kompjuterskm
naukama, biblioteka je kolekcija stalnih (nepromenljivih) 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
time više teorijski.2 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 i drugi.
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 usavršavanje
starih.3 Moguć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, softverski inžinjeri ili
razvijači softvera – različiti termini za približno značenje. 5 Generalno gledano, mogu se
izdvojiti dve 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

2 https://en.wikipedia.org/wiki/History_of_software
3 http:/pcpress.rs/10-popularnih-programskih-jezika/
4 https://bs.wikipedia.org/wiki/Aplikativni_softver

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

4
namene i softver masovne distribucije. Softver za specifične namene može da razvije osoblje
kompanije, ili s druge strane, kompanija može sama da iznajmi nekog spolja ko će razviti takav
softver. S druge strane, softver masovne distribucije namenjen je za široku upotrebu.

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

5
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.

Oblast softverskog dizajna se posebno oslanja na zahteve softvera, 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 sledeći:

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

6
i sprezanje, dekompozicija i modularizacija, skrivanje podataka, zatim 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 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. Od


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

7
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 ne bavi 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

8
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:

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 Analysis, neformalna ili poluformalna statična (non-executable) analiza koja


može biti korišćena za evaluaciju dizajna;

3. Simulacija i prototip, dinamička tehnika za evaluaciju dizajna (npr. simulacija


performansi ili prototip izvodljivosti).

9
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: struktura dizajna, dobijena najčešće


kroz funkcionalnu dekompoziciju, generalno predstavljena kao strukturni graf (nekada
nazivan hijerarhijski dijagram) na kome 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

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:

10
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 (Structured) 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.

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

11
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
bi 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.

Nakon ovog brzog objašnjenja šta je softver, kako se deli, šta je dizajn softvera i koje 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.

12
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-
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.

13
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/
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

14

You might also like