02 oop i baze podataka

22
SOFTVERSKI PRAKTIKUM Profesor dr Boban Stojanović Let there be no doubt that object-oriented design is fundamentally different than traditional structured design approaches: it requires a different way of thinking about decomposition, and it produces software architectures that are largely outside the realm of the structured design culture. — Grady Booch

Upload: marko-stojanovic

Post on 14-Nov-2015

229 views

Category:

Documents


1 download

DESCRIPTION

*****

TRANSCRIPT

  • SOFTVERSKI PRAKTIKUMProfesor dr Boban Stojanovi

    Let there be no doubt that object-oriented design is fundamentally different than traditional structured design approaches: it requires a different way of thinking about decomposition, and it produces software architectures that are largely outside the realm of the structured design culture. Grady Booch

  • OBJEKTNO ORIJENTISANO PROGRAMIRANJE

  • Objektno orijentisano programiranje Objektno orijentisano programiranje (OOP - Object-oriented programming) je razvijeno kao odgovor na sve sloenije softverske zahteve.Koncept za reavanje ovih zahteva se bazira na nezavisnim jedinicama programske logike i njihovoj ponovnoj upotrebi u softveru.

  • Objektno orijentisano programiranje OOP moe da se shvati kao skup povezanih objekata koji zajedno rade.Svaki objekat je sposoban da prima i predaje poruke od/do drugih objekata i da obrauje podatke.Svaki objekat ima svoju ulogu i odgovornost.

  • OOP - Osnovni konceptiKlasa je apstrakcija nekog objekta iz realnog sistema i ukljuuje njegove karakteristike (osobine, atribute) i ponaanje (metodi, operacije).Klasa je nacrt (ablon) koji opisuje prirodu nekih stvari (tvorevina). Ove stvari mogu biti fiziki objekti ili neki koncepti, odnosno apstrakcije (npr. klase Student, Nastavnik, Dobri studenti).

  • OOP - Osnovni konceptiObjekat je pojedinana instanca (primerak) klase. Na primer, objekat Ana Nikoli je jedna instanca u klasi Studenti.Vrednosti atributa u jednom objektu se nazivaju stanja.Objekat je nosilac ponaanja u svojoj klasi.Prema tome, klasa se moe definisati kao skup objekata koji imaju iste atribute i ponaanje.

  • OOP - Osnovni konceptiMetod predstavlja sposobnost objekta. U okviru programa samo jedan objekat izvrava metod.Predaja poruka je proces u kome jedan objekat alje podatke drugom objektu ili poziva drugi objekat da pozove metod.

  • OOP - Osnovni konceptiNasleivanje je specijalizovana verzija klase koja nasleuje atribute i ponaanje svoje nadreene klase (klase roditelja), ali ima i svoje sopstvene atribute i ponaanja. Na primer, u klasi Studenti, studenti svih smerova pripadaju toj klasi, ali smeru Informatika pripadaju samo studenti koji su upisani na odgovarajui program.Viestruko nasleivanje je kada klasa nasleuje osobine i ponaanja od vie klasa.

  • OOP - Osnovni konceptiEnkapsulacija je sakrivanje funkcionalnih detalja klase od objekata koji mu alju poruke.Enkapsulacija se postie specificiranjem koje klase mogu da koriste lanice datog objekta. Svaki objekat izlae nekoj drugoj klasi interfejs - one lanice koje su dostupne toj klasi.

  • OOP - Osnovni konceptiApstrakcija je pojednostavljenje sloene realnosti modelovanjem klasa koje odgovaraju problemu.To je kontrolisano izostavljanje karakteristika realnog objekta koje nisu bitne za reavanje odreenog problema.

  • OOP - Osnovni konceptiPolimorfizam omoguava da se izvedene lanice klase tretiraju kao lanice njihove klase roditelj.To je sposobnost da razliiti objekti odgovore na istu poruku na razliite naine.

  • BAZE PODATAKA

  • Baze podatakaPo pravilu podaci se uvaju u datotekama ili bazama podataka. Svaki od ovih naina ima odreene prednosti od kojih je veina na strani baza podataka.Postoji vie tipova baza podataka. Danas su dominantne relacione baze podataka zbog mnogih prednosti kao to su: povezivanje podataka, eliminisanje redudanse, nezavisnost logike i fizike strukture, viekorisniki rad, zatita podataka i pojednostavljeno programiranje.

  • Baze podatakaBaza podataka je skup meusobno povezanih objekata.Sama baza podataka je statiki model nekog realnog sistema. Objekti su predstavljeni u bazi podataka kao relacije (tabele).Relacija se sastoji od kolona (column) i vrsta (rows). Kolone oznaavaju atribute objekta, a u vrstama su smetene njihove vrednosti.Postoji skup pravila koja treba svaka relacija da zadovolji, na primer da ne postoje dve identine vrste u istoj relaciji.

  • Baze podatakaJedna vrsta u relaciji moe da se identifikuje pomou kljua relacije.Klju relacije ini jedan i ili vie atributa koji jednoznano odreuju svaku vrstu.Kljuevi imaju ulogu povezivanja relacija u relacionoj bazi podataka.

  • ER DIJAGRAMI

  • Baze podatakaBaza podataka mora u svakom trenutku da ostane u ispravnom stanju. Ovaj zahtev je realizovan skupom ogranienja koja nazivamo pravilima integriteta.To znai da u svakoj koloni moe da se unese isti tip podataka, da se ne mogu uneti dve kolone sa istom vrednou kljua, kao i da u povezanim tabelama mora da budu konzistentna stanja.

  • Baze podatakaBaze podataka raspolau posebnim jezikom koji se naziva SQL (Structured Query Language).SQL nije proceduralan jezik. Raspolae monim konceptima za sve operacije na podacima u bazi podataka.Za razliku od datoteka iji je operand slog, kod relacionih baza podataka to je cela tabela.

  • Baze podatakaPri konstrukciji baze podataka se primenjuju razliite metode koje treba da obezbede validnost izvravanja SQL naredbi.Pod validnou se podrazumeva eliminisanje anomalija u operacijama primenjenim nad bazom podataka.Ovaj postupak se naziva normalizacija.

  • Baze podatakaU osnovi SQL naredbi stoji vie operacija koje su sadrane u matematikim oblastima (relaciona algebra i predikatski raun).Primena ovih operacija, pa samim tim i SQL je uslovljena odreenim nivoom normalizacije relacija.

  • Baze podatakaSQL naredbe su podeljene u vie grupa kao to su naredbe za:manipulaciju podataka (DML Data Manipulation Language),naredbe za kreiranje i izmenu objekata baze podataka (DDL - Data Definition Language),naredbe za definisanje prava pristupa, upravljanje transakcijama, itd.

  • Baze podatakaDML naredbe slue za upite nad bazom podataka, upisivanje novih podataka, izmene postojeih i brisanje podataka.Korienje SQL je mogue preko odgovarajuih programa u okviru sistema za upravljanje bazama podataka ili u okviru programskih jezika (jezika aplikacije, na primer, Java, C++, C#, Delphi, itd.).