informacioni sistemi

29
1. Objasniti šta je životni ciklus razvoja informacionog sistema i navesti faze razvoja informacionog sistema prema proizvoljno odabranom modelu Životni ciklus razvoja informacionog sistema je proces kojim stručnjaci različitih profila i korisnici informacionog sistema prave informacioni sistem. Životni ciklus razvoja informacionog sistema je razvojni proces kroz koji prolazi informacioni sistem i razlikuje se od pristupa razvoju i metoda razvoja. Tri opće faze razvoja IS-a su: 1. Faza definicije -> fokusirana na ŠTA napraviti 2. Faza razvoja -> fokusirana na KAKO napraviti 3. Faza održavanja -> fokusirana na MIJENJANJE Faze razvoja IS-a (klasična podjela): 1. Analiza (prikupljanje zahtjeva i specifikacija zahtjeva) 2. Dizajn 3. Implementacija 4. Testiranje 5. Održavanje Faze razvoja IS-a po waterfall modelu: 1. Analiza izvodivosti 2. Specificiranje zahtjeva (detaljno) 3. Dizajn 4. Implementacija (integracija) 5. Testiranje 6. Održavanje Načini razvoja IS-a: Strukturirani pristup (engl. Structured Methods) Iterativni pristup (engl. Iterative and Incremental approach) Brzi razvoj aplikacija (engl. RAD – Rapid aplication development) Objektno orijentirani pristup (engl. Object-oriented Methods) Strukturirani pristup: Vodopadni model (engl. waterfall model) 1

Upload: samrafsk

Post on 02-Dec-2015

91 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Informacioni sistemi

1. Objasniti šta je životni ciklus razvoja informacionog sistema i navesti faze razvoja informacionog sistema prema proizvoljno odabranom modelu

Životni ciklus razvoja informacionog sistema je proces kojim stručnjaci različitih profila i korisnici informacionog sistema prave informacioni sistem. Životni ciklus razvoja informacionog sistema je razvojni proces kroz koji prolazi informacioni sistem i razlikuje se od pristupa razvoju i metoda razvoja.

Tri opće faze razvoja IS-a su: 1. Faza definicije -> fokusirana na ŠTA napraviti 2. Faza razvoja -> fokusirana na KAKO napraviti3. Faza održavanja -> fokusirana na MIJENJANJE

Faze razvoja IS-a (klasična podjela):1. Analiza (prikupljanje zahtjeva i specifikacija zahtjeva)2. Dizajn 3. Implementacija 4. Testiranje 5. Održavanje

Faze razvoja IS-a po waterfall modelu:1. Analiza izvodivosti 2. Specificiranje zahtjeva (detaljno) 3. Dizajn 4. Implementacija (integracija)5. Testiranje 6. Održavanje

Načini razvoja IS-a: Strukturirani pristup (engl. Structured Methods) Iterativni pristup (engl. Iterative and Incremental approach) Brzi razvoj aplikacija (engl. RAD – Rapid aplication development) Objektno orijentirani pristup (engl. Object-oriented Methods)

Strukturirani pristup: Vodopadni model (engl. waterfall model) Strukturna sistemska analiza i dizajn metodologija (engl. Structured Systems Analysis

Design Methodology – SSADM)

Iterativni pristup: Spiralni model (engl. Spiral model) DSDM (engl. Dynamic Systems Development Method) Sinkroniziraj-i-stabiliziraj model (engl. syncronize-and-stabilize model)

1

Page 2: Informacioni sistemi

Brzi razvoj aplikacija: Model brzog prototipa (engl. rapid prototyping model) CASE alati (engl. Computer Aided Software Engineering)

Objektno orijentirani pristup: RUP (engl. Rational Unified Process) Agile Software Development

- Extreme Programming (XP)- Scrum- Feature-Driven Development- Adaptive Software Development

2. Objasniti razliku između pristupnog modela i metoda razvoja informacionog sistema

Pristup je skup bazičnih pretpostavki koje određuju naučne teorije i metodologije u nekom području. Pristup ili razvojni okvir je osnova za sve ostale koncepte i određuje sve ostale aspekte razvoja informacionog sistema.

Model procesa razvoja definiše redoslijed razvojnih faza. Određen je pristupom koji se primjenjuje. Model procesa razvoja ne adresira načine izvršenja faza, to se definiše metodom razvoja (tehnike i alati).

Metoda je sveobuhvatna i detaljna verzija cijelog modela razvoja sistema sa jasno specifiranim poslovima za pojedinu fazu razvoja i tehnikama koje će se koristiti.

3. Kratko objasniti osnovna četiri koncepta objektnog (objektno orjentiran) modela

