Raunarski softver 1 Kompjuterski softver Aplikativni softver Programi

  • Slides: 59
Download presentation
Računarski softver 1

Računarski softver 1

Kompjuterski softver Aplikativni softver Programi opšte namjene • Web Browsers • E-Mail • Tekst

Kompjuterski softver Aplikativni softver Programi opšte namjene • Web Browsers • E-Mail • Tekst procesori • Spreadsheet programi • Programi za prezentacije • Groupware Programi specifične namjene • Poslovni IS (Računovodstvene aplikacije, procesiranje transakcija, prodaja, planiranje, E-Commerc…) • Nauka i inžinjerstvo, • Obrazovanje Sistemski softver Programi za upravljanje sistemom • Operativni sistemi • Mrežni softver • DBMS • Server aplikacija • Uslužni sistemski programi • Programi za praćenje performansi i zaštite Programi za razvoj sistema • Prevodioci programskih jezika • Programski editori i alati • CASE alati 2

Mjesto i uloga sistemskog i aplikativnog softvera KORISNIK APLIKATIVNI SOFTVER SISTEMSKI SOFTVER HARDVER 3

Mjesto i uloga sistemskog i aplikativnog softvera KORISNIK APLIKATIVNI SOFTVER SISTEMSKI SOFTVER HARDVER 3

Sistemski softver Programi za upravljanje sistemom 4

Sistemski softver Programi za upravljanje sistemom 4

Operativni sistemi • Skup programa koji omogućavaju funkcionisanje računara tj. efikasno korišćenje njegovih resursa

Operativni sistemi • Skup programa koji omogućavaju funkcionisanje računara tj. efikasno korišćenje njegovih resursa za izvršavanje korisničkih aplikacija • Uravlja operacijama CPU , ulazno/izlaznim operacijama, dodjeljivanjem memorije, izvršavanjem programa i datotekama, omogućava pristupanje mreži, štampanje, ekranske prikaze itd… • Nalazi se na disku a kada se sistem pokrene prebacuje se tj. učitava u OM. 5

Pet osnovnih funkcija OS Korisnički interfejs Krajnji korisnik/ sistemske i mrežne komunikacije Upravljanje resursima

Pet osnovnih funkcija OS Korisnički interfejs Krajnji korisnik/ sistemske i mrežne komunikacije Upravljanje resursima Upravljanje zadatkom Upravljanje datotekama Uslužne i druge funkcije Upravljanje i upotreba hardverskih resursa Upravljanje izvršavanjem zadatka Upravljanje podacima i programskim datotekama Obezbjeđivanje različitih servisa podrške 6

Korisnički interfejs (UI) • Omogućava komunikaciju korisnika sa OSom : • pokretanje programa •

Korisnički interfejs (UI) • Omogućava komunikaciju korisnika sa OSom : • pokretanje programa • pristup fajlovima (datotekama) • Tipovi UI-a: komandni, pomoću menija i GUI print ugovor. doc dir poslovanje 7

Korisnički interfejs (UI) • Omogućava komunikaciju korisnika sa OSom : • pokretanje programa •

Korisnički interfejs (UI) • Omogućava komunikaciju korisnika sa OSom : • pokretanje programa • pristup fajlovima (datotekama) • Tipovi UI-a: komandni, pomoću menija i GUI print ugovor. doc dir poslovanje 8

Korisnički interfejs (UI) • Omogućava komunikaciju korisnika sa OSom : • pokretanje programa •

Korisnički interfejs (UI) • Omogućava komunikaciju korisnika sa OSom : • pokretanje programa • pristup fajlovima (datotekama) • Tipovi UI-a: komandni, pomoću menija i GUI print ugovor. doc dir poslovanje 9

