You are on page 1of 14

Informacioni sistemi u saobraćaju i komunikacijama

PREDAVANJE 4.

Osnovni koncepti razvoja informacionih sistema

Svaki realni sistem u toku određenog vremena zahtjeva određene promjene, dogradnju ili zamjenu. Ovo
se dešava u zavisnosti od zahtjeva korisnika za novim funkcionalnostima, unaprijeđenju performansi,
promjenama okruženja, itd. Informacioni sistemi mogu u toku nekog vremena postati nefunkcionalni zbog
različitih faktora koji nerijetko uzrokuju potrebu za njegovom zamjenom. Jedan od ključnih faktora je
zastarijevanje informacionog sistema što predstavlja egzistencijalnu fazu poznatu pod imenom
deterioracija. Ova faza se manifestuje kroz fizikalnu formu, povećanje troškova korištenja sistema,
degradacijom performansi, zastarijelim tehnologijama, smanjenjem nivoa zadovoljstva korisnika
postojećim stanjem sistema. Informacioni sistemi rijetko doživljavaju fizičku zastarjelost, nego se
uglavnom javlja problem tehnološke i tehničke zastarjelosti. Ovo znači da informacioni sistemi imaju svoj
životni ciklus – ISLC (Information Systems Life Cycle) koji uključuje faze razvoja sistema (npr. planiranje,
dizajn, implementaciju, testiranje), fazu rada (korištenje i održavanje) i fazu zastarjelosti sistema kada
sistem izlazi iz upotrebe (obsolentnost sistema).

Ciljevi i faktori razvoja informacionih sistema

Osnovni ciljevi primjene odgovarajućih metdoloških pristupa, tehnologija i alata kod razvoja informacionih
sistema jeste da se u prihvatljivom vremenu i po opravdanoj cijeni izgradi funkcionalan, pouzdan i siguran
sistem koji efikasno i kvalitetno obavlja potrebne zadatke unutar zadanih granica. Ovim se treba postići
podrška različitim poslovnim sistemima, a prema potrebama i zahtjevima korisnika. U cilju efikasnijeg,
kvalitetnijeg i bržeg razvoja informacionih sistema svi članovi razvojnog tima trebaju poznavati određene
principe u zavisnosti od specifičnosti sistema i odabrane metodologije razvoja. Neovisno o namjeni i
korištenom pristupu razvoja, mogu se izdvojiti neki od najvažnijih principa razvoja informacionih sistema:
− uključivanje vlasnika i korisnika u proces razvoja informacionih sistema,
− utvrđivanje ciljeva i specifikacija funkcionalnosti informacionih sistema,
− procjena finansijskih ulaganja u informacione sisteme,
− procjena potrebnog vremena za razvoj informacionih sistema,
− utvrđivanje standarda, tehnologija i alata za razvoj informacionih sistema,
− izrada potrebne dokumentacije (npr. dokumentacija aktivnosti, potrebna upustva, itd.),
− procjena sposobnosti informacionog sistema za modifikacije i nadogradnju,
− organizacija razvoja razvoja informacionih sistema koja podrazumijeva utvrđivanje ključnih
aktivnosti, strukturiranje i konkretizovanje svake faze, određivanje zaduženja, itd.

Iz navedenih principa se mogu izdvojiti brojni faktori uspješnog ili neuspješnog razvoja informacionih
sistema. Na primjer, podrška vlasnika i najvišeg rukovodstva, tj. naručioca informacionog sistema utiče na

1
raspoloživost financijskih i drugih sredstava kao i na specifične zahtjeve koji se postavljaju pred razvojni
tim. Također, veoma korisno ili u određenim slučajevima i neophodno je uključiti korisnike u određene
aktivnosti ili faze razvoja jer oni najbolje poznaju svoje potrebe koje se formulišu kao zahtjevi kod razvoja
informacionog sistema. Kod izrade specifikacije funkcionalnosti informacionog sistema neophodna je
odgovarajuća interakcija sa korisnicima sistema u cilju preciznog i detaljnog opisa svih potrebnih opcija
koje je potrebno razviti. Korisnik poznaje poslovni proces i zna odrediti potrebe, a projektant upoznaje
poslovanje i prilagođava se potrebama u cilju primjene odgovarajućeg pristupa kod razvoja informacionog
sistema. Osnovni problem koji se često pojavljuje u projektovanju informacionih sistema je da projektant
„zna kako, ali ne zna šta treba uraditi“, dok korisnik „zna šta, ali ne zna kako“ treba uraditi. Uspješna
komunikacija između korisnika i projektanata može se uspostaviti ako postoji zajednički jezik. Zbog toga
je korisno primjeniti odgovarajuću metodlogiju koja pruža mogućnosti formaliziranih opisa koji su
razumljivi korisnicima i projektantima.
Na ovaj način se mogu jasno i precizno definisati ciljevi i zadaci informacionog sistema. Izrada potrebne
dokumentacije podrazumijeva upustva koja pomaže jednostavnijem korištenju informacionog sistema pri
čemu je u određenim slučajevima neophodna i obuka koirsnika. Također, određena dokumentacija
pomaže kod održavanja i eventualne potrebe za nadogradnjom ili modifikacijom informacionog sistema.
Za organizaciju razvoja informacionog sistema je korisno primjeniti dokazane metodologije razvoja kako
bi se unaprijedlila efikasnost i efektivnost obavljanja svih aktivnosti što podrazumijeva skraćenja vremena
razvoja, smanjenja troškova, unaprijeđenje interakcije razvojnog tima, fokusiranost na moguće probleme
i načine njihovog rješavanja.

Izazovi i problemi razvoja informacionih sistema