Osnovni koncepti objektnog modela su: 1. Apstrakcija 2. Enkapsulacija 3. Modularnost 4. Hijerarhija

Apstrakcija je jedan od fundamentalnih principa pomoću koga se ljudi bore sa kompleksnošću. Suština apstrakcije je u uočavanju suštinskih karakteristika objekta koji se posmatra i njegovom razlikovanju od ostalih objekata na temelju uočenih osobina. Ona se fokusira na spoljašni izgled objekta zanemarujući potpuno njegovu unutrašnjost tj. implementaciju.

2

Page 3: Informacioni sistemi

Enkapsulacija je koncept potpuno komplementiran apstrakciji. Enkapsulacija se fokusira na implementaciju koja će dovesti do željenog ponašanja. Enkapsulacija se realizuje razdvajanjem podataka i metodom klase.

Modularnost je koncept povezan isključivo sa samim programom tj. domen problema više ne igra nikakvu ulogu a sastoji se u formiranju modela koji mogu da se provode odvojeno ali koji ipak imaju dobro definisane veze prema drugim modulima.

Hijerarhija klasa sa programskim jezicima ostvaruje se preko mehanizma nasljeđivanja a sastoji se u tome da jedna apstrakcija može biti vrsta neke druge apstrakcije sa dodatnim osobinama.

4. Navesti gdje se koristi i objasniti u pet koraka kako se koristi digitalni potpis

Svrha digitalnog potpisa je da potvrdi autentičnost sadržaja poruke (dokaz da poruka nije promijenjena na putu od pošiljaoca do primaoca), kao i da obezbijedi garantovanje identiteta pošiljaoca poruke. Osnovu digitalnog potpisa čini sadržaj same poruke. Digitalni potpis koristi se za provjeru da je poruka zaista stigla od pošiljaoca na kojeg glasi.

Postupak: 1. A izračunava sažetak dokumenta 2. A kriptira sažetak svojim tajnim ključem3. A šalje poruku i potpisani sažetak osobi B 4. B izračunava sažetak dobivene poruke, dekriptira potpisani sažetak javnim ključem od

A5. Ako su jednaki, B može smatrati potpis valjanim.

Dodatak: Digitalni potpis (Digital Signature) je skup podataka u elektronskom obliku koji su dodati ili logički pridruženi elektronskim porukama ili dokumentima i služe kao metod za identifikaciju potpisnika.

3

Page 4: Informacioni sistemi

Pošiljalac kreira digitalni potpis na osnovu poruke koju želi da pošalje. Šifruje ga svojim tajnim ključem i šalje zajedno sa porukom. Primalac po prijemu poruke dešifruje potpis pošiljaoca njegovim javnim ključem. Zatim kreira potpis na osnovu poruke koju je primio i uređuje ga sa primljenim potpisom.Ako su potpisi identični, može biti siguran da je poruku zaista poslao pravi pošiljaoc i da je ona stigla nepromjenjena.Digitalni potpis je elektronska zamjena rukom pisanog potpisa, a ne digitalna slika ručnog potpisa.Digitalni potpis omogućava identifikaciju učesnika u komunikaciji i integritet podataka.Za provjeru identiteta i itengriteta koristi se javni ključ sadržan u digitalnom certifikatu.

5. Navesti ključnu razliku između simetričnih i asimetričnih šifarskih sistema

Kod simetričnih šifarskih sistema ključ je tajan, jer se pomoću njega može i kriptovati i dekriptovati poruka. Najčešće se sa jednim ključem može dobiti i ključ za dešifriranje.

Kod asimetričnih šifarskih sistema svaki akter (onaj koji je u komunikaciji) ima svoj privatni i javni ključ. Kod asimetričnih sistema nemoguće je iz javnog ključa obaviti dekodiranje.

Tajnost i javnost ključeva - Ovdje je osnovna podjela na simetrične kriptosustave i kriptosustave s javnim ključem. Kod simetričnih ili konvencionalnih kriptosustava, ključ za dešifriranje se može izračunati poznavajući ključ za šifriranje i obratno. Ustvari, najčešće su ovi ključevi identični. Sigurnost ovih kriptosustava leži u tajnosti ključa. Zato se oni zovu i kriptosustavi s tajnim ključem. Kod kriptosustava s javnim ključem ili asimetričnih kriptosustava, ključ za dešifriranje se ne može (barem ne u nekom razumnom vremenu) izračunati iz ključa za šifriranje. Ovdje je ključ za šifriranje javni ključ. Naime, bilo tko može šifrirati poruku pomoću njega, ali samo osoba koja ima odgovaraju ključ za dešifriranje (privatni ili tajni ključ) može dešifrirati tu poruku.

