razvoj bp i informacionih sistema · –projekat konceptualne šeme –projekat eksternih šema...
TRANSCRIPT
IS – Konceptualno projektovanje
Konceptualno projektovanje
Razvoj BP i informacionih sistema
Informacioni sistemi
IS – Konceptualno projektovanje 2 / 99
Sadržaj
• Konceptualno projektovanje
• Konceptualno projektovanje BP
• Projektovanje eksternih šema
• Integracija eksternih šema
• Konceptualno projektovanje softvera
IS – Konceptualno projektovanje 3 / 99
Konceptualno projektovanje
• Konceptualno projektovanje baze podataka
– projekat konceptualne šeme
– projekat eksternih šema
• Konceptualno projektovanje aplikativne
softverske podrške
– konceptualni projekat transakcionih programa
– konceptualni projekat aplikacija IS
IS – Konceptualno projektovanje 4 / 99
Sadržaj
• Konceptualno projektovanje
• Konceptualno projektovanje BP
• Projektovanje eksternih šema
• Integracija eksternih šema
• Konceptualno projektovanje softvera
IS – Konceptualno projektovanje 5 / 99
Konceptualno projektovanje BP
• Konceptualno projektovanje BP
– putem modela podataka koji poseduje
• semantičko bogatstvo
• izražajnost
• jednostavnost
• minimalnost
• dijagramsku reprezentaciju
• formalnost
– pogodan izbor
Prošireni model tipova entiteta i
poveznika
(Extended Entity Relationship Model)
IS – Konceptualno projektovanje 6 / 99
Konceptualno projektovanje BP
• Konceptualno projektovanje BP - pristupi
– direktni postupak
– postupak postupne integracije
IS – Konceptualno projektovanje 7 / 99
Konceptualno projektovanje BP
• Direktni postupak projektovanja šeme BP
– direktno se formira konceptualna šema BP
• na osnovu specificiranih korisničkih zahteva
– iz konceptualne šeme izdvajaju se potrebne eksterne
šeme
– primeren u slučaju projektovanja šema BP manjeg
obima
IS – Konceptualno projektovanje 8 / 99
Konceptualno projektovanje BP
• Postupak postupne integracije šeme BP
– projektovanje eksternih šema
– integracija eksternih šema
• specifikacija objedinjene konceptualne šeme BP
– primenjuje se pri projektovanju šema BP većeg obima
IS – Konceptualno projektovanje 9 / 99
Sadržaj
• Konceptualno projektovanje
• Konceptualno projektovanje BP
• Projektovanje eksternih šema
• Integracija eksternih šema
• Konceptualno projektovanje softvera
IS – Konceptualno projektovanje 10 / 99
Projektovanje eksternih šema
• Iterativni postupak
– dolazak do potrebnog nivoa detalja u projektu u više
prolaza
• Može se realizovati kao
– postupak s vrha ka dnu (“top-down”)
– postupak s dna ka vrhu (“bottom-up”)
– kombinacija prethodna dva postupka
IS – Konceptualno projektovanje 11 / 99
Projektovanje eksternih šema
• Ulazne specifikacije postupka
– specifikacije korisničkih zahteva
– specifikacije arhitekture razvijanog IS
• model funkcionalne strukture IS
– business architecture viewpoint
• model toka podataka IS
– data architecture viewpoint
IS – Konceptualno projektovanje 12 / 99
Projektovanje eksternih šema
• Postupak s vrha ka dnu (“top-down”)
– projektuje se prva verzija eksterne šeme
• koriste se koncepti na visokom nivou apstrakcije
– nivo naziva TE i TP
– verzije se iterativno modifikuju i specijalizuju
• kardinaliteti TP
• skupovi obeležja TE i TP i njihovi domeni
• ključevi TE
• integriteti pojave tipa i integriteti domena
• uloge tipova u eksternoj šemi
• skupovi obeležja za modifikaciju tipova u eksternoj šemi
IS – Konceptualno projektovanje 13 / 99
Projektovanje eksternih šema
• Postupak s vrha ka dnu (“top-down”)
– primena postupka integracije može dovesti do novih
modifikacija eksterne šeme
– konačna verifikacija eksterne šeme
• vrši se pri projektovanju transakcionih programa koji treba da
rade nad posmatranom eksternom šemom
IS – Konceptualno projektovanje 14 / 99
Demo primer - DTP/P1.1.
KUPAC
ZAL ZALIHE
KUP EVIDENCIJA
KUPACA
Porudžbina
Rezervacija robe
Analiza porudžbine
i izrada naloga za
otpremu
REFERENT PROD.
1.1.2. NALOG
Provera kupca i
evidentiranje
porudžbine
REFERENT PROD.
1.1.1.PORUDŽBINA
Izveštaj o bonit.
Novi kup.
Kupac
POR PORUDŽBINA
Izveštaj o mogućnosti
isporuke
Neobrađena porudžbina
Obrađena porudžbina
NZO NALOG ZA
OTPREMU
IS – Konceptualno projektovanje 15 / 99
Eksterna šema 1.1. PORNAL
Kupac
Narudžbina
Nalog_za_otpremu
Šalje
Inicira
Upućuje_se_u
Proverava_se Stanje_zaliha
Skladište
IS – Konceptualno projektovanje 16 / 99
Eksterna šema 1.1. PORNAL
• Dalja analiza
– postoji više osnova za izradu naloga za otpremu
• stvarna porudžbina, dugogodišnji ugovor, usmeni dogovor, a
ne samo porudžbina
– odluka da se u BP ne memorišu porudžbine
– rezervacija robe na zalihama nije pokrivena
– zalihe predstavljaju tip poveznika između robe i
skladišta
IS – Konceptualno projektovanje 17 / 99
Eksterna šema 1.1. PORNAL
• Dalja analiza
– nalog za otpremu se pravi za poznatog kupca
– nalog za otpremu se realizuje uvek iz jednog skladišta
– nalog za otpremu sadrži zaglavlje i stavke
– svaka stavka se odnosi na tačno jednu robu sa zaliha
IS – Konceptualno projektovanje 18 / 99
Eksterna šema 1.1. PORNAL
Kupac
Zag_naloga Pravi_se_za
Stav_naloga
Upućuje_se_u
Rezervacija
Roba
Skladište
Zaliha (1, N)
(0, N)
(1, 1) (0, N)
(1, 1)
(0, N)
(0, N)
(1, N)
(0, N) (0, N)
IS – Konceptualno projektovanje 19 / 99
Eksterna šema 1.1. PORNAL
• Kontrola kvaliteta
– verifikacija izrađene specifikacije
– utvrđuje da kardinaliteti tipova poveznika nisu urađeni
po usvojenom internom standardu
– treba ih napisati upravo obrnuto
– sačinjava se zapis o kvalitetu i daje nalog projektantu
da to izmeni
IS – Konceptualno projektovanje 20 / 99
Eksterna šema 1.1. PORNAL
Kupac
Zag_naloga Pravi_se_za
Stav_naloga
Upućuje_se_u
Rezervacija
Roba
Skladište
Zaliha (0, N)
(0, N)
(1, 1)
(0, N)
(1, 1) (0, N)
(0, N)
(0, N)
(1, N) (1, N)
IS – Konceptualno projektovanje 21 / 99
Eksterna šema 1.1. PORNAL
• Dalja analiza
– tipovi poveznika Rezervacija i Stav_naloga nose
identičnu informaciju
– nalog za otpremu identifikuje se preko svog broja i
preko oznake skladišta za koje se formira
– nalog za otpremu identifikaciono je zavisan od
skladišta
IS – Konceptualno projektovanje 22 / 99
Eksterna šema 1.1. PORNAL
Kupac
Zag_naloga Pravi_se_za
Stav_naloga
Roba
Skladište
Zaliha
(0, N)
(1, 1)
(0, N)
(0, N)
(0, N)
(0, N)
(1, N)
Upućuje_se_u
IS – Konceptualno projektovanje 23 / 99
Eksterna šema 1.1. PORNAL
• Detaljizacija ("profinjavanje") modela - kreiranje
– skupova obeležja tipova i njihovih domena
– ključeva tipova
– integriteta pojave tipa i integriteta domena
– uloga tipova u eksternoj šemi
– skupova obeležja za modifikaciju tipova u eksternoj
šemi
IS – Konceptualno projektovanje 24 / 99
Eksterna šema 1.1. PORNAL
Kupac Domen Uslov Null Predef
CeoBroj 100 IDK 9999 IDK
Mchr NAK
{IDK} Ključevi
{r, i, d, m} Uloge
{NAK, ADR, BON} Za modif.
Lchr ADR
CeoBroj 0 BON 5 5 BON
IS – Konceptualno projektovanje 25 / 99
Eksterna šema 1.1. PORNAL
Skladište Domen Uslov Null Predef
CeoBroj 10 IDS 99 IDS
Schr T NAS
{IDS} Ključevi
{r} Uloge
{} Za modif.
IS – Konceptualno projektovanje 26 / 99
Eksterna šema 1.1. PORNAL
Roba Domen Uslov Null Predef
CeoBroj IDR 500 000 IDR
Mchr NAR
{IDR} Ključevi
{r} Uloge
{} Za modif.
Schr JEM
IS – Konceptualno projektovanje 27 / 99
Eksterna šema 1.1. PORNAL
Zaliha Domen Uslov Null Predef
DecBroj 0 RAS RAS
{IDS+IDR} Ključevi
{r, m} Uloge
{RAS} Za modif.
IS – Konceptualno projektovanje 28 / 99
Eksterna šema 1.1. PORNAL
Zag_naloga Domen Uslov Null Predef
CeoBroj 100000 BRN 199999 BRN
Schr OSN Ugo, Por T Por OSN
{IDS+BRN} Ključevi
{r, i, d, m} Uloge
{OSN} Za modif.
Schr STN Real, Nere Nere STN
IS – Konceptualno projektovanje 29 / 99
Eksterna šema 1.1. PORNAL
Pravi_se_za Domen Uslov Null Predef
CeoBroj IDK
{IDS+BRN} Ključevi
{r, i, d, m} Uloge
{IDK} Za modif.
IS – Konceptualno projektovanje 30 / 99
Eksterna šema 1.1. PORNAL
Upućuje_se_u Domen Uslov Null Predef
CeoBroj IDS
{IDS+BRN} Ključevi
{r, i, d} Uloge
{} Za modif.
IS – Konceptualno projektovanje 31 / 99
Eksterna šema 1.1. PORNAL
Stav_naloga Domen Uslov Null Predef
DecBroj 0 KOL 999.99 KOL
Schr STA Rez, Ispor Rez STA
{IDS+BRN+IDR} Ključevi
{r, i, d, m} Uloge
{KOL} Za modif.
IS – Konceptualno projektovanje 32 / 99
Eksterna šema 1.1. PORNAL
Domen Tip Dužina Uslov Predef
Integer 6 CeoBroj
String 15 Schr
String 30 Mchr
Decimal (10, 4) DecBroj
String 60 Lchr
IS – Konceptualno projektovanje 33 / 99
Eksterna šema 1.1. PORNAL
Kupac
Zag_naloga Pravi_se_za
Stav_naloga
Roba
Skladište
Zaliha
(0, N)
(1, 1)
(0, N)
(0, N)
(0, N)
(0, N)
(1, N)
IDK NAK ADR BON NAS IDS
BRN
OSN
STN
IDR
NAR
JEM
KOL
STA
RAS
Upućuje_se_u
IS – Konceptualno projektovanje 34 / 99
Demo primer - DTP/P1.2.
KUPAC
OTP OTPREMNICA
Realizovan nalog
Ažurirano stanje zaliha
Otpremnica
Izdavanje
otpremnice
SKLADIŠTAR
1.2.2.OTPREMNICA
Izdavanje robe i
ažuriranje zaliha
SKLADIŠTAR
1.2.1. IZDAVANJE
NZO NALOG ZA
OTPREMU
ZAL ZALIHE Nerealizovan nalog
IS – Konceptualno projektovanje 35 / 99
Eksterna šema 1.2. IZDROB
Kupac
Otpremnica Prima
Briše
Pretvara_se_u
Rezervisana_roba
Nalog_za_Otpremu
(0, N)
(1, 1)
(0, 1)
(1, 1)
(0, N)
(0, N)
(1, N)
(1, 1)
Menja
Stanje_zaliha
(0, N)
(1, N)
Pravi_se_za
Skladište
IS – Konceptualno projektovanje 36 / 99
Eksterna šema 1.2. IZDROB
• Usaglašavanje ovog rešenja s eksternom
šemom 1.1. PORNAL
– projektant ove eksterne šeme uočio je da je
neophodno usaglašavanje rešenje ove eksterne
šeme s eksternom šemom 1.1. PORNAL
– izvršio je usaglašavanja formirao "konačno" rešenje
eksterne šeme za izdavanje otpremnice
IS – Konceptualno projektovanje 37 / 99
Eksterna šema 1.2. IZDROB
Kupac
Zag_naloga
Pravi_se_za
Upućuje_se_u
Roba
Skladište
Zaliha
(0, N)
(1, 1)
(0, N)
(0, N)
(0, N)
(0, N)
(1, N) Formira_se_za
(0, N)
Zag_otprem
Prima (0, N)
(1, 1)
Postaje (0, N) (1, 1)
Stav_naloga (0, N)
(1, N)
Stav_otprem
IS – Konceptualno projektovanje 38 / 99
Eksterna šema 1.2. IZDROB
Kupac Domen Uslov Null Predef
CeoBroj 100 IDK 9999 IDK
Mchr T NAK
{IDK} Ključevi
{r} Uloge
{} Za modif.
Lchr ADR
IS – Konceptualno projektovanje 39 / 99
Eksterna šema 1.2. IZDROB
Skladište Domen Uslov Null Predef
CeoBroj 10 IDS 99 IDS
Schr T NAS
{IDS} Ključevi
{r} Uloge
{} Za modif.
IS – Konceptualno projektovanje 40 / 99
Eksterna šema 1.2. IZDROB
Roba Domen Uslov Null Predef
CeoBroj IDR 500 000 IDR
Mchr NAR
{IDR} Ključevi
{r} Uloge
{} Za modif.
Schr JEM
IS – Konceptualno projektovanje 41 / 99
Eksterna šema 1.2. IZDROB
Zaliha Domen Uslov Null Predef
DecBroj 0 ZAL ZAL
{IDS+IDR} Ključevi
{r, m} Uloge
{ZAL} Za modif.
IS – Konceptualno projektovanje 42 / 99
Eksterna šema 1.2. IZDROB
Zag_naloga Domen Uslov Null Predef
CeoBroj 100000 BRN 199999 BRN
Schr OSN Ugo, Por T Por OSN
{IDS+BRN} Ključevi
{r, m} Uloge
{STN} Za modif.
Schr STN Real, Nere Real STN
IS – Konceptualno projektovanje 43 / 99
Eksterna šema 1.2. IZDROB
Pravi_se_za Domen Uslov Null Predef
CeoBroj IDK
{IDS+BRN} Ključevi
{r} Uloge
{} Za modif.
IS – Konceptualno projektovanje 44 / 99
Eksterna šema 1.2. IZDROB
Upućuje_se_u Domen Uslov Null Predef
CeoBroj IDS
{IDS+BRN} Ključevi
{r} Uloge
{} Za modif.
IS – Konceptualno projektovanje 45 / 99
Eksterna šema 1.2. IZDROB
Stav_naloga Domen Uslov Null Predef
DecBroj 0 KOL 9999.99 KOL
Schr STA Rez, Ispor Rez STA
{IDS+BRN+IDR} Ključevi
{r, m} Uloge
{STA} Za modif.
IS – Konceptualno projektovanje 46 / 99
Eksterna šema 1.2. IZDROB
Zag_otprem Domen Uslov Null Predef
CeoBroj 200000 BRO 299999 BRO
{IDS+BRO} Ključevi
{r, i, d} Uloge
{} Za modif.
IS – Konceptualno projektovanje 47 / 99
Eksterna šema 1.2. IZDROB
Prima Domen Uslov Null Predef
CeoBroj IDK
{IDS+BRO} Ključevi
{r, i, d, m} Uloge
{IDK} Za modif.
IS – Konceptualno projektovanje 48 / 99
Eksterna šema 1.2. IZDROB
Formira_se_za Domen Uslov Null Predef
CeoBroj IDS
{IDS+BRO} Ključevi
{r, i, d} Uloge
{} Za modif.
IS – Konceptualno projektovanje 49 / 99
Eksterna šema 1.2. IZDROB
Postaje Domen Uslov Null Predef
CeoBroj BRN
{IDS+BRO} Ključevi
{r, i, d, m} Uloge
{BRN} Za modif.
IS – Konceptualno projektovanje 50 / 99
Eksterna šema 1.2. IZDROB
Stav_otprem Domen Uslov Null Predef
{IDS+BRO+IDR} Ključevi
{r, i, d, m} Uloge
{KOL} Za modif.
DecBroj 0 KOL 9999.99 KOL
IS – Konceptualno projektovanje 51 / 99
Eksterna šema 1.2. IZDROB
Domen Tip Dužina Uslov Predef
Integer 6 CeoBroj
String 15 Schr
String 30 Mchr
Decimal (10, 4) DecBroj
String 60 Lchr
IS – Konceptualno projektovanje 52 / 99
Eksterna šema 1.2. IZDROB
Kupac
Zag_naloga
Pravi_se_za
Upućuje_se_u
Roba
Skladište
Zaliha
(0, N)
(1, 1)
(0, N)
(0, N)
(0, N)
(0, N)
(1, N)
Formira_se_za (0, N)
Zag_otprem
Prima (0, N)
(1, 1)
Postaje (0, N) (1, 1)
Stav_naloga (0, N)
(1, N)
Stav_otprem
IDK NAK ADR BON
NAS IDS
KOL
STA
ZAL
KOL
BRN
OSN
STN
IDR
NAR JEM
BRO
IS – Konceptualno projektovanje 53 / 99
Sadržaj
• Konceptualno projektovanje
• Konceptualno projektovanje BP
• Projektovanje eksternih šema
• Integracija eksternih šema
• Konceptualno projektovanje softvera
IS – Konceptualno projektovanje 54 / 99
Integracija eksternih šema
• Vrši se analizom njihove semantike (sadržaja) i
struktura u cilju
– otkrivanja kolizija
– otklanjanja kolizija, modifikacijama eksternih šema
– konačne integracije u objedinjenu konceptualnu šemu
BP
IS – Konceptualno projektovanje 55 / 99
Integracija eksternih šema
• Tipovi kolizija
– kolizija imenovanja
• sinonimi i homonimi
– kolizija tipa
• predstavljanje istih realnih objekata putem različitih
koncepata
– kolizija kardinaliteta
• neusaglašenost kardinaliteta istih tipova poveznika
IS – Konceptualno projektovanje 56 / 99
Integracija eksternih šema
• Tipovi kolizija
– kolizija primarnih ključeva
• neusaglašenost primarnih ključeva istih tipova
– kolizija sadržavanja obeležja
• ista obeležja u različitim tipovima
– kolizija integriteta pojave tipa
• neusaglašenost integriteta pojave tipa istih tipova
IS – Konceptualno projektovanje 57 / 99
Eksterna šema 1.1. PORNAL
Kupac
Zag_naloga
Pravi_se_za
Stav_naloga
Upućuje_se_u
Roba
Skladište
Zaliha
(0, N)
(1, 1)
(0, N)
(0, N)
(0, N)
(0, N)
(1, N)
IS – Konceptualno projektovanje 58 / 99
Eksterna šema 1.2. IZDROB
Kupac
Zag_naloga
Pravi_se_za
Upućuje_se_u
Roba
Skladište
Zaliha
(0, N)
(1, 1)
(0, N)
(0, N)
(0, N)
(0, N)
(1, N) Formira_se_za
(0, N)
Zag_otprem
Prima (0, N)
(1, 1)
Postaje (0, N) (1, 1)
Stav_naloga (0, N)
(1, N)
Stav_otprem
IS – Konceptualno projektovanje 59 / 99
Integracija eksternih šema
• Analiza eksternih šema
– 1.1. PORNAL
– 1.2. IZDROB
• Kolizije imenovanja - OTKLONJENE
• Kolizije tipa - OTKLONJENE
• Kolizije kardinaliteta - OTKLONJENE
IS – Konceptualno projektovanje 60 / 99
Eksterna šema 1.1. PORNAL
Kupac
Zag_naloga Pravi_se_za
Stav_naloga
Upućuje_se_u
Roba
Skladište
Zaliha
(0, N)
(1, 1)
(0, N)
(0, N)
(0, N)
(0, N)
(1, N)
IDK NAK ADR BON NAS IDS
BRN
OSN
STN
IDR
NAR
JEM
KOL
STA
RAS
IS – Konceptualno projektovanje 61 / 99
Eksterna šema 1.2. IZDROB
Kupac
Zag_naloga
Pravi_se_za
Upućuje_se_u
Roba
Skladište
Zaliha
(0, N)
(1, 1)
(0, N)
(0, N)
(0, N)
(0, N)
(1, N)
Formira_se_za (0, N)
Zag_otprem
Prima (0, N)
(1, 1)
Postaje (0, N) (1, 1)
Stav_naloga (0, N)
(1, N)
Stav_otprem
IDK NAK ADR BON
NAS IDS
KOL
STA
ZAL
KOL
BRN
OSN
STN
IDR
NAR JEM
BRO
IS – Konceptualno projektovanje 62 / 99
Integracija eksternih šema
• Analiza eksternih šema
– 1.1. PORNAL
– 1.2. IZDROB
• Kolizije primarnih ključeva
- OTKLONJENE
• Kolizije sadržavanja obeležja
– Stav_naloga sadrži KOL
– Stav_otprem sadrži KOL
KOLIZIJA!
IS – Konceptualno projektovanje 63 / 99
Integracija eksternih šema
• Mogući ishodi kolizije - zavise od pravila
poslovanja
– (A)
• stavkom otpremnice može se realizovati i samo jedan deo
količine, specificirane stavkom naloga za otpremu, a ne mora
se realizovati i celokupna naznačena količina
– (B)
• stavkom otpremnice mora se realizovati samo celokupna
naznačena količina na stavci naloga
IS – Konceptualno projektovanje 64 / 99
Integracija eksternih šema
• (A)
– KOL na Stav_otprem i Stav_naloga su dva različita
obeležja (homonim)
• (B)
– KOL na Stav_otprem je suvišan, jer na odgovarajućoj
stavci naloga postoji već naznačena količina
• Nedostaje tip poveznika koji označava da
Stav_otprem referencira Stav_naloga
IS – Konceptualno projektovanje 65 / 99
Integracija eksternih šema
• Analiza pravila poslovanja relanog sistema
• Izabira se ishod (B)
• Projektant eksterne šeme 1.2. IZDROB vrši
potrebne izmene
– eliminiše obeležje KOL
– uvodi novi tip poveznika između Stav_otprem i
Stav_naloga
IS – Konceptualno projektovanje 66 / 99
Eksterna šema 1.2. IZDROB
Kupac
Zag_naloga
Pravi_se_za
Upućuje_se_u
Roba
Skladište
Zaliha
(0, N)
(1, 1)
(0, N)
(0, N)
(0, N)
(0, N)
(1, N) Formira_se_za
(0, N)
Zag_otprem
Prima (0, N)
(1, 1)
Postaje (0, N) (1, 1)
Stav_naloga (0, N)
(1, N)
Stav_otprem
Pretvara_se_u
(0, 1) (1, 1)
IS – Konceptualno projektovanje 67 / 99
Eksterna šema 1.2. IZDROB
Stav_otprem Domen Uslov Null Predef
{IDS+BRO+IDR} Ključevi
{r, i, d} Uloge
{} Za modif.
IS – Konceptualno projektovanje 68 / 99
Eksterna šema 1.2. IZDROB
Pretvara_se_u Domen Uslov Null Predef
{IDS+BRO+IDR+BRN} Ključevi
{r, i, d} Uloge
{} Za modif.
IS – Konceptualno projektovanje 69 / 99
Integracija eksternih šema
• Analiza eksternih šema
– 1.1. PORNAL
– 1.2. IZDROB
• Kolizije sadržavanja obeležja
- OTKLONJENE
• Kolizije integriteta pojave tipa
DETEKTOVANE!
IS – Konceptualno projektovanje 70 / 99
Integracija eksternih šema
• 1.1. PORNAL
Kupac Domen Uslov Null Predef
Mchr NAK
{r, i, d, m} Uloge
Kupac Domen Uslov Null Predef
Mchr T NAK
{r} Uloge
• 1.2. IZDROB
IS – Konceptualno projektovanje 71 / 99
Integracija eksternih šema
• 1.1. PORNAL
Stav_naloga Domen Uslov Null Predef
DecBroj 0 KOL 999.99 KOL
Stav_naloga Domen Uslov Null Predef
DecBroj 0 KOL 9999.99 KOL
{r, i, d, m} Uloge
{r, m} Uloge
• 1.2. IZDROB
IS – Konceptualno projektovanje 72 / 99
Integracija eksternih šema
• 1.1. PORNAL
Schr STN Real, Nere Real STN
Schr STN Real, Nere Nere STN
Zag_naloga Domen Uslov Null Predef
{r, i, d, m} Uloge
Zag_naloga Domen Uslov Null Predef
{r, m} Uloge
• 1.2. IZDROB
IS – Konceptualno projektovanje 73 / 99
Integracija eksternih šema
• Analiza eksternih šema
– 1.1. PORNAL
– 1.2. IZDROB
• Kolizije sadržavanja obeležja
- OTKLONJENE
• Kolizije integriteta pojave tipa
- OTKLONJENE
IS – Konceptualno projektovanje 74 / 99
Konceptualna šema BP
Kupac
Zag_naloga
Pravi_se_za
Upućuje_se_u
Roba
Skladište
Zaliha
(0, N)
(1, 1)
(0, N)
(0, N)
(0, N)
(0, N)
(1, N) Formira_se_za
(0, N)
Zag_otprem
Prima (0, N)
(1, 1)
Postaje (0, N) (1, 1)
Stav_naloga (0, N)
(1, N)
Stav_otprem
Pretvara_se_u
(0, 1) (1, 1)
IS – Konceptualno projektovanje 75 / 99
Konceptualna šema BP
Kupac Domen Uslov Null Predef
CeoBroj 100 IDK 9999 IDK
Mchr NAK
{IDK} Ključevi
Lchr ADR
CeoBroj 0 BON 5 5 BON
IS – Konceptualno projektovanje 76 / 99
Konceptualna šema BP
Skladište Domen Uslov Null Predef
CeoBroj 10 IDS 99 IDS
Schr T NAS
{IDS} Ključevi
IS – Konceptualno projektovanje 77 / 99
Konceptualna šema BP
Roba Domen Uslov Null Predef
CeoBroj IDR 500 000 IDR
Mchr NAR
{IDR} Ključevi
Schr JEM
IS – Konceptualno projektovanje 78 / 99
Konceptualna šema BP
Zaliha Domen Uslov Null Predef
DecBroj 0 RAS RAS
{IDS+IDR} Ključevi
DecBroj 0 ZAL ZAL
IS – Konceptualno projektovanje 79 / 99
Konceptualna šema BP
Zag_naloga Domen Uslov Null Predef
CeoBroj 100000 BRN 199999 BRN
Schr OSN Ugo, Por T Por OSN
{IDS+BRN} Ključevi
Schr STN Real, Nere Nere STN
IS – Konceptualno projektovanje 80 / 99
Konceptualna šema BP
Pravi_se_za Domen Uslov Null Predef
CeoBroj IDK
{IDS+BRN} Ključevi
IS – Konceptualno projektovanje 81 / 99
Konceptualna šema BP
Upućuje_se_u Domen Uslov Null Predef
CeoBroj IDS
{IDS+BRN} Ključevi
IS – Konceptualno projektovanje 82 / 99
Konceptualna šema BP
Stav_naloga Domen Uslov Null Predef
DecBroj 0 KOL 999.99 KOL
Schr STA Rez, Ispor Rez STA
{IDS+BRN+IDR} Ključevi
IS – Konceptualno projektovanje 83 / 99
Konceptualna šema BP
Zag_otprem Domen Uslov Null Predef
CeoBroj 200000 BRO 299999 BRO
{IDS+BRO} Ključevi
IS – Konceptualno projektovanje 84 / 99
Konceptualna šema BP
Prima Domen Uslov Null Predef
CeoBroj IDK
{IDS+BRO} Ključevi
IS – Konceptualno projektovanje 85 / 99
Konceptualna šema BP
Formira_se_za Domen Uslov Null Predef
CeoBroj IDS
{IDS+BRO} Ključevi
IS – Konceptualno projektovanje 86 / 99
Konceptualna šema BP
Postaje Domen Uslov Null Predef
CeoBroj BRN
{IDS+BRO} Ključevi
IS – Konceptualno projektovanje 87 / 99
Konceptualna šema BP
Stav_otprem Domen Uslov Null Predef
{IDS+BRO+IDR} Ključevi
IS – Konceptualno projektovanje 88 / 99
Konceptualna šema BP
Pretvara_se_u Domen Uslov Null Predef
{IDS+BRO+IDR+BRN} Ključevi
IS – Konceptualno projektovanje 89 / 99
Konceptualna šema BP
Domen Tip Dužina Uslov Predef
Integer 6 CeoBroj
String 15 Schr
String 30 Mchr
Decimal (10, 4) DecBroj
String 60 Lchr
IS – Konceptualno projektovanje 90 / 99
Sadržaj
• Konceptualno projektovanje
• Konceptualno projektovanje BP
• Projektovanje eksternih šema
• Integracija eksternih šema
• Konceptualno projektovanje softvera
IS – Konceptualno projektovanje 91 / 99
Konceptualno projektovanje softvera
• Aktivnosti
– konceptualno projektovanje transakcionih programa
• izrada PIM modela transakcionih programa
• specifikacija korisničkog interfejsa
• specifikacija (referenciranje) eksterne šeme
• specifikacija funkcionalnosti (logike) programa
– konceptualno projektovanje aplikacija IS
• specifikacija naziva i strukture aplikacije IS
IS – Konceptualno projektovanje 92 / 99
Konceptualno projektovanje softvera
• Transakcija
– najmanja jedinica obrade podataka, takva da
• prevodi BP iz jednog u drugo (ne nužno različito)
konzistentno stanje, s obzirom na implementirana
ograničenja
• sadrži operacije upita ili/i operacije ažuriranja podataka u BP
– efekti izvođenja transakcije se, na kraju, u celosti
• potvrđuju (COMMIT) i tada postaju vidljivi ostalim korisnicima
u sistemu, ili
• poništavaju (ROLLBACK) i ostavljaju obrađivani deo BP u
stanju kakvo je važilo neposredno pre početka njenog
izvođenja
IS – Konceptualno projektovanje 93 / 99
Konceptualno projektovanje softvera
• Transakcioni program
– program koji sadrži formalni opis jedne ili više
transakcija
– jedno izvršenje transakcionog programa može
pokrenuti neke, ili sve od formalno opisanih
transakcija
IS – Konceptualno projektovanje 94 / 99
Konceptualno projektovanje softvera
• Konceptualno projektovanje transakcionih programa – vrši se na osnovu
• modela procesa poslovanja
• modela tokova podataka
• eksternih šema
– kreiraju se (formalne) specifikacije visokog nivoa • putem namenski kreiranih jezika
– jedan mogući dijagramski način formalnog specificiranja logike programa (“jezik” visokog nivoa)
STRUKTURNI DIJAGRAMI
IS – Konceptualno projektovanje 95 / 99
Primer strukturnog dijagrama
FORMIRANJE NALOGA ZA
OTPREMU ROBE
PROVERA KUPCA
kupac ok
FORMIRANJE
NALOGA
FORMIRANJE
ZAGLAVLJA
PROVERA
ZALIHE
AŽURIRANJE
ZALIHE
FORMIRANJE
STAVKE
nalog ok
ids, idk
idr, kol ok idr, kol
idr, kol
IS – Konceptualno projektovanje 96 / 99
Konceptualno projektovanje softvera
• Ciljevi konceptualnog projektovanja
transakcionih programa
– formiranje PIM modela transakcionih programa
– obezbeđivanje podloge za implementaciono
projektovanje transakcionih programa
– verifikacija korektnosti eksternih šema
IS – Konceptualno projektovanje 97 / 99
Konceptualno projektovanje softvera
• Aplikacija
– skup transakcionih programa, snabdeven strukturom
– namenjen za izvršavanje na jednom tipu radnog
mesta
• od strane grupe korisnika sa sličnim ili istim zahtevima
• Konceptualno projektovanje aplikacija IS
– izrada PIM modela aplikacija IS
– definisanje naziva i sadržaja aplikacije
• specifikacija skupa transakcionih programa koji čine
aplikaciju
• specifikacija veza između transakcionih programa
– specifikacija prava pristupa na nivou uloga korisnika
IS – Konceptualno projektovanje 98 / 99
Konceptualno projektovanje softvera
• Konceptualno projektovanje aplikativne
softverske podrške
– važna aktivnost u cilju obezbeđenja dugovečnosti
aplikacija IS
– u MDSD pristupu, praktično nezaobilazna
– u praksi, nažalost, često se u potpunosti izostavlja
• jer se, na prvi pogled, čini nepotrebnom
• u takvoj situaciji, verifikacija eksternih šema putem programa
ostavlja se za fazu implementacionog projektovanja softvera
• dugoročne negativne posledice, nažalost, mogu biti ozbiljne
• efekti takvog pristupa ne primećuju se odmah, već nakon
proteka dužeg perioda vremena
– često merenog barem jednom godinom, ili dužim nizom godina
IS – Konceptualno projektovanje 99 / 99
Sadržaj
• Konceptualno projektovanje
• Konceptualno projektovanje BP
• Projektovanje eksternih šema
• Integracija eksternih šema
• Konceptualno projektovanje softvera
IS – Konceptualno projektovanje
Konceptualno projektovanje
Informacioni sistemi
Razvoj BP i informacionih sistema