Razvoj informacionih sistema obuhvata sve aktivnosti vezane za projektovanje i implementaciju. Uspjeh
realizacije svih faza zavisi od pristupa razvoju informacionih sistema. Razvoj informacionih sistema je
kompleksna djelatnost koja zahtijeva sistemski pristup u cilju izgradnje pouzdanog sistema koji je
funkcionalan i efikasan unutar određenih granica. To podrazumijeva razvoj sistema koji zadovoljava ciljeve
i zahtjeve korisnika u prihvatljivom vremenu i uz opravdanu cijenu. Informacijski inžinjering predstavlja
primjenu međusobno povezanih formalnih tehnika za planiranje, analizu, dizajn i implementaciju
informacionih sistema.
Kod razvoja informacionih sistema potrebno je omogućiti razmjenu podataka između korisnika, njihovo
skladištenje i obradu u cilju generisanja potrebnih informacija u odgovarajućem formatu. Ovo
podrazumijeva primjenu većeg broja različitih komponenti povezanih u sistem preko zajedničke mreže za
razmjenu podataka. Kod razvoja ovakvih sistema neophodno je voditi računa o različitim faktorima koji
imaju uticaja na realizaciju svake faze što znači da je nophodno izvršiti zadatke koji uzrokuju određene
izazove kao što su:
− Kvalitetno određivanje ciljeva i funkcionalnosti informacionog sistema uz odgovarajuće opise.
− Izbor odgovarajućeg modaliteta razvoja informacionih sistema kao i tima koji će biti zadužen za
određene faze ili aktivnosti.

2
− Izbor odgovarajućih komponenti i tehnologija za razvoj informacionih sistema koje podržavaju
realizaciju svih potrebnih faza na efikasan i efektivan način kao i funkcionisanje sistema nakon
njegovog razvoja uz zadovoljenje postavljenih ciljeva i zadataka.
− Izbor odgovarajuće metodologije razvoja informacionih sistema kako bi se minimizirao mogući
broj grešaka, izbjeglo prekoračenje zadanih vremenskih rokova i troškova, unaprijedila efikasnost
saradnje i rada razvojnog tima, itd.

Kod razvoja informacionih sistema centralnu ulogu ima razvoj softvera i baza podataka uz primjenu
odgovarajućih alata i tehnologija. Posebnoje značajna naučna disciplina poznata kao softversko
inženjerstvo koja podrazumijeva primjenu odgovarajućeg metodološkog pristupa kod razvoja
funkcionalnog i kvalitetnog softvera u okviru zadatih vremenskim rokova i troškovnih ograničenja. Softver
u ovom kontekstu obuhvata program, podatke i dokumentaciju. Pored navedenog, kod razvoja
informacionih sistema je neophodno izabrati i odgovarajuće komunikacione tehnologije u cilju pouzdane
i sigurne razmjene podataka između komponenti sistema.
Mogući su brojni problemi kod razvoja informacionih sistema koji mogu biti povezani sa
funkcionalnostima koje ne ispunjavaju zahtjeve korisnika, organizacijom razvoja usljed različitih pristupa
članova razvojnog tima, prekoračenjem planiranog vremena i finansijskih sredstava, problema sa
nepouzdanošću i sigurnošću, itd. Razlozi neuspješnih projekata razvoja informacionih sistema su različiti,
a mogu se izdvojiti sljedeći: složenost (kompleksnost) sistema, nedostatak usmjerenosti korisničkim
zahtjevima, zanemarivanje okruženja, izostanak praćenja napretka i nedostatak komunikacije između
korisnika i razvojnog tima, itd. Među najčešćim uzrocima ovih problema su: loša organizacija i vođenje
projekata, neodgovarajući razvojni tim, neodgovarajuće planiranje, loš odabir tehnologima i alata,
nepotpun dizajn sistema ili greške u dizajnu, neodgovarajuća analiza sistema, propusti u kontroli
realizacije aktivnosti, izostavljanje ili nepotpuno testiranje funkcionalnosti i kvaliteta. Mnogi informacioni
sistemi nisu ispunili svrhu razvoja jer je fokus bio na razvoju „lijepog“ programskog rješenja bez
razumijevanja suštine poslovnog sistema. Da bi se poboljšala uspješnost razvoja informacionih sistema
potrebno je ispoštovati sve potrebne principe i provesti potrebne aktivnosti.
Početni problem kod razvoja informacionih sistema povezan je sa savladavanjem njihove složenosti zbog
većeg broja zadataka, komponenti sistema i njihovih interakcija, različitih profila članova razvojnog tima,
itd. Za rješavanje ovakvih problema mogu se koristiti tri opća metodološka pristupa:

− dekompozicija složenog sistema na manje cjeline ili dijelove i posmatranje svakog dijela zasebno
uz obavezno vođenje računa o interakcijama (relacijama) sa ostalim dijelovima sistema,
− podjela cjelokupnog procesa razvoja informacionog sistema na određene faze razvoja, pri čemu
ove faze zavise od specifičnosti sistema, razvojnog tima, okruženja, itd.,
− dekompozicija sistema na manje dijelove koji se dalje razvijaju kroz određene faze, pa ovaj pristup
podrazumijeva kombinaciju ranije navedenih pristupa.

Dekompozicijom informacionog sistema na manje dijelove se postiže pojednostavljenje procesa razvoja


za svaki dio posebno. Za dekompoziciju složenog sistema na manje kompleksne dijelove koristi se
strukturirani pristup i objektno – orjentisani pristup. Strukturirani pristup je opšta tehnika u realizaciji

3
softvera (programskog proizvoda) i može se koristiti u okviru različitih faza razvoja. Ovaj pristup se zasniva
na sljedećim principima:
− postepeno dekomponovanje složenog sistema na manje složene podsisteme (dijelove),
− nezavisna izgradnja (razvoj) podsistema i
− integracija nezavisno izgrađenih dijelova u jedinstvenu cjelinu.