6. Objasniti šta je PKI (Public Key Infrastructure) sistem i nabrojati njegove najvažnije komponente. Navesti ćemu one služe i kojom tehnologijom se implementiraju 4 osnovne funkcije zaštite koje PKI sistem obezbjeđuje

PKI sistem čini kombinaciju tehnologije enkripcije (šifriranje) i servisa koji organizacijama omogućuju sigurnu međusobnu komunikaciju i poslovne transakcije.

PKI se sastoji od više međusobno povezanih objekata, aplikacija i servisa: 1. alati za upravljanje sistemom i nadgledanje sistema

4

Page 5: Informacioni sistemi

2. CA (certifikacioni autoritet ili certifikaciono tijelo) koji se brine za izdavanje i valjanost certifikata

3. distribucija izdatih certifikata 4. distribucuja CRL (lista povučenih certifikata) liste5. distribucija korisničkog certifikata 6. distribucija korisničkih aplikacija, servisa itd. koji koriste PKI autorizaciju.

Postoje 4 faze zaštite koje pruža PKI sistem: Autentičnost Tajnost Integritet poruke Neporecivost

Dodatak:PKI – Infrastruktura sistema sa javnim ključevima predstavlja kombinaciju hardverskih i softverskih proizvoda, politika i procedura.PKI sistemi omogućuju osnovno bezbjednosno okruženje koje se zahtjeva u sistemima elektronskog poslovanja u kome korisnici, koji se ne poznaju ili su distribuirani po svijetu i nalaze se na velikim udaljenostima, mogu komunicirati bezbjedno kroz mrežu povjerenja.CRL omogućava klijentima, kao i drugim entitetima koji komuniciraju u datom PKI sistemu, provjeru validnosti digitalnih certifikata druge strane u komunikaciji.

CRL je binarna datoteka koja sadrži sljedeće informacije:1. listu povućenih certifikata sa razlogom povlačenja,2. naziv izdavaoca CRL3. vrijeme kada je CRL izdato,4. vrijeme kada će sljedeća verzija biti publikovana.

CA – Certifikaciono tijelo predstavlja najvišu tačku povjerenja u čitavom PKI sistemu.PKI sistem se bazira na digitalnim certifikatima.

5

Page 6: Informacioni sistemi

Komponente PKI sistema:1. certifikaciono tijelo,2. registraciona tijela,3. sistem za distribuciju certifikata,4. PKI aplikacije,5. dokumenti za rad PKI sistema.

Srce PKI sistema predstavlja certifikaciono tijelo čija je osnovna funkcija pouzdano uspostavljanje zaštićenog digitalnog identiteta svih učesnika za komunikaciju u nebezbjednoj računarskoj mreži.

Funkcije CA su:1. izdavanje certifikata,2. upravlja rokom važnosti certifikata,3. upravlja povlačenjem certifikata publikovanjem lista povučenih certifikata.

7. Objasniti koncept skladišta podataka

Skladište podataka je predmetno orijentirani, integrirani, relativno stabilni i vremenski orijentirani skup podataka u funkciji potpore odlučivanja menadžera.

Skladište podataka je strukturirano okruženje i tehnološko rješenje dizajnirano za analizu nepromijenjenih podataka, logički i fizički transformirano iz više izvornih aplikacija, usklađeno sa poslovnom strukturom, izgrađeno i održavano nadopunjavanjem podataka za druge vremenske periode iz transakcijskih sustava namijenjenih različitim analizama.

Osnovna namjena je podrška poslovnom području putem upita i analiza.

- OLTP - transakcijska baza. Transakcijski podaci se transformišu i prečišćavaju prije uvođenja u skladište podataka.

- OLAP - analitička baza. Primarni koncept skladišta podataka zasniva se na tome da se podacima spremljenim za analitičku obradu može korisnije pristupiti nego podacima iz transakcijskih baza.

Bitna činjenica je da su podaci uvedeni u skladište nepromjenjivi, odnosno nad njima se ne rade nikakve modifikacije. Skladište podataka prikuplja informacije iz više izvora, različitih transakcijskih baza i različitih vremenskih perioda.

6

Page 7: Informacioni sistemi

8. Objasniti šta je informacija a šta informacioni sistem

Informacija je podatak o korištenju ili podatak koji ima značenje onom koji ga posjeduje.

Podatak je svaki zapis koji se odnosi na neku činjenicu. Može biti sastavljen od slova, brojeva ili simbola.

Dodatak:

Podatak (data) u računaru je tekst dokument, video, zvuk, slika itd.Podatak je činjenica predočena u formaliziranom obliku npr. kao broj, riječ ili slika.Podatak predstavlja simbolički i formaliziran prikaz činjenica, pojmova i instrukcija, pogodan za komunikaciju, interpretaciju i obradu uz pomoć ljudi ili strojeva.Podatak je u osnovi poruka koja se može a i ne mora iskoristiti.Ako postoji i najmanja vjerovatnoća da se poruka jednoznačno i tačno iskoristi, te predstavlja neosporivu činjenicu, tada predstavlja informaciju.

