informatika slajd

Preview:

DESCRIPTION

aaaaaaaaaaaaaaaaaaaaaaaaaaaa

Citation preview

1

Računarski softver

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

3

Mjesto i uloga sistemskog i aplikativnog softvera

HARDVER

SISTEMSKI SOFTVER

APLIKATIVNI SOFTVER

KORISNIK

4

Sistemski softver

Programiza

upravljanje sistemom

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.

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

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

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

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

10

Upravljanje resursima

• Upravljanje hardverskim komponentama :

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

• Realizacija koncepta virtuelne memorije

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

12

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 na disku i karakteristikama dataoteka

14

Upravljanje datotekama

• Kreiranje, brisanje i pristup datotekama

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

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

16

Uslužne funkcije

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

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)

18

OS mikroračunara

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.

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

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

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.

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)

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

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

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

27

Sistemski softver

Programiza razvoj sistema

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

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

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

31

1010 11001

Operacioni kod

Sabiranje

Učitavanje

Prenošenje

Štampanje

Operand

Lokacija tj. adresa podatka u memoriji

Instrukcija mašinskog jezika

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

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

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

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

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

37

Algoritamska šema

• Grafički zapis algoritma

P

K

X,Y

Z X+Y

Z

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

39

Strukturirano programiranje

FOR I=1 TO N DO

WHILE uslov DO

GO TO

uslov

40

Strukture podataka

struct ime_studenta

{

char ime[20];

char prezime[30];

};

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.

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

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”)

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

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

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

47

Vizuelno kreiranje forme za unos podataka

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

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>

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>

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

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

53

INPUT X,Y.

...

PRINT Z

...

Izvorni kod

Viši programski jezik

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

10111...

Objektni kod

Mašinski jezik

PROGRAM PREVODIOC

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

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.

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

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

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 ?

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?

Recommended