Professional Documents
Culture Documents
CASE ALATI Seminarski Rad
CASE ALATI Seminarski Rad
Redovne studije
Smjer „Poslovna informatika”
Predmet
SOFTVERSKI INŽINJERING SA OBJEKTNIM
PROGRAMIRANJEM
"CASE ALATI"
(seminarski rad)
Predmetni nastavnik
Prof. dr Zoran Ž. Avramović
Student
Marko Vukić
Indeks br. 55-13/RPI
2
iskoristiti ukoliko žele da oni ispun svoju namjenu. Shodno tome, sam krajnji efekat ne zavisi
samo od samog CASE alata i njegovog kvaliteta nego i od znanja koje posjeduje njegov
korisnik i sposobnosti dag a iskoristi.
1.3. Struktura CASE tahnologija
Opšta struktura CASE tehnologije se sastoji od sledećih alata koji se koriste za:
strateško planiranje
sistem analizu
dizajniranje baze
razvoj sistema
izgradnju samog sistema
upravljanje tim sistemom
podršku svim procesima
upravljanje cjelokupnim projektom
enciklopediju sistema
Podaci o razvoju i formacionog sistema is vim njegovim elementima nalaze se u CASE
enciklopediji. Nju možemo posmatrati kao sponu između svih elemenata strukture CASE
tehnologije koje smo naborjali, ona pored toga nudi mogućnost nadovezivanja nekih of faza
razvoja informacionog sistema pomoću nje. U slučaj kada se u informacionom sistemu neke
faze razvoja automacki nadovezuju međusobno poenta je da se alati iz neke faze u istom
trenutku nude na raspolaganje drugim alatima u nekoj od budućih faza u procesu razvoja
sistema.
Navedene alate ne posjeduju svi CASE proizvodi u svojoj matičnoj strukturi, bitno je to
naglasiti, iako svaki dobavljač u suštini nastoji da razvije neke sopstvene ili u saradnji sa nekim
neku određenu CASE tehnologiju koja bi na kraju predstavljala određenu zaokruženu cjelinu.
Isto tako, moć CASE tehnologija nije jednaka u svim slučajevima. Tako recimo neke od njih
imaju dobar alat za analiziranje sistema dok druge dobro rade za dizajniranje baze podataka,
zatim recimo neke imaju razvijenu mogućnost strateškog planiranja ili čak mogu upravljati
cijelim projektom itd. Dakle, kao što se može zaključiti, najbolji rezultati se postižu ukoliko
kombinujemo više CASE tehnologija koje su dobre na različitim područjima. Sama primjena se
organizuje tako što se alati iz jednog skupa primjenjuju u prvoj fazi razvoja, pa onda neki drugi
u drugoj fazi razvoja i tako svaka redom koristi potrebne alate za svoju realizaciju.
Primjena CASE tehnologije na ovaj način može izazvati neke neminovne problem jer do
sada nije definisana struktura CASE enciklopedije koja bi važila za sve. Tako recimo ako
imamo u jednoj enciklopediji podatke koji su vezani za neku tehnologiju oni u većini slučajeva
nisu kompatibilni sa podacima koji se nalaze u nekoj drugoj enciklopediji koja služi u neku
drugačiju svrhu. Dakle, glavni problem u tome je što svaka različita tehnologija ima drugačije
standard pa se pri samom odabiru na to mora skrenuti pažnja.
Isto tako važno je napomenuti da same CASE tahnologije nisu u mogućnosti samostalno
automatski razviti neki sistem već samo posjeduju alate i metodologiju koji dalje omogućuju
razvoj samog sistema čija je radna produktivnost visoka.
3
2. Klasifiakcija CASE tehnologija
4
CASE tehnologije možemo još takođe podijeliti prema fazama životnog ciklusa koje
CASE tehnologije pokrivaju, pa tako imamo:
Projektanski CASE
Početak automatizacije životnog ciklusa (prve tri faze):
1. Strategijsko planiranje
2. Analiza
3. Dizajn
Programerski CASE
Automatizacija sledećih faza životnog ciklusa:
1. Programiranje
2. Implementacija
3. Eksploatacija
4. Održavanje
Integrisani CASE
Učestvuje u svim fazama razvoja sistema.
2.1. Klasifikacija na osnovu funkcija
Ako za primarni kriterijum za klasifikaciju CASE tehnologija budu same funkcije koje
one posjeduju tada dobijamo sledeću podjelu:
Alati koji se koriste za planiranje poslovnoh sistema
Alati pomoću kojih se upravlja projektima
Alati za podršku
Alati za dizajn i analizu
Programerski alati
Testni alati i alati integracije
Alati za fazu prototipskog razvoja
Podrška održavanja
CASE tehnologije koje se koriste za praćenje aktivnosti između organizacionih jedinica
i tokova informacija spadaju pod alate za planiranje poslovnoh sistema.
Kod alata za upravlajnje projektima imamo sledeći skup aktivnosti:
1. Upravljanje podacima i prikupljanje informacija
2. Analizu rizika
3. Verifikaciju standarda
4. Vrijednost projekta i procjena vrijednosti
5. Plan projekta
6. Ocjena produktivnosti
7. Osiguranje kvaliteta
8. Skupljanje informacija i pronalaženje resursa
Alati koji su neophodni kroz čitav proces softverskog inžinjeringa su alati podrške, ove
aktivnosti su dakle dostupne u svakom trenutku. Sadrže alate za potrebe dokumentovanja, zatim
alate koji daju podršku sistemskom softveru, isto tako alate za podršku kod osiguranja
kvaliteda, zatim za upravljanje bazom podataka itd.
Alati za dizajn i analizu su dio CASE tehnologija koje pomažu inžinjerima da krairaju
sam model sistema koji se gradi. Ovaj model se sastoji od prikaza toka podatka, prikazuje
sadržaj podatka, kao i sadržaj procesa, prikazuje kontrole itd. Na kvalitetu i razvoj modela
direktno utiču ovi alati jer oni se koriste za samo kreiranje modela i dalji razvoj. Pomoću njih se
5
otklanjaju greške na osnovu obavljene provjere konzistentnosti te provjene vrijednosti modela,
velika prednost je što na ovaj način to možemo učiniti prije nego se pređe na dizajn ili čak
počne sa implementacijom.
Za pomoć pri kreiranju programskih rešenja tu su alati za programiranje koji su
namjenjen da podržavaju CASE tehnologije u ovoj klasi. U tu grupu se obično svrstavaju neki
od konvencionalnih alata koji se koriste za podršku programskim jezicima, zatim simulatori
setova instrukcija kao i editori te generatoti modula i koda itd.
Da bi se softver na pravi način uklopio u okolinu u kojoj će funkcionisati zaduženi su
alati za testiranje i integaraciju. CASE tehnologije ove klase razvnijene su u što većoj mjeri da
bi se konačni proizvod što bolje usavršio za potrebe korisnika i na taj način osigurao svoje
mjesto na tržištu. Primarna svrha ovih alata je da prikupe što više informacija i podataka koji
će se dalje koristiti tokom testiranja. Pored njih tu su alati koji izvorni kod analiziraju bez
prethodno izvršenog testa, pa zatim alati pomoću kojih se izvorni kod analizira u toku obrade,
te alati koji za zadatak imaju da pomognu u planiranju. Jako važna grupa alata su oni koji
simuliraju sam hardver i još dodatno neke spoljene elemente jer se na ovaj način rade
najpouzdaniji testovi i provjere.
Jako bitan dio kod izrade softvera su alati koji služe za podršku održavnja. Prema nekim
podacima koji se odnose na CASE tehnologije ovo je praktično 70% posla u cjelokupnoj izradi
softvera. Funkcije se mogu podijeliti u tri grupe:
1. Inžinjering u suprotnom smijeru (generiše razvojni i analitički model na osnovu
izvornog koda)
2. Rekonstrukcija koda
3. Reinžinjering
6
3. Efekti primjene
Prve tri faze automatizacije su najvažnije u razvojnom ciklusu CASE tehnologija i zbog
toga se njima daje najviše pažnje. Bitno je to naglasiti jer su veliki torškovi ukoliko dođe do
greške da bi se ona poslije uklonila u nekoj od faza živornog ciklusa. U praksi se pokazalo da
ako se kasnije otkrije greška njeno saniranje je skuplje.
Kvalitetu samog softversog inžinjeringa značajno može doprinijeti primjena CASE
tehnologija ako se efikasno koristi. CASE tehnologije imaju mnogo pozitivnih strana, najbitnije
je to da svoju funkciju izvršavaju a pored toga se uštedi na radnoj snazi, isto tako in a vremenu
kao i na finansiranju a pored toga omogućuju u dosta slučajeva nešto što bez njih ni ne bi bilo
izvodivo ili bi bilo teško izvodivo. Važno je naglasiti da se primjenom CASE tehnologija
značajno smanjuju greške pa se samim tim i produktivnost povećava.
Pozitivni efekti CASE tehnologija:
Model sistema se grafički prezentuje
Korekcija nekonzistentnosti i detekcija grešaka
Prototip sistema se interaktivno izrađuje
Ukoliko se neka komponenta može u razvoju ponovo upotrijebiti sistem ju
identifikuje
Razvojem sistema se efektivno upravlja
Vrijeme utrošeno za razvoj se efektivno kontroliše
Sredstva koja su namjenjena za razvoj se takođe kontrolišu
Dokumentacija koja je uvijek ažurna se generiše automacki
Dakle, CASE tehnologije prednjače u odnosu na neke tradicionalne načine za razvoj
sistema kao što može vidjeti iz prethodno navedenih efekata pa tako da ako su problem tipa
netačnosti ili kašnjenja u izvedbi zastupljeni, kao i u slučaju kada je dokumentovanost loša ili se
izmjene teško rade CASE tehnologije mogu znatno pomoći.
Teško je tačno procijeniti koliki su efekti primjene CASE tehnologija jer je period
korištenja do sada relativno kratak. Ali neka istraživanja i dosadašnje studije pokazuju
poboljšanja koja se kreću od 30% pa do 60%. Rezultati su još uvijek prilično neusaglašeni ali
bez obzira na to veoma je pozitivna mjera da su skoro pa u svim studijama primjena CASE
tehnologija dovele do poboljšanja. Samo povećanje produktivnosti, a pored toga i mnogo
tačnija izgradnja sistema za kraći period dovela je do toga da inžinjeri koji se bave izgradnjom
softvera često u potpunosti promjene metode razvoja ili ih izmjene u nekoj mjeri kako bi na taj
način omogućili implementaciju CASE tehnologija.
7
4. Osobine CASE tehnologija
Svaka nova tehnologija je u velikoj prednosti ako je prilagođena korisniku, zbog toga
jednostavnost korištenja praktično pretstavlja efektivnost same tehnologije posmatrano od
strane korisnika. Bez obzira na složenost tehnologije i samu funkcionalnost CASE tehnologije
se kreiraju na takav način da jednostavno, lako i bez potrebe za puno razmišljanja dovedu do
rešenje nekog konkretnog zadatka. U suprotnom, ako sam korisnik treba odraditi dio ovog posla
i utrošiti svoje vrijeme da bi na kraju tehnologija radila te da bi je on mogao koristiti onda je
već upitno koliko ona ispunjava svoj zadatak te da li uopšte pomaže jer ukoliko imamo ovakav
slučaj moguće je da ona onda samo predstavlja smetnju u radu.
Kako se CASE tehnologije smatraju naprednima od njih se očekuje da otrkrije greške u
samom procesu pa čak da neke od njih i samostalno koriguje. Komunikacija takođe treba da
bude na veoma visokom nivou interakcije te da jasno i koncizno vodi dijalog sa korisnikom u
toku rada, jako je važno da sve bude predstavljano na način koji je korisniku prihvatljiv i
razumljiv. Da bi tehnologija zadovoljila zahtjeve korisnika neophodno je da bude u mogućnosti
kombinovanja sa drugim tehnologijama, njena fleksibilnost u ovom smislu je veoma značajna
jer zahtjevi korisnika su različiti. Neka neplanirnja reagovanja od strane tehnologije ili slično
izazivaju najviše nezadovoljstba od strane korisnika, stoga je nužno takve situacije svesti na
minimum a poželjno je da se iste i u potpunosti otklone. Dakle, smatra se nedopustivim da zbog
svojih izlaza tehnologija dovodi do toga da blokira korisnika a nisu poželjna ni neka
iznenađenja, da korisnik bude zbunjen rezultatom ili slično. Takođe, od korisnika se očekuje da
koristi naredbe koje su koncizne, jednostavne i jasne.
Kada je riječ o podobnosti ona tehnologija koja ima nivo podobnosti da zahvaljujući
svojim performansama može riješini veliki broj zadataka u toku razvoja softvera onda se takva
tehnologija može smatrati kvalitetnom. Recimo samu podobnst moguće je izraziti tako što se
jednostavnom naredbom može dovesti do nekog od glavnih efekata za koje je tehnologija
razvijana. Pored toga, od CASE tehnologije se očekuje da predoči sve informacije o stanju
8
same CASE tehnologije, cilj ovoga je da se korisniku predoči podobnost tehnologije tako što će
izneijeti što više informacija o svom stanju, tako čak se stiče utisak da je tehnologija čak i
podobnija nego što to u stvari jeste.
Snaga ili moć tehnologije se rangira na osnovu nekoliko faktora:
1. Nivo pouzdanosi
2. Ponašanje pri lošim ili teškim uslovima
3. Funkcionisanje
4. Značajnost tehnološkog nedostatka
5. Aktivna konzistentnost u tehnološkom funkcionisanju
6. Način integracije u spoljno okruženje
Mogućnost alata da korisniku pruži rasterećenje kada je riječ o riziku koji bi sam
korisnik mogao napraviti predstavlja njegovu pouzdanost, što je za korisnika veoma značajno.
Zamišljeno je da CASE tehnologije najprije otkriju eventualne greške a zatim iste i otklone, s
tim da se takođe obrati pažnja in a posledice koje nastaju zbog greške. Ako se sama greška
otkloni a posledice koje je ona prouzrokovala ostanu to značajno ugrožava pouydanost sistema.
Samotestiranje je u ovome jako važno, tehnologija treba samu sebe da provjeri i taj mehanizam
je zadužen za to da omogući pravilno funkcionisanje .
Potvrda moći i veličina snage tehnologije stiče se na osnovu konzistentnosti aktivnosti,
ona podrazumjeva semantiku i sintaksu koja mora biti dobro definisana. U istom trenutku,
nužno je da thenologija bude razvijena do te mjere da bez problema podržava razlike između
pojedinih verzija i da iste budu u potpunosti kompatibilne.
Funkcionalnost je osobina koju nije moguće definisati samo na osnovu zadatka u svrhu
kojeg je neka od tehnologija dizajnirana, nego su jako bitne i same metode koje se koriste za
izvršavanje zadataka. Veoma je velik broj tehnologija od strane kojih su metodologije
podržane. Ispoljavanje efikasnosti od starane same tehnologije se ogleda kroz mogućnost
podrške metoda i ona doprinosti neposredno mogućnosti razumjevanja i definisanja tehnoloških
osobina. Efikasnost se isto tako može posmatrati kroz korisnost izlaza i njihov kvalitet sa
aspekta korisnika.
Cilj CASE tehnologija je da metode integtišu te ih povežu za metodologijom. Neke od
tehnologija imaju mogućnost podrške čak svih područja u metodologiji ili barem više njih, ako
ne onda u krajnjem slučaju najmanje jedno područje metodologije i mogu rezultate među
fazama nezavisno prenositi. Struktura i koncepcija CASE tehnologija određena je direktno
izabranom metodologijeom, samim tim i tehnikama te metodama koje se koriste. Obavezno je
da tehnologija osigura primjenu metodologije koja je konzistentna, a isto tako i metoda ne
kojima je zasnovana. To osigurava korektno funkcionisanje te naglašava potrebu da se
kontroliše da li je u potpunosti sprovedena metodologija. Još treba napomenuti i da sama
tehnologija ima zadatak da generiše korektne izlaze koji su metodologijom striktno strogo
definisani.
Postojeći sistem je obično temelj za razvoj CASE tehnologija. Shodno tome, od velikog
je značaja da se CASE tehnologija uklopi u postojeći sistem i praktično nadogradi na njega.
Lako povezivanje sa informatičkim sistemom koji već postoji tu je od velikog značaja. Cilj je
da instalacija bude jednostavna ted a postojeće structure baza podataka i datoteka budu
nesmetano korištene kao i prije nego su se CASE tehnolgije počele koristiti. Ukoliko se u
organizaciji, što je čest slučaj, koristi više tehnologija ovog tipa obavezno je da prenos podataka
i njihova razmjena bude omogućena i da se nesmetano izvodi između različitih CASE
tehnologija koje se koriste u istoj organizaciji.
9
Za rangiranje CASE tehnologije na osnovu kvaliteta podrške bitno je obratiti pažnju na
nekoliko sledećih elemenata:
1. Reputacija koju ima dobavljač
2. Rasprostanjenost i zrelost tehnologije
3. Ukoliko se kupuje nekoliko kopija razamtranje mogućnosti da se troškovi u tom
slučaju umanje
4. Davanje tehnologije na raspolaganje za iznajmljivanje
5. Povrat sredstava ukoliko dođe do vraćanja tehnologije
6. Ukoliko je iz nekih razloga potreban izvorni kod tehnologije da se omogući
pravo pristupa istom
7. Uslovi održavanja
8. Blago vremena reakcija kada je održavanje u pitanju
9. Ukoliko dođe do nekog problema pružanje mogućnosti odgovora
10. Dogovor oko prava na nove verzije tehnologije ako je daljni razvoj u planu,
pogotovo sa aspekta financiskog gledišta
11. Rok trajanja garancije
12. Dozvoljeni rok za isporuku
13. Obuka za buduće korisnike tehnologije
14. Ukoliko je potrebno da li su na raspolaganju neki od programa obuke
15. Nivo stručnosti i pedagoške sposobnosti kadrova koji rade na obuci
Treba napomenuti i da CASE tehnologije nude mogućnost integralnog razvojnog
okruženja i to da metodološki pristup bude nezavistan od sistemskog razvoja te da pruži
prilikom svake aktivnosti podršku, počevši od definisanja, pa zatim razvoja softvera i sve do
samog održavanja tog softvera. Uz sve ovo bitno je da se omogući da funkcionisanje sistema
bude optimalno ted a procenat grešaka do kojih može doći u procesu bude sveden na minimum.
10
5. Načini na koje je moguće integrisati CASE tehnologije
Više je načina pomoću kojih se može integrisati CASE tehnologija. Međutim, broj alata
koji se koriste nezavisno i koji su uopšteno nezavisni je veoma mali. Oni koji su tako kreirani
mogu samostalno da ponude izlaze kao program, podatak ili document. U ovom slučaju veza
ovakvih alata sa ostatkom okruženja je papir koji graditelj softvera prenosi na uvid ostalima.
U stvrnom svijetu više je načina integracije kojima se mogu povezati CASE tehnologije,
s to su:
Razmjena podataka
Zajednički pristup alatima
Upravljanje podacima je zajedničko
Dijeljenje podataka
Međusobna operatibilnost
5.1. Razmjena podataka
Mogućnost koju većin alata posjeduje je razmjena podataka a ona je i najčešći slučaj. U
takvom slučaju alati se prevode u oblik datoteke koja je nestruktuirana i to u formatu štampe.
Na ovaj način dobijamo mogućnost zaštite podataka alata, te se eliminišu potrebe za unošenje
elementa nanovo te upisivanje specifikacija elementa ponovo in a taj način se takođe i
štamparske greške sprečavaju. Zajedničkom akcijom razvijaju se prevodioci od strane samih
isporučilaca alata i od njih se ti alati najlakše mogu i nabaviti. Pored toga, u nekim slučajevima,
nudi se još jedna varijanta za nabavku prevodilaca, naime, u nekim slučajevima iste razvijaju i
korisnici i konsultanti. Problemi u ovom drugom slučaju često nastaju kod toga što se u dosta
slučajeva samo dio ovako prevedenih podataka može i prihvatiti na ovaj način i da se oni dalje
mogu koristiti u drugom alatu. Taj problem je moguće otkloniti tako što se kompatibilnost
naknadno definiše. Još jedan problem koji iziskuje konstantno prenošenje i prevođenje datoteka
jer se iste stalno razvijaju samim razvojem softvera koji je u većini slučajeva konstantan.
Problem sa sinhronizacijom takođe je često izražen kada su u pitanju dvije ili više različitih
verzija softvera.
Često je slučaj da se na jednom projektu koristi mnogo alata i tada je nužno izbjeći
stalno prevođenje i transferisanje, važno ga je izbjeći i zbog toga jer je dodatna otežavajuća
okolnost to što je jednosmjerno. Problem je u tome što mogućnost vršenja obostranih izmjena
nije moguća što direktno dovodi u pitanje integralnost konfiguracije i održavanje iste kroz
upotrebljivane nizove alata.
5.2. Zajednički pristup alatima
Naredni nivo integracije je zajednički pristup alatima. On omogućuje korisniku da se
više alata koji su različiti pozove na isti način, recimo iz padajućeg menija. Ovo najviše dolazi
do izražaja u multitasking okruženju jer se alati mogu otvarati simultano, isto tako ulazi se
mogu kodirati ručno a izlazi dizajna se upoređuju ručno kako god je to korisniku najpogodnije.
Kao primjer možemo navesti kada korisnik istovremeno treba dijegrame strukture, dijagrame
tokova podataka i još uz to izvorni kod i riječnik podataka a sve njih različiti alati održavaju.
Kada se zajednički pristup alata koristi u ovakvom okruženju, moguće je značajno
uporstiti razmjenu podataka iz jednog alata u drugi alat i to tako što se uvede procedura
prevođenja koja je uproštena izborom makro funkcije ili običnim izborom menija što je jako
čest slučaj u praksi.
11
5.3. Zajedničko upravljanje podacima
Ovakav način umpravljanja podacima je zamišeljen tako da se u samo jednoj logičkoj
bazi podataka drže svi podaci tj. da su u njoj integrisani podaci iz više alata. Ova zajednička
baza može biti fizički centralizovana ili decentralizovana. Na ovaj način integrcija značajno
uprosti razmjenu informacija te diže nivo na kome su podaci integrisani. Odlika svakog alata je
da se najaktuelnijim podacima može trenutno pristupiti i da su stalno dostupni, u ovu kategoriju
uglavnom spadaju oni podaci koji su stalno ažurni. Istovremeno na ovaj način se stiče još jedna
prednost a to je da se lako upravlja verzijama alata i lako se mogu kontrolisati prava pristupa.
Kod kontrole prava pristupa to se uglavnom radi na takav način da se ručno sve
kontroliše pomoću procedura prijavljivanja i odjavljivanja. Tu je još jedna od dodatnih
pogodnosti a to je da je tvorcima softvera omogućeno da kombinuju poslove i rade na različitim
djelovima softvera a to sve zahvaljujući funkciji integrisanja podataka. Često ovakva grupa
alata posjeduje i karakteristiku provjere što omogućuje da se utvrde nekonzistentnosti među
rezultatima između različitih autora.
Iako se zajednički upravlja na istom nivou podacima iz alata koji su različiti ti alati ne
poznaju interne structure podataka međusobno te u dizajnu predstavljaju semantiku. Problem
predstavlja to što je i dalje potrebno prevođenje koje se vrši ručno ako želimo da izlaz nekog
alata koristi neki drugi alat.
5.4. Podjela podataka
U slučaju dijeljenja podataka integracija se vrši bez ikakve transformacije, ovaj način
integracije je najjednostavniji jer structure alata su kompatibilne, imaju isto tako istu semantiku
što i omogućuje njihovu direktnu upotrebu bez nekih dodatnih transformisanja. Pri samom
dizajniranju void se računa o tome da svaki alat bude kompatibian sa drugim alatima i tako je
omogučeno nesmetano djeljenje podataka.
S obzirom na sve navedeno, treba još napomenuti i to da se dijeljenje podataka najčešće
primjenjuje ukoliko se radi o alatima istog proizvođača ili ukoliko dođe do strateškog
povezivnja više proizvođača sa ciljem da naprave takav alat. Ovakve intervencije se u nekim
slučajevima vrše čak i ako zahtjev potiče od samo jednog korisnika. Najbitniji dio posla za
ovakav metod povezivanja odradili su standardi za integraciju CASE alata koji su omogućili
dobru osnovu za to.
5.5. Međusobna operatiblnost
Najviši nivo integracije jeste međusobna operatibilnost. Tu se pojedinačni alati integrišu
i da bi se postigla neophodno je da bude realizovana zajednička podjela podataka i zajednički
pristup. Pored ovoga da bi se ostvarila puna međusobna integrisanost u CASE okruženju
moraju se ispuni još dva uslova tj. elementa:
Sredstva kontrole
Upravljanje meta podacima
Pod meta podacima smatramo sve one koji su proizod nekih od CASE alata, pored toga
oni moraju nositi i informaciju o samom procesu softverskog inžinjeringa.
Pod meta podacima podrazumjevamo:
1. Definicije objekta
2. Zavisnosti i veze među objektima
3. Dizajnerska pravila
4. Procedure, događaje i tokove procesa
12
Sredstva kontorle služe da se ostatku okruženja od strane pojedinačnih alata dostavi
obavjest o nekim značajnijim događajima. Pod ostatkom okruženja se podrazumjevaju
rukovodioci podatka, ostali alati ili neko treći. Takođe pored samog obavještavanja moguće je i
slanje zahtjeva za određenu akciju nekom servisu ili alatu, to se radi pomoću trigera. Kao
primjer može se navesti neki slučaj kada recimo alat za dizajniranje treba da obavjesti alat koji
upravlja konfiguracijom u slučaju kada se kreira neka nova verzija dizajnerskog dokumenta da
bi alat koji upravlja konfiguracijom mogao izvršiti provjeru da li je taj document konzistentan.
Sredstva kontrole su ta koja pomažu da se integritet okruženja održi te ona su takođe ta koja su
dužna da obezbjede sredstva koja su potrebna za automatizaciju standardnih procedura i
procesa.
Ovaj dio posla praktično obavljaju organizacije koje žele nebaviti neku od CASE
tehnologija. Uglavnom svaka od organizacija se vodi nekim svjoim zahtjevima i potrebama
kada nabavljaju tehnologiju.
Prilikom procesa procjene prolazi se kroz sledeće korake:
Analizranje zahtjeva i potreba korisnika
Analiziranje postojećeg okruženja
Utvrđivanje potencijalnih CASE tehnologija
Izbor tehnologije te ocjenjivanje kvaliteta
Veoma značajan ako ne i najznačajni korak pri odabiru CASE tehnologije je analiza
zahtjeva i potreba korisnika. Za opredjeljivanje koji tačno model softvera će se primjeniti treba
organizacija da se opredjeli isto tako da odluči o osnovnim upravljačkim te tehničkim
zadacima. Ukoliko neki zadatak zelimo i realizovati bilo da se radi o djelimičnoj ili potpunoj
realizaciji ti zadaci se prethodno moraju tačno identifikovati da bi se mogla realizovati pomoć
automatizovanih alata.
Prethodni metodološki koraci su uvijek u potupunosti povezani sa analizom postojećeg
okruženja. Od CASE tehnologije se očekuje da bude okruženju potpuno prikladna, ali u svakom
slučaju uvijek treba ostaviti prostora za ograničenja jer su moguća i treba ih uzeti u razmatranje.
Neka od njih su recimo: dosadašnja praksa, iskustvo zaposlenih, odnosi sa dobavljačima,
vrijeme, novac itd. Ovakva ograničenja nije dovoljno samo identifikovati nego ih je potrebno i
analizirati, te da se utvrde mogućnosti njihovog otklanjanja ili aspekti mogućih promjena.
Naredni korak je identifikovanje potencijalne liste CASE tehnologija, tu se korisniku
praktično nude tehnologije za koje se smatra da bi ga potencijalno mogle zadovoljiti u
zavisnosti od njegovih zahtjeva i potreba. Izbor tehnologija je već sada jako veliki uz tendenciju
brzog daljnjer razvoja i rasta. Postojeće tehnologije se promovišu kroz reklamne materijale,
prezentacije itd.
Najznačajni korak u ovoj metodologiji je ujedno i poslednji. Na svaku od CASE
tehnologija koje su u potencijalnoj listi identifikovane se primjenjuju svi kriterijumi koji su
identifikovani. Za potrebe najobjektivnije selekcije postavljaju se kriterijumi, pri tome su na
vrhu liste vrijeme i troškovi. Ako je moguće najbolje je da sam dobavljač tehnologije dođe te na
licu mjesta testira i upozna tehnologiju.
13
Glavni pokazatelj u kojoj mjeri neka tehnologija zadovoljava kriterijume koji su
postavljeni treba da budu zapažanja i bilješke sa testa. Najviše pažnje se daje najviše rangiranim
kriterijumima. Zaposleni u organizaciji bi u suštini trebali da budu ti koji će donijeti finalnu
odluku jer na kraju krajeva oni su ti kojima je u interesu da naprave dobar proizvod kako bi
ostvarili veću dobit.
14
Elementi karakteristika koje su uključene u inteligentne CASE tehnologije:
1. U svakoj fazi životnog ciklusa pokrivaju softverski razvoj
2. Planiranje je uključeno
3. Dobra grafička podrška i alati koji su na znanju zasnovani
4. Automatizovano testiranje, kodovanje i dokumentacija
5. Reinžinjering softvera takođe podržan
6. Softver se može upotrijebiti više puta
7. Kompletan sistem kao i program mora biti u potpunosti konzistentan
8. Automacko integrisanje kodiranih modula s tim da se prije kodiranja testira
projekat
CASE tehnologije koje se u razvoju softvera koriste za prototipski razvoj morale bi
pomoći buduće verzije da komunikacija između samih projektanata sa krajnjim korisnicima
bude efektivna i efikasna. Najbolji načan za to bi bio da prije nego sam korisnik uđe u velike
investicije da se izradi neki prototip koji bi bio eksperimentalnog tipa. To bi bilo zamišljeno na
taj način da se ektani na ulazu te meniji razvijaju dok se u isto vrijeme prikazuje šta vidi
korisnik na ekranima na izlazu. Na kraju, kada bude donesena odluka za izradu softvera tada se
počinje sa pisanjem programa.
Upotreba simulacije se koristi da bi se definisale i provjerile neke od performansi kao
što su recimo vrijeme prolaza, vrijeme koje je potrebno za pristup bazi podataka kao i vrijeme
za generisanje podataka i još nekih koji su sistemu potrebni. Princip simulacije je zamišljen
tako da se ulazi demonstriraju pa da se zatim, na osnovu njih demonstriraju izlazi, s tim da
trebaju biti upravo takvi kakvi će biti u izvršenju te da tako korisnik može dobiti predstavu
kakvi će biti u izvršenju.
Koncepcija CASE tehnologija za podršku je takva da one bez greške podržavaju i to
nezavisno jedna od druge aktivnosti upravljanja projektom, generisanje test slučaja, kao i
vrednovanje kvalitativnih performansi. Daljnja integracija sa intelignetnim CASE
tahnologijama kao i CASE tehnologijama za prototipski razvoj softvera je predviđenja za ove
tehnologije u daljnjem periodu.
15
8. Modeliranje poslovnih podataka pomoću CASE alata
CASE alati su takođe primjenu našli u velikoj mjeri u poslovnom svijetu. Cilj preduzeća
je od starta bio da se realizaciji i projektovanju svojih informacionih sistema koji su korišteni za
poslovne svrhe pristupe korištenjem CASE metodologija koje su bile najsavremenije, ti
najnoviji alati su u svojoj osnovi imali riječnik podatka. Na početku razvoja zbog malih resursa
koji su bili potrebni za rad sam izbor alata bio je skroman. CASE alat su dobili na značaju
vremenom kako se brzina i snaga računara povećavala.
Generisanje baze podataka i modeliranje poslovnih podataka u jednom poslovnom
sistemu, koji bi se kao takav morao sastojati od poslovnih podataka koji su neophodni da bi taj
isti sistem funkcionisao. Funkcionisanje nekog posovnog informacionog sistema je zamišljeno
kao jedan cjelovit i integralan postupak. Baza podataka je veoma bitan dio sistema i njen značaj
se jasno ogleda u tome što svi podaci moraju da budu obuhvaćani u njoj jer se na temelju njih
donose odluke u poslovanju.
U bazi podataka svi odnosi kako postoje u realnom svijetu tako moraju biti i zabilježeni,
logika povezivanja u bazi podataka je organizovana na taj način. Korištenjem savremenih
CASE alata izrađuje se logički relacioni model podataka i generišu se relacione baze podataka
korištenjem automatike. Korištenjem ovih alata omogućeno je izdvajanje logičkog relacionog
modela koji je veoma detaljan i u ovom slučaju on se tretira kao proizvod koji je nezavistan.
Ovaj model je realizovan na ovakav način jer tako nudi mogućnost u poslovnom sistemu da se
vrši nezavisna implementacija aplikacija kao i kontrola razvoja u poslovnim procesmia. Postoji
nekoliko važnih CASE alata koji se u svakom slučaju moraju pomenuti sa aspekta moguće
izrade fizičkog ili logičkog modela podatka kao i kada se radi generisanje fizičke baze podataka
iz nekog modela koji je razvijen, naravno podrazumjeva se da je proces automacki.
Pod razvojem informacionog sistema smatramo proces koji obuhvata korektnu i
cjelovitu izradu rešenja, ona bi služala kao pomoć poslovanju tako što bi se njome odmah uvela
i komunikaciono-informaciona tehnologija. Ona omogućuje unapređenje poslovne tehnoloigije
u toj organizaciji za koju se sam sistem razvija tako što podrži sve poslovne procese na najbolji
mogući način. Naručilac je taj koji je odgovoran u najvećoj mjeri za funkcionisanj tog
razvijenog sistema, što se ne odnosi nužno na osobu nego u dosta slučajeva na samu
organizaciju koja naručuje neki sistem. Potencijalni problem je to što se neke greške i nedostaci
uočavaju tek kada je sistem razvijen i kada je taj informacioni sistem već uveden. Ukoliko se
uoči neki problem to znači da se mora prilagoditi ili popraviti.
Kada dođe do toga da je potrebno prilagođavanje, najveći problem je što sve to košta i
direktno utiče na cijenu uvođenja, što utiče na kompletan projekat, čak može doći i do toga da
odnos troškova i prihoda u cjelini dobije negativan predzank. Da bi se sve ovo izbjeglo,
prvenstveno zbog rizika od mogućih nepredviđenih troškova prvenstveno razvija se sistem za
kontrolu koji bi naručiocu direktno omogućio uvid i kontrolu tako da on u toku postupka prati i
nadrire postupak dok je isti još u toku. Sredstvo korištenja sistema i za kontrolisanje razvoja je
najčešće logički model podatka. Za ovakvo funkcionisanje potrebno je da prethnodno bude
ispunjen uslov da sam logički model podatka bude izrađen kao zaseban softver te da je isti
vlasništvo naručioca. Da bi ovo bilo izvodivo neophodno je da se koriste CASE alati koji
automacki da generišu iz objekta baze podataka logički model podatka pored toga što može da
automacki generiše model podatka iz modela podataka.
16
8.1. Implementacija
Da bi se neke poslovna tehnologija određenje organizacije mogla unaprediti nužno je
dobro poznavati sistem poslovne tehnologije koja treba unapređenje. Prethodno zadani cilj je to
što uvijek vodi sam organizacioni sistem, te pri tome kreira dodatnu vrijenost tako što pretvara
izlazne i ulazne vještine. Razlikujemo dva moguća stanja prilikom izrađivanja modela, to je
neko trenutno ili sadašnje stanje i stanje kojem se teži, a to je unapređeno ili buduće stanje.
Gneneralno, sve faze razvoja se mogu svrstati u tri cjeline, na taj način dijelimo
projektovanje i razvoj cjelovitog ingormaconog sistema, to su:
Kreiranje plana strategije informacionog sistema
Generisanje baze podataka i njeno modeliranje, razvoj aplikacija
Stavljanje sistema u funkciju
8.2. Sistem kao naručilac
Ostvarivanje nekog prethodno zamišljenog cilja je svrha svakog realnog poslovnog
sistema koji se nalazi na tržištu. Za nesmetan rad i obavljanje čak i nekih svakodnvnih poslova
organizacije koje su savremeno orjentisane ne mogu bez da im neki sistem koji je dobro
informatički razvijen pomogne, poenta je da se podaci mogu po potrebi koristiti u bilo kojem
trenutku i da se svi podaci koji su potrebni čuvaju.
Pred svaki informacioni sistem se postavljaju određeni poslovni zahtjevi za taj sistem,
vremenom ti zahtjevi postaju sve opsežniji, detaljniji i sofisticiraniji. Cilj svih informacionih
sistema je da u što većoj mjeri i u svakom pogledu odgovore na zahtjeva koji su postavljeni.
Kada je riječ o informacionim tehnologijama kao takvim uvijek se nude u praksi dvije opcije za
poboljšanje ili uvođenje nanovo informacionog sistema. Ukoliko je potrebno razvijaju se
tehnologije vlastite podrške ali takođe je moguća i kupovina gotovog rešenja. Na izbor između
ove dve opcije da li da se razvija novi softver ili kupuje neki postojeći utiče jako puno
kriterijuma. Nekada se pred informacioni sistem predstavljaju neki zahtjevi koji su zaprvo
potrebe koje su stvarne dobijene prethodnom analizom, te se u ovom slučaju sistem koji je
prilagođen svim tim zahtjevima pravi posebno za tog kupca po kriterijumima koje diktiraju isti
ti zahtjevi.
Postoji i druga varijanta, a to je kupovina nekog gotovog sistema. Za ovu opciju se
najčešće odlučuje ako je sistem već u upotrebi u nekoj sličnoj organizaciji pa je on praktično
več prilagođen svim njihovim zahtjevima ili se poslovni sistem, ukoliko je to potrebno prilagodi
samom softveru. Najvažnije je da zahtjevi na samom početku pudu precizno i jasno definisani
za šta je prvenstveno odgovoran sam naručilac. Ukolio se odabere pravi poslovni sistem onda
on poduprire poslovanje na najbolji način, te nekim novim potencijalima unapređuje poslovne
procese te da bi na koncu uvođenjem informacinog sistema cjelokupno poslovanje bilo
unapređeno i olakšan dolazak do tražanog cilja.
8.3. Metodika proizvođača softvera kao implementatora
Cilj ovog posla, kao i svakog drugog, je naravno ostvarivanje profita. Dakle, softver koji
proizvođač napravi je za prodaju. Da bi profit ostvaren prodajom bio što veći cilj je da se sa što
manje radih sati te uloženog truda proda čim više i na taj način izvuče traženi maksimum. U
zavisnosti od tipa preduzeća jer su uglavnom različita tako su različite i same metode rada.
Kako vremenom neke firme imaju jako puno razvijenih programa iza sebe nije rijedak slučaj da
nešto od tih postojećih softvera pokušaju implementirati u neki novi softver. U zavisnosti od
samog naručioca nekog sistema se dobija konačni rezultat ovakvog poslovanja, nekad se ista
rešenja implementiraju jako puno puta i svojim imenom su praktično referenca kvaliteta i
17
garancija sigurnosti kupcu. Suprotno tome postoji i slučaj kada se radi o proizvodima koji nisu
globalno poznati pa tako proivođači su prinuđeni da sam softver prilagođavaju zahtjevima
kupca. Ali čak i u ovom drugom slučaju, gdje se generalno rade novi softveri uglavnom postoje
dijelovi softvera ili aplikacije za koje se mogu iskoristiti neki postojeći programi. Ovo je
praktično neka vrsta parcijalnog rešenja jer se postojeći programi povezuju u neke veće
programe ili se nadograđuju po potrebi, mada ima varijanti u praksi kada se čak dijele na više
manjih programa.
8.4. Mogući problemi između izvođača i naručioca
Generalno gledano, postoje dva potencijalna problema. Praćenje proizvođača softvera,
kao prvi, ukoliko reimo on pogriješi pri izvođenju same baze i zbog toga ona na kraju ne
odgovara traženim zahtjevima sistema. Drugi problem je to što je u većini slučajeva poslovanje
u toku izgradnje softvera dinammično te se mnogi faktori mjenjaju u svakom trenutku pod
uticajem takve radne sredine. Ovaj problem je jako bitan jer samim tim što se promjene kostano
dešavaju tako dolazi i do promjene i u samim podacima sa kojima se radi.
Ovi problemi su specifični i zvog toga jer ih je jako teško uočiti do samog kraja procesa.
Predvidjeti ih je gotovo pa nemoguće. Greške se uglavnom pokažu pri samoj implemantaciji
novog rešenja, a to je već u praksi druga faza izvođenja. Naravno, sve ovo se odražava na
financijsku stranu priče što problem odmah čini još većim a pored toga i sistem je u tom slučaju
mnogo teže uvesti. Često za posledicu imaju i to, da na kraju, kada se sistem uvede on ne
funkcioniše kako je očekivano te ne daje tražene rezultate i adekvatna poboljšanja. Ukoliko se
stvar ne može ispraviti drugačije, izvođači su prisiljeni da odrade navnovo ciklus poboljšanja,
to na kraju jako puno košta u odnosu na planirani budžet pa često može dovesti i do toga da
troškovi premaše ostvarenu dobit. Na kraju, važno je napomenuti da ovakvi problemi zanju
odvući pažnju od stvarnih ciljeva a kako su sistemi na kojima se radi, kako je već rečeno,
uglavnom dinamični to može odvesti izvođača u nepovrat jer se infrastruktura konstantnu
mijenja i jako je teško na kraju dobiti traženi rezultat.
8.5. Kontrola implementacije
Kako je već rečeno, dvije faze se podrazumjevaju pri izvođenjju projekta, to su:
Generisanje baze podataka i njeno modeliranje
Stavljanje informacionog sistema u funkciju
Kako je druga faza prilično kompleksna, moguće ju je podijeliti na divije cjeline jer
kako danas postoje i razvijaju se neki novi alati pomoću kojiih se logički relacioni model
izrađuje mnogo je lakše raditi ukoliko se ovaj korak podijeli na sledeće dvije podfaze:
Detaljan logički relacioni model se izrađuje i koristi kao generator za samu
fizičku bazu podataka
Da bi se upravljalo modeliranom bazom podataka izrađuju se poslovne aplikaije
Prednost kada se ovako dobijena podfaza definiše kao nezavisna faza je ta što se na taj
način poslovnom sistemu daje mogućnost da kontroliše razvoj i implementacija samih
poslovnih aplikacija, njegova osnova je sačinjena od logičkog modela same baze podataka koji
je detaljan. Logički model mora biti u skaldu sa stratiškim planom informacionog sistema i
njegovog razvoja.
Cilj ovoga jeste prvenstveno da se svi problemi, nedostaci ili eventualne greške uoče
prije početka implementacije, to se radi na takav način da se postojeći sistem nadogradi unutar
samog sistema povratnom vezom te tako da praktično na neki način kontroliše sam sebe. Baza
podataka vidi ovaj element povratne veze u praksi kao novi logički model. Ovakav vid kontrole
18
u informacionom sistemu predstavlja praktično u strateškom planu razvoja sistem kontrole koji
se izvodi a da se pri tome temelji na generisanju i upravljanju modela baze podataka koji sadrži
logički objekat. On ima funkciju da osigura od samog početka kada se neka poslovna aplikacija
počne razvijati pa sve do implementacije koja je konačni korak te ima zadatak da osigura
minimane troškove te da na kraju se dobije takva komunikacijsko-informaciona podrška koja će
naručiocu najbolje odgovarati te mu ponuditi poslovni sistem koji udovoljava svim njegovim
zahtjevima.
Kada se logički model podatka izdvoji kao poseban objekat informacionog sistema i kao
takav je dostuan korisnicima tog istog informacionog sistema on tada ima više pozitivnih
faktora kada gledamo sa gledišta korisnika prvenstveno i poslovnog sitema, te prednosti su
sledeće:
Baza podataka koja je stvorena kao početna verzija logičkog modela koji je
razvijen i on je generator te baze, ona je tada za razvoj nekih novih aplikacija
jako dobra kao osnova
Oslanjajući se na aktualne aplikacije jača se baza poslovnih podataka i njena
nezavisnost
Prateći podaci se mnogo jasnije povezuju sa pocesima
Bazi podataka se može pristupati eksterno korištenjem nekih od SQL upita koji
su van standarnih aplikacija
Kada je potrebna neka dorada određene aplikacije ili modela na taj način se
podstiče stvaranje kreativnih ideja
Samom proizvođaču poslovnog softvera je upućen znatnio manji broj upita od
strane korisnika
Jednom kada se izradi, poslovni model je značajno kompunikaciono sredstvo između
proizvođača softvera kao izvođača sa naručiocem tj. nekim poslovnim sistemom. Korištenjem
modernih CASE alata koji su danas dostupni na tržištu iz logičkog modela se fizički model
baze podataka automacki generiše te za sobom odmah povlači i samu bazu podataka. Postoje
CASE alati koji pored svojstva da generišu automacki iz modela podataka bazu podataka več da
i iz objekra baze podataka generišu logički model. Na ovaj način interaktivni odnos se diže na
jedan novi nivo, misli se na komunikaciju proizvođača softvera sa poslovnim sistemom
odnosno naručiocem. Pozitivna strana svega je što se to pozitivno odražava na bolji kvalitet
softvera, te se napredkom aplikacije brže razvijaju, implementiraju brže što na kraju znači niže
troškove i financijsku dobit kada se novi informacioni sistem stavi u funkciju.
19
9. Neki od CASE alata
Koncepcija CASE alata je takva da se pomoću njih mogu izrađivati različiti modeli
informacionih i poslovnih sistema. Današnji CASE alati mogu izraditi mnogo različitih modela
ali zapravo snaga same tehnologije nije u tome, ona se zapravo nalazi u repoziroriju znanja tj.
središnjoj riznici, svi objekti koji su korišteni u modeliranju se unose u nju odnosno njihovi
opisi. Pored objekata veći dio CASE alata posjeduje opis i popis veza među objektima koji su
različiti. Veze takvoga tipa se u vim modelima odražavaju, tako se za modelirani sistem
osigurava logička ispravnost i konzistentnost. Sam kvalitet nekog CASE alata, što je bitno reći,
ne zavisi od veličine riznice koju taj model podržava ili samog broja modela već je bitan način
njegove primjene i te svrha kojoj je namjenjen. Kao što se vidi iz prethodnog da bi se odabrao
dobar CASE alat nije dovoljno da bude najtraženiji na tržištu ili da ima najviše modela već on
mora odgovarati potrebama poslovnog sistema za koji će biti korišten. Zbog toga je važno da se
kod odabira dobro poznaju potrebe informacionog sistema da bi CASE alat nio u mogućnosti na
najbolji način njegoc daljnji razvoj da podrži.
Kao primjer u ovom slučaju navode se tri alata, a to su: Visio, COOL:bizz i Erwin.
Osobine ovih softvera važno je sagledati iz više aspekata da bi se stekla jasna slika o čemu se
radi, počevši od fizičkog modela podataka, mogućnosti izrade logičkog modela te generisanja
automacki iz fizičke baze podataka iz modela i obrnuto.
9.1. Visio2003
Ovaj alat je dio MS office paketa, on pruža mogućnost da se pomoću njega izrade
različiti modeli i to već sa verzijom koja se dobija tipičnom instalacijom. Kod ovog softvera
dijagrami pripadju jednom od 16 tipova modela tj. kategorija. Interfejs je orjentisan korisnički
te su simboli za crtanje veoma jednostavni za korištenje, pored toga dosta je primjera različitih
modela te oni omogućuju da alate koriste čak i osobe koje ne posjeduju mnogo zannja o samom
projektovanju softvera. Dijagrami se sastoje od opcija koje su standardne a to su one za
izrađivanje intiteta, zatim atributa entiteta, veza različitih vrsta i stributa entiteta koji su ključni.
Različite modele repozitorija nije moguće izraditi pomoću ovog programa, to je zato što
on nema ni vertikalne ni horizontalne povezanosti modela. Modeli se mogu prenositi u druge
programe ali samo u svrhu prezentovanja. Dakle, ovaj CASE alat ne posjeduje mogučnost da
generiše automacki bazu podataka niti obratno da iz baze podataka izvrši automacki postupak
generisanja modela. Iz prethodno navedenog može se zaključiti da model koji je izrađen u
ovom alatu ne može biti korišten u svrhu primjene logičkog modela podatka gdje bi on bio
proizvođaču nekog softvera kontrolno sredstvo na način na koji je to prethodno opisano.
9.2. COOL:Bizz
Kompanija Sterking software 1994. godine razvija CASE alat pod imenom COOL:Bizz.
Kao i prethnodi, ovaj softver takođe koristima za izradu raznih modela koji su potrebni da bi se
prikaz informaciong i poslovnog sistema oblikovo. Kada je riječ o korisnički orjentisanom
interfejsu tome se ovde nije posvetilo toliko pažnje kao u prethodnom slučaju. Ovde se sa liste
odabiu dijagrami, te se liste opcija nalaze u svakom od ovih dijagrama i sa njih možemo
odabrati neki od ponuđenih objekata. Zbog svega navedenog može se zaključiti da je program
namjenjen stručnjacima koji su već upoznati sa metodama kao i tehnikama modeliranja
poslovnih podataka te poslovnih procesa.
Za sve modele jedne datoteke koji se nalaze u riznici koja je jedinstvena ogleda se snaga
ovog alata jer postoji takva forma jedinstvene riznice u njemu. Ovakava riznica, koja je
20
jedinsvena sastoji se iz liste i opisa svih objekata, isti mogu biti element svakoga modela koji je
u pojedinoj datoteci sadržan. Pored toga ova datoteka sadži listu svih veza među pojedinim
objektima kao i njihov popis i opis. Na ovaj način je formalna i logička konzistentnost
osigurana svim modelima.
Dijagramom koji sadrži poveznicu između atributa, entiteta i relacija je omogućena
izrada logičkog modela podatka. Ovakav dijagram sadrži opcije za izradu veza između entiteta
kao i izradu samih entiteta, ovo su zapravo standardne opcije ali pored toga moguće je unijeti i
dodatna svojstva kojima se objekti zapravo definišu, to je primjenljivo za svaki objekat koji je
izgrađen. Dodatna pogodnost ovog modela je što je moguće fizički model podatka generisati
automacki tj. relacijski model koji sve elemente potrebne za generisanje fizičke baze podataka
sadrži u sebi. Primatni ključevi kao i sekundarni su takođe sadržani u relaciskom modelu i
pored toga sadrži i ripove entiteta za rješavanje veza koji su asocijativni. Svaki entitet moguće
je detaljnije definisat tako što upišemo njegova dodatna svojstva. Između fizičkog i logičkog
modela podataka moguća je i povratna veza.
Kod koji strukturu baze podataka definiše generiše se na osnovu fizičkog modela
podataka. Ovaj kod učitava program za generisanje baze podataka koji je odabran, te se na
osnovu njega definišu fizičke šeme baze podataka koje su relacione kao i veze koje postoje
između njih. Bazu podataka koja je generisana na ovakav način može se popunjavati podacima
nekog poslovnog sistema koji su stvarni. Bazu podataka je moguće sinhronizovati novim
relacijskim atributama ili šemama ukoliko se vremenom neka stavka promjeni. Takođe, iz
logičkog modela podatka može se generisati fizički pomoću ovog alata, kao i generisanje baze
podataka na osnovu fizičkog modela ali obrnuta varijanta ovog postupka nije izvodiva pomoću
ovog alata.
9.3. Erwin
Pomoću ovog alata može se kreirati te održavati fizički i logički model podatka kao i
generisanje fizičke baze podataka koja njima odgovara. Za rad sa ovim programom potrebno je
imati mnogo znanja o samom postupku modeliranja podataka iako je interfejs orjentisan
korisnički. Ovim alatom može se vršiti izrada fizičkog ili logičkog modela kao i istovremeno i
fizičkog modela i logičkog.
Logički model sadži:
1. Entitete
2. Veze između entiteta
3. Atribute entiteta
4. Primarne te sekundarne ključeve
Sadržaj fizičkog moela:
1. Tip atributa u relaciskim šemama
2. Indekse veza na druge šeme
3. Denormalizovane tablice
4. Informacije o bazi podataka
5. Ograničenja
U logičko-fizičkom modelu sadržani su elementi oba zasebna modela.
Opis i popis svakog od entiteta dio su same datoteke koja posjeduje riznicu zaduženu za
pamćenje ovih podataka. Skup podataka koji ga opisuju odnosno atributa postoji za svaki
entitet. Ovde se nalaze svi podaci o njima, kao što su primarni i sekundarni ključevi, zatim
podaci o vezama sa drugim entitetima, informacije o procedurama koje su ugrađene kao i
21
okidačima za njih itd. Fizičku bazu podataka automacki je moguće generisati na osnovu
fizičkog modela podatka. U ovu bazu se kasnije upisuju poslovni podaci. Razlika u odnosu na
prethodne alate je ta što ovaj podržava i obrnutu varijantu tj. da se fizički model podatka dobije
iz baze podataka automacki.
Reverzno inžinjerstvo je stručni naziv za ovakav postupak. Kao proces reverzno
inžinjerstvo iz baze podataka obuhvata informacije o relacijskim šemama, kao i njihovoj
strukturi i atributima. Struktua zapravo predstavlja veze kojima su povezane relacione šeme.
Nad nastalim modelom nakon što se u program prenesu informacije moguće je praviti
odgovarajuće izmejene u skaldu sa promjenama koje se dešavaju u poslovnim podacima kao i u
strukturi istih. Nakon određenih promjena baza podataka se nanovo sinhronizuje sa novim
modelom podataka. Ovaj alat posjeduje i sistem za izvještavanje pomoću koga je moguće
dokumentovati cijeli proces.
25
Tipovi poveznika imaju sledeće parametre:
Kardinaliteti završnog i polazmog kraja
Opcionalnost završnog i polaznog kraja
Vrsta tipa poveznika
Zabrana ili dozvola za prevezivanje
U alatima se čitav niz podataka zadaje pored samih naziva domena i atributa, koji su sa
stanovišta izrade konceptuapne šeme baze podatak važni. Oni su pored toga bitni i sa gledišta
implementacionog prjektovanja šeme baze podataka kao i samih aplikacija informativnog
sistema.
Koncept nasleđivanja je takođe pored toga podržan, na taj način nudi se mogućnost da
od domena koji mu je naslijeđen sam domen preuzme neke od osobina. U cilju da se dodatne
informacije prezentuju svako atributu te isto tako i entitetu je moguće dodati i tekstualni opis.
Taj opis će se poslije pri generisanju ekrana automacki preuzeti sa pomoćnim informacijama.
11.4. Interna i implementaciona šema
Korištenjem odgovoarajućih alata pomoću relacionog modela podataka oblikuje se
implementaciona šema baze podataka. Za formiranje interne šeme baze podataka koristi se alat
za direktan pristup riječniku. Implementaciono projektovanje same baze podataka se započinje
prevodom entitetsko-relacijskih dijagrama iz šeme baze podataka koja je konceptualna u model
podatka koji je relacioni. Za ovakvo prevođenje upotrebljava se alat koji pomoću konceptualne
šeme baze podataka generiše šemu baze podataka koja je relaciona tj. njenu prvu verziju.
Relaciona šema koja je izgenerisana na takav način dalje se dorađuje. Takođe i opcija direktnog
oblikovanja implementacione baze podataka postoji, u tome slučaju nije potrebno da se prije
toga modeliraju entitetsko-relacijski dijagrami te da se isti prevode u model koji je relacioni. U
samom alatu definicija tabele je polazni koncept, u tom slučaju pojam same relacije
reprezentuje tabela. Skup ograničenja i skup obelježja su osobine svake tabele što je isto kao i
kod relacija. Takođe, treba napomenuti da su obilježja su isto što i kolone, za svaku od njih se
još mora definisati čitav niz implementacionih karakteristika ili ih je moguće preuzeti iz
konceptualnog modela.
Kategorije karakteristika su sledeće:
Podaci koji definišu kolonu (tip, domen, inicijalna vrijednost, dozvola odnosno
zabrana nula vrijendosti itd.)
Podaci koji prezentuju kolonu (naslovn kolone, dužina, način te pormat prikaza,
poruka o semantici itd.)
Validacioni podaci kolone (poruka koja se javlja ako je validaciono ograničenje
narušeno)
Dodjeljivanje vrijednosti kolone
Podaci o denormalizaciji
Dodatni podaci kolone (tekstulana polja koja mogu biti različitih vrsta,
najvažnije je polje u kome se pmoćne informacije o koloni definišu)
Kada se SQL opis automacki generiše koriste se karakteristike kolona šeme baze
podataka i tada se programske specifikacije modula generišu, oni sadrže posmatrane kolone i
tabele u svojoj podšemi. Nebitno da li se radi o međurelacionom ili jednorelacionom
ograničenju sva ograničenja šeme baze podataka koja je relaciona se vezuju tehnički kod ovog
alata za odgovarajuću tabelu.
26
Tipovi ograničenja koja se definišu za tabelu:
Primarni ključ se ograničava (primarni ključ sadrži niz informacija da li je
dozvoljena ili ne modifikacija ključa)
Ekvivalentni ključ se ograničava (ekvivalentni ključ sadrži niz informacija da li
je dozvoljena ili ne modifikacija ključa)
Jedinstvena vrijednost se ograničava (kombinacija je jedinstvena ako su
vrijednosti svih obiježja rezličite od nule)
Torka se ograničava (mora biti zadovoljen logički izraz koji je naveden ili je
potrebno navesti ime logičke funkcije čijim se pozivanjem sprovodi kontrola
dozvoljenih vrijednosti)
Ograničenja stranog ključa
Kada se radi o ograničenjima stranog ključa potrebno je navesti ime referencirane tabele
u kojoj se odgovoarajući primarni ključ nalazi, obilježja koja sadrži strani ključ zatim aktivnost
(ova aktivnost ako dođe pri prisanju do narušavanja referencijalnog integriteta sprovodi se isto
važi i ako se takav slučaj javi pri modifikaciji podataka) i korespodentno obilježje primarnog
kluča za svako obilježje stranog ključa. Pored svega, navodi se poruka za svako ograničenje
koja se u slučaju narušavanja prikazuje i pored toga se navodi mjesto realizacije.
Implementacija tabele se formira korištenjem alata u okviru jednog korisničkog imena
te jedne baze podataka za svaku tabelu. Neki od parametara fizičke organizacije tabele mogu se
definisati na nivou implementacije tabele kao i prava pristupa za neku grupu korisnika ili nekog
korisnika kao pojedinca. Da li se može kreirati indeks nad samom tabelom je jedna od fizičkih
karakteristika organizacije koja je bitna. Konceptu tabele je direktno podređen koncept okidača
baze podataka, to bi zanačilo da se u okviru svake tabele definiše okidač. Triger, odnosno
njegov proceduralni dio se korištenjem jezika koji je proceduralno orjenrisan.
Raličite pomoćne informacije se takođe mogu automacki preuzeti ili zadati nad tabelom,
one su u slobodnom formatu prezentovane. Ovo se radi u svrhu toga da bi se u narednim
programskim aplikacijama može automacki generisati na osnovu oviih informacija opcija za
pomoć. Još se može i vođenje dnevnika promjena nad tabelom obezbijediti da bude automacko
a realizuje se korištenjem tabele promjena koja je zasebna.
Putem ovakvih alata se pored tabela mogu i procedure definisati kao i funkcije te paketi
funkcija i procedura, pored toga kursorska područja se takođe mogu deklarisati. Upotrebom
jezika koji je proceduralno orjentisan mogu se specifirati svi nabrojani objekti čijs je namjena
izvršavanje od strane servera kao i implementiranje u okviru riječnika baze podataka. U riječnik
se smiještaju kompletni programski kodovi kod ovakvih objekata što je takođe bitno za
naglasiti.
Koncept replikacione slike, kao i koncept pogleda su konceoti koje alati posjeduju pored
gore navedenih. Pojmu SQL pogleda je ekvivalentan koncept pogleda a za definisanje
replikacione šeme distribirane baze podataka koristi se koncept replikacione slike. Opis šeme
podataka se automacki generiše na osnovu interne šeme baze podataka tj. implementacione
šeme baze podataka te ju na odgvarajuči server baze podataka treba implementirati. Za
generisanje programskih modula kao i osnov za modeliranje programske specifikacije koristi se
implementaciona šema.
27
11.5. Programska specifikacija modula
U nastavku slijedi par riječi o alatu pomoću koga se prikazuju podaci grafikonski,
kreiraju izvještaji i oblikuju bibiliotečki moduli a to su programske specifikacije za rad sa
bazom podataka. Povezivanje programskih modula međusobno kao i formiranje strukture
menija aplikacije uz moguće prenošenje putem parametara podataka između modula je moguće
isto tako pomoću ovog alata.
Prvo se definiše pošema kod ovog alata za sve programske module, projektant se ovde
oslanja na implementacionu šemu paze podataka koja je oblikovana prethodno. Skup izabranih
šema relacija iz šeme baze podataka čini podšemu skupa sa vezama kojima se označava
prostiranje ključeva. Skup obilježja koji je potreban se određuje za svaku šemu relacije iz
podšeme. Po jedno vezano polje se pravi u okviru modula za svako obilježje podšeme. Od
samog međusobnog odnosa šema relacija podšeme zavisi struktura ekranske forme budućeg
programskog modula, on je njihovom fizičkom pozicijom na dijagramu definisan.
Dvije uloge može imati šema u relaciji podšeme:
Bazne šeme (namjena im je manipulacija podacima)
Liste izbora (prikazuju listu izbora dodatnih odataka te dozvoljenih vrijednosti
na samom ekranu)
Šeme relacije podšeme su dio komponente programskog modula gdje jednu logičku
cjelinu treba da predstavlja jedna komponenta programskog modula za prezentovanje podataka
te isto tako može biti sačinjena od par šema relacija podšeme. Recimo modul napravljan da u
formi zaglavlje-stavke predstavlja modele na ekranu će imati dvije komponente. Jedna će
podatke koji odgovaraju stavkama prikazivati dok će druga biti zadužena za prikazivanje
podataka zaglavlja.
Zaglavlje ekranske forma u budućnosti predstavljat će komponenta sa pozicijom na
dijagramu iznad neke druge komponete te pored nje i odgovarajuća bazna šema relacije a
stavke zaglavlja će reprezentovati podređena komponenta. Za šemu relacije koja je data listu
izbora predstavlja šema koja je pozicionirana na desnoj strani u odnosu na naku drugu šemu
relacije. Dopušteno je i formiranje mnogo složenijih struktura, pod složenijim se misli na one
koje su u odnosu na dijagram složenije.
Proceduralna logika programskog modula se definiše izborom operacija ažuriranja koje
su standardne kao što su brisanje, unos ili modifikacija te selekcijom podataka tj. postavljanjem
upita. Potrebno je odobriti ove upite putem programskog modula nad bazom podataka tj. nekim
njenim dijelom tj. baznim šemama relacije podšeme.
Kada govorimo o opisivanju proceduralne logike programskog modula postoji još
mogućnosti, sam programer može definisati neke nestandardne postupke obrade podataka
pomoću posebnih funkcija i procedura. U okviru programskog modula definišu se funkcije i
procedure i kao takve može se za njih reći da su lokalnog karaktera. Druga varijanta je da se
definišu u kao poseban bibliotekarski modul čija bi namjena bila da pakete, procedure i funkcije
koje su smještene na klijentu skladišti. Moguće je rederenciranja bibilioteka pomoću drugih
programskih modula. Referenciranje funkcija i procedura u okviru programskih modula koje su
namjenjene za implementaciju na server baze nude se kao treća mogućnost.
U ekranskom modulu programer može definisati lokalne trigere korisničkog interfejsa.
Na osnovu komponente modula, samog ekranskog modula ili veznog polja definiše se ovakav
događaj. Proceduralna logika koju je potrebno izvršiti vezuje se za događaj, ona se praktično
svodi na funkcije i procedure koje su prethodno definisane. Komandna polja kao i nevezana
28
polja takođe se mogu kreirati. Za prikaz sumiranih vrijednosti, kao i vrijednosti koje se pomoću
funkcije koja je prethodno definisana koriste se nevezana polja, te ona kao takva niisu ni sa
jednim od obilježja baze podataka u direktnoj vezi. Element kojim se akrivira izvršavanje neke
specifične proedure naziva se dugme, njega reprezentuje komandno polje.
Veze između specifikacija modula moguće je vizuelno prikazati, oni pozivanje nekog
modula od strane drugog modula reprezentuju, sve to zahvaljujući tome što alat omogućuje da
se struktura obilukuje dijagramski. Definisanjem stranica za prikaz podataka kao i samij
prozora mjenja se vizualni izgled ekranske forma modula što je takođe moguće. Na osnovu
dijagrama tipova poveznika i entiteta koji su prethodno izrađeni mogu se generisati automacki
specifikacije programskih modula, važnu ulogu nose i matrice atribute entiteta povezuju sa
funkcijama kao i tipove entiteta sa funkcijama. Informacije o izlaznim i ulaznim parametrima u
programskom kodu mogu sadržati tokovi podataka.
Činjenice o alatima:
U svoj riječnik smiještaju čitv proceduralni programski kod
Putem koncepata koje sadrže moguće je aplikacije informacionog sistema
oblikovati do najsitnijih detalja
Prema potrebama korisnika moguće je sopstvene alate prilagoditi
Na kraju treba napomenuti da aplikacije koje su izrađenje na ovaj način čak mogu biti
primjenjene kao finalan programski proizvod jer ovakav proizvod CASE tahnologija generiše
aplikacije koje su na toj razini.
29
vremena te na taj način praktično je bio blokiran daljni razvoj i pored toga se przo uvidjelo da je
programiranjem na ovaj način gubljeno puno vremena i da je bilo neefikasno.
Dolazi se do toga da je najviše vremena bilo potrebno da bi se održali proizvodi koji su
već na tržištu. Israživanja takođe pokazuju da se veći dio grešaka pravio prilikom samog
razvoje tokom projektovanja te analiziranja zahtjeva, a manji dio se javljao pri realizaciji. Još
jedan veliki problem je bio to što se tek možda polovnia grešaka otklonila prije nego je softver
isporučen, ovo je bilo posebno problematično jer svaka greška koja se kasnije otklanjala je
plaćena mnogo više nego da se sanirala prije isporuke. Sve to dovodi do podjele finansija koja
je bila krajnje neprirodna, odnosno večinski dio sredstava je trošen na održavanje dok je znatno
manji dio odlazio na sam razvoj. Pored finsncijske štete koja je nastala još jedan veliki problem
je predstavljalo vremensko kašnjenje.
Softversko inžinjerstvo je bila disciplina u računarstvu koja je predstavljena kao rešenje
softverske krize, a on je prethodio i samom razvijanju CASE tehnologija. Softversko
inžinjerstvo se baziralo na ideji da pristup razvoju programa bude inžinjerski i metodološki te
da se poštuju dati rokovi te da se kvalitetan softver primjenom odgovarajuće tehnike plasira a
tržište.
Pojava CASE alata je zapravo uslijedila nekon što je zaključeno da je drugi i treći uzrok
softverske krize zapravo bio jer za razvoj programskih proizvoda nije bilo dostupno dovoljno
softverskih alata. Ideja CASE proizvoda zasnivala se na automatizaciji zadataka te da se na
takav način otklone problemi koji su prethodili.
Primjenjivana je takođe metodologija pristupa koji je bio struktuiran te su na različitim
nivoima detaljnosti crtani dijagrami upotrebom više ili manje formalnih tehnika. Pored toga
kako je sve bilo povezano ukoliko se nivo detaljnosti mjenjao na jednom dijagramu često je to
povlačilo potrebu da se isto uradi i na ostalim, kao i sa samim izmejnama na dijagramu, ako se
jedan izmjeni često su te izmjene direktno uslovlajvale promjene na ostalim dijagramima.
Problem je bio takođe to što ukoliko se radilo o većem projektu jako teško je bilo sve to
efikasno obaviti ručno.
Još jedan novost koju CASE tahnologije uvode na polju same organizacije ticala se
podataka jer CASE alati su koristili jedinstven riječnik podataka koji je predstavljao bazu
podataka u koju je sve smiještano. CASE alati su bili u mogućnosti da opis šeme za neki
konkretan sistem baze podataka izgenerišu koristeći implementacionu šemu baze podataka, te
da programske aplikacije informacionog sistema izgenerišu korištenjem programskih
specifiakcija. Sve ovo omogućuju generatori koda.
Dolazi se do jezika četvrte generacije koji su treću generaciju jezika nadogradili jer su
bili znatno pregledniji, lakše je bilo programirati sa njima te su bili na velikom nivou
deklarativnosti. Tačnu definiciju je zapravo teško dati jer su ovi jezici pedstavljali jako širok
pojam, počevši od alata koji su jednostavni pa sve do jezika koji su bili veoma razvijeni. Kako
je jako teško bilo tačno definisati šta su to zašravao jezici četvrte genracije usvojio se neki
pojam koji je bio nešto opširniji a to je okruženje četvrte generacije.
Sve se zasnivalo na jednom jedinstvenom riječniku podataka što je kod jezika četvrte
generacije posebno izraženo jer je ideja bila da geeralno svi alari budu integrisani kao dio
CASE okruženja koje bi bukvlno predstavljalo jedno široko okruženje za razvoj programskih
proizvoda. Još jedna poteškoća koju se nastojala prevazići je dugotrajno i neproduktivno
programiranje. Unapređene CASE thnologije su imale znatne prednosti ali i neke nedostatke, i
jedni i drugi su navedeni u nastavku.
30
Prednosti:
Proces izrade programskog proizvoda znatno je olakšan i ubrzan
Kako je olakšano pronalazenje grešaka znatno su smanjeni troškovi održavanja
aplikacija
Nedostaci:
Znatno kompleksnije aplikacije su tražile bolji hardver što je dovodilo do toga da
lošije rade sa istim hardverom u odnosu na svoje prethodike
Širina primjene manja
Pored toga bilo je moguće prototipski pristupati razvoju softvera što se može posmatrati
kao dodatna prednost. Kada je riječ o nedostacima može se slobono reći da su praktično
očekivani jer je prvenstveno potreba za boljim hardverom sasvim očekivana iako je u početku
sam razvoj hardvera bio značajno kompleksniji i sporiji nego danas.
Brzo se došlo do zaključka da se ulaganjem u hardver može snačajno isplatiti jer na
samom razvoju aplikacija se mnogo uštedi kao i održavanju programa posle. Neduko nakon
početka primjene jezika četvrte genracije došlo se na ideju da se oni kombinuju sa svojim
prethodnicima tj.jezicima treće generacije. Tako je recimo za neke složenije aplikacije kada se
kod generiše uočeno da u jeziku četvrte generacije su potrebna mnoga prilagođavanja dok su
uspješno realizovani bez greške upotrebom jezika treće genracije.
31
13. Zaključak
32
14. Literatura
33