Primjer dekompozicije kompleksnog sistema na jednostavnije dijelove može biti razvoj informacionog
sistema po njegovim komponentama (sofver, hardver, mreža, itd.). Pri ovakvom pristupu se mora voditi
računa o relacijama između komponenti jer samo zajedničkim djelovanjem nakon integracije komponenti
se može izvršiti funkcija informacionog sistema. Strukturirani pristup razvoja informacionih sistema
zasnovan je na specifikaciji funkcija sistema i logičkim modelima koji podrazumijevaju kontrolne strukture,
strukture podataka i odozgo prema dolje (eng. top-down) dizajn. Ovo podrazumijeva posmatranje sistema
kao skupa jednostavnijih procedura koje se realizuju kroz strukturu sistema. S druge strane, objektno –
orjentisani pristup je zasnovan na činjenici da sistem predstavlja skup međusobno povezanih objekata,
gdje se stanje sistema sagledava kao stanje objekata posmatranog sistema, a operacije nad objektima kao
realizacija funkcija sistema. Danas se ovaj pristup sve više koristi u razvoju softverske komponente
informacionih sistema.
Projektovanja informacionog sistema kroz faze podrazumijeva da se proces razloži u faze životnog ciklusa,
odnosno izvršiti vremensku dekompoziciju procesa projektovanja. Ovako podijeljen proces razvoja
omogućava fokusiranje na neke zadatke u određene vremenu što pojednostavljuje cjelokupan proces.
Također, moguće je da se izvrši delegiranje zadataka različitim razvojnim timovima ili osobama prema
kompetencijama potrebnim za svaku fazu. Ovim se doprinosi efikasnijem i kvalitetnijem procesu razvoja
informacionih sistema.
Kombiniranjem navedena dva pristupa se stvaraju pretpostavke sa savladavanje kompleksnosti kod većih
informacionih sistema. Međutim, potrebno je odrediti najbolji pristup u zavisnosti od specifičnosti
sistema. Brojni problemi i izazovi koji se javljaju kod razvoja informacionih sistema navoda na potrebu
primjene određene metodologije i odgovarajućih alata.

Metodologija razvoja informacionih sistema

Metodologija se može definisati kao nauka o metodama, načinu istraživanja i realizacije određenih
aktivnosti. Primjena odgovarajuće metodologije podrazumijeva prilagođene procedure, tehnike, alate i
dokumentaciju koji pomažu kod razvoja informacionih sistema. Metodologija razvoja informacionih
sistema se može posmatrati kroz pet komponenti:
1) definisanje etapa (faza) projekta,
2) zadaci za svaku pojedinu fazu,
3) projektna dokumentacija,
4) preporuke upotrebe odabranih tehnika i alata,
5) način upravljanja projektom i nadzorom projekta.

4
Projekat ili projekt je skup procesa sastavljenih iz niza aktivnosti za koje je određen početak i kraj pri čemu
se koriste različiti resursi za njihovu realizaciju (kadrovski, finansijski, prostorni, itd.). Cilj metodologije je
da omogući sistemski postupak razvoja kojim će se moći pratiti napredak, uspostavi komunikaciju između
učesnika uključenih u razvoj informacionog sistema (projektni tim), osigura skup tehnika koje će omogućiti
da se zadaci izvršavaju na odgovarajuće načine, osigura efikasan nadzor sa ciljem uočavanja grešaka u
ranim fazama, itd. Metodologija omogućava da se posveti dovoljno pažnje potrebnim aktivnostima i
ključnim faktorima razvoja, čime se osigurava izrada sistema koji odgovara zahtjevima korisnika. Na
primjer, jednostavnije i ekonomičnije je otkriti i popraviti grešku u ranim fazama razvoja sistema (npr.
ispravka u specifikaciji funkcionalnosti zahtjeva izmjene dokumentacije) nego da se mijenja programski
kôd ili nabavljena oprema i sl. Izmjene u kasnijim fazama najčešće zahtjevaju promjene rezultata
prethodnih faza. Lakše je pronaći grešku tokom faze u kojoj je nastala, nego tražiti je i popravljati na
osnovu posljedičnih učinaka primijećenih u kasnijim fazama. Postoji veći broj metodologija koje pomažu
u razvoju informacionih sistema.
Neke od strukturiranih metodologija za razvoj informacionih sistema su:
− AD/Cycle (Application Development Cycle),
− BSP (Business System Planning),
− CASE*Method,
− IEM (Information Engineering Methodology, Martin),
− JSD/JSP (Jackson System Development/ Jackson System Programming),
− SA/SD (Structured Analysis / Structured Design),
− SASS (Structured Analysis and System Specification),
− SSM/M (Soft Systems Method / Multiview),
− SSA (Structured System Analysis),
− SSADM (Structured System Analysis and Design Method),
− Yourdon (Yourdon Structured Method).

Primjeri objektno usmjerenih metodologija su:


− Yourdon/OO (Yourdon / Object Oriented),
− OMT (Object Modelling Technique),
− BOOCH (Booch’93),
− Schlaer-Mellor,
− Unified Modelling Process (Rational).

Primjena neke od navedenih metodologija pomaže da razvoj informacionog sistema rezultuje kvalitetnim
sistemom. Međutim, neophodno je omogućiti otvorenost sistema u kontekstu eventualnih naknadnih
izmjena jer se zahtjevi korisnika mogu mijenjati tokom vremena. Preporučene aktivnosti ne moraju uvijek
biti prikladne, primjenjive ili potrebne. Insistiranje na provođenju propisanih procedura u okviru neke
metodologije može dovesti do zanemarivanja ključnih (suštinskih) problema, što za posljedicu može imati
formalno dobro napravljen, ali neuspješan sistem. Zbog toga se mora voditi računa o izboru odgovarajuće

