Cilj i ishod predmeta
Osnovni cilj predmeta je upoznavanje sa savremenim principima upravljanja informacijama, podacima i projektovanjem savremenih informacionih sistema, zasnovanih na objektno orjentisanom pristupu i relacionim bazama podataka. Studenti stiču napredna znanja i veštine vezane za upravljanje podacima, informacijama, projektovanje i razvoj informacionih sistema.
Teorijska nastava
Osnovni koncepti nauke o podacima, Data Science. Istorijski pregled razvoja metoda za skladištenje, upravljanje podacima i izveštavanje. Modeliranje podataka, njihove semantike, znanja i informacija: skup, binarna relacija (key-value, hešing i indeks), n-arna relacija (tabela), stablo (XML) i graf. Apstrakcije i svođenje n-arne relacije na binarnu, sortiranje binarne relacije, indeksi, prolazi kroz stablo i pretraživanje grafova. Codd-ov relacioni model. Relaciona algebra kao aparat za generisanje izveštaja, SQL. Projektovanje informacionog sistema. Analiza zahteva. Logičko projektovanje strukture i dinamike informacionog sistema, SSA. Objektno-orijentisani pristup modelovanju informacionih sistema – UML. Analiza zahteva u objektnom pristupu. Slučajevi korišćenja. Opis dinamike informacionog sistema. Dijagrami sekvenci. Konceptualni model sistema. Paterne u modelovanju IS. Implementacija u realnom okruženju. Projektovanje relacione baze podataka na osnovu objektnog UML modela. Objektno relacioni brokeri, Hibernate. Sistemi za upravljanje bazama podataka, Oracle, MSSQL, PostgreSQL. Preslikavanje podataka objektnog modela u key-value baze podataka, Redis. Objektne baze podataka, MongoDB.
Praktična nastava
Analiza sistema i zahteva korisnika na konkretnom primeru. Primer projektovanja baza podataka: Normalizacija relacija. Analiza i projektovanje IS. Funkcionalna dekompozicija, SSA. Rečnik podataka. PMOV. IDEF1X, IE. Primeri projektovanja objektnim pristupom korišćenjem UML notacije. Slučajevi korišćenja. Uzori u fazi analize sistema. Višeslojna arhitektura aplikacija. Dijagrami sekvenci. Primeri transformacija konceptualnih modela u realno implementaciono okruženje. Korišćenje key-value Redis baze podataka za keširanje podataka. Primena Hibernate brokera. Izrada kompleksnog projekta sloja podataka za informacioni sistem.