59
1 Računarski softver

informatika slajd

Embed Size (px)

DESCRIPTION

aaaaaaaaaaaaaaaaaaaaaaaaaaaa

Citation preview

Page 1: informatika slajd

1

Računarski softver

Page 2: informatika slajd

2

Kompjuterski softver

Aplikativni softver

Sistemski softver

Programiopšte

namjene

Programispecifične namjene

Programiza upravljanje

sistemom

Programiza razvoj sistema

•Web Browsers

•E-Mail

•Tekst procesori

•Spreadsheet programi

•Programi za prezentacije

•Groupware

•Poslovni IS (Računovodstvene aplikacije, procesiranje transakcija, prodaja, planiranje, E-Commerc…)

•Nauka i inžinjerstvo,

•Obrazovanje

•Operativni sistemi

•Mrežni softver

•DBMS

•Server aplikacija

•Uslužni sistemski programi

•Programi za praćenje performansi i zaštite

•Prevodioci programskih jezika

•Programski editori i alati

•CASE alati

Page 3: informatika slajd

3

Mjesto i uloga sistemskog i aplikativnog softvera

HARDVER

SISTEMSKI SOFTVER

APLIKATIVNI SOFTVER

KORISNIK

Page 4: informatika slajd

4

Sistemski softver

Programiza

upravljanje sistemom

Page 5: informatika slajd

5

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.

Page 6: informatika slajd

6

Pet osnovnih funkcija OS

Korisnički interfejs

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

Krajnji korisnik/ sistemske i mrežne komunikacije

Page 7: informatika slajd

7

Korisnički interfejs (UI)

• Omogućava komunikaciju korisnika sa OS-om :

• pokretanje programa• pristup fajlovima (datotekama)• Tipovi UI-a: komandni, pomoću menija i GUI

print ugovor.doc

dir poslovanje

Page 8: informatika slajd

8

Korisnički interfejs (UI)

• Omogućava komunikaciju korisnika sa OS-om :

• pokretanje programa• pristup fajlovima (datotekama)• Tipovi UI-a: komandni, pomoću menija i GUI

print ugovor.doc

dir poslovanje

Page 9: informatika slajd

9

Korisnički interfejs (UI)

• Omogućava komunikaciju korisnika sa OS-om :

• pokretanje programa• pristup fajlovima (datotekama)• Tipovi UI-a: komandni, pomoću menija i GUI

print ugovor.doc

dir poslovanje

Page 10: informatika slajd

10

Upravljanje resursima

• Upravljanje hardverskim komponentama :

(CPU, memorija, sekundarna memorija, ulazno/izlazne periferije, telekomunikacioni procesori)

• Realizacija koncepta virtuelne memorije

Page 11: informatika slajd

11

Podjela OM na particije - Virtuelna memorija

Program za ažuriranje zaliha

Program za štampanje faktura

Program finansijskog knjigovodstva

Ostatak memorije

Operativna memorija i sistemski softver

Particije

Aplikativni iAplikativni iostali softverostali softver

Program za ažuriranje

zaliha

...0110..

Relativna adresa001110...

Apsolutna adresa

Page 12: informatika slajd

12

Upravljanje datotekama

• Kreiranje, brisanje i pristup datotekama

• Održavanje informacija o fizičkoj lokaciji na disku i karakteristikama dataoteka

Page 13: informatika slajd

13

Upravljanje datotekama

• Kreiranje, brisanje i pristup datotekama

• Održavanje informacija o fizičkoj lokaciji na disku i karakteristikama dataoteka

Page 14: informatika slajd

14

Upravljanje datotekama

• Kreiranje, brisanje i pristup datotekama

• Održavanje informacija o fizičkoj lokaciji na disku i karakteristikama dataoteka

Page 15: informatika slajd

15

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

Page 16: informatika slajd

16

Uslužne funkcije

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

Page 17: informatika slajd

17

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, animacija)

Page 18: informatika slajd

18

OS mikroračunara

Page 19: informatika slajd

19

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.

Page 20: informatika slajd

20

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

Page 21: informatika slajd

21

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

• telekomunikacioni monitori - CICS (Customer Identification and Control System) za WAN mreže

• monitori mrežnih performansi

Page 22: informatika slajd

22

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 9i, IBM-ov DB2 kao i

MS Access, Lotus Approach i Corel Paradox za mikrokompjutere.

Page 23: informatika slajd

23

Jezici DBMS-a

• Programski jezici za kreiranje aplikacionih programa ( 4GL 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)

Page 24: informatika slajd

24

Bazapodataka

DBMS

nastavnik

izd rz_ li ca sale

predmet

BR_MJ ESTA

KNJ I GA

KRE DITI

NAZI VSI FRA_PRAD RESA I ME_P

M LB

STATUS

cas

SATI _N ED

BR_ S ALE

grupa

preduslov

VRI JEM E

ST AROST

SROD STVO

IM E

Aplikativniprogram

Programskijezici (4GL)

DDL,DML

Konceptualnimodelpodataka

Projektanti iprogrameri

Korisnici

Page 25: informatika slajd

25

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

Page 26: informatika slajd

26

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

Page 27: informatika slajd

27

Sistemski softver

Programiza razvoj sistema

Page 28: informatika slajd

28

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

Page 29: informatika slajd

29

Generacije programskih jezika

1. Mašinski jezici

2. Asemblerski jezici

3. Viši programski jezici

4. Jezici četvrte generacije 4GL

5. Objektno orijentisani jezici

6. HTML, XML i Java Web orijentisani jezici

Page 30: informatika slajd

30

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

Page 31: informatika slajd

31

1010 11001