Informacioni sistem je skup ljudi, opreme i procedura koji na određen način prikupljaju, obrađuju, memorišu i prikazuju informaciju. Informacioni sistem obrađuje podatak na način da krajnjem korisniku predstavlja informaciju.

7

Page 8: Informacioni sistemi

9. Objasniti razliku između klasične klijent-server arhitekture i troslojne (eng. Three-tier) arhitekture računarskog dijela informacionog sistema

SQL server softver i baza podataka nalaze se na centralnom računaru koji se naziva database server. Korisnici imaju sopstvene kompjutere koji se nazivaju klijenti. Korisnik pristupa serveru baze podataka preko klijentske aplikacije (dvoslojna arhitektura) ili kroz aplikaciju koja radi na posebnom kompjuteru tzv. aplikacionom serveru (troslojna arhitektura).

Dvoslojna arhitektura (klijent server arhitektura) Klijent pokreće aplikaciju koja pristupa serveru baze podataka preko mreže. Klijent se naziva debeli klijent. Klijent pokreće aplikaciju koja izvršava poslovnu logiku i prezentovanje rezultata na ekranu. Pogodan je za sisteme sa malim brojem korisnika. Svaka korisnička konekcija zahtjeva sistemske resurse. Korisniku se šalju velike količine podataka pa dolazi do zagušenja u mreži i istovremeno usporava rad drugih korisnika (zbog zaključavanja).

Troslojna arhitektura Uvodi se treći kompjuter - aplikativni server. Na klijentskom kompjuteru izvršava se kod koji komunicira sa aplikativnim serverom i zatim iscrtava rezultate na ekranu. Ovdje imamo tankog klijenta. Poslovna logika se izvršava na aplikativnom serveru. Aplikacija omogućava istovremeni pristup više klijenata. Aplikacioni server kreira konekciju sa bazom i rezultate vrača klijentu.

8

Page 9: Informacioni sistemi

10. Objasniti koncept enkapsulacije u objektno-orijentisanom modelu

Enkapsulacija je koncept potpuno komplementiran apstrakciji. Enkapsulacija se fokusira na implementaciju koja će dovesti do željenog ponašanja. Enkapsulacija se realizuje razdvajanjem podataka i metoda klase.

U ovom modelu stanje je karakteristika pojedinih objekata. Stanje se učahuruje – ''enkapsulira'' u objekte koji drugim objektima u sistemu i okolini stavljaju na raspolaganje ''interfejs'', odnosno podskup svojih operacija koja ta stanja mjenjaju i transformišu u odziv objekta. Učahurenje – enkapsulacija je dodatna apstrakcija koja se, pored klasifikacije, generalizacije i agregacije koristi u ovom modelu i ''sakriva'' detalje implementacije objekta – pa samim tim i cjelokupne baze podataka.

11. Objasniti spiralni model u razvoju informacionog sistema

Spiralni model je model, odnosno metodologija razvoja softvera koja ima načelo u kombiniranju elemenata dizajna i stadija (etapa) iz prototipa. Najveća značajka modela je eksplicitno prepoznavanje i uklanjanje rizika. Grafički prikaz modela je u obliku spirale u koordinatnom sustavu.

Svaka petlja spirale predstavlja jednu fazu procesa razvoja softvera. U prvoj fazi određuju se ciljevi, alternative i ograničenja.

9

Page 10: Informacioni sistemi

U drugoj fazi procjenjujemo alternative, identifikujemo i rješavamo rizike. U trećoj fazi rješavamo i testiramo rješenje. U četvrtoj fazi poredimo rješenje sa zahtjevima ciljeva i planiramo narednu fazu.

Napredak se ostvaruje kroz korake. Nivo apstrakcije vezan je za nivo prolaza kroz spiralu.

10

Page 11: Informacioni sistemi

12. Objasni polimorfizam

11

Page 12: Informacioni sistemi

Polimorfizam je osobina da objekat izvršava operaciju na način svojstven izvedenoj klasi kojoj pripada, mada mu se pristupa kao objektu osnovne klase.

13. Objasni razliku između komandi ''commit'' i ''rollback''

Naredba COMMIT (izvršiti) - trajno potvrđivanje transakcije. COMMIT služi da se promjene podataka koje su urađene od trenutka posljednje naredbe commit potvrde, tj. učine trajnim u bazi podataka.

Naredba ROLLBACK (vraćanje na staro) - vraćanje baze u stanje prije izvođenja transakcije. ROLLBACK služi za poništavanje svih promjena u bazi podataka koje su učinjene od trenutka posljednje naredbe commit.