5
metodologije ali i specifičnostima projekta razvoja informacionog sistema. Rijetke metodologije
podržavaju sve faze životnog ciklusa, a većina metodologija je namijenjena analizi i dizajnu. U tu svrhu
odgovarajuća metodologija podrazumijeva primjenu i podršku odgovarajućih alata za upravljanje i
projektovanje kao što su različiti računarski alati u softverskom inžinjerstvu poznati kao CASE (Computer
Aided Software Engineering) alati. Pored odgovarajuće metodologije korisno je primjenjivati iskustvo iz
prakse, prečice do rješenja problema zasnovane na sličnim iskustvima i prilagođavanje razvojnog procesa.
Jedan od osnovnih zadataka metodologije projektivanja informacionih sistema je da omogući proces
projektovanja što je moguće više formaliziranim i standardizovanim u cilju povećanja kvaliteta, smanjenja
troškova, unaprijeđenja efikasnosti i efektivnosti, itd. Zbog specifičnosti informacionih sistema potrebno
je problemu primjene standardizacije u projektovanju informacionih sistema pristupiti kao problemu
izbora strategije rješavanja konkretnog problema. Odgovarajuća metodologija omogućava da se uspostavi
uspješna komunikacija između korisnika i projektanata što je jedan od ključnih faktora uspješnog razvoja
informacionih sistema. Zbog toga je jedan od bitnih faktora definisanje „zajedničkog jezika“ korisnika i
projektanta. S obzirom na brojne dobre osobine grafičkih jezika (mali broj simbola, jednostavnost
primjene, jasniji prikaz) razvijeno je više grafičkih jezika za opis raznih aspekata informacionih sistema i
time stvoreni preduslovi uspješne komunikacije projektanta i korisnika. Prvo pitanje sa kojima se susreću
projektanti informacionih sistema je kako savladati složenost sistema i koji pristup koristiti da se omogući
brzo i efikasno obavljanje potrebnih zadataka, odnosno koje metode, tehnike, postupke, korake, sredstva
i alate je potrebno koristiti. U tu svrhu se mogu koristiti ranije navedeni pristupi za savladavanje
kompleksnosti sistema kao i različite metodologije i alati. Ove pretpostavke omogućavaju da se brzo
otkriju greške, nekonzistentnosti, nepotpunost i protivrječnost opisa i specifikacije informacionog sistema,
što je preduslov da se putem izvještaja izvrši prilagođeno dokumentovanje svih potrebnih aktivnosti.

Modaliteti razvoja informacionog sistema

U poslovnom sistemu, koji se sastoji od više cjelina kao što su uprava, finansije, proizvodnja, IT sektor, itd.,
često postoji više različitih tehničkih sistema ili aplikacija. To za posljedicu može imati umnožavanje
informacija uz različito tumačenje u različitim sektorima, nepotpunost informacija, problem povezivanja
informacija pri pokušaju cjelovite interpretacije, probleme povezane sa razmjenom podataka itd. Zbog
toga je za podršku poslovnom sistemu značajno razviti odgovarajući informacioni sistem. Određivanje
mogućih rješenja za razvoj podrazumjeva identifikaciju alternativa na osnovu poslovnih zahtjeva. Postoje
različite alternative koje se ogledaju u izboru modaliteta razvoja informacionog sistema. Ovi modeliteti
podrazumijevaju izbor razvojnog tima ili nabavka sistema koji je ranije razvijen od strane druge kompanije.
Dakle, neki od ključnih modeliteta razvoja informacionih sistema mogu biti:
− Razvoj vlastitim kadrovskim resursima
− Angažovanje druge kompanije ili spoljnih saradnika
− Nabavka gotovih rješenja
− Nabavka izvornog programskog kôda

6
Razvoj vlastitim kadrovskim resursima podrazumjeva da je razvojni tim sastavljen od osoba koji su
uposlenici kompanije ili organizacije za koju se razvija sistem. Prednosti ovakvog pristupa su fleksibilnost,
kreativnost, povećanje stručnosti vlastitog osoblja, povećana tajnost podataka i poslovnih procesa.
Uposlenici najbolje poznaju specifičnosti poslovnog sistema i najbolje znaju potrebe kod razvoja
informacionog sistema. Još jedna značajna prednost ovog pristupa jeste mogućnost kontinuiranog
prilagođavanja sistema promjenama u okruženju kao i jednostavnija obuka korisnika. Zbog toga razvoj
vlastitim snagama može biti najbolja alternativa kada na tržištu ne postoje gotova rješenja koja odgovaraju
specifičnim zahtjevima kompanije. Međutim, ovaj pristup ima nekoliko nedostataka i rizika. Razvoj može
biti skuplji i dugotrajniji ukoliko kadrovi nemaju dovoljno znanja i vještina potrebnih za razvoj
odgovarajućeg informacionog sistema. Ovako razvijen informacioni sistem može biti nedovoljno
kvalitetan ukoliko ukoliko angažovani kadrovi nemaju iskustva sa istim ili sličnim poslovima. Također,
ukoliko ne postoji poseban sektor zadužen za IT može doći da skretanja fokusa sa glavnih poslova što u
konačnici može rezultirati zanemarivanjem primarne djelatnosti.
Angažovanje druge kompanije ili spoljnih saradnika (eng. outsourcing) za razvoj cijelog informacionog
sistema ili njegovih dijelova podrazumjeva pružanje pomoći u bilo kojoj aktivnosti kod razvoja. Postoje
različite varijante kao što su sklapanje ugovara koji podrazumijeva isporuku gotovog proizvoda, razvoj
pojedinih dijelova sistema, konsultativne usluge, dugoročna saradnja na održavanju, itd. Prednosti
ovakvog pristupa su višestruke. Ovakav modalitet podrazumijeva angažovanje kompanije uli pojedinava
koje su specijalizovane za određene aktivnosti što u znatnoj mjeri doprinosi kvalitetnijem sistemu.
Također, angažovani stručnjaci koriste svoje iskustvo kod razvoja istih ili sličnih sistema za druge
kompanije čime se omogućava izbjegavanje određenih grešaka i kvalitetnija specifikacija sistema. Postoje
određeni nedostaci i rizici kao što je mogućnost gubitka povjerljivih informacija, problemi kod budućeg
razvoja zbog zavisnosti o dobavljaču, povećanje cijene održavanja zbog nedovoljne osposobljenosti
vlastitih kadrova, eventualno duže vrijeme razvoja zbog potrebe da se razvojni tim upozna sa poslovnim
procesima, itd.
Nabavka gotovih rješenja podrazumijeva nabavku programskih proizvoda koji su raspoloživi na tržištu.
Prednost ovakvih rješenja se ogleda u brzini ispiruke, a često su i cjenovno prihvatljivija od razvoja novog
proizvoda. Ovakva rješenja su najčešće nastala kao rezultat dugotrajnog iskustva u određeniom oblastima
i na njihovom razvoju učestvuju profilisani stručnjaci što doprinosi viskom kvalitetu proizvoda. Međutim,
u najčešćem broju slučajeva gotova rješenja ne ispunjavaju u potpunosti poslovne potrebe jer nisu
prilagođena specifičnostima naručioca. Zbog toga je poželjno da se mogu prilagoditi potrebama što može
uzrokovati povećanu cijenu nadogradnje ili modifikacije. Može se javiti i problem kod promjena u
poslovnom sistemu što nameće zahtjeve za izmjenama. Također, nerijetko je potrebno angažovanje
stručnjaka koji će omogućiti obuku korisnika za korištenje gotovog rješenja.
Primjeri programskih rješenja, koji se mogu nabaviti kao gotovi proizvodi, su: programski paketi za
kancelarijsko poslovanje, finansijsko poslovanje (eng. accounting), proizvodnju (eng. manufacturing),
programi za upravljanje dokumentima – DMS (Document Management System), sistemi za upravljanje
ljudiskim resursima – HRM (Human Resource Management), sistemi za upravljanje resursima i poslovnim
procesima – ERP (Enterprise Resource Planning) ili druge specijalističke aplikacije za određene namjene.

