1_uvod (2)

Upload: vanja-pajovic

Post on 10-Oct-2015

60 views

Category:

Documents


1 download

DESCRIPTION

opp

TRANSCRIPT

  • *UVOD

    Dr Nenad JovanoviVP, 2012. godina* N. Jovanovi, 2010.

    N. Jovanovi, 2010.

  • *O predmetuNaziv: Objektno orijentisano programiranje i modelovanje Fond asova: 2+2Nastavnik: dr Nenad JovanoviKontakt: [email protected]

    ________________________ N. Jovanovi, 2010.*

    ________________________ N. Jovanovi, 2010.

  • *OpisObjektna tehnologija je moderan pristup u izradi softvera, koja koristi koncepte vieg nivoa apstrakcije nego to su oni u tradicionalnom. Objektna tehnologija nudi apstrakcije koje su blie nivou razmiljanja programera i realnom svetu, omoguava: lake modelovanje problema, bolju ponovnu upotrebu koda, bolju organizaciju softvera, veu fleksibilnost, lake odravanje iveu produktivnost u izradi softvera.*________________________ N. Jovanovi, 2010.

    ________________________ N. Jovanovi, 2010.

  • *Cilj... je da se student osposobi da realne probleme posmatra kao skup hijerarhijskih objekata koji meusobno interaguju, da stekne sposobnost da identifikuje te objekte i da uspostavi relacije izmeu njih.

    *________________________ N. Jovanovi, 2010.

    ________________________ N. Jovanovi, 2010.

  • *Preduslovi i zahteviPoznavanje rada sa raunarom i osnovnim alatkama za programiranjePoznavanje osnovnih principa proceduralnog programiranjaPraktian i kontinuirani rad________________________ N. Jovanovi, 2010.*

    ________________________ N. Jovanovi, 2010.

  • *LiteraturaN.Jovanovi, OOP, VP - Blace, 2012.B.Eckel, Misliti na Javi, Mikro knjigaK.Arnold, J.Gosling, Programski jezik Java, CET________________________ N. Jovanovi, 2010.

    ________________________ N. Jovanovi, 2010.

  • *Ocenjivanje*________________________ N. Jovanovi, 2010.Teorijski deoPraktian radPredispitne obaveze

    Predispitne obaveze1.Kolokvijum 1252.Kolokvijum 2253.Lab. vebe20UKUPNO70Ispit 30UKUPNO100

    ________________________ N. Jovanovi, 2010.

  • *UvodRaunarski programi se piu pomou programskih jezika. Programski jezici su u svom razvoju proli kroz nekoliko razvojnih faza: Jezici prve generacije su mainski jezici. Jezici druge generacije su simboliki jezici. Jezici tree generacije su vii programski jezici.U jezicima etvrte generacije kraim komandama zamenjene su brojne instrukcije.

    ________________________ N. Jovanovi, 2010.

  • *Programske paradigme Paradigmajeobrazac,modelpo kome se neto gradi ili stvara. U naunoj teoriji, paradigma je najoptiji model po kojem se grade pojedini principi.

    ________________________ N. Jovanovi, 2010.

  • *ModelModel je nain formalnog predstavljanja nekog sistema ili podsistema. Model moe biti matematiki i u tom sluaju on se posmatra kao skup osobina sistema kao to su njegove funkcionalne osobine ili fizike dimenzije. Model moe biti i konstruktivan i u tom sluaju on definie procedure koje oponaaju skup osobina datog sistema. Konstruktivni model se esto koristi za opisivanje ponaanja sistema kao odziva na spoljne stimulanse.

    ________________________ N. Jovanovi, 2010.

  • *Programske paradigmeStrukturirano programiranjeImperativno programiranjeDeklarativno programiranje

    ________________________ N. Jovanovi, 2010.

  • *Strukturirano programiranjePrva nauno i teoretski zasnovana paradigma programiranja naziva se strukturirano programiranje. Strukturirano programiranje predstavlja tehniku programiranja koja je ograniena striktnim pravilima. Strukturirano programiranje definie nain razvoja raunarskih programa u koracima preciziranja, pri emu se koristi konaan broj kontrolnih struktura koje su hijerarhijski ugnedene u strukturiranom programu. Strukturirani programi iskljuuju nekontrolisane bezuslovne skokove.

    ________________________ N. Jovanovi, 2010.

  • *Pravilan programDa bi program bio strukturiran on mora da bude pravilan. Pravilan program je program koji nema beskonane petlje i izolovane programske segmente i koji ima jednu ulaznu i jednu izlaznu liniju. Svaki logiki deo pravilnog programa takoe mora da zadovolji uslov da ima samo jednu ulaznu i jednu izlaznu liniju.

    ________________________ N. Jovanovi, 2010.

  • *Osnovne kontrolne strukturePo strukturiranoj teoremi svaki pravilan program moe se transformisati u formalno strukturirani program uz korienje tri osnovne kontrolne strukture:sekvence, selekcije i iteracije.

    ________________________ N. Jovanovi, 2010.

  • *CiljeviMinimizacija broja greaka tokom razvoja programa,Minimizacija rada potrebnog za razvoj softvera iMinimizacija trokova odravanja programa.

    ________________________ N. Jovanovi, 2010.

  • *Imperativno programiranjeje programska paradigmakoja opisuje programiranje kao izraze koji menjaju stanje programa. Imperativni programi se mogu posmatrati kao niz naredbi koje raunar treba da izvriti.Proceduralno programiranjeje esta metoda izvravanjaimperativnog programiranja, pa se ova dva termina esto koriste kao sinonimi.

    ________________________ N. Jovanovi, 2010.

  • *Deklarativno programiranjeje paradigma programiranja koja izraava logiku izraunavanja bez opisivanja svoje kontrole toka. Deklarativan program je program koji opisuje ta izraunavanje treba da izvri, a ne kako treba da se obavi. Mnogi jezici primenom ovog stila pokuavaju da smanje ili eliminiu neeljene efekte opisivanjem ta program treba da ostvari, a ne kako da se to ostvari. To je u suprotnosti sa imperativnim programiranjem koje zahteva izriito odreeni algoritam.

    ________________________ N. Jovanovi, 2010.

  • *Deklarativno programiranje ukljuujeLogiko programiranje iFunkcionalno programiranje.

    ________________________ N. Jovanovi, 2010.

  • *Logiko programiranjeLogiko programiranje je programska paradigma koja se zasniva namatematikoj logici. Glavni predstavnik jezika logikog programiranja je Prolog.

    ________________________ N. Jovanovi, 2010.

  • *Funkcionalno programiranjeFunkcionalno programiranje tretira program kao evaluaciju matematikih funkcija i izbegava stanja ipromenljivepodataka. Ono naglaava primenu funkcija, kao suprotnost stilu imperativnog programiranja koje naglaava promene stanja. Funkcionalni jezici su APL, Erlang, Haskell, Lisp ...

    ________________________ N. Jovanovi, 2010.

  • *Objektno orijentisano programiranjeObjektno orijentisano programiranje - OOP je nain da se konceptualizuje jedan raunarski program. Naime o programu moemo razmiljati kao o jednoj listi instrukcija, koje govore raunaru ta da radi, a moemo i razmiljati kao o velikom broju malih programa (objekata) koji reaguju na specifine dogaaje inicirane akcijama korisnika.

    ________________________ N. Jovanovi, 2010.

  • *Objektno orijentisano programiranjeObjektno orijentisani model omoguava orijentaciju programa na podatke (objekte). Program se posmatra kao jedan niz objekata koji zajedno funkcioniu na prethodno definisanim principima u cilju ostvarenja zadatka.

    ________________________ N. Jovanovi, 2010.

  • *PrednostiModel je razumljiviji, Lake je lokalizovati i otkloniti greke iLaka je faza eksploatacije programa.

    ________________________ N. Jovanovi, 2010.

  • *Elementi objektnog modelaApstrakcijaEnkapsulacijaNasleivanjePolimorfizam

    ________________________ N. Jovanovi, 2010.

  • *Java arhitektura Jezik Java je koncipirao tim (J.Gosling, P.Naughton, C.Warth, E.Frank, M.Sheridan) firme Sun Microsystems, Inc. 1991. godine, kao deo projekta koji se odnosio na programiranje kunih aparata. Prvobitno ime jezika bilo je Oak, razvoj prve radne verzije trajao je 18 meseci 1995 ime je promenjeno u Java.

    ________________________ N. Jovanovi, 2010.

  • *Motiv razvojaOsnovni motiv navedenog projekta bila je prenosivost programa sa jedne na drugu platformu, a jezici kao to su C i C++ nisu uspeli da obezbede platformsku nezavisnost. lanovi tima su se odluili da razviju potpuno nov programski jezik i tako je nastala Java kao jednostavan, brz, pouzdan, efikasan i platformski nezavisan programski jezik. Razvojem Interneta i njegovih servisa stvara se dodatni motiv za dalji razvoj Jave, pa se od 1993. godine fokus projekta premeta sa kune elektronike na web programiranje.

    ________________________ N. Jovanovi, 2010.

  • *Karakteristike Jave Objektna orijentisanost moderan OO jezik: klase, nasleivanje, polomorfizam, interfejsiJednostavnost C/C++ sintaksna slinost, ali harmoniniji i jednostavniji OO model Nezavisnost od platformePrenosivost postie se interpretacijom bajtkodaSigurnost JVM prua zatitu od virusa koji bi se prenosili kroz izvrni kod (firewall)Robusnost stroga provera tipova, proveravani izuzeci, automatsko sakupljanje ubretaUpravljanje memorijom je automatizovano (Garbage Collection)Korienje pointera je limitiranoEfiksanost JIT prevodiociKonkurentnost biblioteka podrka programiranju kroz vie programskih niti Distribuiranost biblioteka podrka za RMI i servleteKomponentizacija Java Beans i Enterprise Java Beans

    ________________________ N. Jovanovi, 2010.

  • *TehnologijeJava arhitektura obuhvata etiri tehnologije koje su zasebno razvijane od strane Sun Microsystems-a:Programski jezik Java Class format Java fajlovaJava API (Application Programming Interface)Java virtuelna maina

    ________________________ N. Jovanovi, 2010.

  • *Izvorni Java program

    Primer.javaJava kompajlerPrimer.classPrimer.classJava Virtuelna MainaJava API class datotekeJava bajtkod

    ________________________ N. Jovanovi, 2010.

  • *Osobine Java class datotekeProgram je mali,Sigurnost iNezavisnost od platforme na kojoj se izvrava.

    ________________________ N. Jovanovi, 2010.

  • *Java platformaKada programer pie program u Java programskom jeziku, on se obraa sistemskim resursima, pozivanjem metoda klasa koje ine Java API.Zajedno Java API i Java virtuelna maina ine Java platformu.

    ________________________ N. Jovanovi, 2010.

  • *Java program

    Java programJava program

    ________________________ N. Jovanovi, 2010.

  • *

    ________________________ N. Jovanovi, 2010.

  • *Java aplikacije ili Java apletiAplikacije su klasini programi koji se distribuiraju na konvencionalan nain, pokreu pod operativnim sistemom raunara (pod kojim je instalirana JVM).Apleti su (uglavnom mali) programi koji se distribuiraju preko Interneta, odnosno web-a, kao delovi HTML stranica i pokreu u okviru web itaa (browser).

    ________________________ N. Jovanovi, 2010.

  • *RazlikeJava apleti ne mogu da pristupaju datotekama i da piu ili itaju podatke iz njih.Java apleti ne mogu da pokreu druge programe na korisnikom sistemu.Java apleti mogu da komuniciraju samo sa serverom sa koga su uitani.

    ________________________ N. Jovanovi, 2010.

  • *Java platformeJ2SE - Standard Edition J2EE - Enterprise Edition J2ME - Micro Edition

    ________________________ N. Jovanovi, 2010.

  • *J2SEJava razvojno okruenje J2SE (Java 2 Standard Edition) obuhvata: JRE (Java Runtime Environment) i JDK (Java Development Kit)

    ________________________ N. Jovanovi, 2010.

  • *JDKjavac - Java Compilerrmic - RMI Compilerjava - Java Interpreter (JVM)appletviewer - Pokree aplete bez upotrebe browser-ajavadoc - Automatsko generisanje dokumentacije.

    ________________________ N. Jovanovi, 2010.

  • *Java2EE - Enterprise EditionFokusira se na reenja iz oblasti elektronskog poslovanja. Ovu verziju Jave ine sledee tehnologije:Java Servlets and Java Server Pages.Enterprise Java Beans. JDBC - Java Database ConnectivityJavaMail - za slanje i primanje elektronske pote.JAXP - za rad sa XML dokumentima.Java Message Service - za asihronu komunikaciju procesa.

    ________________________ N. Jovanovi, 2010.

  • *J2ME - Micro EditionObezbeuje fleksibilno i robusno okruenje za aplikacije koje rade na mobilnim ureajima. To je je platforma za razvoj aplikacija koje su namenjene za ureaje sa ogranienim hardverskim i memorijskim resursima. Takvi ureaji su na primer mobilni telefoni, PDA prenosni racunari, kuni aparati itd.

    ________________________ N. Jovanovi, 2010.

  • *Programski jezik JavaProgramski jezik Java ima sintaksu slinu jezicima C i C++, ali je: mnogo stroiji pri prevoenju, nezavisan je od platforme i ima pojednostavljen sistem upravljanja memorijom.

    ________________________ N. Jovanovi, 2010.

  • *Java rezervisane rei

    ________________________ N. Jovanovi, 2010.

  • PitanjaProgramski jezici?Mainski jezik raunara?Simboliki jezik raunara?Vii programski jezici?ta je paradigma, a ta model?Nabrojati programske paradigme?Strukturirano programiranje?Koje su osnovne kontrolne strukture?ta je imperativno programiranje?

    ________________________ N. Jovanovi, 2010.

  • PitanjaDeklarativno programiranje?Logiko programiranje?Funkcionalno programiranje?Objektno orijentisano programiranje?Elementi objektnog modela?Apstrakcija?Enkapsulacija?Nasleivanje?Polimorfizam?

    ________________________ N. Jovanovi, 2010.

  • PitanjaJava class datoteka?Java virtuelna maina?ta je Java platforma?Osnovne karakteristike Jave?Java aplikacija?Java aplet?Verzije Java platforme?JDK?JRE?

    ________________________ N. Jovanovi, 2010.