PRIS 09 Projektovanje sloja podataka informacionih sistema

Слични документи
PRIS 00 Projektovanje informacionih sistema

Principi softverskog inženjerstva O predmetu

Microsoft PowerPoint - GR_MbIS_12_IDEF

Model podataka

UNIVERZITET U NOVOM SADU TEHNIČKI FAKULTET MIHAJLO PUPIN ZRENJANIN TEHNOLOGIJE DISTRIBUIRANIH INFORMACIONIH SISTEMA - Skripta za teorijski deo (RADNA

PowerPoint Presentation

Р273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити ос

Inženjering informacionih sistema

1 NOVO U MNG CENTRU!!! OVLADAJTE TEHNOLOGIJOM IZRADE JAVA EE APLIKACIJA KORIŠ C ENJEM ORACLE ADF-A O - Otkrijte brzinu razvoja aplikacija sa ADF-om -

Microsoft PowerPoint - Topic04-Serbian.ppt

** Osnovni meni

PowerPoint Presentation

Microsoft Word - CAD sistemi

SINTEZA 2019 INTERNATIONAL SCIENTIFIC CONFERENCE ON INFORMATION TECHNOLOGY AND DATA RELATED RESEARCH ADVANCED COMPUTING AND CLOUD COMPUTING INTELIGENT

4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу St

Microsoft PowerPoint - 6. CMS [Compatibility Mode]

Slide 1

Microsoft Word - SYLLABUS -Dinamicki

PowerPoint Presentation

УНИВЕРЗИТЕТ У НОВОМ САДУ ОБРАЗАЦ 6

Introduction to Programming

Microsoft PowerPoint - 6. Query Builder.pptx

UNIVERZITET U BEOGRADU SAOBRAĆAJNI FAKULTET Andreja SAMČOVIĆ GEOGRAFSKI INFORMACIONI SISTEMI BEOGRAD 2019.

JAВА ПРОГРАМИРАЊЕ Сврха обуке за Јава програмирање је стицање знања и вештина у области Јава програмирања са циљем повећања броја квалификованих ИТ ст

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr

Studijski primer - Dijagrami toka podataka Softverski inženjering 1

(Microsoft PowerPoint Ben\232i\346.ppt [Compatibility Mode])

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

Apache Maven Bojan Tomić

АНКЕТА О ИЗБОРУ СТУДИЈСКИХ ГРУПА И МОДУЛА СТУДИЈСКИ ПРОГРАМИ МАСТЕР АКАДЕМСКИХ СТУДИЈА (МАС): А) РАЧУНАРСТВО И АУТОМАТИКА (РиА) и Б) СОФТВЕРСКО ИНЖЕЊЕ

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

QlikView Training

Slide 1

(Microsoft PowerPoint Helji\346 i .pptx)

Dijagrami sekvenci

Primenjeno programiranje - Vežbe

Objektno orijentirano modeliranje

УПУТСТВО ЗА ПИСАЊЕ ИЗВЕШТАЈА О ПРИЈАВЉЕНИМ КАНДИДАТИМА НА

Табела 4.2 Обухваћеност сваког програмског исхода учења у оквиру предмета појединачних студијских програма У овом прилогу је процењен допринос сваког

(Microsoft PowerPoint - 903_\216nidari\346_Java Persistence.pptx)

QFD METODA – PRIMER

KATALOG ZNANJA IZ INFORMATIKE

Slide 1

Microsoft Word - Java_introduction_NEW_SYLLABUS.doc

Структура модула студијског програма МЕНАЏМЕТ И ОРГАНИЗАЦИЈА

ZIS

Softversko inženjerstvo

Fakultet tehničkih nauka, Novi Sad Predmet: ISIBP

Универзитет у Београду Факултет организационих наука Коначан распоред испита за предмете Мастер академских студија Испитни рок: ОКТОБАР Предмет

Microsoft Word - IzvjestajPlakalovic