7
Nabavka izvornog programskog kôda omogućava stalni razvoj u skladu sa potrebama i raspoloživim
resursima što se može pokazati kao prednost u odnosu na druge modalitete. Izvorni kod u ovom slučaju
je rješenje koje podrazumijeva razvijen okvir ili temelj koji se dalje može mijenjati i nadograđivati u cilju
prilagođavanja specifičnim potrebama. Ove izmjene su moguće neovisno od dobavljača jer je kod
otvorenog tipa. Ovakvo rješenje pomaže da se angažuju vlastiti kadrovi ili spoljni stručnjaci da rade na
izmjenama i nadogradnji već razvijenog rješenja što u znatnoj mjeri utiče na vrijeme i cijenu razvoja. U
slučaju kvalitetnog izvornog koda omogućen je i kvalitetniji razvoj sistema, međutim u slučaju lošijeg
kvaliteta izvornog koda može doći do problema sa efikasnisti i održavanjem sistema.
Kao izvorni kod se mogu koristiti određena besplatna i komercijalna rješenja uz potrebu za kvalitetnom
analizom kod izbora odgovarajuće alternative. Loša alternativa može uzrokovati velike probleme u
prilagođavanju, nadogradnji, funkcionisanju, kvalitetu, itd. Jedno od ograničenja korištenja izvornog kôda
jeste ograničenost kod izbora tehnologija prilikom nadogradnje i modifikacije. Ugovorm se može postići
da se brigu i odgovornost o održavanju preuzima dobavljač i u takvom slučaju se može reći da se radi o
izvedbenom kodu. Međutim, mane izvedbenog koda, obzirom na korisnika, su: izvedbeni kôd
podrazumijeva potpunu zavisnost od dobavljača i mogućnost prilagođavanja specifičnim potrebama je
zavisi od dogovora sa dobavljačem. Dodatna prilagođavanja lako mogu postati predmetom ucjene što
može uzrokovati snatno povećanje cijene.

Modeliranje informacionih sistema

Modeliranje predstavlja proces kreiranja formalizirane i/ili matematičke reprezentacije sistema u svrhu
predviđanja ponašanja u različitim uslovima primjene ili pojednostavljenja procesa njegovog razvoja.
Rezultat procesa modeliranja je model koji predstavlja аpstrаkciju realnog sistema što podrazumijeva
pojednostavljeni prikaz reаlnog sistema. Model je pojednostavljena predstava komponenti, relacija,
funkcija i relevantnih karakteristika sistema pri čemu se izostavljaju elementi koji nisu bitni za posmatrani
nivo apstrakcije. Ovim se izbjegava kompleksnost reаlnih sistema jer se u razmatranje uzimaju samo
najrelevаntniji elementi i procesi sa željenog aspekta posmаtrаnjа.
Postupak projektovanja informacionog sistema svodi se na neku vrstu modeliranja realnog sistema što
postupak modeliranja čini zahtjevnim procesom čiji rezultat mora biti primjenjiv na realne sisteme. Ono
omogućаva dа se uoče određeni obrаsci potrebni za opis sistema, procjene i predviđanja ponašanja
sistema koje olakšavaju razvoj ili upravljanje. Veliki je broj različitih pristupa proučavanja arhitektura,
topologija, karakteristika ili međusobnih interakcija komponenti sistema ili podsistema.
Različiti pristupi modeliranju se mogu svesti na jednu od sljedećih grupa: konceptualno (strukturno)
modeliranje, matematičko modeliranje, modeliranje bazirano na mjerenju u realnim sistemima, simulacija
i emulacija. Kod modeliranja informacionih sistema posebno se koriste modeli za opis strukture
(konceptualni ili strukturni modeli) koji u fokus stavljaju organizaciju sistema, modeli za opis dinamike koji
tretiraju ponašanje i procese sistema. Također, nerijetko se primjenjuju i matematički modeli kod
analitičkih analiza.
Modeliranjem informacionih sistema se postiže nekoliko ciljeva među kojima se mogu izdvojiti sljedeći:

8
- pojednostavljenje vizualizacije sistema (kakav jeste ili kakav treba biti),
- razumijevanje strukture sistema i interakcija između komponenti i podsistema,
- pružanje okvira (šablona) za jednostavniji, efikasniji i kvalitetniji proces razvoja,
- uočavanje eventualnih propusta i grešaka u sistemu,
- smanjenje troškova razvoja usljed uštede vremena i resusra, itd.