14. Navesti faze razvoja informacionog sistema po Waterfall modelu i navesti i nacrtati faze razvoja informacionog sistema po nelinearnom Waterfall modelu

Waterfall model je sekvencijalni model softverskog razvoja u kojem je razvoj viđen kao stabilni padajući tok (poput vodopada) kroz faze:

1. analiza izvodivosti, 2. specificiranje zahtjeva, 3. dizajn, 4. implementacija, 5. testiranje i 6. održavanje.

Ovaj model opisuje razvoj informacionog sistema kroz sekvencijalne faze. Ali u odnosu na fazni model, uvodi postojanje povratne sprege između faza. Jasno razgraničava ciljeve za svaku fazu razvoja.

Faze razvoja IS-a po Waterfall modelu:1. Faza izvodivosti2. Specificiranje zahtjeva - prvo trebamo napraviti specifikaciju zahtjeva, što čini kamen

temeljac razvoja softvera. Kada su zahtjevi ispunjeni, krećemo na slijedeću fazu.3. Dizajn - ima ulogu plana za implementaciju datih zahtjeva. Kada je dizajn završen,

implementaciju realiziraju programeri.4. Implementacija - vršimo integraciju različitih komponenti softvera koje su

proizvedene od strane različitih timova. Kada su završene implementacijska i integracijska faza, softverski proizvod se testira i debugira.

5. Testiranje - ovdje se uklanjaju sve greške koje su nastale u ranijim fazama.6. Održavanje - softverski proizvod se instalira i kasnije održava.

12

Page 13: Informacioni sistemi

Kod Waterfall modela ne smijemo preskakati faze. Na slijedeću fazu možemo krenuti tek kada je prethodna kompletno završena i ispravna.

Nelinearni Waterfall modelKonceptualne faze se primjenjuju na cijeli sistem linearno po Waterfall modelu, do trenutka u kojem je sistem moguće podjeliti na manje podsisteme. Onda se razvoj podsistema odvija zasebno i to tako što se svaki od podsistema razvija po svom životnom ciklusu, opet po Waterfall modelu.

15. Šta je relaciona algebra

Relaciona algebra je jednostavan formalni jezik koji sadrži niz operacija nad relacijama. Pored poznatih skupovnih operacija (proizvod, unija, presjek i razlika), relaciona algebra

13

Page 14: Informacioni sistemi

uključuje i posebne skupovne operacije koje se nazivaju projekcija, restrikcija, spajanje i dijeljenje.

16. Navesti opšti oblik upitnog bloka SQL relacionog upitnog jezika

SQL se temelji na kombinacijama relacijske algebre i relacijskog računa. SQL spada u neproceduralne jezike, što znači da korisnik pomoću njega definira što želi dobiti, a ne kako će to dobiti.

Opšti upitni oblik SQL-a: SELECT <lista atributa> - stupci (atributi) tablica (relacija) koje se žele u rezultatu. FROM <lista tablica (relacija)> - relacije koje se koriste u pretraživanju. WHERE <uvjet (kvalifikacioni izraz)> - predikat koji zadovoljava selektirane n-torke u rezultatu.

17. Dati definiciju ključa relacije

Ključ je konkretan dio podataka koji nam omogućava jedinstveno prepoznavanje pojedinih primjera ili tipa entiteta. Kandidat za ključ je atribut ili skup atributa koji opisuje ključ.

Ključ relacije je atribut ili grupa atributa čije vrijednosti jednoznačno određuju n-torku u relaciji.

Super ključ - atribut ili skup atributa koji na jedinstven način identifikuje n-torku unutar relacije.

Ključ kandidat - superključ čiji nijedan pravi podskup nije superključ relacije.

Primarni ključ - ključ kandidat koji je odabran da na jedinstven način identifikuje n-torke unutar relacije.

Spoljni ključ - atribut ili skup atributa jedne relacije koja se uparuje sa ključem kandidatom neke druge relacije.

Ključevi relacije Činjenica da su sve n-torke različite u relaciji, govori da postoji jedan atribut (prosti ključ) ili više atributa zajedno (složeni ključ) čije vrijednosti jedinstveno identifikuju jednu n-torku u relaciji (jednu vrstu u tabeli).

Ključ relacije R je takva kolekcija K njenih atributa koja zadovoljava slijedeća dva uslova:1. Osobina jedinstvenosti. Ne postoje bilo koje dvije n-torke sa istom vrijednošću K.2. Osobina neredudantnosti. Ako se bilo koji atribut izostavi iz K, gubi se osobina

jedinstvenosti.

14

Page 15: Informacioni sistemi