AKD KID Middleware Upute za Macintosh instalaciju V1.0

Универзитет у Београду Факултет организационих наука Распоред испита за предмете мастер академских студија Испитни рок: Јун Предмет Датум Време

IEP - Projekat 2018/2019

(Microsoft PowerPoint - 902_\320ur\360evi\346 Atlassian JIRA - \232to je sve issue.pptx)

12 Stanje

Slide 1

Microsoft PowerPoint - 13 PIK (Mentor Graphic ASIC).ppt

Microsoft PowerPoint - Topic02 - Serbian.ppt

4 dan - DWeb

Microsoft PowerPoint - 01 Uvod u operativne sisteme.ppt

Microsoft PowerPoint - Topic02 - Serbian.ppt

Satnica.xlsx

ASAS AS ASAS

Microsoft PowerPoint - Topic03-Serbian.ppt

Baze podataka MySQL Community Server i MySQL Workbench

Microsoft Word - MySQL_3.doc

Microsoft Word - Akreditacija 2013

Normalizacija i denormalizacija relacijske sheme baze podataka tjedan

PowerPoint Presentation

Objektno orjentirano programiranje 2P

Projektovanje informacionih sistema i baze podataka

Slide 1

PuTTY CERT.hr-PUBDOC

Microsoft Word - Akreditacija 2013

Microsoft Word - Akreditacija 2013

Visoka poslovna škola strukovnih studija Valjevo Primeri pitanja za polaganje prijemnog ispita Predmet: Informatika Valjevo, mart 2018.

Дистрибуирани софтверски системи Технички факултет "Михајло Пупин" Зрењанин, Универзитет у Новом Саду Практикум за лабораторијске вежбе #07 [нерецензи

R u z v e l t o v a 5 5, B e o g r a d, t e l : ( ) , m a i l : c o n t a c p s i t. r s, w w w. p s i t. r s

Microsoft Word - Akreditacija 2013