Konceptualni (struktuirani) modeli nastaju na osnovu strukture, logike i rada nekog sistema. Ključna uloga
ove vrste modeliranja jeste da se prikaže struktura nekog sistema, funkcije i moguće interakcije između
njegovih komponenti. Konceptualni modeli predstаvljаju osnovu zа izrаdu drugih modela jer obuhvaćaju
sve komponente sistema koje su međusobno povezane na način da čine svrsishodnu strukturu pri čemu
svaka komponenta ima određene funkcionalnosti. Veoma korisna primjena konceptualnih modela je kod
izrade specifikacije zahtjeva za infrastrukturu i tehnologije koje su potrebne za razvoj informacionih
sistema. Također, ovi modeli su korisni za uočavanje mogućih interakcija između pojedinih komponenti
kako bi se razumijele mogućnosti primjene različitih arhitektura za postizanje najboljih mogućih
performansi. Na ovaj način se mogu uočiti i kritični dijelovi sistema kada je u pitanju postizanje željenog
nivoa performansi.
Za konceptualno modeliranje se mogu koristiti različiti formalizirani pristupi kao što su grafički simboli za
opis objekata i njihovih relacija (npr. komponente informacionih sistema kao što je baza podataka) ili
procesa (npr. workflow). Konceptualno modeliranje provodi se u fazama strateškog planiranja razvoja
informacionog sistema. Kao izvor podataka za izradu konceptualnog modela najčešće se koriste DTP
dijagrami (dijagrami toka podataka ili dokumenata) koji se izrađuju na temelju analize postojećih i
potrebnih tokova podataka i ERD (Entity Relationship Diagram) za opis modela baze podataka.
Osnovnu komponentu informacionog sistema čini baza podataka. Modeliranje podataka je tehnika
organizovanja i dokumentovanja podataka nekog informacionog sistema. Ovaj proces koji počinje
utvrđivanjem i analiziranjem potreba korisnika za informacijama, a završava izgradnjom stabilne i
prilagodljive baze podataka. Ovaj model pojednostavljeno prikazuje karakteristike baze podataka kao
komponente informacionog sistema pri čemu je prikaz baziran na skupu entiteta (objekata), njihovih
atributa i veza. Pojedinim fazama izrade modela podataka odgovaraju različite razine apstrakcije i
tumačenja podataka, pa se može razlikovati:

− konceptualni model baze podataka,


− logički model baze podataka i
− fizički model baze podataka.

Konceptualni model baze podataka podrazumijeva model na najvišij razini sistemske apstrakcije gdje su
obuhvaćeni potrebni elementi baze podataka koji su grupisani u odgovarajuće međusobno povezane
cjeline. Na ovaj način se kreira generalna struktura baze podataka nekog informacionog sistema.
Logičko modeliranje podataka je definiranje logičkog modela podataka budućeg informacionog sistema.
Proizlazi iz konceptualnog modela sistema i sastoji se od:

9
− oblikovanja logičkog modela podataka informacionog sistema ili nekog njegovog dijela primjenom
modela ERD modela,
− provjere logičkog modela u odnosu na konceptualni model i zahtjeve poslovnog sistema (korisnika
informacionog sistema),
− provjere i vrednovanja logičkog modela od strane korisnika,
− prevođenja ERD modela u logičku shemu baze podataka (uglavnom na relacijski jezik) primjenom
odgovarajućih notacija i pravila.

Fizičko modeliranje podataka polazi od logičkog modela i definira fizičku organizaciju baze podataka koja
je izabrana za određeni informacioni sistem. Na temelju fizičkog modela baze podataka moguće je vršiti
njenu izgradnju (implementaciju). Baza podataka je fizička realizacija modela podataka.
Model procesa je skup procesa koji definišu promjene stanja sistema i procesa pomoću kojih se formiraju
izlazi iz sistema. Ako se posmatra programska komponenta informacionog sistema, model procesa je skup
programa koji ažuriraju bazu podataka i skup programa za obradu i vizualizaciju (izveštavanje) korisnika.
Matematičko modeliranje rezultuje dubljim razumijevanjem osnovnih pravila fenomena koji se
proučavaju. Statističke i matematičke metode podrazumijevaju analitičku analizu uz kreiranje modela i
relacija koje omogućavaju različite procjene pomoću matematičkih zakona, statističkih alata, zakonitosti
u pojedinim vremenskim intervalima te uzročno-posljedičnih veza između različitih procesa. Prednost
ovog modeliranja je potpuna kontrola nad predmetom istraživanja u pogledu slobode u stepenu
aproksimacije i filtriranju željenih rezultata. Primjenom ovog modeliranja moguće je dobiti egzaktne
rezultate. Problem koji se može javiti je da broj i kompleksnost proračuna raste velikom brzinom sa
stepenom složenosti samog sistema. Zbog toga se vrši pojednostavljenje i apstrakcija modela što dovodi
do opasnosti od presimplifikacije modela do tačke kada su rezultati analize praktično beskorisni iako se na
prvi pogled možda i ne čini tako. Ova metoda je nezaobilazna kod ispitivanja performansi nekog sistema
za procjenu pojedinih ključnih indikatora performansi, izvođenje zaključaka iz rezultata dobijenih iz
predloženih analitičkih modela za procjene performansi.
Za modeliranje informacionih sistema mogu se koristiti različite metode. Metoda je propisan i
jednoznačno definisan način korištenja sredstava odnosno izvršenja nekog postupka. Metoda je
sveobuhvatna i detaljna verzija cijelog modela razvoja sistema, sa jasno specificiranim poslovima za
pojedinu fazu razvoja i tehnikama koje će se koristiti. Metoda uključuje skup procedura, tehnika, alata i
dokumentacije koji su potrebni za razvoj informacionog sistema.

CASE alati

Softversko inženjerstvo (eng. software engineering) podrazumijeva primjenu odgovarajućeg


