Professional Documents
Culture Documents
2009 03 17 Informacioni Sistemi
2009 03 17 Informacioni Sistemi
Informacioni sistem
1.1 Informacioni sistem: koncepti i definicije
Informatiku eru karakterie nov i bitno razliit pristup upravljanju organizacijom i njenim poslovnim
procesima. Potpuno je izmenjen znaaj i vrednost materijalne i intelektualne svojine organizacije.
Akcenat je u informatikoj eri na intelektualnoj svojini i posebno informacijama i znanju. Funkcionisanje
organizacije i upravljanje organizacijom i njenim procesima je postalo nezamislivo bez odgovarajuih
podataka, informacija i znanja. Tako oni postaju jednako znaajan resurs organizacije kakvi su sirovine,
energija, radna snaga, finansije i dr. Podaci se registruju, pripremaju, unose, organizuju, uvaju u bazama
podataka informacionog sistema. Informacioni sistem organizacije iste obrauje i obezbeuje
informacije i znanje za realizaciju poslovnih operacija i reavanje poslovnih problema organizacije.
Informacioni sistemi imaju primarni cilj da podatke na ekonomian nain obrade i transformiu u
informaciju ili znanje. Stoga je potrebno u smislu njihovog razumevanja definisati ove osnovne pojmove.
Podaci, elementarno opisuju stvari, dogaaje, aktivnosti i transakcije koji su zabeleeni, klasifikovani i
uskladiteni, ali nisu organizovani da prenesu neko konkretno znaenje. Oni mogu biti razliitih oblika:
numeriki, alfanumeriki, zvuci, slike i dr. i skladite se u bazu podataka, organizuju na nain da se lako
pronalaze.
Informacije, su organizovani podaci na nain da imaju znaenje i vrednost za primaoca. Najee se
podaci obrauju aplikativnim programima, kako bi se proizvela vea njihova korisnost od one koja se
postie u sluaju direktnog i jednostavnog pozivanja iz baze podataka.
Znanje, ine podaci ili informacije koji se organizuju i obrauju da prenesu razumevanje, iskustvo,
akumulirano uenje i strunost u primeni na odreeni aktuelni problem ili aktivnost. Podaci se posebno
obrauju na nain da reflektuju iskustvo i ekspertizu, prue primaocu organizaciono znanje visoke
potencijalne vrednosti.
Podaci, informacije i znanje su potencijalni ulazi ali istovremeno mogu biti i izlazi informacionog sistema.
Postoje tri osnovna razloga za primenu informacionih tehnologija u poslovanju, koji su u neposrednoj
(direktnoj) vezi sa tri vitalne uloge informacionog sistema, koje on moe imati za poslovnu organizaciju.
To su: podrka poslovnih procesa i aktivnosti (operativnih aktivnosti, operations) organizacije, podrka
donoenju odluka od strane zaposlenih i menadera (rukovodilaca) i podrka strategiji u realizaciji
konkurentskih prednosti.
Slika 2.
Model, takoe, ukazuje na relevantne odnose i objanjava kljune veze izmeu osnovnih komponenti i
aktivnosti informacionog sistema. Moe se rei da su etiri kljuna koncepta implicitna u svim vrstama
informacionih sistema (OBrian, 1999 s.43):
Ljudi, hardver, softver, podaci i raunarske mree ine pet osnovnih grupa resursa
svakog informacionog sistema;
Ljudski resurs ukljuuje specijaliste i korisnike IT (Information Technology), hardverski
resurs obuhvata raunarske ureaje i medije, softverski resurs programe i procedure,
resurs podataka baze podataka i znanja i resurs mree komunikacione medije i
raunarske mree;
Resurs podataka se transformie aktivnostima procesiranja u razliite informacione
proizvode za razliite krajnje korisnike i;
Procesiranje informacija obuhvata aktivnosti: ulaz, obradu, izlaz, memorisanje i
kontrolu.
Ulaz kao resurs podataka je aktivnost koja podatke o nastalim poslovnim transakcijama zahvata,
priprema i unosi u sistem, odnosno, bazu podataka. Krajnji korisnici informacionog sistema
nastale podatke obuhvataju, ureuju i zapisuju na medije kao to su izvorna dokumenta ili
upisuju direktno na elektromagnetne medije raunarskog sistema. Uneti podaci se transferiu
na mainski itljive medije kao to su magnetni diskovi, upisuju u bazu, uvaju, odravaju i
koriste u procesu obrade.
Obrada podataka u informacije je aktivnost procesiranja: izraunavanja, uporeivanja,
sortiranja, sumacije, klasifikacije i mnogih drugih operacija. U okviru ove aktivnosti podaci se
itaju sa elektromagnetnih medija, organizuju, analiziraju i manipulie se njima, da bi se
konvertovali u informacije potrebne korisnicima. Podaci u bazi podataka, u cilju njihovog
kvaliteta, podleu, takoe, kontinuiranom odravanju, odnosno auriranju i dodavanju novih
podataka, brisanju i menjanju postojeih.
Izlaz informacionih proizvoda u razliitim oblicima i razliitog sadraja je aktivnost iji je cilj da
zadovolji informacione potrebe korisnika razliitih profila: menadera, eksperata, tehnikog
osoblja. Najee su informacioni proizvodi poruke, izvetaji, dokumenta, grafike vizualizacije,
koji mogu biti prezentirani korisnicima putem razliitih izlaznih ureaja. Korisnici ele
informacione proizvode koji poseduju odgovarajui kvalitet. Informacije koje su neaktuelne,
nisu prispele na vreme, teko su razumljive i slino, nisu od velike vrednosti i upotrebljivosti za
korisnike. Korisnici ele informacije vieg kvaliteta, to jest, informacione proizvode ije ih
karakteristike, atributi i kvalitet ine poeljnim, korisnim i odgovarajuim za zadovoljenje
informacionih zahteva korisnika.
Memorisanje podataka je kljuna komponenta i aktivnost informacionog sistema. Podaci i
informacije stalno ostaju organizovani na odreeni nain, poeljnog kvaliteta i zapisani na
elektromagnetnim medijima za kasnije korienje. Podaci i informacije su u savremenim
informacionim sistemima organizovani kao baze podataka.
Kontrola performansi sistema je, takoe, veoma vana aktivnost informacionih sistema.
Kontrola ulaza, obrade, izlaza i memorisanja podataka, odnosno informacija, se obezbeuje
odgovarajuom povratnom spregom o stanju, procesima i kvalitetu ovih aktivnosti. Povratnom
spregom mora se kontrolisati i ocenjivati sistem sa stanovita uspostavljenih standarda
performansi uz stalno poravnavanje da bi kvalitet informacionih proizvoda bio zadovoljavajui i
prihvatljiv za korisnike.
1.3. Resursi informacionih sistema
Informacioni sistem je sociotehniki sistem koji upotrebljava, organizuje i efektivno i efikasno
koristi odreene resurse. Resursi informacionog sistema su: ljudski resursi, hardverski resursi,
softverski resursi, resursi podataka i resursi raunarskih mrea.
Ljudski resursi su neophodni za funkcionisanje informacionih sistema. IT specijalisti i krajnji
korisnici IS ine ljudske resurse. IT specijalisti su ljudi koji razvijaju, implementiraju, ocenjuju i
odravaju IS. Ljudski resursi su organizovani u IC (Informacionom centru) i zavisno od dimenzija
organizacione strukture IC, a pre svega od podele rada, mogu biti: projektanti informacionih
sistema, sistem analitiari, programeri, administratori baza podataka, softver inenjeri,
specijalisti za hardver i mree, operateri i drugi. Strunjaci ovih profila vre odreene poslove,
izvravaju konkretne radne zadatke. Krajnji korisnici su ljudi koji koriste informacioni sistem i
se dostavlja svim potencijalnim dobavljaima koji bi mogli biti isporuioci informacionog sistema. Sadraj
zahteva za ponudom ine: pregled i opti prikaz postojeeg sistema i aplikacija; zahtevi u pogledu
pouzdanosti, zatite i servisa; zahtevi u pogledu performansi i karakteristika sistema; pregled kriterijuma
na osnovu kojih e se izvriti vrednovanje ponuda; vremenska ogranienja budeta. Nakon to se zahtev
prosledi, povratno moe uslediti veliki broj ponuda dobavljaa koje treba evaluirati ili mali broj ponuda
pa je potrebno ponovno analizirati zahteve. Uobiajeno su zahtevi mnogo vei nego to su raspoloiva
sredstva (budeta) za njihovo zadovoljenje ili su vremenski rokovi jako ogranieni (kratki) pa ih je
potrebno revidirati.
Vrednovanje (Ocena) ponuda je etvrti korak u kojem se detaljno analiziraju elementi ponude svakog
dobavljaa. Ocena moe ukljuivati prikaz (demonstraciju) sistema, ocenu njegovih performansi,
ispitivanje kriterijuma znaajnih za organizaciju i odluivanje (prosuivanje) koliko ponueni sistem
zadovoljava kriterijume. Prikaz sistema je pogodan nain da se osete pogodnosti koje pojedini sistemi
pruaju. lanovi tima dobavljaa, prikazuju osobine sistema, trokove i nain njegovog funkcionisanja.
Prezentacija se moe odvijati u organizaciji ili kod dobavljaa odnosno neposredno nekog od korisnika
njegovog sistema. Prezentacija je korisna i pomae da se razumeju karakteristike razliitih sistema, ali je
nedovoljna da bi se izvrilo konano opredeljenje. Tako se najee izvodi benchmarking-a, koji
predstavlja upotrebu standardizovanog testa performansi u komparaciji sistema. Komparira se brzina
izraunavanja, brzina pristupa podacima u bazi podataka unapred definisanog broja korisnika, vreme
sortiranja, vreme pretraivanja, vreme izrade datog izvetaja, vreme itanja seta podataka i dr. Ovi
podaci se mogu pronai i u popularnim asopisima iz ove oblasti kao i web stranama udruenja. Konano
u upotrebi su i prethodno pominjani i posebno definisani kriterijumi koji se odnose na hardver, softver i
ostalo.
Izbor dobavljaa je poslednji korak u procesu obezbeenja gotovog reenja informacionog sistema izvan
organizacije. Uobiajeno, vie informacionih sistema zadovoljava postavljene zahteve, stim da neki to
ine bolje, dok drugi slabije. Upravo zbog toga se definie nain njihovog rangiranja. Najei oblik je
putem unapred definisanih kriterijuma, kojima se veliinom njihove apsolutne vrednosti daje
odgovarajui znaaj u rangiranju. U prikazanom primeru na slici 9.25 iz 70572 se vidi da je najbolji
informacioni sistem za organizaciju onaj koji ima najveu sumu dobijenih vrednosti po pojedinim
kriterijumima. Prikazani proces izbora dobavljaa je potpuno formalizovani proces, mada se u praksi
primenjuju i manje formalizovani (kontrolni popis ili checklist) ak i potpuno subjektivni procesi izbora.
"Outsourcing" je druga alternativa obezbeenja gotovog reenja informacionog sistema izvan
organizacije. Prethodno opisanom alternativom, organizacija se opredeljuje i kupuje jedan sistem od
dobavljaa. Meutim, "outsourcing" je praksa kojom se prenosi odgovornost za razvoj celog sistema ili
samo njegovih komponenti na spoljnu organizaciju. To je nain korienja usluga spoljne organizacije u
razvoju informacionog sistema umesto angaovanja sopstvenih resursa. Spoljna organizacija moe razviti
ceo ili komponente informacionog sistema i instalirati ih na svoj raunar ili na raunar organizacije
naruioca. Danas je ovaj vid obezbeenja informacionog sistema veoma popularan, a zasniva se na
ugovornom odnosu kojim se preciziraju svi neophodni detalji ugovorenih usluga.
Za ovo reenje se organizacije opredeljuju jer im je nepraktino i neekonomino da se u razvoju
informacionog sistema oslonjaju uglavnom na sopstvene resurse, obzirom na tekoe koje se uestalo
javljuju kod zapoljavanja veeg broja angaovanih na projektu nakon implementacije informacionog
sistema. Alternativa outsourcing-u je zajedniko izvrenje aktivnosti razvoja u kojem uestvuju pored
zaposlenih iz spoljne organizacije i zaposleni specijalisti za informacione sisteme iz organizacije naruioca
odnosno interno osoblje.
Ako se radno optereenje poveava nije neophodno poveanje broja zaposlenih. Spoljna organizacija
obezbeuje fleksibilnost organizaciji naruiocu da izvede dodatni rad ako postoji poveana poslovna
aktivnost. Partnerski pristup sa isporuiocem outsourcing-a obezbeuje mogunost prenoenja
vika radnog optereenja, ako postoji prihvatljiv nivo usluga po konkurentnoj ceni.
Ugovorene usluge mogu se esto proveravati, npr. svake ili svake druge godine. Po isteku ugovora sa
spoljnom organizacijom vri se analiza dobijenih usluga. Trajanje ugovora zavisi od vie faktora (tip
usluge, trokovi i rizik koji su povezani sa promenom spoljne organizacije, pouzdanost spoljne
organizacije u pogledu ispunjenja obaveza).
Obraun usluga moe biti direktno povezan sa njihovim performansama i nivoima. Neprihvatljive
performanse trebale bi biti predmet novanog kanjavanja. Spoljna organizacija treba da obezbedi
usluge po trinoj ceni. Kako su usluge odreene i merljive, vano je da se njihovi nivoi prate i da se o
njima dobija izvetaj. Tipine mere nivoa usluge su: blagovremenost, dostupnost, vreme odziva i
kvalitet.
(1) Blagovremenost - Ako se ugovorom o odravanju zahteva da se usluga izvri u roku od etiri sata
od momenta prijavljivanja, onda ova aktivnost moe biti merena i o njoj izraen izvetaj. Ukoliko
nivo usluge nije zadovoljen, mogu biti odreene novane kazne.
(2) Dostupnost Ako se ugovorom zahteva da usluge isporuioca budu raspoloive 24 asa na dan, 7
dana u sedmici onda dostupnost moe biti merena i praena. U sluaju neispunjenja usluge
aktiviraju se novane kazne.
(3) Vreme odziva - Ovo je takoe znaajna mera za odreivanje efikasnosti usluga i treba biti sastavni
deo ugovora. Mogue ju je izmeriti i pratiti.
(4) Kvalitet - Mada je teko izmeriti nivo kvaliteta usluge, on se odreuje na osnovu iskustva korisnika.
Kvalitet ukljuuje: odgovornost i obim ispunjenja zahteva, sposobnost ispunjenja dogovorenih
vremenskih rokova, pripremljenost korisnika za promene pre nego to se softversko reenje
implementira, nivo iztestiranosti proizvoda pre uvoenja, obezbeenost podrke putem servisa za
reavanje problema itd. Kvalitet usluge se moe izmeriti anketiranjem, npr. jednom godinje treba
odrediti neko podruje problema i omoguiti da se o njemu vodi rasprava.
Nedostaci "outsourcing"-a se sistematizuju na sledei nain:
Trokovi outsourcing-a se poveavaju kroz dui vremenski period ako spoljna organizacija u
odreenom momentu potrai dodatne prihode.
Spoljna organizacija moe zahtevati dodatna sredstva za ispunjenje zahteva koji nisu predvieni
ugovorom.
Moe se stvoriti problem prilikom prenoenja znanja sa spoljne organizacije na korisnika, a to se
najee deava kada spoljna organizacija nije kooperativna.
Mogu nastati tekoe u merenju i upravljanju kvalitetom.
Sa veim obimom posla koji se prenosi na spoljnu organizaciju poveava se mogunost da neki od
interesantnijih poslova bude otuen, a to moe uticati na pad morala zaposlenih u organizaciji
naruiocu.
Spoljna organizacija moe zadrati kontrolu iznad odreenog nivoa i kvaliteta usluga.
Pojavljuje se vei rizik u realizaciji, ukoliko doe do promena u spoljnoj organizaciji.
Kada organizacija naruilac odlui da promeni spoljnu organizaciju tada ista podie cene svojih usluga
(cena konverzije i migracije, cena obuke, cena koordinacije i dr.).
Trea alternativa obezbeenja informacionog sistema je razvoj informacionog sistema od strane
korisnika (korisniki razvoj). To je poslednja alternativa, u kojoj korisnici samostalno razvijaju aplikacije
koje e sami koristiti. Pri ovoj alternativi, specijalisti za informacione sisteme u organizaciji, pomau i
ubrzavaju takav razvoj. Ovakav razvoj, poseduje prednosti ali i nedostatke.
Prednosti korisnikog razvoja su:
Trokovi radne snage se sniavaju, ukoliko se korisnicima prue sredstva koja su im potrebna i sa
kojima oni samostalno obavljaju aktivnosti razvoja, uz eventualna uputstva i usluge organizacionog
dela za informacione sisteme.
Vremenski period razvoja se skrauje, posebno zbog toga to se uoeni problemi tokom razvoja
reavaju mnogo bre jer ih uoava i otklanja ista osoba korisnik.
Odravanje postojeeg sistema je pojednostavljeno i bre. Naime, razvoj uvek ima prioritet u odnosu
na odravanje, tako da se esto sistem koristi na takav nain da ne zadovoljava korisnike potrebe.
Preputanjem odravanja korisniku, on je vie zainteresovan i prioritet su mu aplikacije koje
neposredno upotrebljava da odrava u stanju potrebnom za poslovanje.
Poveava se broj onih koji uestvuju u razvoju informacionog sistema, a na taj nain smanjuje njihov
obim angaovanja. Ova konstatacija se posebno odnosi i na zauzetost specijalista za razvoj
informacionog sistema.
Sigurno da je ova alternativa razvoja sistema posebno dobila na znaaju od pojave jezika etvrte
generacije. Ipak, uz brojne prednosti, treba naznaiti i neke nedostatke. Meu prvima je problem
primene standarda u razvoju, koje specijalisti nalau, a koje veina krajnjih korisnika zanemaruje ili o
njima ne vodi brigu. Odsustvo standarda samo po sebi nije problem dok se pojedine aplikacije ne pokau
nesigurne sa aspekta podataka, kada se ispoljava problem. Takoe, nedostatak kontinuiteta u razvoju,
moe predstavljati nedostatak ove alternative razvoja. U razliitim delovima organizacije, mogu biti
razvijene sline ili iste aplikacije, razliitog nivoa sloenosti za obavljanje istih ili slinih poslova. Da bi se
ovaj problem sveo na najniu moguu meru, u organizacijama se formiraju informacioni centri koji
koordiniraju ovakav korisniki razvoj informacionog sistema.
koja prethode i koja slede u realizaciji zahteva Requirements Traceability matrix (RTM) i auriran
plan projekta.
Tokom faze implementacije, obavlja se testiranje i integracija, kao drugi niz aktivnosti ove faze.
Artifakti softvera, online sistem pomoi korisnicima i test podaci se iz razvojnog okruenja prenose
u test okruenje. Svi test sluajevi se aktiviraju da bi se proverila korektnost i kompletnost
softverskog proizvoda. Testiraju se pojedinano razvijeni segmenti i njihove logike celine, kao i
prihvatljivost softvera od strane korisnika. Uspeno izvrenje testa potvruje robustnost i
mogunost potpune migracije na novi softverski proizvod. U ovoj fazi se afirmie i odrava
celokupna integralnost komponenti softvera putem verifikacije konzistentnosti i kompletnosti
uvedenih podsistema i modula, verifikuje se interfejs i veza razvijenih segmenata informacionog
sistema sa specifikacijama, uporeuju performanse sistema, podsistema i modula sa zahtevima.
Vri se obuka korisnika koja e uz pripremljena uputstva odnosno sistem pomoi obezbediti
korisnicima razumevanje mogunosti i ogranienja u cilju efektivne upotrebe sistema. Rezultati
ovih aktivnosti faze implementacije su: integrisani softverski proizvod, online sistem pomoi
korisnicima, implementaciona mapa, plan uvoenja u proizvodnju (produkciju) koji referencira
izvorni kod, opisuje standarde i konvencije kodiranja, kao i izvrne procese, bazu podataka i njene
tabele, plan prihvatanja koji sadri konaan skup test sluajeva i auriran plan projekta.
Poslednja grupa aktivnosti faze implementacije je instalisanje i prihvatanje. Ovo je finalna grupa
aktivnosti faze razvoja inicijalnog softverskog proizvoda, u kojoj se isti stavlja u produkciju i poinje
koristiti u aktuelnom poslovanju. Svi proizvodi dobijeni (proizvedeni) u procesu razvoja softvera artifakti, online sistem pomoi korisnicima, inicijalni podaci za obradu (produkciju) se postavljaju
na produkcioni server. Takoe se svim test sluajevima jo jednom proverava korektnost i
kompletnost proizvoda. Uspean zavretak provere je pretpostavka prihvatljivosti proizvoda od
strane korisnika. Nakon to se korisnik uveri da su rezultati obrade (produkcije) korektni i da su svi
testovi sa zadovoljavajuim rezultatima, on formalno prihvata isporuku softvera. Naravno, u ovom
poslednjem delu faze se proverava sistemska dokumentacija i uputstva za korisnika, obzirom da su
ona po formi pogodna za proveru i kao podrka sistema. Proizvodi ovih aktivnosti faze su: softver
spreman za produkciju, kompletiran test prihvatanja i memorandum o prihvatanju softvera od
strane korisnika. Konano, projekat se zakljuuje, arhiviraju se svi proizvodi dobijeni u procesu
razvoja softverskog proizvoda, implementaciona mapa, izvorni kod i dokumentacija koja je pratila
razvoj proizvoda.
Odravanje sistema: Ova faza u razvoju softvera podrava operacije sistema u ciljnom okruenju
obezbeujui potrebna unapreenja, proirenja, popravke, zamene i dr. Odravanje je stalni
proces koji se realizuje putem iteracija aktivnosti koje mu prethode.
Kao to je ve istaknuto u kratkom opisu ivotnog ciklusa, razvoj informacionih sistema podrazumeva
veliki broj aktivnosti, koje se fazno realizuju. Tokom viefaznog razvoja informacionih sistema, pojedine
aktivnosti se izvravaju na razliite naine u zavisnosti od naina razmiljanja onih koji ih sprovode i
osobina objektnog sistema za koji se informacioni sistem razvija. Posebna se panja posveuje logikom
redosledu realizacije pojedinih faza i aktivnosti, obzirom da se u odreenom toku pojedine aktivnosti
meusobno uslovljavaju, upotrebljavaju rezultate aktivnosti koje im prethode, i semantiki se jedna na
drugu oslanjaju.
Model razvoja je apstraktna (teorijska) predstava procesa razvoja. Svaki model predstavlja proces na
poseban i jedinstven nain, te tako obezbeuje samo delimine informacije o njemu. Modeli razvoja se
meusobno razlikuju po tome koliki znaaj pridaju pojedinim fazama i aktivnostima u razvoju
informacionih sistema, koliko ih detaljno posmatraju i u kojem redosledu ih izvravaju.
Model razvoja se bira u zavisnosti od prirode zadatka odnosno projekta, tehnike orijentacije osoba koje
uestvuju u razvoju, metoda i alata koji se upotrebljavaju pri razvoju, naina kontrole i prirode samog
proizvoda koji se zahteva.
Modeli razvoja se pojavljuju od vremena kada su se projektima razvijali veliki sistemi. Oni pruaju
razliite poglede na proces razvoja informacionih sistema. Osnovni razlog njihove pojave je bila elja da
se obezbedi uoptena ema razvoja informacionih sistema, koja bi sluila kao osnova u planiranju,
organizovanju, snabdevanju, koordinaciji, finansiranju i upravljanju aktivnostima razvoja informacionih
sistema. Najee, modeli se strukturiraju na sledei nain:
Model vodopada,
Modifikovani model vodopada,
Inkrementalni model,
RAD model.
koje zahteva korisnik, zbog potreba da se proizvod prilagoava promenama koje uzrokuje
promenjeno okruenje, zbog razvoja tehnologija koje se upotrebljavaju, zbog ispravki greaka koje
nisu uoene tokom testiranja i zbog unapreenja njegove efikasnost.
Svaka od navedenih faza u modelu poseduje specifinosti, rezultira izvesnim proizvodom i omoguuje
reviziju postignutih rezultata. Aktivnosti faze se izraavaju neophodnim ulazom, procesom i realizovanim
izlazom. Razvoj softverskog proizvoda tako prolazi kroz niz koraka koje su sukcesivne odnosno povezane
kao susedne. Rezultat realizacije svake faze razvoja su njeni konkretni proizvodi i odreena
dokumentacija koji se verifikuju i koji se koriste kao ulazi u sledeu fazu. Prema tome, naredna faza
razvoja uvek moe zapoeti, samo kada je prethodna faza u celosti zavrena i svi njeni proizvodi i
dokumentacija raspoloivi.
U stvarnosti, razvoj nikad nije tako eksplicitno i linearno odreen. Zbog toga razvijeni proizvodi u svakoj
fazi zahtevaju proveru i reviziju pre prihvatanja, kao i odreenu vrstu zamrzavanja rezultata pre prelaska
u narednu fazu, jer naknadne promene rezultata prethodnih faza nisu doputene.
Model vodopada je najstariji model razvoja koji je najvie i najire primenjivan do danas. Uspeno se
kombinuje sa drugim modelima razvoja. Veoma je mnogo kritikovan, ali se ipak zadrao na visokim
pozicijama sa stanovita primene. Model je posebno efikasan u struktuiranju i upravljanju malim
projektima razvoja softvera u organizacijama, kada korisnik jednoznano moe definisati svoje zamisli i
zahteve u odnosu na proizvod i kada se isti tokom razvoja radikalno ne menjaju. Takoe, preporuuje se
prilikom razvoja proizvoda koji je po osnovnim karakteristikama jedinstven i ima zadatak da zadovolji
posebne zahteve korisnika, koji jo do tada nisu realizovani u sistemima drugih organizacija i ne mogu se
ire upotrebiti.
Prednosti modela vodopada su:
strogo definisani i kontrolisani proces, kojeg karakteriu standardizovane i detaljno opisane
aktivnosti u svim fazama razvoja,
ukljueno testiranje odnosno verifikacija izvrenih aktivnosti i dobijenih rezultata na kraju svake
faze razvoja,
detaljna i kvalitetna dokumentacija, koja se generie u svim fazama razvoja, istovremeno kada se
izvravaju pojedine aktivnosti i
relativno laka zamena pojedinih uesnika u procesu razvoja.
Nedostaci modela vodopada su:
nefleksibilna podela aktivnosti razvoja u posebne faze i nedostatak povratne sprege izmeu faza,
greke koje se ne otklone u pojedinim fazama razvoja kada se vri testiranje ili verifikacija
proizvoda, mogu imati stravino distorziono dejstvo na razvoj u celini,
nemogunost obavljanja iteracija tokom realizacije razvoja jer iste izazivaju ozbiljne probleme i
konfuziju u primeni modela,
teka prilagodljivost neizvesnosti koja uglavnom egzistira na startu projekta, kada je korisniku
veoma teko da eksplicitno navede sve svoje zahteve prema softveru,
dugotrajan proces razvoja te korisnik mora biti veoma strpljiv i istrajan jer su mu radne verzije
softvera dostupne tek na kraju aktivnosti razvoja, a do tada postoji samo pisana specifikacija
funkcionalnosti budueg softvera,
samo potpuno gotov proizvod je upotrebljiv od korisnika,
visoki razvojni trokovi.
dekompozicija proizvoda na inkremente, da bi se oni mogli integrisati, nije trivijalan zadatak, kao
ni sam proces integracije, a da se pri tome ne ugrozi kvalitet ve postojeeg proizvoda,
specifikacija detaljnih korisnikih zahteva se kod svakog inkrementa izrauje neposredno pre nego
to se on razvija,
integracija moe uvek doneti neoekivane probleme i potrebe za reorganizacijom, koja moe imati
posledice po efikasnost i odravanje,
korisnici imaju stalnu elju da menjaju svoje zahteve.
Software
concept
Requirements
Analysis
Architectural
Design
Stage 1: Detailed design, code, debug, test
and delivery
Stage 2: Detailed design, code, debug, test
and delivery
Stage n: Detailed design, code, debug, test
and delivery
izvede perfektno u prvom pokuaju. ak naprotiv, nakon solidnog poetka, veoma uspeno izvodi mala i
uestala unapreenja. to znai da je bolje prihvatiti takva iskustva nego se protiv istih boriti.
Razvoj se odvija putem realizacije sledeih koraka:
Modelovanje organizacije faza u kojoj se istrauju ciljevi organizacije, problemi organizacije,
kritini faktori uspenosti i strateke mogunosti. Razmatraju se na zajednikim sednicama
rukovodstva organizacije i projektanata naini usmeravanja organizacije kako bi ona postala
kompetitivnija.
Planiranje zahteva faza u kojoj se analiziraju zahtevi sa obzirom na poslovni sistem. Prouavaju
se funkcije sistema, identifikuju upotrebljive i uklanjaju nekorisne. Takoe, istrauju se i definiu
informacione potrebe, obim u kojem e se one zadovoljiti i vri analiza opravdanosti razvoja novog
proizvoda.
Dizajn aplikacija faza u kojoj se vri detaljna analiza funkcionalnosti predloenog sistema i
oblikuje sistem koji e potpuno odgovoriti zahtevima. Kljuni korisnici na radnim sastancima, vre
dekompoziciju poslovnih funkcija i definiu tipove entiteta, da bi procese povezali sa podacima.
Nakon toga vri se dizajn kritinih procedura, dizajn preliminarnog izgleda ekranskih formi i
priprema plan implementacije sistema.
Konstrukcija faza u kojoj mali razvojni timovi rade neposredno sa korisnicima na finaliziranju
dizajna i izgradnji proizvoda. Ovu fazu ini serija koraka tokom kojih korisnici imaju prilike da
koriguju svoje zahteve i ispitaju razvijeni proizvod. Proizvod se razvija iterativno i prototipski.
Nakon izgradnje, proizvod se testira, generiu se dokumentacija i uputstva za korienje novog
proizvoda kao i rutine i procedure za stavljanje proizvoda u funkciju.
Implementacija je faza tokom koje se implementira novi proizvod i upravlja prelaskom sa starog
na novi. Uspostavljaju se relacije izmeu starog i novog proizvoda, vri konverzija podataka i
obavlja trening korisnika.
Prednosti RAD modela su:
poveana brzina razvoja proizvoda putem primenjenih metoda prototipskog razvoja,
umanjena funkcionalnost proizvoda za krajnjeg korisnika (proistekla iz suenog fokusa dizajna) i
kao posledica njegova umanjena kompleksnost (sloenost),
vei naglasak na jednostavnost i upotrebljivost dizajna korisnikog interfejsa.
Nedostaci RAD modela su:
umanjena skalabilnost i umanjene karakteristike, kada ovim modelom razvijene softverske
aplikacije startuju kao prototipovi i razvijaju se u gotove aplikacije,
skromnije karakteristike proizvoda, koje su posledica skraenja vremena razvoja, jer se zbog
kratkog vremenskog okvira izrade mnoge karakteristike potiskuju u kasnije verzije,
cena postignutog ubrzanja procesa razvoja, veoma esto je gubitak pregleda nad celinom sistema,
brzina razvoja moe postati svrha sama sebi, pa tada vodi improvizaciji razvoja i izradi samo
prirunih i privremenih reenja,
kod velikih projekata, model zahteva dovoljno resursa za formiranje pravog broja razvojnih
timova,
projekti su bezuspeni, ukoliko ne postoji obaveza razvojnog tima ili korisnika da aktivnosti,
neophodne za kompletiranje sistema, ne realizuju u mnogo kraim vremenskim intervalima,
ukoliko se proizvod nemoe adekvatno modularizovati, izgraene komponente su problematine u
smislu povezivanja.
Ovaj model je pogodan kao model razvoja kada se na poetku razvojnog ciklusa ne poznaju potpuno i svi
zahtevi korisnika, ve ih je potrebno sukcesivno saznati. Zatim, kada je mogue izvesti simulaciju rada
proizvoda, kako bi korisnik mogao videti na koji nain e budui proizvod funkcionisati. I kada razvojni
timovi ele proveriti efikasnost ugraenih algoritama ili adaptibilnost proizvoda.
START
Izg
p rad
r
o
tot nja
ipa
nje
isa
n
i
f
de tipa
Re roto
p
i
Brz jn
a
diz
In
i
pro njers
izv ki
od
ST
OP
Prikupljanje i
selektiranje
zahteva
Evaluacija
prototipa od
korisnika
Model prototipskog razvoja zapoinje prikupljanjem osnovnih zahteva korisnika. Razvojni tim i korisnici,
zajedniki definiu opte ciljeve razvoja proizvoda, identifikuju sve njima poznate zahteve i odreuju
podruja na kojima su obavezne dalje aktivnosti preciznijeg definisanja. Sledi "brzi" dizajn u kojem se
fokusira na realizaciju onih aspekata proizvoda koji e biti vidljivi za korisnika (ulazni i izlazni formati i
dr.). Nakon takvog dizajna, razvija se prototip. On slui da bi se preistili zahtevi prema proizvodu koji se
razvija. Preiavanje je iterativno i odvija se dok prototip ne zadovolji zahteve korisnika i istovremeno
omogui projektantu potpuno razumevanje potreba koje mora zadovoljiti. Idealno, prototipski razvoj i
slui kao mehanizam za identifikovanje korisnikih zahteva. Ukoliko prototip u korisnikoj evaluaciju
zadovolji, prelazi se u zavrnu fazu razvoja konanog proizvoda za upotrebu.
Prednosti primene modela prototipskog razvoja su:
poveana brzina i kreativnost u razvoju,
stalno obezbeene radne verzije proizvoda, koje mogu posluiti za analizu funkcionalnosti,
performantnosti, adaptibilnosti i trokova razvoja,
korisnik je maksimalno angaovan na razvoju, moe permanentno menjati svoje zahteve, to
unapreuje kvalitet celokupnog procesa.
Ovaj model ima i svoje nedostatke odnosno primena modela prototipskog razvoja moe biti diskutabilna
iz vie razloga:
Kumulativni trokovi
Planiranje
Prikupljanje zahteva
i planiranje projekta
Analiza rizika
inicijalnih zahteva
Analiza rizika na
korisnikim reakcijama
Planiranje na korisnikim
komentarima
Donoenje odluke DA - NE
Procene korisnika
Inicijalni prototip
Naredni nivo
Razvijeni sistem
Procene korisnika
Ininjering
(razvoj narednog nivoa proizvoda)
Po zavretku svakog ciklusa razvoja, korisnik ocenjuje proizvod i daje sugestije za njegovu modifikaciju.
Zasnovana na korisnikom inputu, inicijalizuje se faza planiranja novog ciklusa razvoja i analiza rizika.
Svaki ciklus razvoja na spirali, zahteva analizu rizika i donoenje odluke "nastaviti" ili "ne nastaviti" sa
daljim razvojem. Ukoliko je rizik isuvie visok i ulaganja nesrazmerno velika u odnosu na efekte koji se
oekuju, terminira se dalji rad i zadrava u upotrebi proizvod nastao u prethodnom ciklusu ili
prethodnim ciklusima. Svaki novozapoeti ciklus spirale donosi kompletniji proizvod, ali i znaajno vie
trokove.
Rezimirajui izloeno treba podvui da model ukljuuje multiplikovane iteracije kroz cikluse, koji
analiziraju rezultate prethodnih faza odreujui procenu rizika za budue faze. U svakoj od faza, razvijaju
se alternative u skladu sa ciljevima i potrebama, koje zajedno ine bazu za sledei ciklus u spirali. Svaki
ciklus se zavrava ocenom. Model podrazumeva da se svaki deo proizvoda ili svaki nivo proizvoda na
istovetan nain provlai kroz ovu spiralu odnosno ocenu.
Osnovna premisa modela je da se odreeni redosled koraka ponavlja u razvoju i odravanju proizvoda.
Koraci se prvo izvravaju sa visokim stepenom apstrakcije, da bi se postepeno prelo na detalje.
Prednosti primene spiralnog modela su:
u kratkom vremenskom intervalu realizacija funkcionalnog proizvoda,
fleksibilnost u upravljanju fazom ininjeringa i mogunost kombinovanja razliitih pristupa u
razvoju proizvoda,
mogunost izvoenja procene rizika u svakom trenutku i nivou apstrakcije, to obezbeuje
pravovremenu reakciju na uoene rizike i primenom prototipskog modela razvoja prua
mehanizam za njihovo smanjenje. Primenom ovog modela rizici se mogu smanjiti pre nego to
izazovu vee probleme i velike trokove.
model podrava sistematski pristup preuzet iz modela vodopada uz mogunost izvoenja iteracija.
Nedostaci primene spiralnog modela su:
odsustvo veze prema postojeim standardima, odnosno ne postojanje standarda za ovaj model
razvoja softverskog proizvoda,
model zahteva vie uniformnosti i konzistentnosti u razvoju,
relativno skup model za primenu u razvoju malih projekata, jer analize rizika zahtevaju specifine
ekspertize,
velike probleme stvara situacija kada se na vreme ili uopte ne otkriju rizici, koji onda proizvode
multiplikativno dejstvo u razvoju,
relativno kratko vreme njegove primene, pa e trebati jo dosta vremena da se sa vie sigurnosti i
verovatnoe prie njegovoj ozbiljnijoj primeni.
Analiza odnosno procena rizika, kao kljuna razlika ovog modela razvoja u odnosu na ostale, je veoma
pozitivna i korisna u procesu razvoja, ali samo kod izgradnje velikih informacionih sistema jer se za njih
vezuju veliki trokovi i kada njeno izvoenje ne predstavlja preveliki relativni troak u odnosu na ukupne
trokove razvoja.
Model softver
komponenti
Model softver
komponenti
"A"
Komponente softvera
za ponovnu upotrebu
"B"
"C"
Komponente softvera
za ponovnu upotrebu
Model softver
komponenti
Viestruko korienje proizvoda je proces kojim se u novi proizvod ukljuuju pojedine komponente:
prethodno testiranog koda,
prethodno proverenog dizajna,
pretnodno razvijene i koriene specifikacije zahteva i
prethodno korienih procedura za testiranje.
Koristi koje sobom donosi ponovno korienje komponenti razvijenog softvera su sledee:
podie robustnost proizvoda,
poveava produktivnost izrade proizvoda i smanjuje trokove razvoja,
podie kvalitet proizvoda jer su mu komponente viestruko proverene i u vie navrata
unapreene,
tedi odnosno skrauje vreme izrade,
obezbeuje adekvatnu dokumentaciju i lake razumevanje proizvoda,
olakava odravanje proizvoda.
Disciplines
Faza inception predstavlja prvu i najkrau fazu razvoja. Njen primarni cilj je definisanje obima i granica
projekta, odnosno opravdanje razloga zbog kojih se pokree projekat. Tokom ove faze se definie vizija
sistema, opisuje sistem i prikupljaju najvani zahtevi. Nakon toga se identifikuju kljune funkcionalnosti
sistema i daje predlog najmanje jednog mogueg reenja arhitekture proizvoda. Procenjuju se trokovi,
utvruje preliminarni plan realizacije projekta i identifikuju mogui rizici. Na kraju, razrauje se proces
razvoja i odreuju alati koji e se upotrebljavati u razvoju softverskog proizvoda.
Faza elaboration predstavlja drugu fazu u ivotnom ciklusu razvoja proizvoda. Osnovni zadatak ove faze
jeste uspostavljanje takve arhitekture sistema koja obezbeuje vrste osnove za veinu aktivnosti
dizajna i implementacije koje e biti realizovane u fazi konstrukcije. Takoe, zadatak ove faze je i
identifikovanje kljunih rizika. Identifikuju se rizici vezani za zahteve, rizici vezani za arhitekturu, rizici
vezani za trokove i rizici vezani za sam postupak izvrenja procesa razvoja i za primenu izabranih alata.
Aktivnosti koje se obavljaju u fazi elaboration su: prikupljanje detaljnih korisnikih zahteva; globalna
analiza i dizajn, ustanovljavanje osnovne arhitekture sistema i njena ocena; planiranje konstrukcije sa
izradom detaljnog plana projekta i prorauna trokova; usavravanje razvojnog procesa i razvojnog
okruenja
Fazu construction, kao treu fazu ivotnog ciklusa, ine detaljni dizajn, implementacija i testiranje
sistema. Faza konstrukcije predstavlja najobimniju fazu i u vremenskom rasporedu zauzima preko
polovine ukupnog vremena predvienog za projekat. Meutim, ukoliko su prethodne faze kvalitetno
odraene, rizici za narednu fazu prelaenja su svedeni na minimum. U fazi konstrukcije mogu se izdvojiti
sledee aktivnosti: prikupljanje preostalih ili izmenjenih zahteva; detaljna razrada arhitekture i izrada
sistema; kontinuirana integracija komponenti i testiranje sistema; izrade uputstava i materijala za
trening korisnika, konverzija podataka i dr
Faza transition ima za cilj prenoenje softverskog proizvoda u ruke krajnjih korisnika. U fazi konstrukcije
se u ruke korisnika predaje beta verzija softverskog proizvoda, tako da ova faza poinje sa beta
testiranjem. Kao rezultat beta testiranja dobijaju se povratne informacije od korisnika o prihvatljivosti
proizvoda i njegovom zadovoljstvu. Takoe, podeavaju se performanse proizvoda i vri obuka korisnika.
Model unificiranog procesa razvoja softvera poseduje sve one prednosti i nedostatke, koji se ispoljavaju
kod inkrementalnog modela, stim da dodatno poseduje pozitivne osobine spiralnog modela, jer
podrava iteracije i permanentnu analizu rizika.
Analiza
Prototip
Spiralni
model
4GT
Dizajn
4GT
Iteracije
Kodiranje
Iteracije
4GT
Testiranje
Sistem
Odravanje
Ne treba biti dogmatian u izboru odreenog modela u razvoju informacionog sistema. Priroda aplikacije
e diktirati model koji bi trebalo primeniti. Kombinovanjem modela, rezultat postignut u celini moe biti
povoljniji nego to bi to bio prosti zbir rezultata postignutih pojedinim modelima.
razvoja su know-how koji se moe uspeno primeniti u razvojnom procesu pri izvrenju pojedinih
aktivnosti.
Naravno, ne postoji takav razvoj kojem nedostaju principi i metodi, ali ne postoje ni metodi koji se mogu
primeniti u reavanju svakog problema. U tom smislu, primarni i veoma odgovoran zadatak je izabrati za
korisnika, sistem i proces razvoja najpogodniji i najprilagodljiviji metod i tehniku. Pravilan izbor ne
podrazumeva definisanje jednog odreenog metoda i tehnike, ve u zavisnosti od kompleksnosti i vrste
problema kombinaciju vie razliitih metoda i tehnika.
Metodi i tehnike razvoja informacionih sistema se mogu grupisati prema razliitim kriterijumima, ali ih je
veoma teko jednoznano razvrstati. Najee se ipak grupiu s obzirom na faze razvoja informacionih
sistema u kojima se primenjuju.
Kao izraz potreba za reavanjem sve sloenijih problema putem raunara, razvijene su metodologije.
One predstavljaju jedinstveni sistem metoda, ijim povezivanjem je omogueno projektantima da na
sistematizovani nain pokriju vie ili sve faze razvoja softvera.
CASE tehnologije su razvijene kao rezultat nastojanja osoba, koje se bave razvojem softvera i
informacionih sistema da unaprede sopstvenu produktivnost. Naime, ironinom se smatrala situacija da
se primenom informacionih tehnologija tei poveati produktivnost rada drugih, ignoriui pri tome
potencijal raunara za unapreenje sopstvene produktivnosti. Pored poveanja produktivnosti, osnovni
ciljevi primene CASE tehnologije su: skraenje vremena realizacije projekata razvoja informacionih
sistema, poveanje kvaliteta i nivoa performansi informacionih sistema putem stroge primene principa,
metoda, tehnika i procedura razvoja. Da bi se navedeni ciljevi postigli bila je neophodna disciplinirana
primena konzistentne metodologije, ije faze odnosno aktivnosti bi se realizovale uz primenu raunara.
Jednom reju, reenje se trailo u automatizaciji postupaka razvoja informacionih sistema primenom
CASE tehnologija.
CASE tehnologije se usled brzog razvoja i trenutnog stanja razvijenosti ne mogu shvatati kao prost zbir
alata koji su namenjeni razvoju informacionih sistema, ve kao sistemi koji integriu: (a) hardver, (b)
softver, (c) bazu podataka, (d) procedure i (e) kadrove. U CASE terminologiji integralna celina
hardverskih i softverskih komponenti se naziva CASE alatom. Procedure se nazivaju CASE
metodologijom, a baza podataka CASE skladite (repozitorijum) enciklopedija.
Uspena primena CASE tehnologije pretpostavlja prethodno opredeljenje i usvajanje odgovarajue
metodologije razvoja informacionih sistema. Naime, CASE tehnologije, posebno one koje su
strukturirane od vie CASE alata, mogu biti zavisne ili nezavisne od metodologije razvoja. Kada su zavisne
od metodologije, one su restriktivne i zahtevaju strukturirano okruenje: tehnikih i ljudskih resursa,
propisanih standarda i procedura, kao i jedinstenog metodolokog pristupa. Meutim, kada su
nezavisne od metodologije, omoguuju primenu razliitih metodologija, jednostavnije su i lake za
primenu, ali zbog manje standarda i propisanih procedura mogu proizvesti veoma negativne posledice u
razvoju. Veoma esto ne podravaju ni kritine prelazne take izmeu razvojnih faza.
CASE tehnologije zahtevaju disciplinovani pristup razvoju informacionih sistema, odnosno CASE
tehnologije moraju biti odabrane i primenjene u onim aktivnostima za koje su i namenjene. Osobe koje
rade sa njima moraju biti na adekvatan nain obuene. Naime, CASE tehnologije su samo alati u rukama
projektanata ili drugih korisnika, iji efekat zavisi ne samo od kvaliteta CASE tehnologije ve i od njihove
sposobnosti i znanja. CASE tehnologije automatizuju veinu rutinskih aktivnosti razvoja. Jo uvek je
njihovo uvoenje u podrci kreativnijih aktivnosti razvoja neuspeno. Takoe, i elja da se podri timski
rad u razvoju informacionih sistema CASE tehnologijama je delimino ostvarena.
Optu strukturu CASE tehnologije ine:
Alati za dijagramiranje slue za grafiko predstavljanje procesa, podataka i kontrolnih struktura i
ine osnovu veine tehnologija.
Alati za generisanje formi i izvetaja slue za automatizovani razvoj raunarskih formi i izvetaja
putem kojih e korisnici biti u interakciji sa novim sistemom.
Alati za analizu slue u upravljanju kompleksnim razvojem velikih sistema, generiu izvetaje
putem kojih se automatski proveravaju nekompletne, nekonzistentne ili nekorektne specifikacije u
dijagramima, formama i izvetajima.
Alati za projektovanje slue za izgradnju komponenata sistema.
Alati za generisanje dokumentacije slue u izradi tehnike i korisnike dokumentacije u
standardnim formatima.
Alati za generisanje koda slue za automatizovano generisanje koda programa i koda definicije
baze podataka direktno iz dizajniranih dokumenata, dijagrama, formi i izvetaja.
Dijagrami
Forme
i
Izvetaji
Dokumentacija
CASE
skladite
Rezultati
analize i
dizajna
Informacije
o projektu
Izvorni i
objektni kod
Standardna
biblioteka
Treba naglasiti, da ne poseduju sve CASE tehnologije navedenu optu strukturu, mada softverske
kompanije uglavnom tee da razviju u sopstvenoj reiji ili putem saradnje odreene CASE tehnologije
koje ine zaokruene celine. Takoe, one nemaju ni istu mo, pa se u primeni najee kombinuju alati
razliitih CASE tehnologija. Upotrebljavaju se tako alati iz jedne tehnologije u realizaciji jedne faze
razvoja, a drugi alati iz druge tehnologije u realizaciji druge faze razvoja.
Ovakva primena CASE tehnologije stvara odreene probleme jer ne postoji definisana standardna
struktura CASE enciklopedije. Podaci u enciklopediji koje pruaju odreeni alati uglavnom su
nekompatibilni sa podacima u enciklopediji potrebnim za druge alate. Razliite tehnologije i alati imaju
razliite standarde i formate podataka, pa se o tome pri izboru mora posebno voditi rauna.
Najznaajnija korist upotrebe CASE tehnologije se svakako postie ukoliko se integriu svi alati koji ine
njenu strukturu, da bi se njihovim povezivanjem integrisali i svi podaci kojima isti upravljaju. Integrisani
alati se oslanjaju na zajedniku terminologiju, notaciju, metode i tehnike za razvoj sistema. Kompletno
integrisani alati imaju zajedniki korisniki interfejs i zajedniko skladite podataka za sve alate, tako da
se informacije mogu lako deliti izmeu pojedinih alata i aktivnosti ivotnog ciklusa razvoja bez
prevoenja podataka iz jednog formata u drugi.
CASE skladite
CASE skladite, kao centralna baza podataka, je jezgro i najbitniji segment za integraciju alata koji se
koriste kroz razliite faze ivotnog ciklusa razvoja. Ono predstavlja centralnu komponentu strukture
CASE tehnologije, sponu izmeu svih nabrojanih komponenti strukture CASE tehnologije, i ne samo to,
ve prua mogunost da se putem nje pojedine faze razvoja softverskog proizvoda automatski
meusobno nadovezuju i pri tome rezultati iz odreene faze istovremeno stavljaju na raspolaganje
alatima u narednim fazama procesa razvoja. to znai, da CASE skladite sadri kompletne informacije
potrebne za kreiranje, izmenu i ocenu softverskog proizvoda od iniciranja i planiranja projekta do
njegovog odravanja.
CASE skladite ine dva primarna segmenta: skladite informacija i renik podataka.
Skladite informacija kombinuje poslovne informacije organizacije i njen aplikacioni portfolio i na taj
nain omoguuje automatizovanim alatima da upravljaju i kontroliu pristup podacima u skladitu.
Poslovne informacije su smetene u korporativnu bazu podataka, dok se aplikacioni porfolio sastoji od
aplikativnih softverskih reenja (programa) koja se koriste za upravljanje poslovnim informacija.
Renik podataka je softverski alat koji se koristi za upravljanje i kontrolu pristupa skladitu informacija.
On prua mogunost da se snime, uvaju i obrade opisi relevantnih podataka organizacije, kao i resursi
obrade podataka. Osobine renika podataka u okviru CASE skladita su posebno od koristi za sistem
analitiara zbog unakrsnog povezivanja podataka. Unakrsno povezivanje obezbeuje da svaki podatak
bude jedinstveno opisan u reniku podataka i da istom mogu pristupati svi pojedinci (sistem analitiari i
korisnici). To znai da postoji i upotrebljava se samo jedna definicija (opis) svakog podatka. Ovakav opis
pomae da se izbegne dupliranje podataka i ujedno ini razvoj i odravanje sistema efikasnijim. Takoe,
u okruenju integrisanih CASE alata, svi dijagrami, forme, izvetaji i programi se mogu automatski
aurirati jednom promenom u definiciji (opisu) renika podataka.
Svaki elemenat u reniku podataka ima standardnu "definiciju" koja ukljuuje informacije kao to su:
naziv elementa i pseudonim
tekstualni opis elementa
lista elemenata sa kojima je u vezi
tip elementa i format
interval prihvatljivih vrednosti
Primeri
PERT alati, alati za predvianje, spregnute tabele
tekst editori, dijagram editori, procesori teksta
sistemi za upravljanje verzijama, alati za izgradnju
sistema
generatori korisnikog interfejsa, jezici visokog
nivoa
renici podataka, generatori koda
kompajleri, interpreteri
statiki analizatori, dinamiki analizatori,
generatori unakrsnih zavisnosti
Alati za testiranje
Alati za pronalaenje greaka
Alati za izradu dokumentacije
Alati za reininjering
Jedan od moguih kriterijuma pri klasifikaciji je i kompletnost CASE tehnologije, koja ukazuje na broj
aktivnosti razvoja softvera i informacionih sistema, iju automatizaciju CASE tehnologija podrava.
Prema ovoj klasifikaciji diferenciraju se:
Upper CASE - CASE tehnologije namenjene za automatizaciju aktivnosti faze strategijskog
planiranja i aktivnosti faze upravljanja projektima.
Middle CASE - CASE tehnologije namenjene za automatizaciju aktivnosti faze analize i aktivnosti
faze dizajna.
Lower CASE - CASE tehnologije za automatizaciju aktivnosti faza programiranja, testiranja i
uvoenja informacionog sistema.
U zavisnosti koje faze ivotnog ciklusa razvoja sistema pokrivaju, CASE tehnologije se strukturiraju na:
Avison D.E., Fitzgerald G.
Projektanski CASE - automatizuju prve tri faze ivotnog ciklusa: strategijsko planiranje, analizu i
dizajn;
Programerski CASE - automatizuju naredne tri faze ivotnog ciklusa: programiranje,
implementaciju i eksploataciju i odravanje;
Integrisani CASE (i-CASE) - podrava sve faze ivotnog ciklusa razvoja sistema.
Konano, CASE tehnologije se razlikuju i po tome koliko su zavisne od metodologije razvoja, pa se
razlikuju:
Zavisne CASE tehnologije - zahtevaju strukturirano okruenje, u smislu tehnikih resursa, ljudskih
resursa, propisanih standarda i procedura i jedinstveni metodoloki pristup. Ukljuuju veoma
ogranieni i mali broj alata.
Nezavisne CASE tehnologije - su pod manjim uticajem odreene metodologije i zato se
jednostavnije i lake primenjuje. S druge strane rezultat primene ovakvog niza alata, koji podrava
razliite metodologije, uz manje propisanih standarda i procedura moe imati katastrofalne
posledice. Poto su alati dizajnirani za razliite faze razvoja, oni esto ne podravaju kritine
prelazne take izmeu pojedinih faza, pa se rezultati nemogu prenositi i povezivati.
Ciljevi primene:
Poveanje produktivnosti projektanata i programera.
Skraenje vremena razvoja softverskog proizvoda.
Vii nivo kvaliteta: projekta, softvera i dokumentacije.
Visoka integrisanost razvojnih aktivnosti putem metodologije koju podrava i ujedno
standardizovanost razvoja.
Nii trokovi razvoja softverskog proizvoda.
Jednostavnije, lake i jeftinije odravanje i dalji razvoj softverskog proizvoda.
Reusability modula i dokumentacije
Najee navoeni razlozi primene CASE tehnologije u organizacijama su:
unaprediti kvalitet razvijenog sistema,
poveati brzinu dizajniranja i razvoja sistema,
olakati i unaprediti proces testiranja putem upotrebe automatizovane provere,
unaprediti povezivanje razvojnih aktivnosti putem odabrane zajednike metodologije,
unaprediti kvalitet i celovitost (kompletnost) dokumentacije,
unaprediti znanje uesnika u procesu razvoja,
pomoi u standardizaciji procesa razvoja,
unaprediti upravljanje projektima razvoja sistema,
pojednostaviti odravanje programa,
promovisati ponovno korienje razvijenih komponenti softvera i dr.
Brojna empirijska istraivanja, meutim, identifikuju i veliki broj prepreka za uvoenje CASE tehnologija.
Meu njima su neke iz perspektive pojedinaca, dok je mnogo vei broj onih iz perspektive organizacije.
Najee se navode sledee:
visoki trokovi nabavke CASE tehnologije,
visoki trokovi obuke,
neizvesnost efekata od uvoenja CASE tehnologije,
1. Jednostavno i lako korienje - Ova osobina predstavlja meru efektivnosti tehnologije u odnosu na
korisnika. Nezavisno od funkcionalnosti i potpunosti, CASE tehnologija treba da je tako kreirana da je
korisnik moe lako, jednostavno i bez puno razmiljanja i neizvesnosti koristiti u reavanju projektantskih
zadataka. Ukoliko to nije sluaj, tada korisnik svoje vreme provodi u razmiljanju kako bi tehnologiju
koristio ili kako tehnologija uopte radi, a to znai da ista svojom ulogom ne pomae ve samo
predstavlja smetnju ili ak prepreku u radu.
2. Tehnologija treba da poseduje mogunost da otkriva greke korisnika, a poeljno je da sama te greke
i otklanja. Tehnologija treba da omogui interakciju sa korisnikom putem dijaloga koji je razumljiv i
prihvatljiv za korisnika. Ona treba da je fleksibilna i da se moe kombinovati sa drugim tehnologijama
kako bi se zadovoljili razliiti zahtevi korisnika. Posebno je znaajno da se minimiziraju ili potpuno
iskljue nepredviena reagovanja tehnologije, koja obino rezultiraju nezadovoljstvom korisnika. CASE
tehnologija ne bi smela svojim izlazima da iznenauje, zbunjuje i blokira rad korisnika. Naredbe koje
korisnik upotrebljava treba da su jasne, jednostavne i konzistentne.
3. Podobnost - Kvalitetna je ona tehnologija koja poseduje takav nivo podobnosti i performansi da moe
da podri reavanje velikog broja aktivnosti u razvoju informacionih sistema. Podobnost se izraava kroz
obim kojim jednostavne naredbe tehnologije mogu uzrokovati njene glavne efekte. Uz ovo obeleje
pridruuje se i zahtev da CASE tehnologija treba da bude u mogunosti da prua informacije o
sopstvenom stanju. Dobra tehnologija moe impresionirati i mnogo veom podobnou nego to je ona
ustvari, ukoliko poseduje vie znanja o sopstvenom stanju.
4. Velika snaga tj. mo - Snaga tehnologije se ocenjuje na osnovu kombinacije sledeih faktora:
pouzdanost tehnologije,
osobine tehnologije koje se ispoljavaju pri oskudnim ili loim uslovima,
funkcionisanje,
teina posledica nedostataka tehnologije,
konzistentnost aktivnosti u funkcionisanju tehnologije i
nain na koji se tehnologija integrie u okruenje.
5. Pouzdanost je znaajan zahtev koji se ispoljava kao sposobnost alata da rastereti korisnika od rizika
greke koju sam napravi. CASE tehnologija treba da otkriva odnosno otklanja greke i posledice koje
zbog istih nastanu. Tehnologija treba da poseduje sopstveni mehanizam samotestiranja koji obezbeuje
njegovo pravilno funkcionisanje.
6. Konzistentnost aktivnosti tehnologije potvruje veliinu tj. obim njene snage. Konzistentnost
podrazumeva dobro definisanu sintaksu i semantiku. Istovremeno, tehnologija mora biti tako razvijana
da podrava kompatibilnost izmeu pojedinih verzija.
7. Funkcionalnost - Ova osobina nije definisana samo zadatkom zbog kojeg je tehnologija dizajnirana ve
i metodima koji se upotrebljavaju u izvrenju zadataka. Broj tehnologija koje podravaju metodologije je
veoma velik. Efikasnost koju ispoljava tehnologija u podrci metoda moe neposredno doprineti
razumevanju i definisanju osobina tehnologije, kao i odreenju kvaliteta i korisnosti izlaza koje
obezbeuje.
8. CASE tehnologije integriu metode i povezuju ih sa metodologijom. Pojedine tehnologije podravaju
jednu, vie ili sve faze metodologije i prenose rezultate izmeu njih. Koncepcija i struktura CASE
tehnologije je odreena izabranom metodologijom i njoj pripadajuim metodama i tehnikama.
Tehnologija mora da obezbedi konzistentnu primenu metodologije i metoda na kojima se zasniva. Tako
ona mora funkcionisati korektno i kontrolisati da li se metodologija sprovodi u potpunosti. Pored toga,
CASE tehnologija mora generisati izlaze koji su korektni i striktno definisani metodologijom.
9. Lako povezivanje sa postojeim sistemom - CASE tehnologija se mora lako i nesmetano uvesti u
postojei informacioni sistem. Ona se jednostavno instalira i omoguuje da se postojee strukture
datoteka ili baze podataka koriste na isti nain kao i pre njene upotrebe. CASE tehnologija mora
omoguiti i prenos podataka odnosno njihovu razmenu izmeu razliitih CASE tehnologija koje se ve
koriste u organizaciji.
10. Kvalitet podrke CASE tehnologije - Prilikom vrednovanja tehnologije sa aspekta kvaliteta podrke,
znaajno je sagledati i sledee elemente podrke:
reputacija dobavljaa,
zrelost tehnologije i njena rasprostranjenost,
mogunost smanjenja trokova pri kupovini vie kopija,
mogunost iznajmljivanja tehnologije,
mogunost vraanja tehnologije uz povrat sredstava,
mogunost dobijanja punih prava i pristupa izvornom kodu,
mogunost i uslovi odravanja,
vreme odziva u odravanju,
pruanje pomoi u obezbeenju problematinih odgovora,
da li korisnik raspolae pravom na nove verzije tehnologije bez naknade,
koji je rok garancije,
koji su rokovi isporuke,
kakvi su uslovi obuke za korisnike tehnologije,
da li postoje efikasni programi obuke i
kakva su struna i pedagoka svojstva kadrova koji vre obuku.
CASE tehnologije obezbeuju integralno razvojno okruenje koje prua podrku svim aktivnostima od
planiranja, preko dizajna do odravanja softvera i informacionog sistema. Pri tome, omoguujui
optimalno funkcionisanje sistema uz najmanji mogui procenat greaka.
Zahtevi i naini integracije CASE tehnologija
Ve je ranije pomenut znaaj i potreba integracije CASE tehnologija. Integracijom se obezbeuje
povezivanje CASE alata na nain da su svima raspoloive prema potrebi sve informacije nastale u
procesu razvoja, da je upotreba alata integrisana i da im je filozofija razvoja integrisana putem primene
standardizovanog procesa u kojem se primenjuje savremena praksa i proverene metode i tehnike.
Integrisana CASE tehnologija mora zadovoljiti sledee zahteve:
obezbediti mehanizam za podelu svih informacija nastalih u procesu razvoja izmeu alata u
njenom okruenju,
omoguiti da se svaka promena odreene informacije po potrebi reflektuje na ostale informacije
sa kojima je ona u vezi,
potreban je i dalje korak prevoenja koji se manuelno aktivira da bi se jednom alatu omoguilo
korienje izlaza drugog alata.
Podela podataka (Data Sharing) - je nain integracije pri kojem alati poseduju kompatibilne strukture
podataka i semantiku i mogu direktno upotrebljavati meusobno podatke bez prevoenja. Svaki alat je
tako dizajniran da bi bio kompatibilan sa ostalima u uslovima podele podataka. Zbog toga, podela
podataka se javlja uglavnom kod alata istog proizvoaa ili kod vie proizvoaa koji su se strateki
povezali upravo da bi proizveli takav proizvod (ak moda i na zahtev jednog korisnika). Za realizaciju
ovog naina povezivanja, kljunu ulogu su odigrali standardi koji obezbeuju dobru osnovu za integraciju
CASE alata.
Meusobna operatibilnost (Interoperability) - je najvii nivo integracije pojedinanih alata i javlja se
ukoliko je realizovan zajedniki pristup alatima i podela podataka.
Puna integralnost (Full Integration) - Da bi se postigla puna integrisanost CASE okruenja, neophodna su
jo dva dodatna elementa: upravljanje meta podacima i sredstva kontrole. Meta podaci su informacije o
procesu softverskog inenjeringa proizvedene od pojedinih CASE alata. Meta podaci ukljuuju:
definicije objekata (tip, atribute, veze),
veze i zavisnosti izmeu objekata proizvoljne detaljnosti,
pravila dizajna softvera,
tokove procesa, procedure i dogaaje.
Sredstva kontrole omoguuju pojedinanim alatima da obaveste ostatak okruenja (ostale alate,
rukovodioca podataka,...) o znaajnim dogaajima i poalju zahteve za akcijom ostalim alatima i
servisima putem trigera. Npr. alat za dizajn bi morao obavestiti alat za upravljanje konfiguracijom da je
kreirana nova verzija dokumenta dizajna i da je potrebno da ovaj izvri proveru konzistentnosti. Sredstva
kontrole pomau u odravanju integriteta okruenja i obezbeuju sredstva za automatizaciju
standardnih procesa i procedura.
Identifikovanje potencijalne liste CASE tehnologija predstavlja korak kojim se potrebama i zahtevima
korisnika pridruuju mogue tehnologije koje bi iste zadovoljili. Trenutno je izbor tehnologija veoma
velik, a poseduje tendenciju daljeg brzog razvoja. Prezentacije, reklamni materijali i dr. obezbeuju
inicijalne informacije o postojeim tehnologijama.
Poslednji korak ove metodologije je sigurno najznaajniji. Svi identifikovani kriterijumi se primenjuju na
svaku od CASE tehnologija koje su identifikovane u potencijalnoj listi. Kriterijumi se postavljaju za
potrebe najobjektivnije selekcije. Trokovi i vreme su pri tome na vrhu liste. Ukoliko postoji mogunost
nije na odmet da se dobavlja poseti i na licu mesta tehnologija upozna i testira.
Beleke i zapaanja sa testa treba da su opredeljujui u odreenju koliko tehnologija zadovoljava
postavljene kriterijume. Posebna panja se pridaje kriterijumima koji su najvie rangirani. Konana
odluka treba da se bazira i na miljenju zaposlenih u organizaciji koji bi trebali da ostvare najveu korist
od primene tehnologije.
U tabeli xxxxx su dati nazivi poznatijih CASE tehnologija i njihovih proizvoaa:
CASE
tehnologija
IEW
Metodologije
razvoja
Warnier-Orr
Promod PLUS
Yourdon,
de Marco,
Hatley/Pirbhai
J. Martin,
de Marco,
Ernst & Young
Yourdon,
Coad,
Constantine,
Ross
Yourdon,
de Marco,
Chen
Ward-Mellor,
de Marco,
Chen,
SSADM
Martin-Odell,
OOAD
Rumbaugh OMT,
Martin-Odell, OOIE,
Booch OOAD,
Coad, Yourdon,
Shalaer-Mellor,
AOOD
Uniface Six,
Source Pilot,
C, Fortran
Uniface Six,
CASE Generator
SQL, Forms
C, C++, Fortran,
Cobol, Magic
Martin-Odell OOAD
Rumbaugh OMT,
Booch OOAD,
Jacobson Objectory
Use Case,
C++
C, C++, Fort, Java,
SmallTalk,
PowerBuilder,
Gupta
Oracle CASE
Synthesis
Westmount
ISEE
Westmount
I-CASE
PTECH
Paradigm Plus
PTECH
Rational CASE
family
Tehnike i razvojni
alati
Sistemi upravljanja
bazama podataka
SQL, DB2,
IMS-DL/1, Oracle
Sybase, Oracle,
Informix, Ingres,
OCM
Oracle, DB2
Novell Btrieve,
SQL, Sybase,
Oracle, Informix
Ingres 4GL,
Informix 4GL,
Uniface Six
Ingres 4GL,
Informix 4GL
Ingres, Informix,
Sybase
sopstveni ugraeni
C++ generator koda
ProtoScrpt, C, C++,
Ada, SmallTalk,
PowerBuilder, SQL,
JAVA, Corba IDL,
Visual Basic
OODBMS
Ingres, Informix,
SQL
ORACLE 7, dBase,
DB2, uniSQL,
Access, Centura,
SQLB ase,
Sybase/SQL,
objectStore,
gemStone
OODBMS
Oracle 7, Sybase,
SQLBase,
SQLServer,
Watkom SQL,
UML
System
Architect
ObjectMaker
GDPro
StP Software
Through
Pictures
Gane-Sarson,
Ward-Mellor,
Catalyst, CoadYourdon,
OOA/OOD,
deMarco, ShlaerMellor, OMT,
Martin IE, Booch
OpenOML, Colbert,
OMT, Booch, CoadYourdon
ER/Studio
Booch, OMT
SQLWindows,
VisualBasic
C++, Java,
SmallTalk, Corba,
Delphi, Gupta,
ADA, Magic,
PowerBuilder,
VisualBasic
Ansi SQL
DB2, dBase,
SQLServer, Oracle,
Sybase, InterBase,
SQLBAse, Watkom,
Progress
C, C++, AAD
Oracle, SQL
Access,
OOParabase
Repository
Sybase
UML dijagrami
Dijagrami ponaanja
Dijagrami
sluajeva
upotrebe
Dijagrami
aktivnosti
Dijagrami
sekvenci
Dijagrami strukture
Dijagrami
maine stanja
Dijagrami
saradnje
Dijagrami
interakcije
Dijagrami
klasa
Dijagrami
pregleda
interakcija
Vremenski
dijagrami
Dijagrami
objekata
Dijagrami
sloene
strukture
Dijagrami
rasporeda
Dijagrami
komponenti
Dijagrami
paketa
Pregled racuna
Operater
Pretplatnik
Podnosenj e zahtev a za
pregled racuna
Komponente ovih dijagrama su akteri, uloge, sluajevi upotrebe i relacije. Akteri predstavljaju nekoga ili
neto to se nalazi izvan sistema ili organizacije (u zavisnosti od vrste dijagrama), a u interakciji je sa
njim. Uloge se koriste samo prilikom izrade dijagrama sluajeva upotrebe poslovnog procesa i
predstavljaju nekoga ili neto to se nalazi unutar organizacije i u interakciji je sa funkcionalnostima
posmatranog dela organizacije. Sluajevi upotrebe i sluajevi upotrebe poslovnog procesa slue da bi se
prikazale konkretne funkcionalnosti sistema, odnosno organizacije. Ovi dijagrami predstavljaju vodilju za
kompletan proces razvoja softvera, pa se esto za razvoj zasnovan na UML-u kae da je usmeravan
sluajevima upotrebe.
Dijagrami aktivnosti
Dijagrami aktivnosti slue za opisivanje logike procedura, poslovnih postupaka i toka posla. Tokovi
funkcionalnosti predstavljeni dijagramima sluajeva upotrebe se opisuju dijagramima aktivnosti, koji
prikazuju sve aktivnosti koje se odvijaju u okviru posmatrane funkcionalnosti. Pomou jednog dijagrama
aktivnosti mogue je prikazati vie potencijalnih scenarija koji se mogu desiti pri izvravanju neke
funkcionalnosti. Ukoliko se na dijagramima sluajeva upotrebe sluaj upotrebe posmatra kao crna
kutija, na dijagramima aktivnosti se prikazuje redosled izvravanja aktivnosti u okviru te crne kutije.
Dijagrami aktivnosti sadre: stanja aktivnosti i stanja akcije, tranzicije, objekte, grananja, poetnu
(oznaava se crnim krugom) i krajnju taku (oznaava se crnim krugom u belom krugu). Izmeu poetne
take i prve akcije navodi se dogaaj koji je pobuuje. Tranzicije povezuju poetnu taku, akcije i krajnju
taku i predstavljaju se usmerenim linijama. Ukoliko se tranzicije granaju, taka u kojoj se vri grananje
prikazuje se rombom.Stanja aktivnosti i akcija navode se u elipsama, a za objekte vai standardna
notacija.
Prikuplj anj e
zahtev a
[Korektni zahtevi]
Obrada
zahtev a
Pristigle zahtevi
[Nekorektni zahtevi]
Neaktiv an
Pov ezan
Obrada
Poziv anj e
Pretplatnik
Transakcija
Upisi klijenta(a,b,c)
Uradjeno
Prekini
Pretplatnik
Transakcij a
2. Uradjeno
3. Prekini
odnos klasa. Izmeu klasa mogu da postoje sledee vrste relacija: asocijacija, agregacija, zavisnost i
generalizacija.
Dijagrami objekata
Dijagrami objekata su postojali i u ranijim verzijama UML-a, ali kao neformalni dijagrami. Od verzije 2.0
zvanino postaju UML dijagrami. Slue da prikau objekte posmatranog dela sistema u posmatranom
trenutku. Najsliniji su dijagramima saradnje, ali bez tretiranja poruka koje objekti razmenjuju. Koriste se
da bi se dodatno opisala struktura sistema, u situacijama kada dijagrami klasa ne daju dovoljno
kvalitetan opis iste.
Dijagrami komponenti
Dijagrami komponenti slue da bi se prikazale komponente sistema. Pod komponentama se
podrazumevaju takvi delovi sistema koji se mogu samostalno isporuivati krajnjim korisnicima. Naravno
da sve ove komponente moraju biti tako meusobno usaglaene da dodavanje nove komponente u
sistem ne izazove poremeaje kompletnog sistema. Uobiajeno svaka komponenta se sastoji od jedne ili
vie klasa i predstavlja nezavisnu celinu, koja je povezana sa ostatkom sistema pomou interfejsa. Na
ovakav nain se postie da promene u jednoj komponenti ne deluju destruktivno na ostatak sistema, jer
interfejs i dalje uva integritet komponente i ostatka sistema. To su, u stvari, dijagrami klasa kod kojih je
panja usmerena na komponente sistema. Na taj nain se prikazuje konstrukcija izvrnih softverskih
sistema.
index.html find.html
find.exe
dbasic.dll
nateng.dll
Dijagrami paketa
Paketi predstavlju mehanizme za grupisanje UML elemenata. Iako se najee koriste za grupisanje
klasa, mogu se koristiti i za grupisanje drugih elemenata, npr. za grupisanje sluajeva upotrebe, za
grupisanje entiteta ili za grupisanje komponenti sistema. Predstavljaju se pomou pravougaonika sa
jezikom u levom gornjem uglu, na kojem je ispisan naziv paketa. Izmeu paketa se povlae relacije
zavisnosti, koje govore da se neki od elemenata smetenih u pakete izmeu kojih postoji zavisnost
nalaze u meusobnom odnosu.
Ukoliko govorimo o paketima klasa, tada bi do njihovog kreiranja moglo doi, npr. radi grupisanja
hijerarhijske strukture klasa ili grupisanja klasa ije su instance u meusobnoj zavisnosti predstavljenoj
na dijagramima sekvenci ili dijagramima saradnje. Mogue je takoe praviti pakete na osnovu
stereotipova klasa. Dakle, ukoliko se klase nalaze u logikoj ili fizikoj povezanosti mogue ih je smestiti u
paket klasa i predstaviti vie takvih paketa na dijagramu paketa. Ovi su dijagrami, iako ranije nezvanino
korieni, novina u UML verziji 2.0.
Internet
server za
keiranje
server za
keiranje
lokalna mreza
primarni
server
server
server
server