Projekti šabloni

Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 17-1 Controlling User Access Davanje dozvole (grant

Univerzitet u Beogradu Mašinski fakultet Konstrukcija i tehnologija proizvodnje letelica PODEŠAVANJE PROGRAMSKOG PAKETA CATIA V5 Miloš D. Petrašinović

Razvoj IS

Microsoft Word - Opis Programa.docx

Slide 1

Izbor

Microsoft PowerPoint - Strukturni dijagrami, Gantogram - Planiranje [Compatibility Mode]

PowerPoint Presentation

P1.0 Uvod

ASAS AS ASAS

Microsoft Word - eg_plan_mart2007.doc

Algoritmi i arhitekture DSP I

NACIONALNI REGISTAR IZVORA ZAGAĐIVANJA UPUTSTVO ZA KORIŠĆENJE INFORMACIONOG SISTEMA NACIONALNOG REGISTRA IZVORA ZAGAĐIVANJA Beograd, 2014.

НАСТАВНИ ПЛАН ОДСЕКА ЗА ТЕЛЕКОМУНИКАЦИЈЕ И ИНФОРМАЦИОНЕ ТЕХНОЛОГИЈЕ 2. година 3. семестар Предмет Статус Часови (П + В + Л) Кредити 3.1 Математика 3 O

PowerPoint Presentation

FAKULTET INFORMACIONIH TEHNOLOGIJA R A S P O R E D Studijska grupa: POSLOVNA INFORMATIKA Školska godina: REDOVNI STUDIJ I godina II semesta

Slide 1

Baze podataka

PowerPoint Presentation

Транскрипт:

Tema 9: Projektovanje sloja podataka informacionih sistema dr Vladislav Miškovic Fakultet za računarstvo i informatiku PROJEKTOVANJE INFORMACIONIH SISTEMA 2018/2019

Sadržaj 1. Uvod 2. Projektovanje sloja podataka 3. Struktura podataka u projektu informacionog sistema 4. Primer elemenata projekta jednostavne ASP.NET aplikacije 5. Brzi razvoj prototipa aplikacije pomoću sistema Visual Studio 2010 2

1. Uvod Modelinformacionog sistema sastoji se od objekata povezanih relacijama asocijacije i nasleđivanja Objektisu povezani sa slučajevima korišćenja, koji predstavljau različite akcije nad objektima [5] objekti koji su potrebni samo u toku izvršavanja slučajeva korišćenja i mogu se svaki put ponovo kreirati su privremeni, tranzijentni objekti objekti koji traju i nakon izvršavanja slučajeva korišćenja su trajni, perzistentni objekti 3

Implementacija slučajeva korišćenja Slučajevi korišćenja (Use Case) mogu se detaljnije opisati pomoći UML dijagrama sekvenci Slučajevi korišćenja mogu predstavljati jednu logičku celinu ili transakciju Podsetnik: osnovne osobine transakcije su nedeljivost (Atomicity) konzistentnost (Consistency) izolovanost (Isolation) i trajnost (Durability) 4

Perzistencija Perzistentnisu objekti koji postoje i nakon izvršavanja programa Objekti koji postoje samo u toku izvršavanja programa su privremeni ili tranzijentniobjekti. Kreiraju se prilikom svakog pokretanja sistema perzistentni su samo objekti, ne i klase. Perzistencija se realizuje pomoću baza podataka, obično relacionih ili objektnih većina objekata entitetskihklasa treba da postoji permanentno i pripadaju perzistenom delu sistema većina graničnihi upravljačkihklasa su tranzijentniobjekti, koji nestaju nakon okončanja aplikacija i ponovo se kreiraju prilikom njihovog pokretanja, pa ih nije potrebno čuvati u perzistentnom sloju 5

Perzistencija Postoje različiti modeli perzistencije podataka, koji obezbeđuju različita svojstva objekata, kao što su[5] ortogonalnost- perzistenciju nezavisnu od tipa podataka tranzitivnost-ako je neki objekt perzistentan, to važi i za sve njegove direktne i indirektne komponente i transparentnost- detalji perzistencije su nevidljivi korisnicima Jedna od tehnologija realizacije perzistencije su relacioni sistemi, koji obezbeđuju samo perzistenciju objekata tipa relacija n-torke ne postoje samostalno, već samo u okviru relacije (tabele) relacioni sistemi obezbeđuju transparentnost, ali ne i tranzitivnost 6

Perzistencija zasnovana na fajlovima U programskim jezicima objekte je potrebno sačuvati na fajlovima i ponovo učitavati u memoriju Transparetnostzapisa omogućava automatizaciju čuvanja i restauracije objekta, bez potrebe poznavanja detalja zapisa na disku Tranzitivnostpodrazumeva poznavanje tipa objekta u perzistentnoj memoriji Čuvanje objekata u sekvencijalnim fajlovima podrazumeva njihovi serijalizaciju 7

2. Projektovanje sloja podataka informacionih sistema 1. Razvoj relacionog modela podataka 2. Objektno-relaciono mapiranje (ORM) 3. Softverski alati za objektno-relaciono mapiranje 8

2.1 Razvoj relacionog modela podataka Klasični informacioni sistemi predstavljaju podatke odvojeno, u relacionim bazamapodataka, koje ne sadrže funkcije koje su sastavni delovi objekata Postoji bitna razlika između objektno-orijentisanog (objekti) i relacionog pogleda na podatke (n-torke) UML dijagram klasa softverskog sistema omogućava automatsko generisanje relacionebaze podataka,koja u perzistentnoj memoriji predstavlja inormacije o objektima iz radne memorije 9

Osnovne funkcije perzistencije (CRUD) Osnovne funkcije perzistencije (CRUD), koje omogućavaju postojanje i upotrebu perzistentnih objekata su: Create - kreiranje objekta Read - pronalaženje objekta (zapisa) na osnovu kriterijuma (ključ) Update - pronalaženje i ažuriranje objekata (zapisa) Delete - uklanjanje perzistentnog objekta (zapis) U praksi se uz funkcije perzistencije na istim objektma izvršavaju i druge poslovne funkcije 10

Odvajanje funkcija perzistencijei poslovne logike U praksi se funkcije (a) perzistencije objekata razdvajaju od poslovnih funkcija same aplikacije uprimeru se to realizuje kreiranjem dva zasebna objekta(b), «entity»voziloi «Table»VoziloTabela, s odgovarajućim funkcijama Vozi() i Sacuvaj() neophodna je i jedna nova upravljačka klasa, «control» MenadzerTransakcija(c) a) b) c) 11