U jednoj relaciji može postojati više različitih kolekcija K atributa koje zadovoljavaju definiciju ključa. Sve takve kolekcije se nazivaju kandidati za ključ. Jedan od kandidata koji se izabere da praktično služi za identifikaciju n-torke relacije se tada naziva primarni ključ. Ostali (neizabrani) kandidati se nazivaju tada alternativni ključ. Atributi koji učestvuju u ključevima nazivaju se ključnim atributima. Ostali atributi su neključni (sporedni) atributi. Spoljni ključ - je atribut ili skup atributa čija vrijednost odgovara vrijednosti primarnog ključa tabele sa kojom je uspostavljena veza.

Def. ključa relacije:Nema je R(A1, A2, ... , An) relacija, a X podskup skupa atributa relacije R (X A1, A2, ... , An). X je ključ relacije R ako i samo ako vrijedi:

X funkcionalno određuje sve atribute relacije R; Nijedan pravi podskup od X nema tu osobinu.

18. Navesti uslove koje relaciona šema R treba ispunjavati da bude u drugoj normalnoj formi (2NF)

Relacijska shema R se nalazi u drugoj normalnoj formi (2NF) ako se svi neključni atributi nalaze u punoj funkcijskoj ovisnosti o ključu iz R. Relacija koja se nalazi u 2NF mora biti i u 1NF. Neključni atributi relacije 2NF moraju biti funkcijski ovisni o ključu relacije i ta ovisnost mora biti puna. Osim pune funkcijske ovisnosti postoji i parcijalna funkcijska ovisnost. Relacijska šema se nalazi u drugoj normativnoj formi (2NF) ako je 1NF i ako je sporedni atribut potpuno funkcijski ovisan o svakom ključu iz R.

19. Objasniti relacioni model baze podataka i navesti njegove osobine

Relacioni model je formalni (matematički) model strukture baze podataka. Kod relacionog modela podaci su organizovani u skupove tabela (relacija). Relacioni model je zbog svoje jednostavne strukture i jednostavnog jezika baze podataka (SQL) još uvijek najpopularniji model podataka.

Osobine relacionog modela su: jasno razgraničenje logičkih i fizičkih aspekata upravljanja podacima, strukturalna jednostavnost koja je pogodna za različite tipove korisnika, upitni jezici kod kojih se upiti odnose na čitave skupove podataka iz baze.

20. Kratko objasniti šta je Servis Orijentisana Arhitektura (SOA)

15

Page 16: Informacioni sistemi

SOA je način izgradnje (internet) distribuiranih sistema čija funkcionalnost leži u korištenju funkcija slabo povezanih servisa. U ovakvoj arhitekturi servisi su dostupni svim učesnicima kao nezavisni servisi. To je koncept za softversku infrastrukturu u kojoj su programski moduli implementirani kao servisi koji međusobno mogu razmjenjivati informacije. Odnosno, SOA je trend i budućnost informacionih tehnologija. Osnovni cilj SOA je kvalitetno zadovoljenje trenutnih potreba korisnika i efikasno prilagođavanje aplikacije novim zahtjevima. Kod SOA cjelokupan sistem se može upravljati dinamički. Strategija SOA omogućava uvođenje viših nivoa apstrakcije na kojima se informacioni sistem opisuje kao skup servisa.

21. Navesti razlike između primitivnih i izvedenih podataka

22. Navesti osnovne osobine objektno–orijentisanog modela i objasniti razliku između interfejsa i klase

16

Page 17: Informacioni sistemi

OODM (engl. Object-Oriented Data Model) – logički model podataka koji prihvata semantiku objekata podržanu u objektno-orijentiranom programiranju.

Objektno-orijentiran pristup je pristup u realizaciji softvera kao modela realnog svijeta. Analogno tom objektno-orijentiranom pristupu razvoj informacionih sistema je nova paradigma zasnovana na modeliranju realnog svijeta kao skup objekata koji dejstvuju međusobno. Obrade podataka zasnivaju se na manipulisanju objektima. Objektno-orijentirano programiranje daje nam prirodniji i intuitivniji način modeliranja i programiranja stvarnog svijeta objekata, njihovih atributa i ponašanja. Objektno orijentirani sustav baza podataka jeste sustav baza podataka – u smislu da ima sve osobine baza podataka, uključujući jezike za pristup, sposobnost upravljanja ogromnim količinama podataka, postojanost, integritet podataka i transakcija, sigurnost i oporavak – koji dodatno podržava apstrakciju, nasljeđivanje i objektni identitet.

Klasa je šablon na osnovu kojeg kreiramo (instanciramo) objekat. Predstavlja skup zajedničkih svojstava objekata koji se ponašaju na isti način. Klasa definiše tip objekta. Svaka klasa može da se posmatra kao dvokomponentna cjelina. Te dvije njene komponente jesu njen interfejs i njena implementacija.

