Professional Documents
Culture Documents
Projektovanje Informacionih Sistema - Odabrana Poglavlja
Projektovanje Informacionih Sistema - Odabrana Poglavlja
ODABRANA POGLAVLJA
PROJEKTOVANJA INFORMACIONIH
SISTEMA
Autori:
SADRAJ:
1. UVOD U INFORMACIONE SISTEME
1.1. DEFINICIJE OSNOVNIH POJMOVA
1.2. OSNOVNI ZAKONI OPTE TEORIJE SISTEMA
1.3. KLASIFIKACIJE SISTEMA
1.4. SISTEMSKI MODEL
1.5. METODA MODELOVANJA
1.6. MODEL UPRAVLJANJA KOMPLEKSNIM SISTEMIMA
1.7. SISTEMSKA ANALIZA
5. PROGRAMIRANJE
5.1. DIZAJN APLIKACIJE
5.2. PROGRAMSKI JEZICI I ALATI
5.3. DIZAJNIRANJE KORISNIKOG INTERFEJSA
5.4. OSNOVNE FUNKCIJE U SOFTVERU INFORMACIONIH SISTEMA
5.5. ELEMENTI KORISNIKOG INTERFEJSA
6. PRILOG
PRIMENA UML dijagrama na primeru Projekta Galerija slika Zrenjanin
7. LITERATURA
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
OKRUENJE ine drugi sistemi koji sa datog aspekta ispoljavaju ili mogu da ispolje odreena
dejstva na posmatrani sistem ili su to sistemi na koje posmatrani sistem utie.
ELEMENT SISTEMA materijalni i idejni objekti koji pripadaju sistemu, od kojih zavise
osobine i ponaanja sistema. Granice sistema, delovi ili kriterijumi pripadanja odreuju
SISTEM.
STRUKTURA SISTEMA skup svih relacija meu elementima sistema. Kae se da relacija
snabdeva skup ili skupove strukturom.
ULAZ SISTEMA uticaj okruenja na sistem, dejstvo (smer) prema posmatranom sistemu
(obeleja, vrednosti).
OBELEJA svojstva, osobine, atributi (opisuju stanja sistema i procese koji se u njemu
odvijaju), parametri (opisuju sistem kao celinu konstante). Obeleja identifikaciona,
kvalitativna, kvantitativna, poziciona.
VEZE statike i dinamike (promena u vremenu). Mogu biti izmeu elemenata, izmeu celine
i elemenata (kriterijum agregacije agregacija (grupisanje) po nivoima (komponovanje/
dekomponovanje)). Dinamike veze - aktivna dejstva, uticaji, tok: energetski, materijalni,
informacioni. Veze se prikazuju strelicom, smer dejstva (uzrok posledica).
Osnovni procesi
- pripoda, osnovne uloge i funkcija objekta posmatranja
- ne menjaju strukturu
Razvojni procesi
- prevode sistem iz jednog razvojnog stanja u drugo
- promena strukture
- ostvaruju povoljnije uslove za izvoenje osnovnih procesa
Upravljaki procesi
- obezbeuju uslove za osnovne i razvojne procese, opstanak, stabilnost i usmeravanje na
postizanje nekog rezultata, stanja, ciljeva itd.
AKTIVNOST Prostor aktivnosti realizuje proces. Element sistema izvodi aktivnost. Prostor
aktivnosti (skup, relacije). Neophodno je identifikovati svaki resurs i svaku relaciju neophodnu
za izvrenje aktivnosti. Relacije meu aktivnostima vremenske i redosledne uslovljenosti.
OPERATORI pomou skupa operatora i skupa relacija meu njima realizuje se aktivnost.
TRANSFORMACIJA SISTEMA niz prelaza stanja sistema pod dejstvom istog operatora.
Prikazujemo ta se deava a ne zato. Prikazujemo ponaanje bilo koji pojave.
POSTUPCI (METODE):
Sveobuhvatnost (logike suprotnosti)
Apstrakcija (selekcija, kriterijum bitnosti, nivoi apstrakcije-obuhvat, detalji)
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
MODELOVANJE proces apstrakcije putem kojeg se razvija model pri emu se izdvajaju
relevantni objekti i relacije a zatim se svakom elementu i relaciji pridruuju relevantna
obeleja.
METOD CRNE KUTIJE na osnovu istraivanja rezultata (izlaza) koji nastaju na osnovu
razliitih ulaza, upoznajemo sistem (nizom eksperimenata) i uoavamo pravilnost
zakonitost (ne ulazei u strukturu sistema posmatranje sistema kao celine).
OSOBINE SISTEMA:
skup elemenata
relacije izmeu elemenata (interakcija, odnos, zavisnost, uticaj, veza, sprega)
interakcije sa okruenjem (interne i eksterne)
hijerarhijska graa
ureenost red
organizovanost uloga elemenata u doprinosu ciljevima celine
atributi
integralne karakteristike (statike i / ili dinamike karakteristike)
celina, uloga elemenata u funkcionsanju celine
izdvojena od okruenja
moe da samostalno funkcionie
funkcionisanje (pravila, funkcija, zakon)
ponaanje niz stanja
stanje
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
procesi
ulaz / izlaz
cilj
Def: Model je materijalni ili idejni sistem koji je usled aktivnosti i delovanja subjekta
modelovanja u nekoj realizaciji sa nekim originalnim sistemom i zamenjuje ga u ispitivanjima, u
saoptavanju znanja ili u reavanju problema. Relacije izmeu modela i originala su mogue po
spoljanjim osobinama, strukturi, ponaanju, funkcijama itd. []
I
Postavljanje cilja
Obezbeivanje sistema
za ostvarenje cilja
Aktiviranje i voenje
sistema do cilja
S
OBJEKAT
UPRAVLJANJA
1) Informacioni sistem
2) Postavljanje cilja u saglasnosti sa okruenjem i sa granicama
3) Obezbeivanje sistema za ostvarivanje cilja ili izbor raspoloivih sistema koji bi bili sposobni
da realizuju postavljeni cilj
4) Aktiviranje i voenje sistema do cilja pokrenuti sistem i voditi ga ka postavljenom cilju,
obezbediti stabilno ponaanje po projektu koji vodi od poetnog do ciljnog stanja.
Definicija sistema - jasno izdvojeni skup meusobno povezanih elemenata, koji po nekoj
zajednikoj odrednici ine sa svojim okruenjem skladnu celinu.
Primer: Posmatramo realan sistem u vremenu (student - prijava ispita - studentska sluba).
Student predaje ispitnu prijavu, dokument koji ima odgovarajui sadraj i strukturu, a u sutini
on hoe da prijavi ispit postojeom tehnologijom i organizacijom rada. Meutim postoji
mogunost promene organizacione strukture, promene rasporeda radnih mesta i preraspodele
slubi i promena tehnologije prijavljivanja ispita (prijava, pota, e-mail, web i sl.). Tei se
apstrakciji - izdvajanju procesa koji se deavaju u sistemu, a koji su nepromenljivi u vremenu.
Ove procese zovemo sutinskim procesima - to su procesi koji bi se odvijali u nekoj idealnoj
tehnologiji, tj. oni koji ne bi imali prostorna i vremenska ogranienja i ne bi bili vezani za neku
konkretnu tehnologiju i organizaciju. Sutinski procesi izraavaju svrhu postojanja sistema.
Takoe je bitno izdvojiti fizike od informacionih procesa. Primer - pregled pacijenta na
kod lekara (fiziki proces) i evidentiranje rezultata pregleda (informacioni proces).
Svaki proces se sastoji u izvravanju odreenog skupa aktivnosti koje se mogu desiti pre, u toku
i nakon izvravanja nekih aktivnosti.
u toku
pre posle
priprema evidentiranje i
izvetavanje
obrada
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Za izvravanje procesa su potrebni neki podaci koje aktiviraju proces, zatim on vri odreenu
obradu podataka i izdaje rezultate obrade podataka. U ovakvoj analizi se procesi posmatraju
kao crne kutije poto ne ulazimo u strukturu procesa. Prilikom analize sistema vano je uoiti
kako su procesi meusobno povezani, kako utiu jedan na drugog, koji je redosled izvravanja
procesa i na koji nain jedan proces predstavlja osnovu za rad drugog procesa.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
2.1. O PROJEKTIMA
Govori se o projektima, pa se postavlja logino pitanje TA JE PROJEKAT?
Projekat je:
nacrt (plan)
spisak aktivnosti (niz, red, resursi, sredina)
cilj (da bi se uradio neki posao, reio problem i sl.)
U literaturi se javljaju 3 vrste projekata:
1. IDEJNI
2. GLAVNI
3. IZVOAKI (DETALJNI)
IDEJNI projekat Sutina idejnog projekta je u predstavljanju postojeih problema trenutno
aktivnog informacionog sistema (IS) i naelni prikaz moguih reenja. Sledi odreivanje u kojoj
meri e novi raunarski podrani IS poboljati postojei IS. To se izraava kroz odnos:
T R O K O V I (za razvoj Is-a)
D O B I T (uteda, korist uvoenjem IS-a)
Glavni i izvoaki projekti su skupi i troe puno resursa, pa je zbog toga veoma visoka cena
njihovog realizovanja.
GLAVNI projekat - Sutina glavnog projekta je u detaljnom prikazu postojeeg stanja, analizi i
predlogu novog IS-a, koncept novog reenja i plan realizacije IS-a.
Za upravljanje projektima se koriste posebni programi alati koji se jednim imenom zovu CASE
alati alati za softversko inenjerstvo. Naziv potie od poetnih slova sledeih rei:
Computer
Aided
Software
Engineering
CASE alati su najee metodoloki nezavisni - podravaju samo modele (Strukturna Sistem
Analiza, Model Objekti Veze, UML) i neke transformacije iz jednog modela u drugi, a mogu se
koristiti u razliitim metodologijama:
metodologije I generacije (metode funkcionalne dekompozicije, strukturno
projektovanje i strukturno programiranje),
metodologije II generacije (metode funkcionalne dekompozicije, Model Objekti Veze
(ER model), dvoslojna klijent server arhitektura, relacione baze podataka, jezici IV
generacije),
metodologije III generacije (objektni pristup, objektno orijentisani modeli, alati i
pristupi, troslojna (vieslojna) arhitektura distribuiranih softverskih komponenti, objektni jezici, i
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Definicija: IS je sistem u kome su elementi sistema povezani informacijama, tj. veze izmeu
elemenata sistema i veze sistema sa okruenjem se ostvaruju razmenom informacija.
Raunarski podran IS i aplikacije koje rade sa podacima nisu samo baza podataka i programi
koji opsluuju tu bazu, ve je neophodno da se podaci obrauju od strane korisnika, koji u
svojoj glavi stvaraju informaciju i koriste je za odluivanje!
S obzirom da postoje dva niova projektovanja IS-a (logiko i fiziko) i da je informacioni sistem
model nekog realnog sistema, realni sistemi se opisuju kroz:
Razvoj informacionog sistema je ustvari prevoenje jednog nivoa informacionog sistema u novi
informacioni sistem, a tim razvojem se mora upravljati. Pri tome se mora voditi rauna o
injenici da se Project Management za informacione tehnologije u svetu veoma brzo razvija.
Faze su sledee:
1. Planiranje razvoja
2. Analiza i specifikacija zahteva
3. Projektovanje
4. Implementacija
5. Odravanje
b) PROTOTIPSKI
U ranoj fazi razvoja IS-a tei se razvoju
prototipa (poetne verzija koja se menja u
skladu sa korisnikovim zahtevima).
Postoji mogunost povratka na prethodne
faze u razvoju IS-a.
Javlja se problem uvoenja dokumantacije.
Javlja se problem integracije delova u
jedinstven IS.
Ovakvi prototipi se obino rade koristei jednostavne, all ne i efikasne generatore aplikacija ili
jezike etvrte generacije kojima je lako opisati sistem i brzo napraviti prototip koji priblino radi
ono to je zahtevano. Na osnovu odbacivog prototipa se vri projektovanje sistema koristei
konkretne alate, klasine programske jezike ili neki od sistema za upravljanje bazom podataka.
Za razliku od odbacivog prototipa nadgradivi prototipi se usavravaju i koriguju i u nekoliko
iteracija dovodei do konanog reenja. Nedostatak prototipa je manjak dokumentacije, jer se
esto dokumentacija ne pie prilikom razvoja prototipa. Takode, prototip celog sistema se ne
moe napraviti, pa se zbog toga pravi vie manjih prototipa (prototipi podsistema), koji mogu
dovesti do haosa. Reenje se nalazi u prvobitnom projektovanju zajednike baze podataka za
sve prototipe koja obezbeuje koordinirani razvoj sistema. Ovakav nain izrade prototipa je
poznat kao DATA DRIVEN (voen podacima) prototip.
Takoe, korisnici se aktivno ukljuuju u sam proces izrade prototipa, pa su i manje greke u
projektovanju i realizaciji sistema. Od korisnika se, u ovom sluaju, zahteva poznavanje
metodologije projektovanja IS-a, i uopte, osnovni pojmovi o informacionim sistemima i
informaciono-komunikacionim tehnologijama.
c) TRANSFORMACIONI
Ukljuuje u sebe dobre osobine linearnog i prototipskog pristupa u razvoju IS.
Zasnova se na postojanju alata za brzi razvoj IS-a.
Specifikacija zahteva je na jeziku koji je blizak korisniku, a sam alat generie
programski kod.
1 2 5
4
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Faze su sledee:
1. Analiza zahteva
2. Formalna specifikacija
3. Validacija specifikacije
4. Odravanje
5. Automatska optimizacija
Prototipski razvoj informacionih sistema nije bez mana, mada u mnogome smanjuje vreme
potrebno za izradu informacionog sistema a time i poveava produktivnost softvera. Ipak,
postoji metoda kojom se to ini jo bolje. Ova metoda je poznata kao operacioni, ili transfor-
macioni razvoj informacionog sistema, a i softvera, uopte. Sutina ovog naina razvoja softvera
je u korienju alata koji na osnovu specifikacije problema sami generiu reenje, odnosno
program u odreenom programskom jeziku. Takvi alati se nazivaju CASE (Computer Aided
Software Engineering). Ceo proces se svodi na postavljanje analize zahteva na osnovu koje
se izrauje formalna, izvriva specifikacija, odnosno prototip koji se pomenutim alatima
transformie u radni kod, odnosno program. Prepravke, tanije validacija i odravanje modela
se vre nad formalnom izvrivom specifikacijom (prototipom), a zatim se, da bi se dobio radni
kod (koji je mogue izvriti na raunaru) vri ponovna transformacija.
1 2
BP
3 4
nikako ne moe biti dobro projektovan, ali projektovanjem baze podataka jo uvek nije reen
ceo problem. Baza podataka je statika slika modela podataka, odnosno slika informacionog
sistema u jednom trenutku. Bazom podataka se ne mogu izraziti ogranienja modela podataka
(bar ne kod klasinih modela, kao to su hijerarhijski, mreni i klasini relacioni), tako da je njih
potrebno implementirati aplikacijom.
Ovakva ogranienja su vaila do poetka 90-tih godina, sve do uvoenja aktivnih sistema baza
podataka. Prvi pristupi ukljuivanja aktivnih komponenti sreu se dosta rano i u razliitim
oblastima. U programskim jezicima je to obrada izuzetaka (exceptions), a u sistemima vetake
inteligencije to su demoni (daemons). CODASYL (mreni) model podataka podrava procedure,
koje su memorisane u bazi podataka, a pozivaju se na sledei nain:
Aktivnu bazu podataka ine baza podataka i skup aktivnih mehanizama za praenje stanja
baze podataka. Aktivni mehanizmi reaguju na nedozvoljene promene stanja, bilo na takve
promene, koje trae neku akciju. [ML]
Najpoznatiji objektno orijentisani sistem za upravljanje bazom podataka, koji podrava Event
Condition Action pravila je HiPAC (CCA/XAIT, Univ. Wisconsin). Pored njega tu su i: CPLEX
(Harvard Univ.), ODE (AT&T Bell Labs).
Najpoznatiji predstavnici aktivnih sistema, koji se razvijaju kao nadgradnja relacionih sistema
su: POSTGRES (Univ. Ca Berkley) i Starburst (IBM Almaden).
Procesi i postupci koji se odvijaju u realnom sistemu (dinamika sistema) koji treba predstaviti
modelom, informacionim sistemom, se opisuju modelom procesa. Model procesa je, u stvari,
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
onaj deo informacionog sistema koji predstavlja skup aplikacija, programa koji operiu bazom
podataka. Projektovanje informacionog sistema nije nimalo jednostavan posao. Pod
projektovanjem informacionog sistema ne podrazumeva izrada nekih ad-hoc softvera, kao to je
voenje evldencije video kaseta i korisnika u jednom video klubu, mada i programeri koji su ra-
dili ovakve poslove znaju do kakvih problema moe doi prilikom definisanja korisnikog
zahteva. Vrlo esto se po izradi programa utvrdi da to u stvari nije ono to je korisnik
zahtevao?!. U svetu su ak razraene metode kojima se od korisnika izvlae podaci potrebni
za definisanje zahteva, pa i realizaciju informacionog sistema. Osim problema koji se odnose na
definisanje zahteva, u projektovanju informacionog sistema javlja se i problem sloenosti
sistema. Da bi problem postao savladiv, mora se razloiti na vie jednostavnijih. To se moe
uraditi na dva naina. Jedan od njih je podela razvoja informacionog sistema na faze.
projektovana da bi na osnovu nje moglo da bude izgradeno i sve ostalo. Ukoliko je model
podataka korektno projektovan, na osnovu njega se moe izgraditi i dobar model procesa, ali
ako je model podataka slab, i sve ostalo e biti slabo, bez obzira na to koliko je konaan
proizvod aren, skladno obojen, sa zvunim efektima ili bez njih, i da li radi u Windows
okruenju ili van njega.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Prvi korak u kreiranju novog modela procesa jeste pokretanje alata ProcessAnalyst koji
inicijalno otvara nov model, kreira prvi prazan DTP i otvara paletu alata za modeliranje
procesa:
Proccess Analyst je alat Power Designer CASE alata namenjen izradi modela jednom od 4
ponuene metodologije:
Object Modeling Technique (OMT) functional model
Yourdon/DeMarco
Gane & Sarson
Structured System Analysis and Design Methodology (SSADM)
Na kartici General izabrati Method: Yourdon/DeMarco za klasinu SSA i otkaiti Context model u
sluaju da je dijagram koji elimo nacrtati kontekst dijagram, kako bi njegova oznaka bila 0.
Postaviti, takoe, Auto fill svojstvo na True, kako bi CASE alat automatski punio skladita
podataka elementarnim podacima.
Sledei korak jeste podeavanje osobina celog modela procesa, izborom sledee opcije iz
glavnog menija ProccessAnalyst-a:
Paleta sa osnovnim objektima (Tools) za crtanje DTP-a ima sledee opcije, tj. alate:
lupa selektovanje objekata
konektor interfejs
CRTANJE DIJAGRAMA
Dijagrami tokova podataka se crtaju jednostavnim nanoenjem objekata sa palete alata (Tools)
na radnu povrinu dijagrama. Sledi definisanje osobina objekta (engl. properties) preko dijaloga
kao na slici ispod, koji se otvara dvostrukim klikom na izabrani objekat ili primenom alata
Properties sa palete alata.
1. Ime objekta (Name) - Imena su u ovom kontekstu naslovi ali ne identifikuju objekte,
jer u modelu procesa, tj. njegovom reniku podataka mogu postojati razliiti objekti sa
istim imenom. Ova injenica je, naravno, u suprotnosti sa pravilom SSA da svaki objekat
mora imati raziliit naziv. Inicijalno je maksimalna duina naziva objekta 80 karaktera,
ukljuujui velika, mala slova te karaktere ... Korisnik CASE alata moe promeniti ove
dozvoljene simbole ...
2. Kod objekta (Code) kodna imena objekata jesu zapravo jedinstveni identifikatori
svih objekata u projektu, modelu i reniku podataka. Inicijalno, kodna imena imaju 80
karaktera maksimalno i ukljuuju samo velika slova.
3. Oznaka objekta (Label) - Oznaka opisuje model ili objekt i obezbeuje neto vie
informacija nego ime ili kod. Labele su opcione, tako da polje moe ostati nepopunjeno.
U kartici Description se unose opisi modela, procesa, interfejsa ... Opis obezbeuje detaljne
informacije o modelu ili objektima koje model sadri. Na primer, opis spoljneg objekta Student u
modelu Studentska sluba glasi: Osoba koja se u pocetku javlja studentskoj sluzbi samo kao
kandidat za upis na nekom od smerova fakulteta. Oni koji steknu uslove, postaju studenti.
Zatim pohadjaju nastavu, polazu ispite i u toku svog skolovanja postavljaju odredjene zahteve
studentskoj sluzbi. Opis je slobodan tekst.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Napomena Anotation sadri napomene koje se tiu objekata na koje se odnosi. Napomena je,
takoe, proizvoljan tekst od nekoliko redova.
Osobine procesa:
Prozor koji odreuje osobine tokova podataka, za razliku od interfejsa i procesa, ima karticu
Data Items u koju se unose elementarni podaci koji ine taj tok.
U zavisnosti od tipa toka podataka, proces moe uraditi sledee operacije (Operations) na
objektima u skladitu podataka:
C - Kreiranje podataka u skladitu podataka (Create).
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
R - itanje podatka iz skladita podataka (Read). Inicijalno za tokove koji izlaze iz skladita
podataka.
U - Auriranje podataka u skladitu (Update). Inicijalno za tokove koji ulaze u skladite
podataka.
D - Brisanje podataka iz skladita podataka (Delete).
Nakon definisanja naziva, koda i oznake toka podataka, pristupa se unosu elementarnih
podataka koji su pored imena i koda odreeni i tipom podatka (kolona Type):
Tip podatka se odreuje tako to se klikne na taster u polju Type, nakon ega se otvara sledei
prozor na kome se preko Option Button-a bira tip podatka, a za neke tipove unose i duina
(Length) i preciznost (Precision):
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Definisanje domena
DictionaryList of Domains.
Klikom na dugme New se pojavljuje nova linije u koju unosimo ime i kod novog domena, a
zatim se bira tip podatka, eventualno duina i preciznost, te ogranienja nad njim (Check).
Za uvoenje ogranienja nad elementarnim podacima usled specifinosti realnog sistema koji se
modelira ili zahteva korisnika se bira taster Check za selektovano polje, tj. elementarni podatak
iz renika i otvara ekran (Check Parameters) kao na slici dole.
Brisanje objekata
Kada se brie simbol objekta, mora se naznaiti da li se jednostavno brie samo simbol iz
grafikog prikaza modela dijagrama toka podataka ili se brie objekat iz renika. Ako je simbol
samo grafiki brisanje se vri bez potvrde, ali ukoliko je simbol asociran (povezan) sa objektom
u reniku bira se izmeu brisanja simbola vizuelno ili brisanje celokupnog objekta iz renika
podataka.
1. Dupliranje kreiran je potpuno novi objekt u reniku podataka koji ima identine osobine
originalu, jedino se razlikuje kodno ime koje mora biti jedinstveno za sve objekte u svim
dijagramima, pomodelima i modelu. Na primer, ako dupliramo entitet Student, novi entitet
imae ime, tj. kod Student2. Postupak dupliranja se sastoji u izboru objekta na dijagramu i
zatim:
Edit Duplicate (ili CTRL+U)
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
1
Entt_4 Stor_3 : 2
Prcs_2
S obzirom da je IS sloen sistem, prikaz svih informacionih procesa na jednom DTP bio bi
veoma nepregledan. Iz tog razloga, opisivanje analiziranog sistema se ostvaruje skupom
hijerarhijski povezanih DTP-a. Na vrhu ove hijerarhije nalazi se tzv. dijagram konteksta kojim
se prikazuje veza sistema sa okolinom (spoljnim objektima).
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Veze izmedu svih komponenti DTP se uspostavljaju imenovanim tokovima podataka. Pri tome, u
dekompoziciji se mora potovati osnovno pravilo - pravilo balansa tokova, po kojem svaki tok
koji ulazi ili izlazi iz procesa na DTP vieg nivoa mora biti jednak sumi ulaznih ili izlaznih tokova
sa DTP nieg nivoa (tj. suma dekomponovanih tokova na niem nivou hijerahije mora biti
jednaka toku, sa vieg nivoa, koji se dekomponuje). Sutina ovog pravila je da se
dekompozicijom tokova podataka ne izgube podaci na niim nivoima dijagrama, kao i da se ne
doda neki novi tok podataka, koji nije bio zastupljen na viim nivoima hijerahije Dijagrama
Tokova Podataka.
Radi lakeg praenja, vrlo je poeljno ispotovati i pravilo 7 2 po kome na jednom DTP-u
treba da bude prikazano od 5 do 9 procesa.
Pojavljuje se novi prozor za podprocese koji se crtaju i definiu na identian nain kao i
nadreeni. Dekompozicija procesa se moe izvriti onoliko puta koliko to eli sistem analitiar.
Za dostizanje osnovnog (korenog) procesa, ponoviti ovu operaciju onoliko puta koliko je
potrebno sve dok se osnovni proces ne pojavi.
Kada se koriste OMT ili Yourdon/DeMarco and Gane & Sarson metodologije, znak plus (+)
oznaava da je proces dekomponovan, u suprotnom radi se o elementarnom, primitivnom
procesu koji se ne moe dalje dekomponovati:
Prcs_1
Svi procesi moraju pored naziva nositi i brojnu oznaku. U okviru istog hijerarhijskog nivoa
brojne oznake se dodeljuju procesima po redosledu odvijanja. Procesi nieg nivoa nasleuju
brojnu oznaku procesa koji se dekomponuje, proirenu s desne strane za redni broj procesa u
okviru svog hijerarhijskog nivoa (tj. u okviru konkretnog DTP-a). Tako e oznake procesa
nastalih dekompozicijom dijagrama konteksta biti po redosledu ukljuivanja: 1., 2., 3, ...,
oznake procesa nastalih dekompozicijom procesa 1. bie 1.1., 1.2., 1.3., ..., oznake procesa
nastalih dekompozicijom procesa 1.1.. bie 1.1.1., 1.1.2., 1.1.3., ... itd.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Dekompozicija se moe obavljati sve do nivoa na kojem dalja dekompozicija procesa nije vie
mogua ili potrebna. Procesi koji se ne mogu dalje dekomponovati se nazivaju primitivnim ili
elementarnim. Karakteristika primitivnih procesa je da se oni odvijaju sekvencijalno i sa
poznatim redosledom aktivnosti.
Za opis logike ovih procesa, tj. opis aktivnosti koje ine jedan proces, moraju se koristiti neki od
specijalizovanih alata: dijagram toka programa, stabla odluivanja, Nassi-Shneiderman-ov
dijagram, pseudokod i drugi. Ipak, kao alat za opis procesa najee se koristi pseudokod, u
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
kojem se logika procesa opisuje korienjem kljunih rei programskog jezika u kojem e se
realizovati aplikacije.
DOKUMENTA_ZA_UPIS:
< PREZIME,
IME,
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
IMERODITELJA,
POL,
DATUMRODJENJA,
MESTORODJENJA,
NAZIVMESTARODJENJA,
NAZIVZEMLJERODJENJA,
ULICAIBROJ,
MESTO,
NAZIVMESTA,
NAZIVZEMLJE,
TELEFON,
DRZAVLJANSTVO,
NACIONALNOST,
[
<
BROJLICNEKARTE,
JMBG
>,
BROJPASOSA
],
VRSTASKOLE,
NAZIVSKOLE,
GODINAZAVRSETKA,
PROSEK,
DATUMUPISA,
VRSTASTUDIJA,
NAZIVSMERA,
GODINA,
SEMESTAR,
RBRUPISA,
NACINSTUDIRANJA
>;
Naini zapisa domena, je korienje logikih uslova (sadre neke logike operatore i konstante).
Drugi nain je nabrajanje (navoenje iz nekog skupa CHAR M , c , N)
4. Pravilo balansa (automatski podran u CASE alatu, ali treba ga znati jer i pored toga to
imate automatizam moe se naruiti).
- Ukupno svi podaci koji ulaze i izlaze iz procesa moraju biti zastupljeni na dekompoziciji
- Svaki od ovih tokova podataka ima svoju strukturu
- Ovi tokovi podataka moraju da negde postoje na dekompoziciji
Lake shvatiti: Pravilo je narueno ako na dekompoziciji dodamo tok koji je povezan sa
interfejsom (internih tokova podataka moe bii proizvoljno mnogo).
6. Svaki proces mora da ima bar jedan ulazni i bar jedan izlazni tok podataka.
7. Po pravilu, svako skladite takoe treba da ima barem jedan ulazni i barem jedan izlazni tok.
Meutim, dozvoljava se da skladite nema ulazni tok, podrazumevajui da se formira i
aurira u nekom drugom sistemu (mada bi ga tada, moda, loginije bilo prikazati kao tok
od nekog interfejsa), odnosno da nema izlazni tok, podrazumevajui da posmatrani sistem
formira i aurira skladite koje se koristi u nekom drugom sistemu.
Provera ispravnosti nacrtanih dijagrama ne vri sistem analitiar runo, ve to radi CASE alat,
pomou opcije:
Dictionary Check Model (F4)
Vano je primetiti da se ovakva automatska provera korektnosti nacrtanih dijagrama vri za
trenutno otvoreni, a da bi se izvrila provera celog modela, mora se otvoriti kontekst dijagram.
U sluaju je model procesa korektan i u skladu sa pravilima SSA dobie se ekran kao na
prethodnoj slici, u protivnom se ispisuju greke i upozorenja.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Ako postoje greke, one se otklanjaju izmenom dijagrama, njihovim elementima i renika
podataka:
Dictionary Objects
i/ili:
Dictionary List of Data Items
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Ove heuristike su date u vidu sinonima, ili ireg objanjenja pojmova sa elemenata SSA:
dijagrama toka podataka, procesa i renika podataka.
32. Interfejs jedan oblik (forma) ekrana a da je prisutan u svim pojavnim oblicima u raznim
ivotnim fazama (npr. kandidat za studenta, student, apsolvent, diplomac, podnosilac molbe,
zaposleni na fakultetu i slino)
33. Potpun ivotni ciklus osnovnog objekta obrade
34. Mogue je da postoji vie osnovnih objekata obrade
35. GRANICE POSMATRANJA u seminarskim radovima studenata svesno se ide na
ogranienje (jedna organizaciona jedinica, podsistem, modul), a inae: zaokruen skup
aktivnosti koji ini celinu, bez obzira na organizacionu strukturu realnog sistema (preduzea,
ustanove, optine itd.)
36. Brojevi procesa u skladu sa logikim sledom aktivnosti u ivotnom ciklusu
37. Precizan opis realnog sistema daje za rezulat dobro definisanu SSA
38. POTPUNOST PROCESA postoje vie vrsta procesa: SUTINSKI (svrha postojanja),
PRATEI (odravanje sistema, odluivanje, upravljanje dokumentacijom, kontrola kvaliteta...),
UPRAVLJAKI, RAZVOJNI procesi
39. Pravila ugraena u CASE alat pravilo BALANSA
- INTEGRITET SKLADITA (ne moe imati elementarne podatke, koje nije
dobio putem ulaznog toka podataka),
- 7+(-)2
40. Podaci koji ulaze u sistem moraju imati svrhu
41. DELJENO SKLADITE PODATAKA na prvom i daljim nivoima to je veza meu
procesima, ili sluaj kada jedan proces svoj rezultat smeta u takvo skladite podataka, da bi
sluilo drugim procesima u sistemu
42. Skladite podataka nalazi se na onom nivou gde se i koristi. Ne: skladite podataka na
nivou gde bi ga koristio samo jedan proces, a ne i drugi procesi. U tom sluaju, takvo skladite
podataka je interno za taj proces.
43. Ne: vetaki procesi evidentiranja dokumenata ili, identifikacije objekata..., jer su oni
sadrani u svakom procesu
44. Da: identifikovati sutinske realne procese i podatke, koji su neophodni za njihovu
realizaciju
45. U sistem ulaze: materija, energija i podaci, ali i podaci o materiji i energiji i to u obliku
parametara ili deskriptivno (opisno)
46. Tenja je da se prikae ta sistem treba da radi, a ne ta radi (u odnosu na praksu
nerazvijenih i neorganizovanih sistema koji ne rade po standardima, propisima, regulativi za
datu oblast)
47. Na Dijagramima Toka Podataka je dozvoljena redundansa, a na Modelu Objekti Veze teimo
njenoj minimizaciji. To znai, da se jedan elementarni podatak moe pojaviti u razliitim
skladitima DTP-a, ali, naravno, ne i u okviru istog.
48. IMENOVANE STRUKTURE mogue je koristiti pozivom imena unutar neke druge
strukture, ali mora da se definie od kojih elementarnih podataka se sastoji. Ako je ostavljen
elementarni podatak, koji bi po nazivu mogao biti struktura, onda se mora napraviti vie
elementarnih podataka.
49. INTERFEJS je sutinski izvor/uvir podataka, a ne posrednik (npr, sva komunikacija u
nekom preduzeu se odvija preko tehnikog sekretara, ali nije sekretar izvor podataka
(INTERFEJS) ve npr. dobavlja, kupac, ministarstvo za finansije, banke i sl.)
50. PRAVILA POVEZIVANJA za svako skladite i svaki proces mora postojati ulazni i izlazni
tok podataka
- skladite podataka moe da puni samo proces; ne smeju biti direktno
povezani interfejs i skladite podataka,
- na 0-om nivou ne bi trebalo da se pojave skladita podataka,
- procesi se povezuju samo preko skladita podataka, a ne direktno.
51. Ako se neke aktivnosti istovremeno odvijaju to moe biti jedan proces.
52. Ne moraju svi procesi biti dekomponovani do istog nivoa.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
53. SSA opisuje procese kao odgovor na pitanje TA?, a ne KAKO? Na taj nain i treba opisati
aktivnosti u sistemu, pre zalaenja u detalje implementacije.
54. esto se zaboravljaju datumi na toku podataka i podaci o uspenosti izvrene aktivnosti.
55. Trebalo bi razlikovati datum kada je trebalo da se izvri aktivnost od datuma stvarne
realizacije ili promene vrednosti osobine (atributa) nekog objekta u sistemu.
56. Broj procesa oznaava mesto u STABLU (dubinu i pripadnost). to se tie procesa na istom
nivou (procesi koji su nastali kao rezultat dekompozicije istog procesa), poslednji broj oznaava
redosled u nizu (redosled izvravanja).
57. Poeljna su dua imena (a ne skraenice) u nazivima elemenata DTP-a (rei odvojene sa
_).
58. esta greka je to se postavljaju ravnopravnim procesi, koji su u odnosu nadreen
podreen (npr. prijem robe i kontrola pristigle robe).
59. esto se zaboravi evidencija podataka u skladitu podataka i to onih, koji se alju van
sistema - kao izlazni tok podataka (npr. narudbenica koristi se kasnije kod prijema robe).
60. Pravilo odrediti granice sistema. U odnosu na promenu granica menjaju se i interfejsi. Ne
zaboraviti da za podsistem jedne organizacije i drugi podsistemi predstavljaju interfejs.
61. Usmena razmena podataka takoe je tok podataka. Za tok podataka nebitan je medijum.
62. Vremenski odvojeni procesi su zasebni, ne mogu biti i primitivni procesi.
63. Procesi su nezavisni od organizacione strukture realnog sistema i sistematizacije radnih
mesta.
64. ta je skladite podataka? svaki dosije, kartoteka, knjiga...
- znanje
- vremenski prekid izmeu dva procesa za smetanje podataka
- sredstvo za smetanje podataka iste vrste, da bi se odjednom obradili
- tok podataka u mirovanju
65. Homonimi/sinonimi kod naziva elementarnih podataka: definisati jedinstvene nazive, ili,
reiti problem u Modelu Objekti Veze.
66. Moraju biti imenovani tokovi podataka, kojima razmenjujemo podatke sa interfejsima. Ne
moraju biti imenovani interni tokovi podataka (idu od ili ka skladitu), ukoliko nose sve
podatke kao i u strukturi tog skladita.
67. Bitno je da procese, koje posmatramo, stavljamo u iri kontekst i sistem koga modelujemo
je podsistem nekog ireg sistema (okruenja).
68. U SSA se ne posmatra interakcija izmeu dva ili vie interfejsa. To je domen njihovog
odnosa i informacionog sistema kome pripadaju. U projektovanju putem SSA bitna je samo
interakcija (razmena informacija) interfejsa sa datim, konkretnim realnim sistemom.
69. Voditi rauna da se tokovi podataka ne nazivaju kao procesi (npr. nije dobro da tok
podataka bude Prijavljivanje_ispita, ve Prijava_ispita, ili Podaci_o_prijav_ispita.
FilePrint Graph
ProcessAnalyst omoguava kreiranje celokupnog izvetaja o modelu koji smo uneli. Pri tome u
izvetaj ulaze dijagrami tokova, opisi objekata, specifikacije primitivnih procesa, struktura
skladita i tokova podataka, detaljan opis elementarnih podataka. ta e se sve nalaziti u
izvetaju zavisi od toga koji tip izvetaja emo odabrati (standardni, potpuni, i liste) ili emo
kreirati svoj sopstveni ablon za izvetaj.
FileCreate Report
Baza podataka predstavlja strukturu modela podataka, statiki model sistema koji se eli
predstaviti na raunaru, odnosno podatke o objektima u sistemu i vezama izmeu njih.
Reenje koje se danas koristi u projektovanju baze podataka jeste da se specifikacija sistema
uradi korienjem alata tree generacije (npr. Data Architect u Power Designer-u), a zatim sledi
prevoenje u relacioni model koji pripada drugoj generaciji i za koji postoji veliki broj sistema za
upravljanje bazom podataka (ORACLE, DB2, INGRES, PROGRESS, SyBase, DBase, Paradox, SQL
Server, FoxPro, Access i sl.).
2. Atributi obeleja, svojstva nekog objekta (entiteta) iste vrste. Vrednosti atributa
odnosno obeleja su podaci.
3. Atributi u svakom trenutku imaju odreenu, konkretnu vrednost, koju uzimaju iz
odreenog domena skupa dozvoljenih vrednosti. Atributi se identifikuju na
osnovu:
- zahteva korisnika,
- dokumentacije.
4. Atributi koji se navode za jednu klasu objekata treba da obezbede da jedan ili vie
atributa jednoznano identifikuju svaki objekat u skupu pojava te klase objekata i
zove(u) se klju te klase objekata.
Definicija 2.4. Neka je P={pi i=1,...,k} skup pojava tipa entiteta N(A1,...,An), a p[X]
restrikcija pojave p na obeleje X. Obeleje X predstavlja klju tipa entiteta N(A1,...,An),
ako, za svaki skup P pojava tipa entiteta N, vae sledea dva uslova:
1 ( pi,pj P) (pi,pj pi [X] pj [X] ) i
2 ( X ' X ) (1). [ML]
Prvi uslov se zove uslov jedinstvenosti, i kae da u skupu pojava tipa entieta N ne mogu
postojati dve iste pojave tipa entiteta (dve pojave sa istom vrednou kljua). Drugi
uslov se zove uslov minimalnosti, i njegova sutina je da ako je klju tipa entiteta sloen
tj. sastoji se iz vie obeleja, onda nijedno od tih obeleja ne sme na sebe da preuzme
ulogu primarnog kljua.
Klju mora biti jednoznaan, nepromenljiv i raspoloiv. Kriterijum za izbor kljua izmeu
vie kandidata jeste da je kratak, lak za pamenje i prihvatljiv od strane korisnika.
5. Za realizaciju baze podataka nije dovoljno samo definisati entitete, atribute i njihove
domene, te kljueve, ve moramo prikazati i veze izmeu entiteta, tj. objekata.
Osnovni tipovi veze izmeu klasa objekata:
- 1 : 1 jedan prema jedan - za svaki objekat iz jedne klase postoji samo
jedan povezani objekat iz druge klase.
- 1 : M jedan prema vie - svaki objekat iz jedne klase postoji vie
povezanih objekata iz druge klase, a iz te druge klase se svaki objekat moe
povezati samo sa jednim objektom ove druge klase.
- M : M vie prema vie - svaki objekat iz jedne klase postoji vie
povezanih objekata iz druge klase, a iz te druge klase se svaki objekat moe
povezati opet sa vie objekata ove druge klase.
Obeleje (atribut)
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Jak (fundamentalni) entitet je onaj koji ima odredenu osobinu ili skup osobina koje
omoguavaju njegovo jednoznano identifikovanje. Takva osobina (ili skup osobina) se naziva
primarni klju entiteta. Slabi objekat je objekat koji nasleuje klju objekta s kojim je povezan i
proiruje ga nekom svojom osobinom. Podtip je entitet koji nasleduje primarni klju i sve
nekljune atribute jakog entiteta s kojim je povezan. U model podataka se uvodi zbog
postojanja odredenih specifinih osobina koje se definiu posebno za svaki uvedeni podtip ili
zbog izdvajanja onih osobina koje se ree koriste. Agregacija je entitet koji poseduje sloeni
klju, sastavljen od kljueva entiteta s kojima je on povezan.
Agregacija (Meoviti Tip Entitet Poveznik) uvodi se u sluaju kada je potrebno uspostaviti vezu
izmeu veza, odnosno, kada su (ne nuno sve) pojave jednog tipa entiteta poveznika povezane
sa pojavama nekog drugog tipa poveznika. Tada se povezani tipovi poveznika prevode u
gerunde (odn. meoviti tip entitet poveznik). Ovaj koncept ER modela se koristi za
modeliranje sledeih situacija kao na primer:
ako je student upisao neki smer, onda on moe prijavti polaganje ispita iz onih
predmeta, koji se na tom smeru sluaju po nastavnom planu, ili
radnik je osposobljen da radi na maini, na maini se moe proizvesti deo, pa sledi-
radnik na maini, za koju je osposobljen, izrauje one delove, koji se na toj maini mogu
proizvesti.
Osim svojim nazivom, entiteti se u posmatranom sistemu opisuju i preko svojih atributa. Atributi
su imenovana svojstva entiteta u sistemu. Obino definiu na osnovu pregleda interne i
eksterne dokumentacije, upitnika, pregleda postojeeg softvera. Na dijagramima se grafiki
predstavaljaju kao ovali sa nazivom, koji su povezani s entitetom. Skup vrednosti koje neki
atribut moe da ima se zove domen atributa. Domen moe biti unapred predefinisan tipom
podatka koji konkretni programski jezik podrava i duinom podatka, ali moe biti i
"semantiki". Semantiki domen je skup dozvoljenih vrednosti i odgovarajuih (potrebnih)
ogranienja koje definie sam projektant.
- ugraivanje lokalnih pravila u vidu kardinaliteta ili uopte u odnosima, tj. ugraivanje
poslovnih pravila (loklanih pravila koja vae u odreenoj organizaciji)
6. Potpunost modela podataka, tako da pokriva podacima sve procese koji su definisani u SSA,
a pre svega primitivne procese, tj, da su sve informacione potrebe pokrivene, tj. svaki
elementarni podatak iz SSA da ima adekvatan atribut u MOV, tj CDM-u. Dakle, pokrivenost
potreba realnog sistema.
7. Smanjenje broja tabela, radi lake manipulacije i fleksibilnijeg reenja
8. Uvoenje "reda", zbog anomalija auriranja
POSTUPAK:
Postupak nije linearan. Opisan je kao niz koraka koje treba uraditi jednom ili vie puta i
iteracijama.
a. Transformacija elementarnih podataka koji su preuzeti iz SSA, ukoliko u SSA nije izvrena
korekcija
- Elementarni podaci koji su mnoina postaju jednina
- Elementarni podaci koji se nazivaju kao struktura i mogu se dalje dekomponovati na
elementarne podatke, vri se kreiranje novih elementarnih podataka koji ine tu strukturu.
- Nepotpuno imenovani elementarni podaci se dopunjuju dovoljno preciznim imenom.
- Neophodno je imati, za nedovoljno jasno imenovane elementarne podatke detaljniji opis (npr.
u Annotation delu u CASE alatu), kako bi se poptuno razumelo znaenje kako bi se moglo
pravilno odrediti njegovo mesto.
dogaajima ili objektima, ukoliko nije potrebno da se realizuje deo za evidenciju dokumenata,
pored osnovne evidencije dogaaja i objekata.
Razlikovati:
- tabelu ifarnik
- tabelu znanje
- tabelu poveziva
- tabelu koja opisuje osnovnu dinamiku redovnog rada (pokriva obradu, tj. primitivne procese iz
SSA).
g. Kreiranje ifarnika
- Transformacija nabrojivog domena u ifarniku tabelu
- Izdvajanje elementarnog podatka koji ima nabrojivi domen vrednosti koji se pri unosu esto
ponavlja - elementarni podatak koji ima nabrojiv skup vrednosti koji se esto unosi u originalnoj
tabeli se izdvaja u posebnu tabelu ifarnik - memorie se ifra i naziv te vrste podatka. Unosi se
samo jednom, a koristi vie puta, kad god treba, pozivom preko ifre se memorie, tako da
ukoliko se podatak iz ifarnika menja, menja se automatski svako njegovo pojavljivanje u
tabelama gde je njegova ifra strani klju.
- Jedan podatak je opti i koristie se na vie mesta, ako se izdvoji kao posebna tabela. Npr.
tabela MESTO nastaje na osnovu polja: mesto roenja i mesto stanovanja.
g. Odreivanje kardinaliteta relacije
- odreivanje kardinaliteta svakog od preslikavanja
- voditi rauna da se odreivanje vri u 2 koraka:
- 1. Odnosi izmeu elemenata realnog sistema (vee ograniavanje)
- 2. Odnosi izmeu tabela u bazi podataka (manje ograniavanje, ukoliko se moe)
h. Odreivanje primarnog kljua za svaku buduu tabelu BP
Kriterijum:
- Jednoznanost
- Potpunost
- Minimalnost
Postoje 3 varijante:
- Prost broja od 1 polja za svaki entitet, koji slui samo za ostvarivanje relacija u prevoenju
irelacioni model (jednostavnije je da se prenosi samo jedno polje, a ne sloeni primarni klju).
Obavezno je kasnije u PDM-u (modelu relacione baze podataka) da se za svaku tabelu odredi
unique index kojim se definiu alternativni kljuevi, tj. kombinacije polja koje se ne smeju
ponoviti.
- Sloeni primarni klju (najee se sastoji od polja koja nose neko znaenje). Obezbeuje
semantiku jednostvenost sloga, a nedostatak je pri migraciji polja.
- Tzv. govoree ifre - jedan elementarni podatak iji delovi imaju znaenje. Npr. Broj indeksa ili
JMBG.
i. Odreivanje identifikacionih zavisnosti izmeu entiteta. Odreivanje tipova entiteta.
3. Zavrna optimizacija
Vri se u odnosu na:
- performanse celokupnog sistema, zajedno sa programom. Npr. dozvoljavaju se izraunljiva
polja, ukoliko se time postie skraenje vremena odziva sistema, na zadatu komandu.
- lakou odravanja. Napraviti takvu organizaciju tabela koja zahteva kasnije to manje
popravke i intervencije. Npr. sve to je mogue se uoptava i saima, tako da se dobija
fleksibilno i upravljivo reenje.
Primeri:
- Mogu se podaci o ulazu ili izlazu neke materije objediniti da se uvaju u jednoj tabeli, sa
bulovim poljem (.T. ili .F.) koji opisuje da li je ulaz ili izlaz.
- Mogu se svi ifarnici objediniti da se uvaju u jednoj tabeli. Potrebna je pored ifre i naziva jo
i kolona tip ifarnika.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
4. Kreiranje podmodela
- Kreiranje podmodela se radi kao izdvajanje podeme celokupne eme baze podataka, i to za
svaki od primitivnih procesa se radi po jedna podema baze podataka.
- Podmodeli se rade iz 2 razloga:
- Proveravanje da li su svi primitivni procesi pokriveni podacima (dakle, pomou tih
entiteta, tj. tabela e biti realizovan taj proces,
po pitanju unosa i pregleda podataka)
- Da li su na podmodelu svi entiteti meusobno povezani. Ako nisu, povezani su preko
nekog drugog, pa i njega treba ukljuiti u
podmodel, ili da se doda direktna veza izmeu entiteta na celokupnoj emi.
PRAVILA
1. Normalne forme
Koriste se:
1. PRVA NORMALNA FORMA
- svaki elementarni podatak treba da memorie atomarne vrednosti (npr. tabela sa poljem
OCENE nije u 1NF. To su tzv. ponavljajue grupe ond. u okviru jedne grupe obeleja (BRIND,
IME, PRZ, DATUM i dr.) javlja se vie grupa obeleja (ocena iz matematike, ocena iz fizike,
ocena iz programiranja za tog studenta).
- u svakoj tabeli treba da su elementarni podaci, ali ne istog tipa da se ponavljaju (npr. tabela
sa poljima OCENA_1, OCENA_2 nije u 1NF)
2. DRUGA NORMALNA FORMA
- svaki nekljuni elementarni podatak treba da potpuno funkcionalno zavisi od primarnog kljua.
Ako relacija ima za klju prosto (elementarno) obeleje, onda je ona sigurno u 2NF. Meutim,
za relaciju:
ISPIT(BRIND, SIF_PR, NAZIV_PRED, DATUM, OCENA)
gde je klju sloen, postoji nepotpuna funkcionalna zavisnost nekljunog obeleja
(NAZIV_PRED) od dela kandidata za klju (SIF_PR).
3. TREA NORMALNA FORMA
- Tabela nije u 3NF ako postoje tranzitivne funkcionalne zavisnosti izmeu nekljunih obeleja i
kljua eme relacije.
- Tabela nije u 3NF ako postoje izraunljiva polja u odnosu na ostala polja to su sloena
obeleja dobijena primenom nekog algoritma na vrednosti ostalih obeleja u relaciji npr.
procena ocena studenta. Ovaj zahtev se moe naruiti zbog sloene formule za izraunavanje
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
ili zbog performansi sistema - lake je da se ima na jednom mestu ve izraunata vrednost - pri
tome se oslanjamo na program da e redovno aurirati ovu vrednost, kad god se desi neka
promena.
2. OGRANIENJA
a. Vrednosna ogranienja
- Ogranienja domena - ogranienje elementarnog podatka na odreen domen vrednosti
- Sloena ogranienja - dozvoljeni odnosi izmeu vrednosti razliitih atributa (npr. starost manja
od 30g na moe biti direktor)
b. Strukturna ogranienja
- Referencijalni integritet - odnos primarnog i njemu odgovarajueg spoljnog kljua (mora
svakom spoljnom kljuu odgovarati jedan slog sa odgovarajuim primarnim kljuem).
- Integritet kljua
- Not null
- Unique
ESTO SE GREI:
Uoavanje elementarnih podataka koji su strukture
Uoavanje izraunljivih podataka
Odreivanje primarnog kljua
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Naziv entiteta
Klju entiteta
Obeleja - atributi
Domen atributa
Prvi korak u kreiranju modela podataka jeste kreiranje novog modela u alatu DataArchitect i
uitavanje modela procesa, kao rezultata rada u alatu ProcessAnalyst (.PAM) i to izborom
opcije:
Zatim se otvara prozor, koji nas pita da izaberemo elemente modela procesa koji e biti uitani
u DataArchitect. Celokupan renik podataka bie uitan, te svi elementarni podaci, ve jednom
definisani, domeni elementarnih podataka, skladita i interna poslovna pravila, bie raspoloivi
za dalje projektovanje baze podataka, na logikom nivou.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Drugi korak u modeliranju podataka, je identifikovanje entiteta i odreivanje koji e atribut (ili
vie njih) biti kandidat za klju budue eme relacije (tabele u bazi podataka).
3. Renik podataka pravilno definisana struktura tokova podataka (pomou {}, [], // i
<>) i skladita omoguava uoavanje klasa entiteta i veza izmeu tih entiteta. Npr.
Ispitni spisak se sastoji od 2 celine (2 entiteta): zaglavlje i telo (stavke) i sl.
ISPITNI_SPISAK:
< ISPITNIROK,
NAZIVSMERA,
GODINA,
SEMESTAR,
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
PREDMET,
NAZIVPREDMETA,
DATUMPOLAGANJA,
NACINPOLAGANJA,
PREZIMENASTAVNIKA,
IMENASTAVNIKA,
PREZIMEISPITIVACA,
IMEISPITIVACA,
{< REDNIBROJ,
BROJINDEKSA,
PREZIME,
IME,
NACINSTUDIRANJA,
KOJIPUT
>}
>;
4. Analizom opisa posla itanjem opisa posla, se uoavaju entiteti kao imenice ovog
opisa, a glagoli kao veze izmeu entiteta.
Dodavanje novog svojstva, tj. atributa u entitet, se vri izborom opcije Add, pri emu se otvara
prozor sa listom svih elementarnih podataka i preuzima se jedno ili vie podataka koja postaju
atributi.
Znaenje osobina atributa: Mandatory obavezan podatak, isto to i Not Null vrednost
atributa. Ako je postavljeno na TRUE, znai da konkretna vrednost (podatak) atributa ne moe
biti nedefinisana (Null). Identifier je atirbut koji se proglaava za kandidata za primarni klju
entiteta. Uvek se nalazi na vrhu liste atributa entiteta. Display svojstvo, koje odreuje, da li e
atribut biti prikazan na ekranu ili ne.
tabele u bazi podataka. Ovaj identifikator obezbeuje jedinstvenost reda tabele i ni u jednom
redu tabele njegova vrednost ne sme bitl izostavljena.
ldentifikator relacije se drugaije zove KLJU RELACIJE i predstavlja prost ili sloen atribut koji
poseduje osobine jedtnstvenosti i neredundantnosti. Osobina jedinstvenosti se odnosi na
injenicu da u relaciji (tabeli) ne smeju postojati dve iste n-torke (reda). To je omogueno
upravo uvoenjem kljua, ija se vrednost u relaciji pojavljuje samo jednom, pa se samim tim i
svi redovi razlikuju, ako ni po emu drugom, onda bar po vrednostima kljua. Osobina neredun-
dantnosti podrazumeva da nijedan atribut iz grupe atributa ne sme da se izostavi, a da ova
grupa ne izgubi osobinu jedinstvenosti. Prema tome, klju relacije je najmanja mogua
kombinacija atributa u relaciji koja poseduje osobinu jedinstvenosti. Sloeni atribut (grupa
atributa) koja poseduje osobinu jedinstvenosti, ali ne i osobinu neredundantnosti se naziva
SUPERKLJU relacije.
U relaciji moe postojati vie atributa koji zadovoljavaju osobine kljua. Svi oni se zovu
KANDIDATI ZA KLJU. Atribut koji se izabere da bude klju relacije se naziva PRIMARNI KLJU,
a ostali kandidati se nazivaju ALTERNATIVNI KLJUEVI. SPOLJNI KLJU relacije je atribut koji u
posmatranoj relaciji ne igra ulogu primarnog kljua, ali je zato u nekoj drugoj relaciji primarni
klju.
Napomena: Ako je prvi korak u kreiranju modela podataka u DataArchitect-u, bio uitavanje
modela procesa, kao rezultata rada u alatu ProcessAnalyst (.PAM), treba voditi rauna da se
atributi koji se proglase identifikatorom, tj. kljuem, MORAJU prvo obrisati iz svih drugih
entiteta, u kojima se nalaze.
predstavljaju pravila o grupisanju atributa u relacije pri emu se vodi rauna o logikim vezama
i zavisnostima izmedu atributa.
Normalizacija podataka je proces podeavanja strukture baze podataka kako bi se izbegle
anomalije dodavanja, brisanja i izmene u relacionoj bazi podataka.
Osim metode dekompozicije, postoji i metoda sinteze [MLG]. Ova metoda se zasniva na
generisanju skupa ema relacija poev od polaznog skupa obeleja i skupa ogranienja (zadatog
skupa zavisnosti: funkcionalnih, zavisnosti spoja, vieznanih zavisnosti, koje zadaje projektant
informacionog sistema). U svakom narednom koraku ovog postupka, eme relacija se
sintetizuju u odnosu na postavljena ogranienja.
Kardinalnost veze predstavlja broj pojavljivanja entiteta s druge strane veze, s kojim je
posmatrani entitet povezan. Prvi broj je najmanje mogui broj pojavljivanja drugog entiteta (tj.
donja granica kardinalnosti i oznaava se sa DGK), a drugi najvii (tj. gornja granica
kardinalnosti i oznaava se sa GGK), pri emu oznaka "M" predstavlja nepoznat broj
pojavljivanja.
Sledi odreivanje naziva veze (glagol, glagoslka konstrukcija koja proistie iz prirode same
veze), vrste veze izmeu entiteta (1:1, 1:M, M:M) i kardinaliteta preslikavanja preko ekrana
Relationship Properties, koji se otvara izborom opcije Properties na tri naina ravnopravno
(dvostruki klik na grafikom prikazu veze, jednostruki klik koji daje iskaui meni ili izborom
opcije sa palete alata).
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Naziv veze se upisuje u polje Name, dok polje Code predstavlja jedinstveni identifikator
objekta u celokupnom modelu podataka, analogno radu u Process Analystu.
Tip veze se odreuje preko polja (option button-a) Cardinality. Gornja granica kardinaliteta je
odreena tipom (vrstom) veze i moe biti: 1,1 (veza jedan prema jedan); 1,n i n,1 (veza jedan
prema vie); n,n (veza vie prema vie).
Donju granicu kardinaliteta odreuje polje Mandatory i to u 2 smera, posebno. U primeru kao
na slici, postavljaju se uvek 2 pitanja koja odreuju donju granicu kardinaliteta:
1. SMER MESTO PREMA STUDENTU: Da li za bilo koju pojavu prvog entiteta (levi na slici)
mora postojati (u evidenciji u BP, a ne i u fizikom, realnom sistemu) njemu zavisna pojava
u drugom entitetu? Ako je odgovor potvrdan bira se Mandatory (True) u protivnom, ne.
2. SMER STUDENT PREMA MESTU: Da li za bilo koju pojavu drugog entiteta (desni na slici)
mora postojati njemu zavisna pojava u prvomom entitetu? Ako je odgovor potvrdan bira se
Mandatory (True) u protivnom, ne.
Primer: Zemlja ima mesto, mesto pripada zemlji (misli se na dravu). Kada se pitamo za
kardinalitet veze, tada se ne posmatra da li zemlja fiziki mora da IMA grad (mesto) da bi
postojala, nego da li je za evidenciju u tabeli zemalja neophodno da postoji i u tabeli mesta bar
1 mesto koje odgovara toj zemlji. Odgovor je Ne, tako da je za vezu Zemlje prema Mesta
Mandatory=False.
u funkciji dela njegovog primarnog kljua (entitet ima svoj klju + dobijeni, koji zajedno ine
sloeni primarni klju u sluaju JAK-SLAB objekat ili bez svog kljua ako je u pitanju
AGREGACIJA).
Dominant se ukljuuje samo ako je veza 1:1. Dominantan je onaj koji je stariji u vremenu
(opet u u evidenciji u BP, a ne i u fizikom, realnom sistemu).
Napomena: U Power Designeru se kod svake relacije (1:M) ubacuje na strani M klju iz strane
1, tako da nije potrebno ubacivati polje(a) koje uestvuje u relaciji. To ubacivanje se vri kada
se sa Konceptualnog prelazi na Fiziki model (Generate Physical Model).
Konvencija: Primarni klju treba u navoenju u tabeli unositi na prvom mestu (najvia pozicija
u tabeli definicija). Ako smo uneli negde dole, pomera se navie strelicama sa strane.
Veza M:M se prevodi u 1:M i 1:M sa agregacijom izmedju ili ako veza ima vlastite osobine, onda
je to objekat veza ili agregacija. Npr. student-predmet veza je M:M, ali ako bismo prepustili
CASE alatu da rei ovu vezu, ne bismo mogli da postavimo vlastite osobine ove veze kao to je
datum polaganja i ocena na tom ispitu. Agregacija se realizuje tako to se posebna tabela
formira koja sadri primarne kljueve od obe tabele koje agregira (npr. STUDENT-ISPITI), i ima
jo neka svoja obeleja, atribute koji su nekljuna.
Primena ovih pravila se moe obaviti runo, ali zahvaljujui savremenim CASE alatima ovaj
postupak se sada obavlja automatizovano. Dobijena relaciona ema je potpuno normalizovana.
Ona ispunjava sve zahteve tzv. tree normalne forme i sadri sve integritete koje konkretan
sistem za upravljenje bazom podataka (SUBP) podrava, tj. referencijalni integritet, integritet
kljua, integritet domena, integritet za operacije nad bazom podataka i sl.
Pre prevoenja E-R-A (MOV) modela u relacioni, potrebno je uraditi po jedan podmodel za svaki
primitivni proces iz Strukturne Sistem Analize i to iz sledeih razloga:
- Kontrola ispravnosti projektovanja globalnog Modela Podataka koji bi nastao integracijom
ovih podmodela.
- Priprema i odreivanje potrebnih podataka programeru koji e iskodirati odgovarajue
maske (ekrane) za auriranje, prikaz, pregled i pretragu podataka, te ekrane za izvetaje
i sl.
U fizikom modelu podataka (Physical Data Model ili PDM) se vri dodavanje i definisanje
alternativnih (semantikih) kljueva u buduim tabelama, koji treba da obezbede eliminisanje
redundanse i nedozvoljenih unosa podataka, a potom i ogranienja nad podacima u vidu
Referencijalnog integriteta.
Nakon generisanja relacione eme pristupa se kreiranju baze podataka u izabranom SUBP, sledi
definisanje aplikacije(a) u vidu projekta aplikacije, a zatim i izradi, testiranju primeni programa,
odnosno njegovom odravanju.
Kako se entiteti pojavljuju u prozoru Selected objects, automatski CASE alat dodaje i veze
koje postoje izmeu tih entiteta. Ukoliko se ne otvara automatski ovaj prozor (bio je selektovan
neki entitet npr.), potrebno je pokrenuti opciju
Dictionary -> Submodel -> Add/Remove Objects
te e se otvoriti gore prikazani ekran.
Imena podmodela su nazivi primitivnih procesa, a nakon izbora opcije
Dictionary -> Submodel -> List of Submodels
gde se odreuju ime - Name i jedinstveni identifikator Code, za odreeni podmodel sa liste
postojeih podmodela.
Osim strukture, model podataka poseduje i neka ogranienja, kao i operacije koje se vre u
sluaju naruavanja istih, da bi se baza podataka vratila u konzistentno, ispravno stanje.
Ali, osim vrednosnih postoje i strukturna ogranienja. Ova ogranienja se odnose na veze
izmeu objekata u sistemu. Na primer, svaki radnik u preduzeu mora raditi u jednom i samo
jednom odeljenju, a odeljenje moe imati 0, 1 ili vie radnika. Faktura mora imati bar jednu
stavku, a stavka mora imati samo jednu fakturu kojoj pripada.
Kod sturkturnih ogranienja obavezno je pomenuti dva pravila integriteta:
- integritet entiteta (integritet kljua)
- referencijalni integritet.
Integritet kljua je pravilo po kome primarni klju relacije obavezno mora imati vrednost, to
znai da ne moe biti definisan kao polje u koje se moe, ali i ne mora upisati vrednost. Dakle,
primarni klju uvek mora imati konkretnu vrednost, i ta vrednost mora biti jedinstvena u
posmatranoj relaciji. Znai da se u relaciji STUDENT (BRINDEKSA, IME ...) ne sme pojaviti vie
od jedne n-torke sa odreenom vrednou primarnog kljua (u ovom sluaju je to atribut BRIN-
DEKSA).
Sledi otvaranje dijaloga za definisanje indeksa, gde se opcijom Insert dodaje novi indeks koji
e biti sastavljen iz nekoliko polja i koji e imati osobinu jedinstvenosti Unique = True, a nee
biti primaran:
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Izbor polja (kolona) budue tabele, koja ine semantiki indeks, se vri pomou tastera <Ctrl>
+ Levi klik na ponuene atribute entiteta:
Referencijalni integritet se tie odnosa izmedu spoljnog kljua u relaciji i primarnog kljua u
nekoj drugoj relaciji, a koji uzima vrednosti iz istog domena kao i posmatrani spoljni klju. Ovo
pravilo integriteta nalae da se svaka vrednost spoljnog kljua u tabeli mora pojaviti i kao
vrednost primarnog kljua u tabeli gde je odredeni atribut primarni klju. Ako, na primer,
postoje relacije RADNIK (SIFRAD, IME, SIFODEL) i ODELJENJE (SIFODEL, NAZIV), onda u rela-
ciji radnik svaka ifra odeljenja (SIFODEL) mora imati pojavljivanje u relaciji ODELJENJE, u
atributu SIFODEL. Drugim reima, radnik ne moe raditi u nepostojeem odeljenju. Ukoliko je
za radika uneta ifra odeljenja 1234, onda u relaciji ODELJENJE mora postojati odeljenje sa is-
tom ifrom. To znai, da se pri unosu novih podataka mora voditi rauna o vrednosti spoljnog
kljua, odnosno, mora se paziti da se ne ubaci radnik koji radi u nepostojeem odeljenju. Ali, to
nije dovoljno. Pri brisanju podataka iz relacije ODELJENJE, mora se voditi rauna o tome da se
ne obrie odeljenje u kome rade neki radnici, jer e isti ostati vezani za nepostojee odeljenje
(jer je obrisano).
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
U Data Architect-u se ouvanje referencijalnog integriteta odreuje za svaku vezu izmeu tabela
pojedinano:
Napomena: U kartici Options podesiti, neposredno pre generisanja baze podataka sledee:
ODBC (Open Database Connectivity mehanizam za otvoreno povezivanje baza
podataka razliitih formata) Syntax = True
Character Set = Windows
Nakon generisanja baze podataka u izabranom SUBP, sledi definisanje aplikacije(a) u vidu
projekta aplikacije, a zatim i izradi, testiranju, primeni programa, odnosno njegovom
odravanju i dokumentovanju.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
5. PROGRAMIRANJE
Visual Basic
- podeavanja radnog okruenja (JET-DAO, ADO, OCX)
- osnovne operacije u korienju alata
- osnovne opcije menija i struktura alata
ifarnici - ekrani za unoenje optih podataka, koji se jednom unose, a kasnije koriste na
ekranima Obrada.
Ogranienja - ekrani za unos odluka koje predstavljaju ogranienja i pravila za rad.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Obrada - ekrani koji odgovaraju primitivnim procesima iz strukturne sistem analize, a stavke
menija procesima vieg nivoa. Dakle, kompletan meni Obrada odgovara stablu procesa iz SSA, a
ekrani koji se pokreu odgovaraju primitivnim procesima.
Izvetaji - ekrani za unoenje parametara za prikaz podataka i tampu standardnih ili lokalno
potrebnih dokumenata (zvanini obrasci, pojedinani podaci) i izvetaja (statistiki podaci,
podaci za period). Ovde se prikazuju izlazni tokovi podataka iz sistema prikazani u strukturnoj
sistem analizi.
Upiti - ekrani za unos parametara (jedan ili vie kriterijuma istovremeno) za pretragu i prikaz
podataka. Ovde je potrebno da se osmisle potrebni upiti sistemu, najfrekventniji
Servis - Help, About, Servis baze podataka (backup, brisanje, reindeksiranje, uitavanje starih
podataka), Korisnik programa
Primer principa koji se postavljaju pre poetka dizajniranja softvera: razvojnost, funkcionalnost,
fleksibilnost (oprema, matini podaci), ekonominost, efikasnost, adekvatnost, pouzdanost,
ergonomska usklaenost, jednostavnost, jezik komunikacije, informisanost, korektnost,
unificiranost.
Komunikacija korisnik-raunar treba da bude slika realnih potreba korisnika i njegovog posla, a
ne slika vizije projektanta. Korisnici treba da urade neki posao, a raunar treba da im u tome
pomogne. Korisnik eli da koristi raunarski sistem u svom poslu kao i svaki drugi alat, sa
privikavanjem, ali da povea efikasnost i ne remeti dotadanji proces rada.
Interakcija je stil upravljanja. Korisniki interfejs je softver koji posreduje izmeu oveka i
programa oblikujui raunar u alat specifine namene.
Detaljnije o korisnikom interfejsu videti u [MD].
TIPOVI DIJALOGA
Zahvaljujui promeni stava projektanata da treba vie panje obratiti na korisniki interfejs
(program je proizvod, namenjen korisniku i tritu), korisnik se vie ukljuuje u proces izrade
programa, tj. menja se ivotni ciklus softvera.
Tako je u Visual Basic 5.0 prisutan ADD-In Manger kojim se ukljuuju dodatni alati za brzo i
standardizovano pravljenje aplikacije. Tako se ukljuuju razni alati tipa Tools i Wizards, koji
omoguuju brzo kreiranje formi uz neophodne manje prepravke, tj. prilagoavanja na
konkretne zahteve korisnika. Jedan od njih je i Application Wizard koji kreira celu aplikaciju. Tu
je i Data Form Wizard, koji kreira forme vezane za bazu: pojedinani unos, tabela, pojedinani+
tabela (master+detail->za povezivanje dveju tabela koje su vezane kljuem).
Na ovom mestu se navode principi do kojih su autori doli u izradi seminarskih radova na kursu
Informacioni sistemi . Inae, o optim principima korisnikog interfejsa videti u [MD].
2 - Auriranje sadraja neke tabele ili pogleda (1 tabela ili vie, 1:M unos) kao realizacija unosa
ifarnika ili pokrivanje procesa - dogadjaja realnog sistema
3 - Prikaz alfanumerikih podataka: tabelarno (Data Grid)
4 - Prikaz/unos slika (ukoliko ih ima)
5 - Arhiviranje podataka i manipulaciju sa fajlovima
6 - Pretraivanje i prikaz podataka (sort, filter, upiti: jednostavni po kljunoj rei ili deo rei, po
svim obelejima ili sloeni koji ukljuuju vie kriterijuma)
7 - Izvetavanje (izvetaji) i unos veeg teksta
8 - Prikaz statistikih i pojedinanih podataka dijagramima (Chart)
9 - Rad sa mapama
1. upozorenja, obavetenja
2. "help" sistem za pomo
3 "about" programa : autori, godina proizvodnje, registracija i sl.
4. forma za podeavanje rada programa options
U radu posebno sa bazama podataka, najee se koriste sledei elementi korisnikog interfejsa
(VB):
- element za pristup bazi podataka (Data control),
- Combo Box sa listom koja ita podatke iz baze podataka, a pri izboru upisuje u bazu
podataka (DBCombo),
- List Box sa vezom sa bazom podataka (DBList),
- DBgrid (za tabelarno prikazivanje podataka iz baze podataka),
- Crystal Report kontrola (za omoguavanje veze sa izvetajima).
2. About forma
Slui: za obavetavanje o autoru i sl.
Sadri podatke:
1. Naziv aplikacije
2. Verzija
3. Platforma (namena)-for 32bit Windows Development
4. Copyright
5. Licenced to & Serial Number
6. Upozorenje o zatienosti zakonima...
7. System info
3. MDI forma
Slui: sadri druge forme, sadri horizontalni padajui meni aplikacije.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Tehnike: postavljanje fokusa, promena boje, grafiki tasteri, postavljanje skraenica na tastere
5. Upozorenja, obavetenja
Slui: za alarme da je neto pogreno uraeno, za obavetenja npr. o tampau i upozorenja
npr. da se naglasi da je neto takvo i takvo, ili da treba neto uraditi na neki nain.
Elementi: labela, komandni tasteri,(option button kod ekrana za kraj)
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Tehnike: isticanje bojom, zvukom i blinkovanjem; javljaju se nakon to je izvrena neka akcija
ili pre neke akcije-> provera uslova i nakon uslova treba prikazati poruku; koristi se MSGBOX,
INPUTBOX ili obina forma.
Tehnike: korienje niza labela (labela(0), labela(1)...), korienje globalnih promenjivih (na
nivou modula (forme)->Public, korienje api funkcije za oitavanje username, Korienje
Space$ funkcije za pravljenje praznog stringa od fiksnog broja karaktera,Len, Left$, SetFocus
na text box, Hide, unoenje ifre kao niz zvezdica (password char), Automatsko selektovanje
teksta (Textbox1.Selstart=0, Textbox1.SetLength=Len(Textbox1.text))
-> odakle se ita ifra: iz baze, pa se poredi sa bilokojim od korisnika u bazi, ili sa ifrom u .exe
(kodu), ili sa ifrom u registry, ili se smesti na disketu, pa samo dok je inicijalna disketa u drajvu
moe da se koristi program.
-> da li e postojati Cancel dugme zavisi od toga da li postoji neki skup aktivnosti koje se mogu
sprovoditi nad programom bezopasno.
7. Forma za auriranje sadraja neke tabele ili pogleda (1 tabela ili vie, 1:M unos)
Slui: za auriranje tabela iz baze, to znai unos (dodavanje novog sloga), brisanje
(postojeeg sloga) i izmena podataka (postojeeg sloga).
Elementi: labele, text box, Combo, DBCombo, List, DBList, Option, Check, Komandni tasteri
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
Tehnike:
- Pre svega, razlikuju se forme za auriranje matinih podataka i tzv. korisnike forme koje slue
osnovnoj svrsi informacionog sistema: za evidenciju rauna, prijemnice, otpremnice i sl. jer
korisnike forme koriste matine podatke u svojim DBCombovima.
-Za brisanje i izmenu prvo pronai traeni slog, pa ga zatim izmeniti/obrisati. (koristiti bookmark
ili ifru)
- Prilikom brisanja voditi rauna da li je kaskadno brisanje podeeno u bazi ili nije-da li postaviti
pitanje korisniku ili automatski izvriti aktivnost. U svakom sluaju, za sve akcije je potrebno da
se korisnik obavesti.
- Prilikom unosa i izmene ifre, voditi rauna da ne postoji ve slog sa istom ifrom u tabeli
(kontrola u kodu ili prepustiti da SUBP tu reaguje).
- Kontrolisati vrednosti polja (domen) ve pri unosu toga (svakog) polja, recimo pri naputanju
tog polja i prelasku na sledee ili u toku kucanja (unosa), a ne na kraju kada se potvruje unos
da se prijave sve greke!
- Pri kontroli kod neispravnog unosa ne sme da stane program ("pukne"), ve samo da se
obavesti korisnik o greci, postavi fokus na pogreno mesto (oboji drukije, alarmira zvukom!!!)
- Kod unosa novog sloga, nakon potvrde unosa treba da je poslednje uneti slog zapravo i onaj
koji se po potvrivanju vidi kao tekui. (koristiti Bookmark=Lastmodified)
- Zgodno je prebacivati se sa kontrole na kontrolu sa tab-om, a pri unosu sa ENTER, da
redosled bude u skladu sa redosledom unoenja, da bi se to bre unosilo, bez gledanja!!!
- Zgodno je da kontrola koja ima fokus bude drugaije obojena.
- Lepo je i korisno da se pri unoenju nove ifre matinog podatke ovaj upie automatski u text
box, sa mogunou izmene, a da to bude automatski prvi sledei nezauzeti broj (poslednji po
veliini +1 ili moe i manji, koji nije bio zauzet. To moe da bira korisnik, a ako ima takvih
nejasnih situacija, svakako da se obavesti).
- Potrebno je umesto text boxova na korisnikim tabelama (NE matinim podacima) koristiti
Combo ili DBCombo boxove gde korisnik bira ime, a ne unosi (i pamti) ifru koja se zapravo
unosi u korisniku tabelu.
- Potrebno je ukoliko, nedostaje neki podatak u kombo boxu, dodati ga u matinim podacima, a
zatim se vratiti na ovu formu i osveiti je da bi se ponovo napunila lista combo boxa i da bi se
ovaj novi podatak mogao iskoristiti.Zato je potrebno da su sve forme MDIchild prema nekoj MDI
koja objedinjuje celu aplikaciju. Na taj nain je mogue pozivati vie formi odjednom.
- Potrebno je podatke koji se odnose kao 1:M (zaglavlje dokumenta i stavke dokumenta) unositi
na jednoj formi. Pri tome treba omoguiti da se ova strana M vie puta unosi, bez unoenja
zaglavlja svaki put (jednom se unese, zadri na ekranu i podrazumeva se da se unos na strani
M odnosi na to zaglavlje.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
1. direktno tabela baze vezana na tekst boxove(baza proverava ispravnost za svaki tekst box i
daje upozorenja-> prekida program sa radom): Text boxovi su vezani za Data kontrolu i
odgovarajue polje tabele
2. a) nije tabela vezana za tekst boxove, nego oni slue za unos vrednosti, a pritiskom na taster
"Potvrdi" se deava provera ispravnosti(poruke) i unos/izmena;
b) nije tabela vezana za tekst boxove, nego oni slue za unos vrednosti, ali se nakon svakog
unosa(svakog tastera) proverava da li je to polje ispravno uneto.
3. SQL upitom se aurira tabela baze (brie, dodaje, menja).
Tehnike dodavanja sloga, editovanje, osveavanje tabele, kretanje kroz tabelu (prvi, sledei,
zadnji), ponitavanje akcije dodavanja, izmene, brisanja (u zavisnosti od stanja u kojem se
nalazi forma), ispitivanje da li je prvi slog, poslednji, jedini, da li je prazna tabela, korienje
promenljive kao instance objekta forme (dim f as NEw frmDataGrid, gde je frmDataGrid zapravo
naziv forme, koja je univerzalna za tabelarni prikaz), korienje klasa i univerzalnih formi, a
prosleivanje samo podataka, korienje dogaaja kao to su data error, reposition,korienje
promenljive screen, promena mouse pointera:default i hourglass, korienje defaultnih
vrednosti (imenovanih konstanti-VBDefault), redni broj sloga kao apsolutna pozicija
(absoluteposition), kolekcija slogova: Recordset, korienje case strukture, Validacija nakon to
je korisnik izazvao neku akciju, a pre nego to se ona zaista izvrila (Validate), i nakon to se
izvrila (Reposition), korienje with ... end with strukture.
brisanje/izmenu sloga, ali prvo se pita (Msgbox), Before Delete i cancel,pozivanje jednog
dogaaja automatski kodom iz nekog drugog dogaaja (CMD1_click, na poetku reda, bez call),
Sortiranje tabele klikom na dbgrid, na zaglavlje (sortira kada se primeni kod za headclick)->
ASC obian click, DESC kada je click+CTRL.
Tehnike: Picture Box nema, a Image Box ima skaliranje (proporcionalno smenjenje i uveanje
slike koja se uita). Unos slika se moe vriti skeniranjem, pri emu se dobije fajl koji se snima
negde. Slike su potrebne u nekim informacionim sistemima radi identifikacije korisnika,
muterija, dobavljaa, grafiki rezultati nekih testova (snimci u medicini ) i sl. Sliku treba vezati
za neke tekstualne podatke, pa se naziv fajla i putanja do slike memoriu u bazi (u nekoj tabeli,
uz ifru koja predstavlja vezu ka tekstualnim podacima) kao stringovi. Najbolje bi bilo sve
fajlove (dokumente, slike i sl.) vezane za jednu osobu, organizaciju i sl. stavljati u jedan
direktorijum. Zato bi bilo dobro da ove direktorijume pravi program, automatski sa pojavom
novog partnera mu otvara vlastiti direktorijum koji bi imao naziv slino kao i ifra tog partnera.
Ponekad je potrebno uveanje slike ili delova slike; zato je potrebno odmah pri skeniranju da se
slika uvelia i to pod visokom rezolucijom i takva snimi. Pogodno je koristiti MDI formu
kaopodlogu za uveliavanje (jer ima klizae).
Tehnike: povezati ove kontrole u funkcionalnu celinu. Da bi se fajlovi koji su u vezi sa nekim
entitetom iz okruenja s njime povezali, treba da se smetaju uvek u isti direktorijum. Najbolje
bi bilo sve fajlove (dokumente, slike i sl.) vezane za jednu osobu, organizaciju i sl. stavljati u
jedan direktorijum. Zato bi bilo dobro da ove direktorijume pravi program, automatski sa
pojavom novog partnera mu otvara vlastiti direktorijum koji bi imao naziv slino kao i ifra tog
partnera.Ipak, ta veza treba da je upisana u bazi kao naziv direktorijuma i apsolutna putanja.
Svakako, pri svakom pokretanju programa treba proveriti da li su fajlovi koji su evidentirani u
bazi nazivom i putanjom zaista tamo, da ne bi "pukao" program. Ukoliko nisu, omoguiti
korisniku da ih pretrauje po medijima za memorisanje (diskete, hard disk, CD i sl.) iz vaeg
programa. Backup treba raditi periodino, u pravilnim periodima. Najbolje je vezati backup uz
izradu statistikih izvetaja.
Tehnike: SQL, sort, filter, kljuna re ili deo rei, po svim obelejima.
Tehnike: Crystal report je kontrola koja je veza korisnikog interfejsa i *.rpt fajla, koji se
generie u okviru editora za izvetaje, a vezuje se za odreene tabele baze. Bitno je postii
relativnost putanje rpt fajla, kao i relativnost putanje rpt fajla prema fajlu baze. Potrebno je
kreirati najfrekventnije izvetaje, koji e se u realnim situacijama puniti realnim podacima iz
baze. Takoe je poeljno postii univerzalnost izvetaja, tako da se mogu koristiti i praviti
izvetaji po elji. Takoe, nekad je potrebno da se unosi tekst veeg obima. Zato nam slui Rich
text , pomou kojeg se moe unositi i snimati kao txt ili rtf fajl.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
15. Help
Slui: za pomo o korienju programa, kao i obavetenje o trenutnom stanju programa
Elementi: Statusna linija, trake iznad prozora, tooltip svake kontrole, komandni taster sa
Msgbox-om, *.hlp fajl, DBlist box sa svim pojmovima iz tabele sa objanjenjima.
Tehnike: On-line help: statusna linija, trake iznad prozora, tooltip: u svakom trenutku da se
zna koja kontrola emu slui, u kom stanju je program, koji prozor je aktivan i emu slui. Off-
line help: komandni taster sa MSGBox-om, Hlp fajl, DBList box na posebnoj formi za help.
Najbolji off-line help je ako se napravi .hlp fajl (standardni Windows help fajl, koji u sebi sadri i
Word index-> listu nepoznatih pojmova, kao i procesno uputstvo u smislu: ta ako?). Da bismo
sa svakog ekrana mogli dobiti pomo, treba da imamo vezu sa delom .hlp fajla koji se na ba
taj ekran odnosi.
Radulovi dr B., Eremi Lj., Kazi Z. Odabrana poglavlja Projektovanja informacionih sistema
7. LITERATURA
[J] Jaukovi Mihajlo, Uvod u informacione sisteme, Tehnika knjiga, Beograd, 1992.
[LN3] Lazarevi Branislav, Nekovi Sinia, Nove arhitekture i pristupi objektno orijentisanom
razvoju softvera, asopis INFO SCIENCE 2-3/99. str. 21-26
[MD] Malbaki Duan, Odabrana poglavlja Metoda programiranja, Tehniki fakultet Mihajlo
Pupin, Zrenjanin, 2001.
[MZ] Marjanovi Zoran, Aktivni sistemi baza podataka, SYMOPIS 1993, str. 103-106
[M] Mihajlovi Dragan, Informacioni sistemi, Univerzitet u Novom Sadu, Fakultet tehnikih
nauka, Novi Sad, 1993.
[ML] Mogin Pavle, Lukovi Ivan, Principi baza podataka, Univerzitet u Novom Sadu, Fakultet
tehnikih nauka, Novi Sad, 1996.
[MLG] Mogin Pavle, Lukovi Ivan, Govedarica Miro, Principi projektovanja baza podataka,
Univerzitet u Novom Sadu, Edicija Univerzitetski udbenik, 2000.
[UHW] Ullman Jeffrey, Garcia Molina Hector, Widom Jennifer, Database Systems: The
Complete Book, Department of Computer Science, Stanford University, Prentice Hall,
New Jersey, 2002.
ISO 9000 - 3 Smernice za primenu ISO 9001 u razvoju, isporuci i odravanju softvera, 1993.