View
68
Download
4
Category
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
•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