Prilagođavanje objektnog modela Prilagođavanje objektnog modela relacionom modelu vršise 1. Projektovanjemperzistentnog sloja, koji odvaja klase sistema od sloja baze podataka 2. Mapiranjem klasa u relacije klase se preslikavaju u tabele(relacije) atributi se preslikavaju u polja tabele asocijacije i agregacije se preslikavaju u spoljašnje ključeve (FK) Atributi iz klase objekta Ime Prezime studentid Primer objekta Ivan Ivanović 123456 12

Princip mapiranje klasa u relacije Dijagram klasa klase Račun i Stavka Izdvajanje relacija atributi i kardinalnost UML notacija modela podataka klaseiatributiiz dijagrama klasa, bez operacija relacije dodaju se oznake stereotipa «Table»,«PK», «FK»,... a) Dijagram projektnih klasa b) Relacije Račun(racunID, klijentid, DatumRacuna, DatumIsporuke, Kontakt, Status) Stavka(stavkaID, proizvodid, Kolicina, JedMere, JedCena) c) UML model podataka (oznake stereotipa) 13

Primer: Mapiranjarazličitih veza u relacije Veza asocijacijepreslikava se u spoljašnji ključ Tabela Predmet Naziv Opis predmetid (PK) Tabela IzborniPredmet MAT1 Analiza 1 123456 Oznaka (PK) predmetid (FK) I_1 123456 Veza agregacijepreslikava se u spoljašnji ključ koji je deo primarnog ključa Tabela Student Ime Prezime studentid (PK) Tabela Raspored Ivan Ivanović 123456 Semestar (PK) studentid (FK)(PK) Zimski 2017 123456 14

2.2 Objektno-relaciono mapiranje (ORM) Klase i atributi Mapiranje asocijacija Mapiranje nasleđivanja 15

Klase i atributi Svaka perzistentna klasa odgovara šemi relacije [6] tip i stereotip polja određuju svojstva kolona tabele primarni ključ relacione tabele treba da bude polje koje se ne može ažurirati, najbolje da se generiše sistemski (identity, autonumberi sl.) knjigaid Autor brojstrana Cena ISBN Izdavac Naslov nastanju 10001 Artur Klark 363 800 9788652107827 Laguna Susret s Ramom 12 10002 Isak Asimov 282 700 9788677020910 Čarobna knjiga Zadužbina i carstvo 13 10003 Daglas Adams 258 670 9788683591107 Alnari Duga mračna čajanka duše 5 16

Mapiranje asocijacija Važna je multiplikativnosti veza asocijacije Ascocijacije tipa više:višenemaju posebna ograničenja, dok asocijacije tipa 1:višei 1:1zahtevaju takav primarni ključ u kome su jedna ili obe povezane kolone unikatni Asocijacije između klasa načelno odgovaraju asocijativnim tabelama relacionog modela Primarni ključ je kompozitni, sastoji se od primarnih ključeva tabela povezanih klasa Zavisno od multiplikativnosti veze, uključuje se jedan ili dva dodatna primarna ključa [6] 17