metodološkog pristupa kod razvoja funkcionalnog i kvalitetnog softvera u okviru zadatih vremenskim
rokova i troškovnih ograničenja. U skladu sa navedenim, softverski inženjering obuhvata poslove
inicijalizacije, projektovanja, upravljanje resursima, realizacije i prodaje softverskog proizvoda. Primjena
računarskih alata u softverskom inžinjerstvu je poznato kao CASE (Computer Aided Software Engineering).
CASE alat (proizvod) je programski proizvod namijenjen za podršku ili automatizaciju jednog ili više

10
zadataka u okviru životnog ciklusa razvoja informacionog sistema ili neke njegove komponente. Dakle,
CASE alati su svi alati zasnovani na primjeni računara kao podršci u procesima softverskog inženjerstva.
Korištenje odgovarajuće i kvalitetne metodologije i alata je veoma značajano za razvoj informacionih
sistema. CASE alati se mogu koristiti u različitim fazama razvoja informacionih sistema, a najčešće se
koriste za efikasno provođenje aktivnosti planiranja i modeliranja. Određeni CASE alati omogućavaju da
se izmjene na razini modela podataka automatski propagiraju u sve dijelove aplikacije (npr. automatski se
mijenja izgled formi, izvještaja, pravila za unos i sl.). U drugim segmentima, kao što su generiranje obrazaca
i izvještaja, koriste se kao pomoćni alat za određene dijelove, dok finalna verzija izmjena u pravilu
zahtijeva "ručne" dorade. Na primjer, u programskom alatu Microdoft Access se na temelju "čarobnjaka
(eng. wizard)" i modela podataka vrši jednostavno generisanje obrazaca i izvještaja.
Korištenje CASE-a omogućava dizajnerima, programerima, testerima, planerima i menadžerima da imaju
zajedničku viziju projekta na svakom koraku ili fazi razvoja informacionog sistema. CASE pomaže u
stvaranju discipliniranog i organiziranog procesa razvoja softvera i omogućava prikaz napretka projekta ili
ili određenih „uskih grla“ na pojednostavljeni grafički način. Također, može se koristiti kao repozitorij za
dokumente, baze podataka koje sadržavaju poslovni plan projekta, specifikaciju opreme, raspodjelu
zaduženja (odgovornosti), opis procedura, specifikaciju dizajna i programskog koda, test slučajeve i
rezultate, planove za marketing i servisiranje, itd. Iz navedenog se mogu izdvojiti neki od osnovnih ciljeva
primjene CASE alata:
− povećanje produktivnost članova razvojnog tima kroz automatizaciju određenih procesa,
− smanjenje troškova i skraćivanje vremena izrade i realizacije projekta,
− standardizacija razvojnog procesa i usklađivanje aktivnosti u različitim dijelovima i fazama,
− unaprijeđenje upravljanja u svim fazama uz eventualnu automatizaciju nekih procesa,
− formalizirani i standrdizirani opis komponenti, procesa i interakcija,
− povećanje kvaliteta dobijenog programskog proizvoda,
− unaprijeđenje testiranja kroz automatiziranu provjeru i pojednostavljeno održavanje softvera,
− izradu kvalitetne i potpune dokumentacije u svim fazama,
− pojednostavljenje održavanja softvera, itd.

Primjena CASE alata zahtjeva dosljednu primjenu metodologije koju podržava alat pri čemu je njihovo
korištenje uglavnom interaktivno uz naglasak na korištenju računarske grafike. Karakteristike CASE alata
sa aspekta funkcionalnosti se mogu posmatrati kroz mogućnosti primjene u različitim aktivnostima.
Horizontalna zastupljenost određuje broj pokrivenih područja u posmatranoj fazi razvoja informacionog
sistema. Ako je broj pokrivenih područja veći to je i CASE alat bolji. Vertikalna zastupljenost određuje broj
pokrivenih faza razvoja, tj. broj faza u kojima se može koristiti. Ako je broj pokrivenih faza razvoja veći to
je i CASE alat bolji. Kvalitet horizontalne i vertikalne zastupljenosti se ocjenjuje prema stepenu vertikalne
i horizontalne integrisanosti. Vertikalno integrisani CASE alati podržavaju jedno ili više područja razvoja
informacionih sistema tako da je moguć jednostavan prelazak iz jedne u drugu fazu razvoja. Horizontalno
integrisani CASE alati podržavaju jednu ili više faza razvoja tako da su područja razvoja međusobno
povezana.

11
Izbor CASE alata određen je prije svega izborom metodologije projektovanja informacionog sistema. CASE
alati koji obuhvataju sve faze razvoja jednom metodom su rijetki. Češći slučaj je da CASE alat sadrži više
tehnika sa većim ili manjim stepenom integrisanosti. U praksi su prisutni slučajevi da korisnik bez
prethodne usvojene metodologije projektovanja nabavlja CASE proizvod, nakon čega na osnovu tehnika
koje mu nudi CASE alat formira metodologiju projektovanja. Ovo može imati više negativnih posljedica
usljed specifičnosti projektnog zadatka.
Od CASE proizvoda se očekuje da obezbjede što veći stepen automatizacije. Zavisno od toga da li
podržavaju samo pojedine zadatke, pojedine faze ili cijeli životni ciklus razvoja informacionih sistema,
sljedeći termini se koriste za bliže određene CASE alata:
− CASE tool (alati za automatizaciju jednog koraka),
− CASE toolkit (alati za automatizaciju jedne faze životnog ciklusa),
− CASE workbench (alati za automatizaciju kompletnog životnog ciklusa),
− CASE environment (alati sa hardverskom podrškom za automatizovano projektovanje).