Upravljanje resursima • Upravljanje hardverskim komponentama : (CPU, memorija, sekundarna memorija, ulazno/izlazne periferije, telekomunikacioni

Upravljanje resursima • Upravljanje hardverskim komponentama : (CPU, memorija, sekundarna memorija, ulazno/izlazne periferije, telekomunikacioni procesori) • Realizacija koncepta virtuelne memorije 10

Podjela OM na particije Virtuelna memorija Apsolutna adresa 001110. . . Program za ažuriranje

Podjela OM na particije Virtuelna memorija Apsolutna adresa 001110. . . Program za ažuriranje zaliha Particije Program za štampanje faktura Program finansijskog knjigovodstva Program za ažuriranje zaliha Relativna adresa 0110. . . Operativna memorija i sistemski softver Aplikativni i ostali softver Ostatak memorije 11

Upravljanje datotekama • Kreiranje, brisanje i pristup datotekama • Održavanje informacija o fizičkoj lokaciji

Upravljanje datotekama • Kreiranje, brisanje i pristup datotekama • Održavanje informacija o fizičkoj lokaciji na disku i karakteristikama dataoteka 12

Upravljanje datotekama • Kreiranje, brisanje i pristup datotekama • Održavanje informacija o fizičkoj lokaciji

Upravljanje datotekama • Kreiranje, brisanje i pristup datotekama • Održavanje informacija o fizičkoj lokaciji na disku i karakteristikama dataoteka 13

Upravljanje datotekama • Kreiranje, brisanje i pristup datotekama • Održavanje informacija o fizičkoj lokaciji

Upravljanje datotekama • Kreiranje, brisanje i pristup datotekama • Održavanje informacija o fizičkoj lokaciji na disku i karakteristikama dataoteka 14

Upravljanje zadatkom • Dodjeljivanje procesora programskim zadacima i prekidanje operacija CPU • Multitasking -

Upravljanje zadatkom • Dodjeljivanje procesora programskim zadacima i prekidanje operacija CPU • Multitasking - korisnik može istovremeno obavljati dvije ili više operacija sa jednim programom ( kucati tekst nekog dokumenta dok se neki drugi štampa) • Multiprogramiranje - raditi sa više aplikacija (programa) (na primjer kucati tekst i pretraživati Web). • Timesharing -istovremeno izvršavanje programa od više različitih korisnika • Multiprocesiranje - izvršavanje programa na više procesora 15

Uslužne funkcije • Sortiranje i spajanje datoteka, kopiranje datoteka, formatiranje, podrška procesorskih programa (punjenje

Uslužne funkcije • Sortiranje i spajanje datoteka, kopiranje datoteka, formatiranje, podrška procesorskih programa (punjenje programa, povezivanje relativnih i apsolutnih adresa itd…) 16

OS mikroračunara • MS DOS (Disk Operating System) (80 -tih godina), komandni UI •

OS mikroračunara • MS DOS (Disk Operating System) (80 -tih godina), komandni UI • Windows (90 -tih), GUI • Windows 95, GUI, multitasking, multiprogramiranje • Windows NT, 98, 2000, XP • podržavaju multitasking, multiprogramiranje, timesharing (mrežni- višekorisnički) • podržavaju multimediju (tekst, grafika, zvuk, 17 animacija)

OS mikroračunara 18

OS mikroračunara 18

OS velikih računara Višekorisnički (multiuser), multitasking i multiprograming sistemi UNIX, LINUX, … • UNIX

OS velikih računara Višekorisnički (multiuser), multitasking i multiprograming sistemi UNIX, LINUX, … • UNIX je najčešći izbor za Web servere • Linux je jeftinija verzija UNIX operativnog sistema koja se i danas može nabaviti besplatno ili po veoma niskoj cijeni preko Interneta. 19

Programi za upravljanje mrežom • kontrolišu input/output aktivnosti radnih stanica i terminala • dodjeljuju

Programi za upravljanje mrežom • kontrolišu input/output aktivnosti radnih stanica i terminala • dodjeljuju prioritete njihovim komunikacionim zahtjevima • otkrivaju i eliminišu grešake prilikom transmisije • nalaze se na mrežnim serverima ali i na drugim kompjuterima i uređajima u mreži 20

 • mrežni operativni sistemi (Novell Net. Ware za komplekse međusobno povezanih LAN mreža)

• mrežni operativni sistemi (Novell Net. Ware za komplekse međusobno povezanih LAN mreža) • telekomunikacioni monitori - CICS (Customer Identification and Control System) za WAN mreže • monitori mrežnih performansi 21

Sistemi za upravljanje bazama podataka • DBMS (Data Base Management System) • Aktivnosti DBMS-a

Sistemi za upravljanje bazama podataka • DBMS (Data Base Management System) • Aktivnosti DBMS-a : realizacija, održavanje i korišćenje baze podataka • Projektanti i aplikativni programi su oslobođeni metoda za kreiranje, unošenje, izmjene i pretraživanje podataka • Poznati DBMS paketi su Oracle 9 i, IBM-ov DB 2 kao i MS Access, Lotus Approach i Corel Paradox za mikrokompjutere. 22

Jezici DBMS-a • Programski jezici za kreiranje aplikacionih programa ( 4 GL jezici) •

Jezici DBMS-a • Programski jezici za kreiranje aplikacionih programa ( 4 GL jezici) • DDL (Data Definition Language) jezik za definisanje podataka tj. njihove logičke (konceptualne) strukture • DML (Data Manipulation Language) jezik za manipulisanje podacima (pretraživanje, unošenje, brisanje i izmjene)- upitni jezici (SQL) 23

24

24

Uslužni programi • Uslužni programi samostalno ili kao dio operativnog sistema omogućavaju različite upravljačke

Uslužni programi • Uslužni programi samostalno ili kao dio operativnog sistema omogućavaju različite upravljačke i fajl-konverzione funkcije: backup i recovery podataka, • zaštita od virusa, • kompresija, kopiranje, sortiranje, spajanje i defragmentaciju fajlova 25

Programi za praćenje performansi i zaštite • Prate performanse i stepen iskorištenosti računarskog sistema

Programi za praćenje performansi i zaštite • Prate performanse i stepen iskorištenosti računarskog sistema tj. obezbjeđuju optimalnu efikasnost sistema • Prate i zapisuju neautorizovane pristupe računarskom sistemu i o tome porukom obavještavaju korisnika 26

Sistemski softver Programi za razvoj sistema 27

Sistemski softver Programi za razvoj sistema 27

Programski jezici • Jezik je sistem znakova koji služi kao sredstvo za komunikaciju između

Programski jezici • Jezik je sistem znakova koji služi kao sredstvo za komunikaciju između učesnika u komunikacionom procesu • čovjek (prirodni jezik)-računar (jezik od dva znaka 0 i 1) • Kako ostvariti komunikaciju ? • Pomoću programskih jezika koji se sastoje od skupa unaprijed utvrđenih instrukcija ili komandi 28

Generacije programskih jezika 1. Mašinski jezici 2. Asemblerski jezici 3. Viši programski jezici 4.

Generacije programskih jezika 1. Mašinski jezici 2. Asemblerski jezici 3. Viši programski jezici 4. Jezici četvrte generacije 4 GL 5. Objektno orijentisani jezici 6. HTML, XML i Java Web orijentisani jezici 29

Prva generacija- mašinski jezici • Jezik najnižeg nivoa blizak računaru • Zavisi od strukture

Prva generacija- mašinski jezici • Jezik najnižeg nivoa blizak računaru • Zavisi od strukture i karakteristika konkretnog hardvera - mašinski zavisan • Instrukcije se kodiraju binarnim riječima (kombinacije 0 i 1) • Programi su teški za pisanje, glomazni, monolitni i nepregledni • Prednost, izuzetno brzo se izvršavaju 30

Instrukcija mašinskog jezika 1010 11001 Operacioni kod Operand Sabiranje Lokacija tj. adresa podatka u

Instrukcija mašinskog jezika 1010 11001 Operacioni kod Operand Sabiranje Lokacija tj. adresa podatka u memoriji Učitavanje Prenošenje Štampanje 31

Kako izgledaju instrukcije prirodnim jezikom? — » Dodaj sadržaj polja podatka sa lokacije 2500

Kako izgledaju instrukcije prirodnim jezikom? — » Dodaj sadržaj polja podatka sa lokacije 2500 sadržaju polja podatka na lokaciji 3250. « — » Uporedi sadržaj polja podatka sa lokacije 3000 sa sadržajem polja podatka na lokaciji 8085. « — » Prenesi saidržaj polja podatika sa lokacije 5200 na lokaciju 7500. » — » Štampaj sadržaj sa lokacije 5500. " 32

Program na mašinskom jeziku 0010 0100 1011 0111 1000 1110 1100 1011 0101 1001

Program na mašinskom jeziku 0010 0100 1011 0111 1000 1110 1100 1011 0101 1001 0010 0001 0111 0010 0011 1101 0000 1001 0100 1001 1011 1110 0001 0011 0101 1001 0111 0010 0011 1101 0000 1001 1011 1111 1001 1101 1001 1110 0111 0010 0011 1101 0000 1001 0000 0111 0010 0011 1101 0011 1001 1100 33

Druga generacija- asemblerski jezici • Mnemonički jezik, koriste simboličke oznake za mašinske instrukcije •

Druga generacija- asemblerski jezici • Mnemonički jezik, koriste simboličke oznake za mašinske instrukcije • Zasnivaju se na algoritmima kao jezici III generacije • Pregledniji su i lakši za programiranje • Neophodno je prevođenje instrukcija na mašinski jezik pa se sporije izvršavaju ADD X 34

Treća generacija-viši programski jezici • Sintaksa zasnovana na Engleskom jeziku • Lakši su za

Treća generacija-viši programski jezici • Sintaksa zasnovana na Engleskom jeziku • Lakši su za programiranje • Problemski orjentisani (na određenu klasu problema) • Kompatibilni su tj. nezavisni od mašine • Obavezno se prevode što donekle usporava rad • Algoritamski, proceduralni, strukturirani, modularni, strukture podataka 35

Algoritam • Skup jednostavnih pravila (ulaza, izlaza, obrade i uslova) formulisanih u cilju rješavanja

Algoritam • Skup jednostavnih pravila (ulaza, izlaza, obrade i uslova) formulisanih u cilju rješavanja nekog zadatka 1. Ulazne veličine su X i Y 2. Saberi X i Y i prenesi dobijenu vrijednost u Z 3. Izlazna veličina je Z 36

Algoritamska šema • Grafički zapis algoritma P X, Y Z X+Y Z K 37

Algoritamska šema • Grafički zapis algoritma P X, Y Z X+Y Z K 37

Procedure - potprogrami i moduli Procedura -potprogram Program … pov_kvadrata ( X ). .

Procedure - potprogrami i moduli Procedura -potprogram Program … pov_kvadrata ( X ). . . POV_KOCKE = 6* pov_kvadrata (a) P= X*X RETURN P. . . … Modul 2 Modul 1 38

Strukturirano programiranje uslov FOR I=1 TO N DO WHILE uslov DO GO TO 39

Strukturirano programiranje uslov FOR I=1 TO N DO WHILE uslov DO GO TO 39

Strukture podataka struct ime_studenta { char ime[20]; char prezime[30]; }; 40

Strukture podataka struct ime_studenta { char ime[20]; char prezime[30]; }; 40

41

41

Jezici četvrte generacije - 4 GL • Uglavnom se odnose na razvoj aplikacija za

Jezici četvrte generacije - 4 GL • Uglavnom se odnose na razvoj aplikacija za baze podataka • Neproceduralni, deklarativni i konverzacioni jezici, programer i korisnik specificira rezultate koje želi da dobije (npr upitnim jeziokom SQL) ali ne i kako se dobijaju 42

Jezici četvrte generacije - 4 GL SELECT IME, PREZIME, BR_IND FROM studenti WHERE BR_IND=ANY

Jezici četvrte generacije - 4 GL SELECT IME, PREZIME, BR_IND FROM studenti WHERE BR_IND=ANY (SELECT BR_IND FROM prijave WHERE OCJENA>5 AND DATUM=”januar 04”) 43

Jezici četvrte generacije - 4 GL • Nemaju efikasnost i fleksibilnost jezika treće generacije

Jezici četvrte generacije - 4 GL • Nemaju efikasnost i fleksibilnost jezika treće generacije ali su jednostavni za upotrebu • Kompromis kombinovanjem : pretraživanje podataka korišćenjem SQL-a a upravljanje programom putem proceduralnih jezika (C, PL/1, …) 44

45

45

Objektni jezici • Objekat se sastoji od podataka i operacija koje mogu biti izvršene

Objektni jezici • Objekat se sastoji od podataka i operacija koje mogu biti izvršene nad podacima. (primjer štedni račun i obračun interesa) • Kod objektnih jezika objekti aktiviraju druge objekte da izvršavaju operacije nad sobom (primjer otvaranje prozora) • Mogućnost višestrukog korištenja jednom definisanog objekta je glavna prednost objektnog programiranja. • Većina objektno orijentisanih paketa za programiranje obezbjeđuje GUI tj. point and click i drag and drop vizuelno sastavljanje objekata ili tzv. vizuelno programsko okruženje (Visual Basic, Visual C++ i 46 drugi).

Vizuelno kreiranje forme za unos podataka 47

Vizuelno kreiranje forme za unos podataka 47

Web orijentisani jezici • HTML (Hypertext Markup Language) je jezik za kreiranje hypertext i

Web orijentisani jezici • HTML (Hypertext Markup Language) je jezik za kreiranje hypertext i hypermedia dokumenata. • XML (e. Xtensibile Markup Language) nije jezik za formatiranje Web strana već on opisuje njihov sadržaj primjenom identifikacionih tagova ili kontekstualnih labela za podatke na Web strani. (primjer označavanje proizvoda na zalihama na Web strani, sa tagovima vrsta, cijena, veličina ubrzava pretragu) • XML omogućava jednostavniji i efektivniji e- commerce, podržavajući i unapređujući elektronsku razmjenu poslovnih podataka između kompanija i njihovih klijenata 48

Primjer HTML dokumenta <!DOCTYPE HTML PUBLIC "-//W 3 C//DTD HTML 4. 01//EN" "http: //www.

Primjer HTML dokumenta <!DOCTYPE HTML PUBLIC "-//W 3 C//DTD HTML 4. 01//EN" "http: //www. w 3. org/TR/html 4/strict. dtd"> <HTML> <HEAD> <TITLE>A study of population dynamics</TITLE> <STYLE type="text/css"> BODY { background: white; color: black} A: link { color: red } A: visited { color: maroon } A: active { color: fuchsia } </STYLE> </HEAD> <BODY>. . . document body. . . </BODY> </HTML> 49

Primjer XML dokumenta <? xml version="1. 0" encoding="ISO-8859 -1" ? > - <!- Edited

Primjer XML dokumenta <? xml version="1. 0" encoding="ISO-8859 -1" ? > - <!- Edited by XMLSpy® --> - <CATALOG> - <PLANT> <COMMON>Bloodroot</COMMON> <BOTANICAL>Sanguinaria canadensis</BOTANICAL> <ZONE>4</ZONE> <LIGHT>Mostly Shady</LIGHT> <PRICE>$2. 44</PRICE> <AVAILABILITY>031599</AVAILABILITY> </PLANT> - <PLANT> <COMMON>Columbine</COMMON> <BOTANICAL>Aquilegia canadensis</BOTANICAL> <ZONE>3</ZONE> <LIGHT>Mostly Shady</LIGHT> <PRICE>$9. 37</PRICE> <AVAILABILITY>030699</AVAILABILITY> </PLANT> 50

Web orijentisani jezici • Java je objektni jezik sličan C++ , ali je mnogo

Web orijentisani jezici • Java je objektni jezik sličan C++ , ali je mnogo jednostavniji, sigurniji i mašinski nezavisniji od njega • Java aplikacija se sastoji od malih aplikativnih programa tzv. apleta koji mogu biti izvršeni na bilo kompjuteru ili operativnom sistemu u mreži. • Apleti su rezidentni na websajtovima na serveru sve dok ne budu zatraženi od strane klijenta, kada se jednostavno distribuiraju preko Interneta ili intranet i extranet mreže. • Apleti su potpuno nezavisni od platforme. Mogu se ravnopravno izvršavati pod Windows, UNIX ili nekim drugim sistemom bez ikakvih modifikacija. • Glavni nedostatak je mala brzina izvršavanja 51

Program prevodioci • Računarski programi se pišu višim programskim jezicima koji su razumljivi za

Program prevodioci • Računarski programi se pišu višim programskim jezicima koji su razumljivi za čovjeka • U računar se unose preko editora u takvom izvornom kodu • Računar prepoznaje i izvršava programe pisane mašinskim jezikom • Kada se program prevede na mašinski jezik on dobija formu objektnog koda • Prevođenje izvornog koda u objektni 52 obavljaju program prevodioci

Viši programski jezik Mašinski jezik INPUT X, Y. . PRINT Z PROGRAM PREVODIOC 1100111

Viši programski jezik Mašinski jezik INPUT X, Y. . PRINT Z PROGRAM PREVODIOC 1100111 …. 1…. . 0010 01…. . 111 … . . . 10111. . . Izvorni kod Objektni kod 53

Asembleri i kompajleri • Prevode cjelokupan izvorni kod programa u objektni. • Nezavisani su

Asembleri i kompajleri • Prevode cjelokupan izvorni kod programa u objektni. • Nezavisani su od mašine • Program se prevodi samo jednom • Svaki put kada se program aktivira izvršava se direktno objektni kod koji rezistira u memoriji 54

Interpreter • Sukcesivno prevođenje, instrukciju po instrukciju. • Instrukcija izvornog koda se prevede u

Interpreter • Sukcesivno prevođenje, instrukciju po instrukciju. • Instrukcija izvornog koda se prevede u objektni, zatim se izvrši, odbaci, preuzima sljedeća itd… • Prilikom svakog aktiviranja programa vrši se ponovno prevođenje jer se u memoriji čuva samo izvorni kod sa interpreterom • Spor je i pogodan za manje programe koji se ne koriste često • Java je primjer jezika koji se prevodi interpreterom. 55

Programski editori i alati Omogućavaju i podržavaju proces programiranja koji podrazumijeva : • pisanje

Programski editori i alati Omogućavaju i podržavaju proces programiranja koji podrazumijeva : • pisanje izvornog koda programa • debug-ovanje tj. ispravljanje grešaka u izvornom kodu • prevođenje u objektni kod Razlikuju se u zavisnosti od programskog jezika: BASIC editor i interpreter, C editor i kompajler, itd. . . 56

CASE alati • Napredak hardverske tehnologije i zastoj razvoja softvera - softverska kriza •

CASE alati • Napredak hardverske tehnologije i zastoj razvoja softvera - softverska kriza • CASE (Computer Aided Software Engineering) - kompjuterom podržana proizvodnja softvera tj. automatsko projektovanje, izrada, uvođenje, eksploatacija i održavanje softvera • Pojeftinjuju i ubrzavaju proizvodnju softvera, softver čine pouzdanijim i efikasnijim 57

58

58

59

59