Interfejs klase obuhvata samo spoljašni izgled klase i preko njega se ustanovljava da li apstrakcija ima željeno ponašanje.

Implementacija obuhvata realizaciju svih mehanizama koji dovode do tog njegovog ponašanja.

23. Navesti tri karakteristike objekta

Objektni model

17

Page 18: Informacioni sistemi

U ovom modelu objekat se definiše kao entitet, koji je sposoban da čuva svoja stanja i koji okolini stavlja na raspolaganje skup operacija preko kojih se tim stanjima pristupa. Samo stanje objekata se predstavlja vrijednostima njegovih osobina atributa objekata i njegovih veza sa drugim objektima u sistemu.

U ovom modelu stanje je karakteristika pojedinih objekata. Stanje se ''učahuruje'' - enkapsulira u objekte koji drugim objektima u sistemu i okolini stavljaju na raspolaganje tzv. interfejs, odnosno podskup svojih operacija koja ta stanja mijenjaju i transformišu u odziv objekta. Učahurenje - enkapsulacija je dodatna apstrakcija koja se pored klasifikacije, generalizacije i agregacije koristi u ovom modelu i koja sakriva detalje implementacije objekta – pa samim tim i cjelokupne baze podataka.

Konceptualno gledano objekat je stvar sa kojom možete stupiti u interakciju na način da joj pošaljete poruku da i ona reaguje. Kako će se objekat ponašati zavisi od trenutnog stanja u kojem se objekat nalazi. Da bi se mogao identificirati objekat, moramo ga imenovati kako bi ga mogli razlikovati od ostalih objekata. Zato možemo reći da je objekat stvar koja ima ponašanje, stanje i identitet.

1. Stanje – objekat ima više atributa, podataka, čije vrijednosti mu određuju stanje.2. Ponašanje – objekat razumije određene poruke i preuzima određene akcije.3. Identitet – ime objekta nije isto što i objekat.

24. Objektno orijentisano programiranje

Objektno orjentisano programiranje predstavlja implementacionu metodu kod koje su programi organizovani kao kooperativni skup objekata pri čemu svaki objekat predstavlja instancu neke klase iz hijerarhiji klasa nastale na bazi relacija nasljeđivanja (inheritance).

Osnovni principi: Klasa sadrži opis (definiciju) nečega. Ovaj opis sadrži informaciju i ponašanje, ili

funkcionalnost. Ona je osnovica modularnosti i strukture objektno-orijentisanog programa. Kao takva treba biti poznata osobama koje nisu programeri, ali su upoznati sa okvirom problema koji treba riješiti računarskim programom i izvorni kod klase treba (po mogućnosti) biti cijelovit i neovisan. Samo sa takvom modularnošću klasa je u stanju da odgovara aspektu problema koji program treba da riješi i istovremeno pojednostavi odnos (mapiranje) između problema i programa.

Objekat ili instanca je jedinica klase, koji postoji sa određenom informacijom. Svaki objekat ima samo svoju informaciju (stanje) koje može biti dijeljeno između više instanci.

Zatvorenost (en. encapsulation) je koncept po kojem je informacija u klasi zaštićena od direktnog pristupa i jedini način da se promjeni informacija je kroz utemeljene metode.

18

Page 19: Informacioni sistemi

Nasljedstvo (en. inheritance) je koncept po kojem se može definisati klasna hijerarhija, tj. obiteljska loza klase gdje jedna klasa može da proširi (extend) drugu klasu.

Apstrakcija (en. abstraction) je pojednostavljivanje karakteristika objekta, gdje se zanemaruju detalji i uzimaju se samo zajedničke karakteristike klase.

Polimorfizam (en. polymorphism) je karakteristika klase čije ponašanje se mijenja ovisno o implementaciji.

25. Relacijske baze s objektno orijentiranim proširenjima (objektno-relacione baze podataka)

Objektno-relacioni model i objektno-relacioni sistem nastoje da intergrišu najbolje karakteristike objektne i relacione tehnologije. Ovaj model je sastavljen od skupa međusobno povezanih relacija, ali i domeni atributa relacija ne moraju biti samo osnovni predefinisani tipovi podataka, već i korisnički definisani osnovni i složeni tipovi podataka koji mogu biti organizovani u generalizacione hijerarhije tipova. Najznačajnije proširenje u odnosu na konvencionalne relacione sisteme sadržano je u mogućnosti definisanja novih potencijalno kompleksnih tipova podataka. Atribut relacije u objektno-relacionom modelu tako može biti definisan i nad osnovnim, predefinisanim, ali i nad novim, korisnički definisanim tipom podataka maksimalne složenosti. Bitna karakteristika objektno-relacionih sistema je mogućnost definisanja metoda. Njima se definišu operacije nad korisničkim tipovima. Neke od tih metoda se automatski generišu prilikom kreiranja novog složenog tipa, a ostale korisnik sam definiše, ukoliko za tim postoji potreba. U objektno relacionim sistemima n-torke imaju ulogu objekata i, pod određenim uslovima, svaka od njih može imati jedinstveni identifikator, koji ih jedinstveno određuje čak i u slučaju da postoje n-torke sa istim vrijednostima atributa.