Primer: Mapiranje asocijacije više:više[6] Asocijativna tabela primarni ključ knjigaid klijentid 10001 20001 10002 20002 10003 20003 knjigaid Autor brojstrana Cena ISBN Izdavac Naslov nastanju 10001 10002 10003 Artur Klark Isak Asimov Daglas Adams 363 800 9788652107827 Laguna 282 700 9788677020910 Čarobna knjiga 258 670 9788683591107 Alnari Susret s Ramom Zadužbina i carstvo Duga mračna čajanka duše 12 13 5 klijentid Ime Prezime 20001 Petar Petrović 20002 Ana Milanović 20003 Ivan Ivanović 18

Mapiranje nasleđivanja Relacioni model direktno ne podržava nasleđivanje Može da se mapira na više načina [6], npr. a) putem tabele za svaku konkretnu klasu ili b) uvođenjem polja tip(null?) gotovinaid Iznos DatumUplate 200001 300,00 20.11.2017 200002 255,00 29.11.2017 rateid Iznos PrvaRata brojrata 200003 1.800,00 24.11.2017 12 (a) PlacanjeID Tip Iznos Datum PrvaRata brojrata 200001 gotovina 300,00 20.11.2017 200002 gotovina 255,00 29.11.2017 200003 rate 1.800,00 24.11.2017 12 (b) 19

Čuvanje i učitavanje objekata Virtuelni proxy Brokeri i materijalizacija Keširanje 20

2.3 Softverski alati za objektno-relaciono mapiranje Postoje različiti alati otvorenog koda za automatizaciju realizacije perzistencije (frameworks), npr. Hibernate je najpoznatiji okvir otvorenog koda za jezik Java NHibernate je verzija istog alata za.net jezike Entity Framework je najvažniji alat za ORM mapiranje i pristup perzistentnim objektima iz koda aplikacije razvijene u.nettehnologiji. Rad spodacima je na višem nivou apstrakcije, tako da je programski kod.net aplikacija kraći Cayeene je ORM otvorenog koda za aplikacije u jeziku Java fondacije Apache TopLink je ORM alat za jezik Javakompanije Oracle Laravel, CodeIgniteri još neki aplikativni okviri za jezik PHPimaju ORM funkcije 21

3. Strukturapodataka uprojektu informacionog sistema 1. Projekt strukture podataka 2. UML model baze podataka 22

3.1 Projekt strukture podataka Projekt strukture podataka (Data Structure Design) predstavlja deo projekta informacionog sistema Sadržaj projekta definisan je standardom IEEE 1016-2009 (IEEE Recommended Practice for Software Design Descriptions, SDD) i može da ima različite forme U izradi projekata na ovom predmetu koristiće se forma namenjena objektno orijentisanomrazvojusoftvera zasnovanom na UML modelima 23

Projekt strukture podataka u projektu informacionog sistema 1. Uvod 1.1. Cilj razvoja 1.2. Obim sistema 1.3. Rečnik 1.4. Reference 1.5. Pregled sadržaja dokumenta 2. Dijagram isporuke (Deployment Diagram) UML Dijagram realizacije/isporuke 3. Projekt arhitekture sistema (Architectural Design) UML Dijagram klasa/paketa 4. Projekt strukture podataka (Data Structure Design) UML model baze podataka 5. Projekt komponenti sistema - realizacije slučajeva korišćenja (Use Case Realizations) UML dijagram slučajeva korišćenja Slučaj korišćenja 1: Specifikacija + Dijagram(i) sekvenci/komunikacije/aktivnosti... Slučaj korišćenja n: Specifikacija + Dijagram(i) sekvenci/komunikacije/aktivnosti 6. Projekt korisničkog interfejsa (User Interface Design) 7. Ostali elementi sistema (kontrole integritesta, Help System Design) + Izvorni kod 24

3.2 UML model baze podataka 4. Projekt strukture podataka Struktura perzistentog sloja informacionog sistema prikazuje se pomoću UML modela podataka u obliku konceptualnog dijagrama klasa/paketa (primer: model podataka aplikacije e-trgovine) 25