Operacioni kod

Sabiranje

Učitavanje

Prenošenje

Štampanje

Operand

Lokacija tj. adresa podatka u memoriji

Instrukcija mašinskog jezika

Page 32: informatika slajd

32

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

Page 33: informatika slajd

33

Program na mašinskom jeziku

0010 0100 1011 01111000 1110 1100 10110101 1001 0010 00010111 0010 0011 11010001 0000 1001 01001000 1001 1011 11100001 0011 0101 10010111 0010 0011 11010001 0000 1001 00001000 1001 1011 11111001 1101 1001 11100111 0010 0011 11010001 0000 1001 00000111 0010 0011 11010001 0011 1001 1100

Page 34: informatika slajd

34

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

Page 35: informatika slajd

35

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

Page 36: informatika slajd

36

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

Page 37: informatika slajd

37

Algoritamska šema

• Grafički zapis algoritma

P

K

X,Y

Z X+Y

Z

Page 38: informatika slajd

38

Procedure - potprogrami i moduli

POV_KOCKE = 6* pov_kvadrata (a)

pov_kvadrata ( X )

...

P= X*X

RETURN P

...

Program Procedura -potprogram

Modul 1

Modul 2

Page 39: informatika slajd

39

Strukturirano programiranje

FOR I=1 TO N DO

WHILE uslov DO

GO TO

uslov

Page 40: informatika slajd

40

Strukture podataka

struct ime_studenta

{

char ime[20];

char prezime[30];

};

Page 41: informatika slajd

41

Viši programski jeziciAda: Dobio je naziv po imenu Augusta Ada Byron koji se smatra prvimsvjetskim programerom. Razvijen od strane američke vlade kao standardviših programskih jezika koji treba da zamijeni COBOL i FORTRAN.BASIC: (Beginner’s all-Purpose Symbolic Instruction Code). Jednostavniproceduralni jezik za programiranje od strane korisnika.C: Strukturirani jezik srednjeg nivoa razvijen kao dio UNIX operativnogsistema. Sličan je mašinski zavisnom asemblerskom jeziku po efikasnostiali je mašinski nezavisan i ima sve mogućnosti viših programskih jezika.COBOL: (COmmon Business Oriented Language) Programski jezik čija sesintaksa zasniva na engleskom jeziku. Ima veoma široku primjenu uprogramiranju poslovnih aplikacijaFORTRAN: (FORmula TRANslation) Viši programski jezik dizajniran zanaučne i inženjerske primjene.PASCAL: Dobio je naziv po Blaise Pascal. Razvijen je specijalno da uključikoncepte strukturnog programiranja i struktura podataka.

Page 42: informatika slajd

42

Jezici četvrte generacije - 4GL

• 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

Page 43: informatika slajd

43

Jezici četvrte generacije - 4GL

SELECT IME, PREZIME, BR_INDFROM studentiWHERE BR_IND=ANY (SELECT BR_IND FROM prijave WHERE OCJENA>5 AND DATUM=”januar04”)

Page 44: informatika slajd

44

Jezici četvrte generacije - 4GL

• 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,…)

Page 45: informatika slajd

45

Četiri nivoa programskih jezika Mašinski jezikKoristi binarno kodiraneinstrukcije1010 110011011 110101100 11011

Viši programski jeziciKoriste kratke naredbe ili aritmetičkunotacijuBASIC : X=Y+Z

Asemblerski jezikKoristi simbolički kodiraneinstrukcijeLOD YADD ZSTR X

4GLKoriste prirodne i neproceduralnenaredbe

SUM THE FOLLOWING NUMBERS

Page 46: informatika slajd

46

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 drugi).

Page 47: informatika slajd

47

Vizuelno kreiranje forme za unos podataka

Page 48: informatika slajd

48

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

hypertext i hypermedia dokumenata.• XML (eXtensibile 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

Page 49: informatika slajd

49

Primjer HTML dokumenta<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/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>

Page 50: informatika slajd

50

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>

Page 51: informatika slajd

51

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 kom 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

Page 52: informatika slajd

52

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 obavljaju program prevodioci

Page 53: informatika slajd

53

INPUT X,Y.

...

PRINT Z

...

Izvorni kod

Viši programski jezik

1100111…. 1…..001001…..111…

10111...

Objektni kod

Mašinski jezik

PROGRAM PREVODIOC

Page 54: informatika slajd

54

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

Page 55: informatika slajd

55

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.

Page 56: informatika slajd

56

Programski editori i alatiOmoguć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...

Page 57: informatika slajd

57

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

Page 58: informatika slajd

58

1. Intranet jedne kompanije treba da ima 12 radnihstanica, Web srever i server baze podataka. Svakaradna stanica pomoću browser-a treba da koristiinteraktivne, real- time Web aplikacije koje seizvršavaju na Web serveru. Web server je povezansa dva štampača koje treba da koriste sve radnestanice zajedno. Da li je dovoljno da organizacijanabavi operativni sistem sa mogućnošćumultitasking-a? Zašto? A multiprogramiranja ?Zašto? Da li je organizaciji potreban OS samogućnošću time sharing-a ? Zašto? Kako se jošzovu OS koji imaju mogućnost time sharing-a? Učemu je razlika između multiprogramiranja imultiprocesiranja ?

Page 59: informatika slajd

59

2. Dio poslovnog informacionog sistema jedne firmetreba da real-time procesira oko 5000 transakcija usekundi. Imate ponude za realizaciju sistema pomoćuWeb orijentisanog jezika Java, objektnih jezika VisualC++ i Visual Basic, kao i 4GL jezika. Koju od ponudaćete izabrati? Zašto?