Osnovne osobine koje proširuju relacijsku u relacijsku bazu podataka s objektno orijentiranim proširenjima su:

Automatska optimizacija upita i njihova obrada Indeksiranje apstraktnih tipova podataka Kontrola istovremenog pristupa Autorizacija Okidači Pohranjene procedure Dinamički razvoj sheme baze podataka Obvezna sigurnost

26. Skladišta podataka

Skladište podataka je predmetno orijentirani, integrirani, relativno stabilni i vremenski orijentirani skup podataka u funkciji potpore odlučivanja menadžera.

19

Page 20: Informacioni sistemi

Tražene osobine za kvalitet podataka: Tačnost Kompletnost Konzistentnost Jedinstvenost Vrijeme

Dodatak:Skladištenje podataka je važan koncept učinkovitog sustava potpore odlučivanju, koji se intenzivno razvija posljednih godina.Donosi ideju aktivnog pronalaženja i nuđenja informacija menadžeru, potrebnih u procesu odlučivanja.

20

Page 21: Informacioni sistemi

Skladište podataka skup je podataka organizacije na kojem se temelji sustav potpore odlučivanju.

27. Relaciona algebra

Skup operacija koje se provode na relacijama, odnosno tabelama naziva se relacionom algebrom.

Najčešće korištene operacije relacione algebre nad podacima su sljedeći: Operacija projekcije Operacija restrikcije Operacija spajanja

Operacija projekcije Projekcija je selekcija kolone jedne tabele. Operacijom projekcije iz relacione šeme se eliminišu postojeći atributi, odnosno kolone relacione tabele, koje iz nekog razloga više nisu interesantne.

Operacija restrikcije Restrikcija daje redove tabele koji zadovoljavaju uslov.

Operacija spajanja Rezultat prirodnog spajanja relacija R i S po atributu D. Operacijom spajanja od dvije relacije se formira nova relacija tako da se spajaju n-torke prve relacije sa n-torkama druge relacije, koje imaju istu vrijednost atributa spajanja.

21

Page 22: Informacioni sistemi

28. Izvršiti prirodno spajanje relacija S i O po atributu D, i prikazati tebelarno koristeći Right Outer Join (desnu vanjsku vezu). Rezultat prikazati tabelarno.

29. Objasniti način na koji se razlikuje koncept hijerarhije klasa u objektno orjentisanom modelu

Hijerarhija klasa se u programskim jezicima ostvaruje preko mehanizama naslijeđivanja (inheritance), a sastoji se u tome da jedna apstrakcija može biti vrsta neke druge apstarkcije sa dodatnim osobinama.

30. Objasniti šta je program

Program je spisak naredbi napisan u nekom programskom jeziku namjenjen za određenu računarsku platformu.Program je skup naredbi koje opisuju neko računanje ili zadatak koji računar treba da izvrši.

31. Navesti osnovnu razliku između strukturiranog i objektno orijentisanog programiranja

22

Page 23: Informacioni sistemi

U programiranju danas dominiraju dva osnovna koncepta:1. koncept strukturiranog programiranja i2. koncept objektno orijentisanog programiranja

Objektno orijentisano programiranje predstavlja nadogradnju koncepta strukturiranog, obogaćujući ga novim mogućnostima i novim pristupom programiranju.Kao što je Pascal najtipičniji strukturno orijentisani programski jezik, tako je i C++ najtipičniji objektno orijentisani programski jezik.

32. Šifriranje poruke

Šifriranje poruke čuva privatnost poruke tako što običan, čitljiv tekst pretvara u šifrirani tekst.Poruku može dešifrirati samo primatelj koji ima privatni ključ koji odgovara javnom ključu kojim je poruku šifrirana.

33. Objasniti šta je model podataka i šta isti treba da sadrži

Podaci u bazi su logički organizirani u skladu sa nekim modelom podataka.Model podataka je skup pravila koja određuju kako može izgledati logička struktura baze i čini osnovu za koncipiranje, projektiranje i implementiranje baze podataka.

Osnovne elemente svakog modela podataka treba da čine:1. struktura,2. operacija i3. ogranićenja.

23