Također, CASE alati se mogu klasifikovati prema zadacima (funkcijama) koje obavljaju u sljedeće grupe:
− alati za planiranje informacionih sistema,
− alati za upravljanje projektima i rizicima,
− alati za modeliranje strukture baze podataka,
− alati za izradu dijagrama toka podataka i hijerarhije modula,
− alati za opis i vremensku raspodjelu procesa u sistemu,
− izrada različitih dijagrama i matrica,
− alati za izradu prototipa korisničkog interfejsa,
− alati za projektovanje programskih proizvoda,
− alati za izradu baze podataka,
− alati koji se koriste kao generatori koda ili podršku njegovog kreiranja,
− alati za automatizaciju kod izrade dokumentacije,
− alati za integraciju parcijalnih rezultata projektovanja u jedinstvenu cjelinu,
− alati za kontrolu funkcionalnosti, kompletnosti i kvaliteta projekta,
− alati integracije i testiranja, tj. prikupljanje testnih podataka i njihova,
− alati prototipskog razvoja koji služe za izradu prototipa,
− alati za podršku održavanju,
− alati za za reverzibilni inženjering, rekonstrukciju koda i reinženjering, itd

U skladu sa korištenjem u pojedinim fazama životnog ciklusa informacionih sistema, CASE alati se mogu
posmatrati kroz tri grupe:

− projektantski,
− programerski,
− integrisani.

12
Projektantski CASE alati su namjenjeni za podršku projektovanju informacionih sistema, tj. koriste se kod
izrade strategije razvoja, akcionih planova, snimanja i analize, dizajna i modeliranja, itd. Ovakvi sistemi
omogućavaju izradu strukturiranih modela sistema (model funkcionalne, organizacione i prostorne
strukture), modela procesa koji se odvijaju u realnom sistemu, dijagrama toka podataka, konceptualne
sheme baze podataka i različitih matrica.
Programerski CASE alati su namjenjeni za podršku realizacije programskog proizvoda (programiranje,
uvođenje u upotrebu, eksploatacija i održavanje) i baze podataka. U programerske CASE proizvode se
najčešće svrstavaju generatori koda i različita razvojna okruženja.
Integrisani CASE proizvodi pokrivaju sve faze razvoja informacionoh sistema uz eventualno dodatne opcije
(module) za povratno (reverzno) inženjerstvo, nadzor i upravljanje izvedbom, osiguranje kvaliteta, itd.
Potpuno integrirano CASE okruženje automatizuje izradu modela poslovnog sistema, planiranje razvoja
informacionog sistema i njegovu izgradnju i održavanje. Integracija programskih proizvoda se ostvaruje
usvajanjem određenih pravila, upotrebom zajedničkog rječnika podataka i interfejsa, kao i
automatizovanim proslijeđivanjem informacija iz jedne faze razvoja u drugu.
Postoje i druge klasifikacije CASE alata, npr. u odnosu na pokrivenost pojedinih faza razvoja:
− Upper CASE – planiranje i upravljanje projektima,
− Middle CASE – analiza i projektovanje,
− Lower CASE – programiranje, testiranje i uvođenje,
− CASE tool – namjenjeni pojedinim aktivnostima,
− CASE toolkit – namjenjeni pojedinim fazama ili aktivnostima u više faza,
− CASE workbench – integrisana kolekcija CASE paketa kojom se pokrivaju sve faze.

Da bi zadovoljili navedene zahtjeve, CASE alati su organizovani tako da rade nad jedinstvenom bazom
podataka, koja se naziva rječnik podataka CASE alata. Rječnik sadrži podatke o svim konceptima
(objektima, vezama, dijagramima, matricama, dokumentaciji, itd.), definisanim u okviru jednog ili više
projekata koji se smještaju u rječnik. Svi pojedinačni alati jednog CASE proizvoda koriste i smještaju
podatke u isti rječnik podataka, šta je prikazano na slici.

Slika. Međusobni odnos različitih CASE alata i jedinstvenog rječnika podataka

13
U posljednjih nekoliko godina, velika pažnja se poklanja izradi CASE alata koji bi obuhvatali cijeli proces
projektovanja informacionih sistema. Primjena takvih alata doprinosi da projektovanje bude na vrijeme i
efikasno obavljeno, bez preskakanja metodoloških koraka uz ispunjenje zahtjeva korisnika. Time se
povećava pouzdanost i kvalitet programskog proizvoda, a samim time i informacionog sistema u cjelini.
Neki od poznatijih CASE alata koji se primjenjuju u različitim fazama razvoja informacionih sistema su:
− Cor-Vision, Cortex Corporation,
− Promod PLUS, Promod INC,
− Oracle CASE, Oracle Corporation,
− Excelerator, Intersolv INC,
− CASE for Informix, Informix Softvare INC,
− AD/Cycle, IBM,
− Rational rose,
− Microsoft Visio,
− Matlab CASE,
− Oracle designer,
− BPWin,
− ERWIN,
− Dia Diagram Editor,
− Software ideas modeler...

Pitanja za provjeru znanja

1. Šta predstavlja životni ciklus informacionog sistema - ISLC (Information Systems Life Cycle)?
2. Zbog čega je bitna primjena odgovarajućih metdoloških pristupa kod razvoja IS?
3. Navesti i objasniti neke od osnovnih principa i faktora za uspješan razvoj informacionih sistema.
4. Navesti i objasniti neke od izazova koji se pojavljuju kod razvoja informacionih sistema.
5. Objasniti moguće pristupe za savladavanje kompleksnosti informacionih sistema.
6. Šta podrazumijeva primjena odgovarajuće metodologije kod razvoja IS i koji je njen značaj?
7. Koje su ključne komponente metodologije razvoja informacionih sistema?
8. Objasniti prednosti i nedostatke različitih modaliteta razvoja informacionih sistema.
9. Šta se podrazumijeva pod pojmom modeliranja informacionih i koji su njegovi ciljevi?
10. Objasniti pojam modela informacionog sistema?
11. Objasniti neke od vrsta modeliranja koje se mogu primjeniti kod razvoja informacionih sistema.
12. Šta su CASE alati i koja je njihova uloga kod razvoja informacionih sistema?
13. Navesti neke od osnovnih ciljeva primjene CASE alata kod razvoja informacionih sistema.
14. Kako se mogu klasifikovati prema zadacima (funkcijama) koje obavljaju?
15. Objasniti moguće podjele i namjene CASE alata.

14

You might also like