4. Primer modela podataka trivijalne ASP.NET aplikacije 1. Početak: namena i funkcije aplikacije 2. Prikaz arhitekture aplikacije 3. Model baze podataka aplikacije (UML) 26

4.1 Početak: namena i funkcije aplikacije Namena: Veb anketa prikaz osnovnih podataka o nekompitanju (npr. ekskurziji), online glasanjeučesnikai prikaz rezultata ankete Funkcije 1. Prijava- prijava korisnika 2. Potvrda -provera ispravnosti prijave i potvrda 3. Rezime-pregled odgovora na anketu 4. Ažururanje-ažuriranje spiska učesnika 27

4.2 Prikaz arhitekture aplikacije Standardna višeslojna arhitektura aplikacije jedna granična klasa WebAnketaForma jedna entitetska klasa WebAnketa jedna perzistentnaklasa Anketa Detalji UML modela razrađuju se u drugim poglavljima projekta 28

4.3 Model baze podataka aplikacije (UML) Klasa Anketau perzistentnoj memoriji povezana je s entitetskom klasom WebAnketa namespace WebAnketa { public class KlijentOdgovor { public string Ime { get; set; } public string Prezime { get; set; } public string eadresa { get; set; } public string Telefon { get; set; } public bool? Odgovor { get; set; } } } Treba još dodati upravljačku klasu 29

5. Brzi razvoj prototipa aplikacije pomoću sistema Visual Studio 2010 1.Kreiranje SQL baze podataka 2.Kreiranje kataloga proizvoda 30

5.1 Kreiranje SQL baze podataka 1. Kreiranje konekcije 2. Kreiranje nove baze podataka 3. Kreiranje tabela 4. Kreiranje relacija 5. Direktni unos podataka u tabele

5.1.1 Kreiranje konekcije

5.1.2 Kreiranje nove baze podataka

5.1.3 Kreiranje tabela

5.1.4 Kreiranje relacija (1/4)

Kreiranje relacija (2/4)

Kreiranje relacija (3/4)

Kreiranje relacija (4/4)

5.1.5 Direktni unos podataka u tabele

5.2 Kreiranje kataloga proizvoda 1. Lista proizvoda pomoću Grid View kontrole 2. Prikaz slika proizvoda

5.2.1 Lista proizvoda pomoću Grid View kontrole Osnova je GridViewlista proizvoda Tabela Proizvodse proširuje tekstualnim poljem Slika koje čuva putanju slike Kontrola GridViewse dopuni slikama sa foldera dodaje se tekstualna kolona Slika

5.2.2 Prikaz slika proizvoda Kontroli GridView se dodaje polje za prikaz slika s foldera dodaje se tekstualna kolona Slika? funkcijom Edit Columns, dodaje se druga kolona Slika tipa ImageField vrednost svojstva DataImageUrlField se postavlja na naziv originalnog polja iz tabele briše se stara tekst kolona Slika

Literatura 1. Miškovic V., Projektovanje informacionih sistema(predavanja), Univerzitet Singidunum, 2018 2. Sommerville I., Software Engineering, 10th Ed, Pearson Education, 2016 3. Bruegge B., Dutoit A. H., Object-Oriented Software Engineering Using UML, Patterns, and Java, Prentice Hall, 2010 4. Schach S.R., Object-oriented Software Engineering, McGraw-Hill, 2008 5. Alagić S., Software Engineering: Specification, Implementation, Verification, Springer, 2017 6. Wazlawick R. S., Object-oriented Analysis and Design for Information Systems, Elsevier Inc, 2014 7. Unhelkar B., Software Engineering with UML, 1st Ed, Auerbach Publications, 2017 8. Priručnici za programske alate i Veb reference 43

dr Vladislav Miškovic Projektovanje informacionih sistema Tema 9: Projektovanje sloja podataka informacionih sistema Pitanja? 44