21
4. Metodologije razvoja informacionih sistema 4.1. Strukturalne metodologije Razvoj informacionog sistema prema principima životnog ciklusa podrazumeva takav proces koji teče kroz niz sukcesivno procesnih faza, gde završetkom jedne faze započinje naredna i gde između susednih faza postoji snažna iterativna interakcija. Ovo je proces ko- jim sistem analitičari, softver inženjeri i programeri izgrađuju informacioni sistem. To je, ta- kođe, paradigma i sredstvo upravljanja ovako složenim, dugotrajnim i skupim projektima. Prilazi i metodologije razvoja informacionih sistema se često mešaju sa životnim ciklusom. Neretko se postavlja pitanje: ima li razlike? Neki eksperti tvrde da su prilazi i metodologije razvoja informacionih sistema substitut za životni ciklus. Drugi misle da su prilazi i razvojne metodologije, više-manje, namenjeni da upotpune, metodološki razjasne i omoguće da raz- voj informacionog sistema bude efikasniji. Autori ove knjige nalaze pribežište ovom drugom stanovištu i smatraju, kao i mnogi drugi, da principi i filozofija životnog ciklusa informacio- nog sistema nije iščezla, da su još uvek veoma aktuelni, jer informacioni sistemi nastaju, raz- vijaju se, sazrevaju, ali i nestaju. Oni se, dakle, u okviru ovakvog stanovišta mogu razvijati različitim prilazima i metodologijama. Prilazi i metodologije, o kojima će u ovom delu knjige biti reči, su strukturni, objektni i agilni. Jedna od najvažnijih metodologija razvoja informacionog sistema je strukturna me- todologija životnog ciklusa, koja je usredsređena na strukturni prilaz. Osnova ove me- todologije je strukturna sistem analiza, dizajn, implementacija i strukturne metode, tehnike, CASE alati. Najpoznatije u literaturi i u praksi najčće korišćene strukturne metodologije su: a) SADT (Structured Analysis and Design Techniques) Whitten, J., Bentley, L.D. (1998), b) SSADM (Structured Analysis and Design Method) Whitten, J., Bentley, L.D. (1998), c) ISAC (Information System Work and Analysis of Change) Lundberg, F, et al. (1981), d) SSA (Structured Systems Analysis), Gane, C, Sarson, T. (1979), e) IE (Information Engineering) Martin, J.(1990), f) RAD (Rapid Application Development) Gane, C. (1990).

4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

  • Upload
    others

  • View
    24

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

422 Informacione tehnologije i informacioni sistemi

vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih odgovora, da li korisnik raspolaže pravom na nove verzije proizvoda bez naknade, koji je rok garancije, koji su rokovi isporuke, kakvi su uslovi obuke za korisnike proizvoda, da li postoje efikasni programi obuke i kakva su stručna i pedagoška svojstva kadrova koji vrše obuku.

U tabeli 12-25 prikazani su CASE proizvodi koji se najčešće koriste u praksi razvoja in-formacionog sistema Đurković, J., Tumbas, P. (2000).

4. Metodologije razvoja informacionih sistema 4.1. Strukturalne metodologije

Razvoj informacionog sistema prema principima životnog ciklusa podrazumeva takav proces koji teče kroz niz sukcesivno procesnih faza, gde završetkom jedne faze započinje naredna i gde između susednih faza postoji snažna iterativna interakcija. Ovo je proces ko-jim sistem analitičari, softver inženjeri i programeri izgrađuju informacioni sistem. To je, ta-kođe, paradigma i sredstvo upravljanja ovako složenim, dugotrajnim i skupim projektima. Prilazi i metodologije razvoja informacionih sistema se često mešaju sa životnim ciklusom. Neretko se postavlja pitanje: ima li razlike? Neki eksperti tvrde da su prilazi i metodologije razvoja informacionih sistema substitut za životni ciklus. Drugi misle da su prilazi i razvojne metodologije, više-manje, namenjeni da upotpune, metodološki razjasne i omoguće da raz-voj informacionog sistema bude efikasniji. Autori ove knjige nalaze pribežište ovom drugom stanovištu i smatraju, kao i mnogi drugi, da principi i filozofija životnog ciklusa informacio-nog sistema nije iščezla, da su još uvek veoma aktuelni, jer informacioni sistemi nastaju, raz-vijaju se, sazrevaju, ali i nestaju. Oni se, dakle, u okviru ovakvog stanovišta mogu razvijati različitim prilazima i metodologijama. Prilazi i metodologije, o kojima će u ovom delu knjige biti reči, su strukturni, objektni i agilni.

Jedna od najvažnijih metodologija razvoja informacionog sistema je strukturna me-todologija životnog ciklusa, koja je usredsređena na strukturni prilaz. Osnova ove me-todologije je strukturna sistem analiza, dizajn, implementacija i strukturne metode, tehnike, CASE alati. Najpoznatije u literaturi i u praksi najčešće korišćene strukturne metodologije su:

a) SADT (Structured Analysis and Design Techniques) Whitten, J., Bentley, L.D. (1998),

b) SSADM (Structured Analysis and Design Method) Whitten, J., Bentley, L.D. (1998), c) ISAC (Information System Work and Analysis of Change) Lundberg, F, et al.

(1981), d) SSA (Structured Systems Analysis), Gane, C, Sarson, T. (1979), e) IE (Information Engineering) Martin, J.(1990), f) RAD (Rapid Application Development) Gane, C. (1990).

Page 2: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

423Razvoj informacionih sistema

U ovoj glavi će biti reči o poslednjoj RAD ili Metodologiji brzog razvoja informacionog sistema. Ova metodologija ima sledeće korake:

1. Uspostavljanje upravljačke strukture projekta; 2. Identifikovanje, analiza i specifikacija informatičkih zahteva i odgovora na infor-

macione zahteve; 3. Logička analiza i modelovanje sistema; 4. Logičko modelovanje podataka; 5. Projektovanje relacionih baza podataka; 6. Transformacija logičkog u fizički model; 7. Specifikacija logičkih procedura obrade podataka; 8. Implementacija sistema.

Uspostavljanje upravljačke strukture projekta je nužno zbog problema sa multior-ganizacionim sistemima. Projekti razvoja novog ili modifikacije postojećeg sistema skoro uvek izazivaju radikalne promene u više organizacionih jedinica i mogu biti uzrok mnogih konflikata i otpora. Većina ljudi u organizaciji ne voli promene, čak i ako su one veoma korisne za organizaciju kao celinu, odeljenja, radne grupe i pojedince. Izvori konflikata i ot-pori mogu biti različiti. Najčešće se, međutim, tiču problema opravdanosti ulaganja i pre-duzimanja ogromnih napora da se novi sistem razvije, jer menadžeri su skloni tvrdnji da takva ulaganja i napor nisu srazmerni korisnosti koju sistem donosi, jedni se boje da će novi sistem smanjiti njihovu moć, a drugi da će njihov posao postati teži, dosadniji, pa čak da će i nestati. Za savlađivanje otpora i prevazilaženje konflikata zahteva se značajno vreme, pa je to često i razlog zašto razvoj informacionog sistema dugo traje.

Ljudi koji čine tim za razvoj informacionog sistema, stručnjaci za informatičke tehnologije, imaju pred sobom dve ozbiljne prepreke u efikasnom suzbijanju otpora i rešavanju konflikata. Prva je ta, što oni ne poznaju dovoljno oblasti u kojima se otpori i kon-flikti pojavljuju, imaju pomanjkanje kompetencija. Druga, nemaju adekvatna ovlašćenja i autoritet u odnosu na ove ljude. Iz ovih razloga je neophodno na vreme spoznati da ključ uspeha brzog i efikasnog razvoja informacionog sistema leži u načinu upravljanja celokup-nim projektom. Osoba koja će stati na čelo projekta mora biti iz samog vrha menadžmenta organizacije, koja ima odgovornost za uspeh projekta i autoritet nad delokrugom projekta, politikama koje će podržavati razvoj projekta i omogućiti organizacione promene koji će razvoj i implementacija projekta implicirati. Menadžer koji dobija ovakvu ulogu poznat je kao "izvršni sponzor", i ova osoba uspostavlja odgovarajuću upravljačku strukturu projekta.

Identifikovanje, analiza i specifikacija informacionih zahteva i odgovora na infor-macione zahteve - Analiza i definisanje informacionih zahteva je drugi deo jedinstvene me-todologije brzog razvoja informacionog sistema. Metod koji se koristi u identifikaciji zahteva je metod intervjua. Za razliku od tradicionalnog pristupa, koji je akceptirao seriju nezavis-nih, pojedinačnih intervjua, ovde je reč o primeni tehnike grupnih intervjua, gde jedan ili više analitičara intervjuiše "komitet" za upravljanje projektom i reprezente korisnika, u isto vreme. Sprovođenje niza i velikog broja pojedinačnih intervjua, od strane većeg broja analiti-čara, prouzrokuje više teškoća, među kojima su najznačajnije:

a) proces intervjuisanja dugo traje, izostaje komunikacija između intervjuisanih i troškovi su veliki;

Page 3: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

424 Informacione tehnologije i informacioni sistemi

b) stavovi intervjuisanih u vezi sa istim problemima mogu biti različiti i veoma je teško pomiriti izražene razlike;

c) između različitih organizacionih jedinica često se javljaju različiti ciljevi i zahtevi koji su kolitični, uvek za posledicu imaju konflikte i otpore koje je veoma teško rešiti odnosno ukloniti.

Ove vrste problema metod grupnog intervjua veoma efikasno rešava. Grupni intervjui imaju teorijsko uporište u teoriji grupne dinamike. Suština pristupa grupne dinamike se može iskazati u sledeće četiri paradigme:

Sastanak je najproduktivniji ako je vođen od moderatora, koji je "prirodni pos-lužitelj" grupe, koji vrednuje i distribuira ideje. Njegova je odgovornost da po-mogne grupi da njihovu energiju usredsredi na zadatak sa predlaganjem metoda i procedura, zaštitom članova grupe od ataka i stvaranjem šanse svakom da u radu učestvuje. Najproduktivnije grupno odlučivanje je konsenzus, u kojem se svako oseća "po-

bednikom", ili ako nije dobio tačno ono što je želeo, prihvata odluku bez kompro-misa ili nekog "debelog" ubeđivanja. Grupna sesija je najproduktivnija ako se pridržava plana, koji je grupa prihvatila

konsenzusom; Grupna sesija je najproduktivnija ako se rezultati diskusije prikazuju na zidu,

onako kako se oni pojavljuju, gde ih svako može videti. Displej se često označava kao "grupna memorija", a član grupe koji kreira displej igra ulogu "zapisivača".

Grupni intervju podrazumeva zajednički sastanak reprezentanta korisnika i projek-tantskog tima u istoj sobi i u isto vreme; koji kontinuirano drže radnu sesiju (workshoop) koja traje najmanje jedan, obično tri, a ponekad i pet dana. Uspeh ove tehnike identifikacije informacionih zahteva značajno je zavisan od načina vođenja sesije grupnog intervjua, koja treba da bude vođena, prema indikacijama uspešnosti iz dosadašnje prakse, osobom koja nije opterećena parcijalnim interesima konačnih izlaza projekta, neko ko ima isključiv cilj da što pre i na što efikasniji način dođe do konsenzusa o koherentnom zajedničkom skupu zahteva. Glavna korist upotrebe ovog metoda je veoma kratko vreme izvršenja faza identifi-kacije zahteva. Ako se konflikti pojave oni mogu biti otvoreno i neposredno raspravljani i razrešeni veoma brzo. Posebno značajna korist se ispoljava u mogućnosti da korisnici par-ticipiraju u donošenju odluke o delokrugu i prirodi sistema koji se razvija za njih, i koji imaju osećaj izražen sledećom tvrdnjom: "Ovo je naš sistem, a informatičko osoblje nam pomaže da ga izgradimo" Gane, C. (1990).

Svaki projekat razvoja informacionog sistema, tokom intervjua uključuje nekoliko grupa radnih sesija. To su po Gane, C. (1990): strategijska sesija – sa zadatkom determini-sanja delokruga projekta, ciljeva, resursa; podaci/procesi sesija – sa zadatkom izgradnje ili pročišćavanja dijagrama toka podataka i modela podataka i definisanja logike poslovne politike; ekrani/izveštaji sesija – sa zadatkom da se definiše interaktivni dialog i izgledi iz-veštaja. Učesnici intervjua su predstavnici korisnika.

Logička analiza i modelovanje sistema – Ovim korakom metodologije se modeluju procesi sistema. Osnovni ciljevi koji se postižu putem upotrebe tehnike dijagrama toka po-dataka su:

Page 4: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

425Razvoj informacionih sistema

definisanje granice sistema i poslovnog domena koji isti pokriva; veoma jednostavna i za korisnika krajnje prihvatljiva prezentacija sistema, potpuno

razumljiva za poslovni svet koji nije familijaran sa informacionim tehnologijama; prikaz memorisanih podataka (datoteka, evidencija, kartoteka, arhiva) u sistemu i

procesa koji te podatke transformišu, kao i njihov međusobni odnos (relacije).

Logičko modelovanje sistema u najužem smislu podrazumeva izradu DTP za odre-đeno domensko područje i takozvani First-Cut ("prvi presek") modela podataka. Bilo bi me-todološki konzistentnije u pojam logičke analize i modelovanja sistema uključiti i entitet-odnos analizu (E-O-M) podataka i specifikaciju logičkih jedinica procedura obrade. Prema tome, logičku analizu i modelovanje sistema možemo shvatiti kao proces od dva koraka. Slika 12-26.

1

Prodaja

4

Determinisanjekoličina i

dobavljača zaponovne narudžbe

2

Pripremabankarskihdepozita

3

Izrada izveštajao prodaji

5

Analizaisporuka

D1 Proizvodi

D2 Zalihe

D4 Dobavljači

D3 Prodaja D5 Isporuke

c

Kupci

s

Dobavljači

b

Banke

m

Uprava

Porudžbine

Pro

date

jedi

nice

Sta

nje

zalih

aCena, kvalitet, vremeisporuke

Narudžbe

Pro

šle

ispo

ruke

Prih

vaće

neko

ličin

e

Info

rmac

ije o

ispo

ruci

Pov

ećan

je z

alih

a

Pod

aci o

pro

daji

Sume

Ned

avna

prod

aja

Dokumenti odepozitu

Podaci oprodaji

Page 5: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

426 Informacione tehnologije i informacioni sistemi

Prvi korak u logičkom modelovanju je razvoj sistemskog dijagrama toka podataka (SDTP), koji opisuje prirodu svega onoga što se dešava u nekom domenskom području. DTP je jednostavna tehnika (koristi samo četiri simbola), ali veoma dragocena za izradu slike ce-lovitog logičkog modela i prirode informacionog sistema, podsistema, aplikacija. Četiri sim-bola od kojih se formira slika logičkog modela integralnog informacionog sistema su: kvad-rat (za spoljne entitete), otvoreni pravouganonik (spremišta podataka), zaobljeni pravou-gaonik (proces) i strelica (tok podataka) (Slika 12-26). Slika 12-27.

1

Prodaja

4

Determinisanjekoličina i

dobavljača zaponovne narudžbe

2

Pripremabankarskihdepozita

3

Izrada izveštajao prodaji

5

Analizaisporuka

D1 Proizvodi

D2 Zalihe

D4 Dobavljači

D3 Prodaja D5 Isporuke

c

Kupci

s

Dobavljači

b

Banke

m

Uprava

Porudžbine

Prod

ate

jedi

nice

Stan

je z

alih

a

Cena, kvalitet, vremeisporuke

Narudžbe

Proš

leis

poru

ke

Prih

vaće

neko

ličin

e

Info

rmac

ije o

ispo

ruci

Poveća

nje

zalih

a

Poda

ci o

pro

daji

Sume

Ned

avna

prod

aja

Dokumenti odepozitu

Podaci oprodaji

Isporuke

Datum_Por Naručeni proizvod Naručena količina Dobavljač Ugovoreni datum Isporučena količina Datum isporuke

Zalihe

Šifra Cena Količina na zalihi Količina u narudžbi

Proizvod

Identifikacija dobavljača Kontakt Adresa Proizvod(*) Cena Vreme isporuke

Proizvod

Šifra Naziv Cena

Prodaja

Prodavac Datum Proizvod Kod Količina Vrednost

Page 6: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

427Razvoj informacionih sistema

Drugi korak u logičkom modelovanju je derivacija "prvog – preseka" modela po-dataka, specifikacija liste elementarnih podataka koji će biti memorisani u svakom spremištu podataka prikazanom na DTP (u našem primeru: PROIZVODI, ZALIHE, DOBAVLJAČI, PRODAJA, PORUDŽBINE). Izbor i pridruživanje podataka pojedinačnim entitetima se zas-niva na sopstvenom znanju ili znanju korisnika o tome koji su podaci značajni i treba da budu memorisani da bi opisivali entitete kao što su PROIZVOD, DOBAVLJAČ, KUPCI itd. Izbor podataka može biti potpomognut analizom sadržaja ulaznih dokumenata i analizom sadržaja izlaznih dokumenata. Dijagram na slici 12-27 prikazuje rezultate "prvog – preseka" modela podataka.

Logičko modelovanje podataka – Tokom realizacije ovog koraka metodologije, spro-vodi se entitet-odnos analiza podataka. Koristeći E-R-M (Entity-Relationship Model) može se veoma brzo dobiti opšti pogled na klastere podataka koji su uključeni u sistem. Logičko modelovanje podataka je prirodni nastavak logičkog modelovanja sistema i oslanja se na sačinjene dijagrame tokova podataka. Entitet-odnos analiza podataka započinje sledećim pitanjem: "Koji su entiteti podataka relevantni za memorisanje u sistemu?". Odgovor na ovo pitanje može, na primer, biti: KUPAC, PROIZVOD, PRODAJA, DOBAVLJAČ, NARUDZBA, ZALIHA. Identifikacija entiteta se značajno olakšava ako se pažljivo analiziraju prethodno pominjani dijagrami, na kojima se već nalaze ucrtani različiti tipovi entiteta. Treba, među-tim, naglasiti da je česta pojava da se entitet-odnos analizom identifikuju neki novi entiteti koji u DTP nisu prikazani, ili da se neki entiteti prikazani DTP u entitet-odnos analizi izostavljaju.

Identifikovani entiteti se predstavljaju simbolom pravougaonika. Oni se zatim sim-bolom usmeravajuće strelice povezuju i tako formira model podataka. Veze koje egzistiraju između identifikovanih entiteta mogu biti sledećih tipova: 1:1, 1:M i N:M. One prikazuju koliko slogova jednog tipa entiteta stoji u odnosu sa slogovima drugog tipa entiteta. Defini-sanjem odgovora na postavljena pitanja, i primenom simbola i konvencionalnih pravila za izradu dijagrama, dobija se model podataka na slici 12-28.

Slika 12-28.

Kupac

Faktura

Proizvod

Zaliha

Dobavljač

Narudžba

Projektovanje relacionih baza podataka - Relaciona analiza podataka se preduzima sa ciljem da se projektuje logička struktura baze obeležja relacionog modela baze podataka, odnosno da se dobije struktura n međusobno povezanih dvodimenzionalnih tabela koje će sačinjavati jednu bazu podataka. Metod kojim se takva struktura dobija je poznat pod na-zivom metod normalizacije.

Svaka od dvodimenzionalnih tabela, dobijena procedurom "prvog-preseka" modela podataka, mora biti podvrgnuta postupku normalizacije. Za neku tabelu se može reći da je

Page 7: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

428 Informacione tehnologije i informacioni sistemi

normalizovana, da se nalazi u trećoj normalnoj formi, ako su sve neključne kolone u pot-punoj zavisnosti od ključa i ako ne postoje takozvane tranzitivne zavisnosti.

Relaciona analiza podataka se izvodi u sledećim koracima:

Egzaktno definisanje sadržaja svakog podatka koji će biti memorisan; Utvrđivanje opisa i naziva elementarnih podataka; Određivanje indetifikatora entiteta, tabela; Pojednostavljenje tabela kroz proces normalizacije; Redizajniranje dijagrama toka podataka.

Polazeći od rezultata prvog-preseka modela podataka i rezultata entitet-odnos anal-ize, a primenjujući metod normalizacije, za primer koji smo uzeli za ilustraciju, dobijena je serija normalizovanih tabela (Slika 12-29).

Slika 12-29.

PROIZVODI DOBAVLJAČI PRODAJA ISPORUKA SIF-PR(*) SIF-DOB(*) SIF-PRO(*) SIF-NAR(*) NAZIV UGOVOR DAT-PRO DAT-ISP(*) CENA ADRESA PRODAVAC ISP-KOL KOL-NA-ZAL NAR-KOLA

IZVORI PROIZVODA ELEMENTI-PRODAJE NARUDZBA SIF-DOB(*) SIF-PRO(*) SIF-NAR(*) SIF-PRO(*) SIF-PR(*) DAT-NAR NAB-CEN PRO-KOL SIF-PR PRO-TRO SIF-DOB NAR-KOL OB-DAT-ISP

Sada DTP može biti reprojektovan, pošto su nastale određene izmene u podacima koje treba zajednički memorisati, i tako će se dobiti realniji i precizniji pogled na sistem (Slika 12-30).

Nastale su određene izmene: D2-zalihe, su nestale i integrisale se sa D1; dva spremišta podataka D3 i D4 su promenila ime, parovi zasebnih tabela su formirani i čine jedno spre-mište, pristupa im se zajedno pošto opisuju iste entitete; spremište D5 je razbijeno na dva, jer su zasebne logičke celine i imaju odvojene procedure ažuriranja.

Operacije sa relacijama se tiču standardnih procedura za definisanje tabela, sortiranje podataka u njima i pretraživanje podataka na različite načine. Važna osobina relacionih baza podataka je raspolaganje sa DBMS koji ima "aktivni" rečnik podataka: skup drugih tabela (meta baza podataka) koje drže podatke o podacima: naziv, opis, moguću vrednost, lokaciju svake kolone u tabeli i slično. Standardni jezik koji je razvijen za ove svrhe je SQL (Struc-tured Query Language), koji će koristiti rečnik podataka da bi determinisao gde se podaci, kojima treba pristupiti, nalaze u bazi podataka. Budući da se za svaku definisanu tabelu drže podaci u rečniku podataka, moguće je menjati strukturu tabele ili dodavati nove tabele, a da se ne zahteva nikakva promena programa koji koriste date tabele.

SQL omogućava izvođenje niza operacija, kao što su: kreiranje tabela, selekcija pojed-inih kolona (projekcija), selekcija pojedinih redova (selekcija), sortiranje redova po re-

Page 8: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

429Razvoj informacionih sistema

dosledu, promena sortiranih vrednosti, dodavanje kolona u tabele, sub-upiti, spajanje tabela, kreacija virtualnih tabela (views) i indeksiranje. Slika 12-30. Konačni logički model sistema

1

Prodaja

4

Determinisanjekoličina i

dobavljača zaponovne narudžbe

2

Pripremabankarskihdepozita

3

Izrada izveštajao prodaji

5

Analizaisporuke

D1 Proizvodi D2 DobavljačiIzvori proizvoda

D3 ProdajaProdate količine D5 Porudžbine

c

Kupci

s

Dobavljači

b

Banke

m

Uprava

Poveća

nje

zalih

a

Poda

ci o

pro

daji

Sume

Ned

avna

prod

aja

Dokumenti odepozitu

Podaci oprodaji

Isporuke

K Broj-porK Dat-isp Ispor-kol

ProizvodiŠifraNazivCenaKoličina na zalihiKoličina u narudžbi

Dobavljači

K Identifikacija dobavljača Kontakt Adresa

Prodaja

K Broj-prod Dat-prod Prodavac

Podaci oproizvodima

Prodatejedinice

D6 Isporuke

Prihvaćenekoličine

Proš

le is

poru

ke

Stanje zaliha

Izvori proizvodaK Identifikacija dobavljačaK Šifra proizvoda Cena Vreme isporuke

Porudžbine

K Broj-por Dat-opr Šifra-proizvoda Identifikacija-dobavljača Poručena-kol Obeć-dat-isp

Prodate-količineK Broj-prodK Šifra-proizvoda Prod-kol Vrednost

Transformacija logičkog u fizički model – Ovaj korak metodologije predstavlja pri-

rodni nastavak prethodnih faza razvoja informacionog sistema. Naime, u prethodnim aktiv-

Page 9: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

430 Informacione tehnologije i informacioni sistemi

nostima razmatran je način i tehnike definisanja i specifikacije logičkog modela informacio-nog sistema. Logički model sačinjavaju sistemski dijagram toka, E-R-M i grupe normal-izovanih tabela koje opisuju strukturu i sadržaj baze podataka. Tokom ovog koraka se logički definisani procesi prikazani na redizajniranom DTP prevode u fizičke procedure. Dva su u suštini problema:

Pre-implementacioni kompromis modela podataka; Razlaganje sistemskog DTP na proceduralne jedinice; na jedinice zasebnih logičkih

procedura.

Pre-implementaciono "sređivanje" modela podataka se odnosi na njegovo prilagođa-vanje zahtevima kao što su prihvatljivo vreme pristupa i pretraživanja, prihvatljiv memori-jski prostor neophodan za smeštaj baze podataka. Spajanje relacija može biti uputno i korisno realizovano u cilju da se uštedi vreme i unapredi integralnost celine. Dizajner baze podataka će, pre nego što nacrta E-R-M, obaviti konsultacije po ovim pitanjima i zajedno sa administratorom baze podataka izvršiti konsolidaciju modela.

Termin "jedinice zasebnih logičkih procedura", u ovom udžbeniku, podrazumeva "komadiće" automatizovanih i/ili manuelnih procedura koje mogu biti izvršavane zasebno. Jedinice zasebnih logičkih procedura mogu biti: programi, manuelne procedure i memo-risana lista komandi, ili kombinacija ove tri. One su ustvari deo logičkog modela.

Definisanje jedinica zasebnih logičkih procedura polazi od pažljivog analiziranja sva-kog inputa i outputa na DTP. Za svaku pojedinačnu analizu inputa odnosno outputa postavljaju se sledeća pitanja:

Kada se dešava? Koliko područje DTP je zahvaćeno?, i Može li to područje biti implementirano kao posebna jedinica, ako ne, zašto?

Specifikacija logičkih procedura obrade podataka – U ovom koraku metodologije detaljno se specificiraju detalji definisanih jedinica logičkih procedura. Specifikacija obavezno sadrži sledeće elemente Gane, C. (1990):

Isečak iz sistemskog DTP, koji pokazuje gde se ova proceduralna jedinica nalazi u ostatku sistema; Detalje o tabelama (relacijama) kojima se pristupa ovom jedinicom procedure; Izgled ekrana ili izveštaja koji su uključeni u jedinicu procedure; Napomene o logici i sadržaju procedure koja treba da bude implementirana,

pisane u strukturnom engleskom ili nekoj drugoj nedvosmislenoj formi.

Pošto su sve specifikacije jedinica procedure urađene, programeri mogu veoma brzo izgraditi prototip ili izvesti direktnu celovitu implementaciju u nekom programskom jeziku, odnosno alatu.

Implementacija sistema - Implementacija sistema i razvoj softverskog dela sistema, je poslednji korak RAD metodologije. Neproceduralnim alatima i softverom za upravljanje bazama podataka kao što su ORACLE, INFORMIX, DB-2, PROGRES, FOCUS, aplikacije se razvijaju veoma brzo, zahvaljujući, pre svega, tome što oni obezbeđuju lako ili brzo defini-sanje ekrana i editovanje podataka koji se unose putem ekrana, računanje i manipulaciju

Page 10: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

431Razvoj informacionih sistema

nizovima, pretraživanje i ažuriranje baza podataka (SQL standardi), generisanje planiranih izveštaja i ekranskih displeja, sistemsko generisanje aplikacija. Većina ovih jezika su "klaster-izovani sub-jezici", jer obezbeđuju subjezike za različite funkcije, na primer: subjezik za de-finisanje ekrana, drugi za pretraživanje baza podataka itd.

4.2. Objektne metodologije Rational Unified Process (u nastavku RUP) predstavlja objektno orijentisani proces za izradu softvera. Ovaj proces je zasnovan na pristupu baziranom na disciplinama, u okviru kojih se vrši raspodela poslova i odgovornosti na članove razvojnog tima i ostale učesnike u procesu razvoja softvera. Osnovna namena RUP-a jeste proizvodnja visoko kvalitetnog softvera, kao krajnjeg rezultata projekta, koji zadovoljava potrebe korisnika, a u okviru planiranog budžeta i vremena.

RUP je framework (radni okvir) koji je moguće prilagođavati potrebama organizacije koja ga usvaja. On sadrži skup dobro definisanih preporuka i uputstava za uspešan razvoj softverskog proizvoda. Upravo radi toga se kod navođenja definicije RUP-a izbegava izraz metodologija, koji predstavlja znatno čvršći set pravila od navedenog izraza framework. Međutim pojedinačnim podešavanjem RUP-a organizacija može da kreira svoj metodološki okvir, a u okviru njega i čvrsta pravila izgrađena na osnovu datih preporuka i uputstava.

Najpoznatije u literaturi i u praksi najčešće korišćene objektne metodologije su:

a) OOAD (Object Oriented Analysis and Design) Martin, J., Odell, J.J. (1992), b) OOADA (Object Oriented Analysis and Design) Booch, G. (1994), c) OMT (Object Modeling Technique) Rumbaugh, J. (1991) d) OOA/OOD (Object Oriented Analysis/Object Oriented Design) Yourdon, E. (1995) e) RUP (Rational Unified Process) Jacobson, I. et.al (1999)

U izgradnji informacionog sistema, RUP preporučuje korišćenje raznih metoda i tehnika, ali su svakako najdominantnije tehnike modelovanja korišćenjem Unified Modeling Language-a (u nastavku UML) tj. jedinstvenog jezika za modelovanje. Za RUP se čak može reći da predstavlja uputstvo za korišćenje UML-a.

RUP je inicijalno zamišljen za razvoj velikih projekata, ali je svoju primenu našao i u srednjim i malim softverskim projektima. Softverski timovi, naročito veliki, znatno unapre-đuju svoju produktivnost korišćenjem RUP-a. RUP omogućuje svakom članu razvojnog tima lak uvid u bazu znanja, zasnovanu na uputstvima, templejtima i uputstvima za korišćenje alata, što predstavlja podršku u svim kritičnim razvojnim aktivnostima. To doprinosi da svi članovi razvojnog tima, bez obzira na aktivnosti koje obavljaju, koriste zajedničku me-todologiju, jezik i pogled na to kako treba razvijati softverski proizvod.

Principi na kojima je zasnovan RUP, omogućuju razvoj kvalitetnih softverskih proiz-voda i postavljanje metodoloških koraka kojima će se realizovati kompletne preporuke i uputstva zasnovane na dole navedenim principima.

Iterativan razvoj - Klasični proces razvoja softvera se zasniva na modelu vodopada, koji je ranije opisan. Alternativa modelu vodopada jeste iterativno-inkrementalni model raz-voja softvera. Korišćenjem ovoga modela dolazi se do relativno brze realizacije početne verzije softvera koja se razvija dodatnim iteracijama. Takođe, integrisanje i testiranje softvera se obavlja češće, te se na taj način postiže smanjenje rizika. Što je razlika između trenutka

Page 11: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

432 Informacione tehnologije i informacioni sistemi

otkrivanja greške i trenutka nastanka greške veća, to je njeno otkrivanje i otklanjanje teže i skuplje. Kao što se vidi na slici 12-31., iterativni proces se sastoji iz više sekvencijalnih procesa zasnovanih na modelu vodopada. Time je vremenska dimenzija izmeštena u odnosu na sadržajnu dimenziju, pa je vreme između potencijalnog nastanka i otkrivanja grešaka značajno skraćeno.

Kao prednosti iterativnog razvoja mogu se navesti sledeće:

Greške učinjene u razvoju se ranije identifikuju i na njih je moguće uspešnije rea-govati; Omogućava se korisnički feedback; Razvojni tim je primoran da se fokusira na ona pitanja koja su najvažnija za pro-

jekat; Kontinuirano i iterativno testiranje pruža objektivan uvid u status razvoja; Nepravilnosti učinjene tokom analize zahteva, dizajna i implementacije otkrivaju

se ranije; Tim za testiranje, je uključen tokom celog životnog ciklusa projekta; Tim usavršava naučene lekcije i samim tim može neprekidno da unapređuje proces

razvoja;

Slika 12-31.

A

D

K

T

A

D

K

T

A

D

K

T

A

D

K

T

A

D

K

T

Vreme

A - Analiza zahteveD - DizajnK - KodiranjeT - Integracija, testiranje

Jedna iteracija

Upravljanje zahtevima - Prateći rezultate Standish grupe dolazi se do spoznaje, da je u 37% slučajeva razlog za neuspeh projekata vezan za informacione zahteve. Nedostatak korisničkih zahteva predstavlja razlog neuspeha projekata u 13% slučajeva, nepotpuni zahtevi i specifikacije u 12% slučajeva, a promena zahteva i specifikacija takođe u 12% sluča-jeva. Dodajući navedenim podacima činjenicu, da su troškovi otklanjanja grešaka nastalih u oblasti zahteva izuzetno visoki, iako ih iterativan pristup značajno umanjuje, nameće se zaključak da se zahtevima ne posvećuje dovoljna pažnja, u procesu razvoja informacionih sistema.

Page 12: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

433Razvoj informacionih sistema

Informacioni zahtevi predstavljaju inpute za dizajn sistema, testiranje sistema, kao i izradu korisničke dokumentacije. Greške u fazi analize zahteva su pogubne po uspeh pro-jekta razvoja. Da bi se gore navedeni procenti smanjili potrebno je posvetiti značajnu pažnju pronalaženju, organizovanju, dokumentovanju i upravljanju zahtevima. RUP upravo to i radi kroz disciplinu zahteva čiji je cilj da opiše šta sistem treba da radi. Taj opis treba da bude prihvaćen, kako od strane korisnika, tako i od strane razvojnih inžinjera.

Upotreba arhitekture zasnovane na komponentama - Vizuelizacija, specifikacija, konstrukcija i dokumentovanje softverskog sistema zahteva da sistem bude sagledan iz bro-jnih perspektiva. Svaki stejkholder (analitičari, integratori sistema, testeri, projektni me-nadžeri, dizajneri, ...) donosi različitu sliku projekta, i svaki od njih gleda sistem na različite načine, mnogo puta tokom života projekta. Arhitektura sistema je možda najvažnija podela, koja se može koristiti da bi se upravljalo ovim različitim gledištima i na taj način kontrolisao iterativni i inkrementalni razvoj sistema, tokom njegovog životnog ciklusa.

Arhitektura je prevashodno bitna za razvojni tim koji realizuje projekat, ali indirektno utiče i na zadovoljstvo krajnjeg korisnika. Arhitektura sistema obuhvata grupu značajnih odluka o:

Organizaciji softverskog sistema Izboru gradivnih elemenata i njihovih interfejsa, od kojih je sistem sastavljen Ponašanju gradivnih elemenata, određenom upravo njihovom saradnjom Kompoziciji strukturalnih i bihevioralnih elemenata u veće rastuće podsisteme Arhitektonskom stilu, koji objedinjuje gore navedene odluke u jednu celinu.

Razvoj baziran na komponentama (CBD - Component-Based Development) je znača-jan pristup softverskoj arhitekturi jer omogućava ponovnu upotrebu, kao i specijalizaciju komponenti. Pored sopstvene izgradnje komponenti za ponovnu upotrebu moguća je upot-reba komponenti i iz velikog broja komercijalno dostupnih izvora (Microsoft Component Object Model - COM i Microsoft Foundation Classes - MFC, Common Object Request Bro-ker Architecture - CORBA, Enterprise JavaBeans - EJB samo su neke od široko podržanih platformi na kojima je arhitektura zasnovana na komponentama ostvariva).

Kombinujući iterativan razvoj sa arhitekturom zasnovanom na komponentama svaki korak proizvodi izvršnu arhitekturu sistema, koja je merljiva, pogodna za testiranje i vred-novanje u odnosu na zahteve sistema. Na ovaj način se otvara mogućnost za konstantno na-padanje ključnih rizika projekta.

Vizuelno modelovanje - Model predstavlja pojednostavljenu sliku realnosti, koja kompletno opisuje sistem iz pojedinačnih perspektiva. U softverskom inžinjeringu modeli se izgrađuju da bi se bolje razumeo sistem koji se modeluje. Kod izrade velikih sistema modelovanje pomaže njihovom razumevanju u potpunosti. Slobodno se može konstatovati da bi bez modelovanja automatizacija takvih sistema bila nemoguća.

Činjenica da jedna slika govori više nego hiljadu reči je poznata odavno. Međutim, ono što je nedostajalo jeste standardizacija. UML kao jedinstveni jezik za modelovanje je prihvaćen od strane vodećih svetskih IT kompanija i nametnut kao standard u softverskoj industriji. On služi za vizuelizaciju, specifikaciju, konstrukciju i dokumentaciju sistema koji se izgrađuje. UML je omogućio svim članovima razvojnog tima da razgovaraju istim jezikom. Standardizacija je dovela do toga da se UML izučava u školama i fakultetima širom

Page 13: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

434 Informacione tehnologije i informacioni sistemi

sveta, pa je time zamenjivost bilo kojeg člana razvojnog tima značajno olakšana. RUP i UML predstavljaju nerazdvojivu celinu.

Vizuelno modelovanje podiže kvalitet procesa razvoja softverskog proizvoda, što je lako uočljivo preko sledećih karakteristika:

Use Case-ovi i scenarija nedvosmisleno definišu ponašanje sistema, Dizajn je jasan i nedvosmislen, Nemodularne i nefleksibilne arhitekture su lako uočljive na nivou modela, Različite perspektive i različiti nivoi detaljnosti se mogu koristiti u različiti situaci-

jama, Otklanjanje nekonzistentnosti na nivou dizajna, značajno olakšava implementaciju, Use Case model i dizajn model stvaraju jasne inpute za testiranje, Korišćenje UML-a nameće standardizaciju u softverskoj industriji.

Kontinuirana potvrda kvaliteta softvera - Kao što slika 12-32 ilustruje, softverski problemi su 100 do 1000 puta skuplji kada se pronalaze i otklanjaju nakon uvođenja nego pre toga. Upravo zato, važno je kontinuirano proveravati kvalitet sistema sa posebnim ak-centom na njegovu funkcionalnost, pouzdanost, aplikativne performanse i sistemske per-formanse.

Proveravanje funkcionalnosti sistema uključuje kreiranje testova, za svaki ključni sce-nario koji predstavlja neki aspekt željenog ponašanja sistema. Prilikom proveravaja funk-cionalnosti sistema potrebno je evidentirati svaki scenario koji nije zadovoljio zahteve i pris-tupati njegovom osposobljavanju. Poštujući itearativan razvoj softvera tako je potrebno pris-tupati i testiranju, testirajući svaku iteraciju. Slika 12-32.

Vreme

Nov

ac

Provera kvaliteta softvera pruža brojna rešenja ključnim uzrocima problema razvoja

softvera:

Procena statusa razvojnog projekta se izrađuje objektivno, ne subjektivno, jer se vrednuju rezultati testa

Page 14: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

435Razvoj informacionih sistema

Objektivno procenjivanje otkriva nekonzistentnosti u zahtevima, dizajnu i imple-mentaciji Testiranje i verifikacija su usmereni na oblasti najvišeg rizika, te se na taj način

uvećavaju kvalitet i efektivnost tih oblasti Greške se otkrivaju rano, radikalno snižavajući troškove njihovog ispravljanja

Kontrola promena softvera - Ključni izazov prilikom razvoja softverskih sistema je usklađivanje rada razvojnih inžinjera, organizovanih u razvojne timove koji zajedno rade na više iteracija stvarajući softverski proizvod. Tokom razvoja novonastajući sistem se menja i razvija, a kontrola tih razvojnih promena je nužna za sprečavaje haosa u procesu razvoja.

Usklađivanje aktivnosti, artifakta i uloga predstavlja ponovljivi workflow koji prati razvoj softvera kroz promene u procesu razvoja. Standardizacija workflow-a, sastavljenih od aktivnosti, artifakta i uloga, u procesu razvoja omogućuje praćenje promena, rano otkrivanje problema i brzo reagovanje u cilju njihovog otklanjanja. Slika 12-33.

Uvođenje Elab#1

Elab#2

Konst#1

Konst#2

Konst#N

Tran#1

Tran#2

Uvođenje Elaboracija Konstrukcija Tranzicija

Faze

Poslovno modelovanje

Zahtevi

Analiza i dizajn

Implementacija

Testiranje

Raspoređivanje

Konfigurisanje i upravljanje promenama

Upravljanje projektima

Okruženje

Iteracije

Discipline

RUP razvoj informacionih sistema postavlja između dve dimenzije, vremenske i sa-držajne. Vremenska dimenzija je podeljena u četiri faze: uvođenje, elaboracija, konstrukcija i tranzicija. Sadržajna dimenzija je podeljena u šest osnovnih i tri pomoćne discipline. U os-novne spadaju disciplina poslovnog modelovanja, disciplina zahteva, disciplina analize i dizajna, disciplina implementacije, disciplina testiranja i disciplina raspoređivanja. Pomoćne discipline su konfigurisanje i upravljanje promenama, upravljanje projektom i okruženje. Svaki element matrice RUP-a predstavlja kombinaciju elemenata statičke strukture RUP-a i vremenskog rasporeda istih. Vidi sliku 12-33 Jacobson, I. et al. (!999).

Page 15: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

436 Informacione tehnologije i informacioni sistemi

RUP je moguće posmatrati kroz dve dimenzije, kroz dinamičku u kojoj se proces opisuje kroz životni ciklus razvoja proizvoda i statičku u kojoj se opisuju aktivnosti i rezul-tati aktivnosti podeljeni na uloge. U nastavku je dat kratak opis dinamičke strukture RUP-a predstavljene na slici 12-34. Slika 12-34.

Faza uvođenja Faza elaboracije Faza konstrukcije Faza tranzicije

Ključna tačkafaze uvođenja

Ključna tačkafaze elaboracije

Ključna tačkafaze konstrukcije

Ključna tačkafaze tranzicije

VREME

4.2.1. Dinamička struktura RUP-a RUP razvojni proces predstavlja kroz ciklus od četiri napred u tekstu navedene faze. Kao krajnji proizvod ovog ciklusa dobija se gotov softverski proizvod. Faze u procesu razvoja se ne izvršavaju u jednom prolazu, već se svaka od faza izvršava u nekoliko iteracija. RUP ne predviđa tačan broj iteracija. Do tačnog broja iteracija po svakoj fazi se dolazi prilikom pri-lagođavanja RUP-a sopstvenim potrebama, tj. prilikom definisanja konkretnog procesa raz-voja. Svaka od utvrđenih iteracija donosi inkrement koji uvećava vrednost softverskog pro-izvoda u izradi. Kraj svake od faza se smatra ključnom tačkom u procesu razvoja. Ključne tačke predviđaju, na osnovu izvršene intergacije inkremenata realizovanih u posmatranij fazi, krajnje rezultate date faze.

Faza uvođenja Faza uvođenja predstavlja prvu fazu u životnom ciklusu razvoja informacionog sistema. U ovoj fazi je potrebno definisati obim projekta i izvršiti poslovnu procenu budućeg sistema, u cilju donošenja odluke o nastavku procesa razvoja softverskog proizvoda. U ključnoj tačci faze uvođenja potrebno je znati odgovore na sledeća pitanja:

Da li je rizik smanjen na prihvatljiv nivo? Da li je projekat izvodljiv? Da li je projekat finansijski isplativ?

Da bi se dobili odgovori na ova pitanja, u ovoj fazi razvoja se realizuju sledeće aktiv-nosti:

Razumevanje šta se gradi. Iako preovladava mišljenje da svi učesnici u razvojnom projektu dobro znaju šta se gradi, najčešće se njihovi pogledi ne podudaraju. Zato

Page 16: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

437Razvoj informacionih sistema

je potrebno definisati šta se gradi, na takav način da svi stejkholderi sistema imaju jednoznačnu predstavu o tome. U tom cilju izrađuje se dokument vizije sistema, „mile-wide, inch-deep“ (širok i ne mnogo detaljan) opis sistema i detaljan opis ključnih aktera i Use Case-ova sistema. Paralelno sa opisom Use Case-ova pot-rebno je izraditi prototip korisničkog interfejsa. Identifikovanje ključnih funkcionalnosti sistema. U toku ove aktivnosti utvrđuju se na-

jznačajniji Use Case-ovi sistema. Ovu aktivnost obavljaju menadžer projekta i arhitekta uključujući i ostale stejkholdere po potrebi. Najčešće se za sistem od 20-tak Use Case-ova identifikuje 4-5 ključnih, čijim opisom se ustvari opisuju ključne funkcionalnosti koje budući sistem treba da pruža. Definisanje najmanje jedne moguće arhitekture sistema. Ovom aktivnošću se utvrđuje

da li postoji odgovarajuća arhitektura sistema kojom se mogu zadovoljiti tražene funkcionalnosti. Ukoliko se uoči više arhitekturalnih solucija potrebno ih je sve predstaviti, a u kasnijim fazama će se doneti odluka izbora optimalne arhitekture. Identifikovanje troškova, utvrđivanje rasporeda izvršenja projekta i prepoznavanje rizika.

Ovo je ključna aktivnost poslovne procene budućeg sistema. Na osnovu nje se obezbeđuje odgovor na pitanje da li je projekat finansijski isplativ. Razrada procesa razvoja i određivanje alata koji će se koristiti. Neophodno je da svi čla-

novi razvojnog tima dele isti pogled na to kako će se softverski proizvod razvijati. U tom cilju se vrši razrada procesa razvoja i određuju se alati pomoću kojih će se razvijati softverski proizvod.

Faza elaboracije

Faza elaboracije predstavlja drugu fazu u životnom ciklusu razvoja informacionog sistema. Osnovni zadatak ove faze jeste uspostavljanje takve arhitekture sistema koja obezbeđuje čvrste osnove za većinu aktivnosti dizajna i implementacije koje će biti obavljene u fazi kon-strukcije. Takođe zadatak ove faze je i identifikovanje ključnih rizika. Identifikuju se rizici vezani za zahteve, rizici vezani za arhitekturu, rizici vezani za troškove i na kraju rizici vez-ani za sam postupak izvršenja procesa razvoja i za primenu izabranih alata. Aktivnosti koje se obavljaju u fazi elaboracije su sledeće:

Detaljna razrada korisničkih zahteva. Kao rezultati faze uvođenja u fazi elaboracije su dostupni kompletan dokument vizije, detaljan opis oko 20 procenata Use Case-ova (najbitniji Use Case-ovi) i kratak opis preostalih Use Case-ova. Do kraja faze elabo-racije potrebno je završiti kompletan opis Use Case-ova i izraditi prototip koris-ničkog interfejsa. U tom cilju se vrši razrada Use Case-ova i izrada potpunog pro-totipa korisničkog interfejsa, a zatim se svaki od razrađenih Use Case-ova detaljno kontroliše od strane korisnika i dorađuje ukoliko je potrebno. Svaki od Use Case-ova se može dodatno razrađivati i u fazi konstrukcije ukoliko se za tim ukaže pot-reba. Dizajniranje, implementacija i ocenjivanje arhitekture sistema. Ova aktivnost ima

zadatak da dizajnira, implementira i testira osnovnu strukturu budućeg sistema. Tokom ove aktivnosti moraju se doneti neke od ključnih dizajnerskih odluka veza-nih za arhitekturu sistema. Kao prvo mora se doneti odluka da li će se glavni gradivni blokovi kupovati, graditi ili će se izvršiti ponovna upotreba ranije

Page 17: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

438 Informacione tehnologije i informacioni sistemi

korištenih gradivnih blokova sistema. Zatim se mora opisati način primene ovih gradivnih blokova na primeru najvažnijih scenarija. Na kraju je potrebno izvršiti implementaciju i testiranje izabrane arhitekture u cilju otklanjanja ključnih tehničkih rizika i utvrđivanja kvaliteta gradivnih blokova. Ublažavanje ključnih rizika, izrada detaljnog rasporeda projekta i izrada detaljnog pro-

računa troškova. Tokom faze elaboracije vrši se ublažavanje većine ključnih rizika projekta. Detaljnom razradom korisničkih zahteva značajno se ublažavaju rizici vezani za razumevanje funkcionalnosti budućeg sistema. Implementacijom os-novne strukture, tj. izvršne arhitekture sistema ublažavaju se i tehnički rizici. Pošto se u fazi elaboracije mora barem jednom proći kroz čitav životni ciklus, radi im-plementacije i testirana osnovne strukture sistema, stiču se neophodna znanja o tome kako efektivno raditi sa ljudima, alatima i tehnologijom koja će se primen-jivati u projektu. Sve to omogućuje izradu detaljnog rasporeda i proračuna trošk-ova projekta. Usavršavanje razvojnog procesa i razvojnog okruženja. Dok se tokom faze uvođenja de-

finiše proces razvoja i određuju se alati pomoću kojih će se razvijati softverski pro-izvod. Tokom faze elaboracije se prolazi kroz čitav životni ciklus razvoja proiz-voda, te se na osnovu stečenih iskustava vrši usavršavanje razvojnog procesa i raz-vojnog okruženja.

Faza konstrukcije

Ovo je treća faza žvotnog ciklusa razvoja informacionog sistema. Tokom ove faze životnog ciklusa fokus je na detaljnom dizajnu, implementaciji i testiranju sistema. Faza konstrukcije predstavlja najobimniju fazu i u vremenskom rasporedu zauzima preko polovine ukupnog vremena predviđenog za projekat. Međutim, ukoliko su predhodne faze kvalitetno odrađ-ene, rizici u fazi tranzicije su svedeni na minimum. Aktivnosti koje se obavljaju u ovoj fazi su u cilju iterativnog razvoja proizvoda i pripreme istog za isporuku krajnjem korisniku uz minimalne troškove razvoja. U fazi tranzicije mogu se izdvojiti sledeće aktivnosti:

Podizanje kvaliteta komunikacije u okviru projekta. Za velike razvojne timove ova ak-tivnost ima veliki značaj. Ukoliko se pristupi modelu komunikacije u kojem svako komunicira sa svakim, broj potencijalnih linija komunikacije za N članova iznosi N * (N–1) / 2. Sa podizanjem broja članova broj potencijalnih linija komunikacije se multiplicira, te dostiže nivo kada je apsolutno neefikasan. Upravo radi toga pot-rebno je uvesti novi način komunikacije. U komunikaciju se uvodi tim za arhitek-turu, preko kojeg se vodi komunikacija između razvojnih timova. Na ovakav način se uvodi komunikacioni čvor kojim se smanjuje broj potencijalnih komunikacionih linija. Razrada preostalih Use Case-ova. Pomoćni Use Case-ovi se ne razrađuju u fazi elabo-

racije. U fazi elaboracije se obično razrađuje između 80 i 85 procenata Use Case-ova. Preostali Use Case-ovi se razrađuju u fazi konstrukcije. Takođe i neki od os-novnih Use Case-ova su predmet ponovne razrade u dialogu između analitičara i dizajnera. Detaljan dizajn Use Case-ova. Tokom faze konstrukcije vrši se detaljan dizajn Use

Case-ova u okviru kojih se prepoznaju objekti koji se pojavljuju u potencijalnim

Page 18: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

439Razvoj informacionih sistema

scenarijima Use Case-ova. Identifikuje se saradnja između objekata i sekvence poruka koje objekti razmjenjuju, identifikuju se klase i relacije između klasa. Na ovakav način se Use Case-ovi pripremaju za implementaciju. Dizajn baze podataka. U fazi elaboracije se postavlja osnovni dizajn baze podataka, a

tokom konstrukcije se detaljno definiše. Dodaju se nove kolone u tabele, kreiraju se pogledi kao pomoć pri izradi upita, kreiraju se indeksi nad tabelama za optimi-zaciju performansi, itd. Ipak značajne izmene u oblasti dizajna baze podataka se ne dešavaju, a ukoliko se ipak pojave to je znak da faza elaboracije nije odrađena kvalitetno i da je faza konstrukcije preuranjena. Implementacija i testiranje jedinica obrade. Ova aktivnost se vrši po unapred utvrđe-

nom rasporedu implementacije i testiranja Use Case-ova. Implementacija i testi-ranje se obavljaju pojedinačno, Use Case po Use Case. Dominantna aktivnost u fazi implementacije je kodiranje programskih jedinica. Nakon kodiranja pristupa se testiranju, a kao parametri na osnovu kojih se vrši testiranje se koriste zahtevi korisnika. Integracija komponenti i testiranje sistema. Po završetku izrade svaku pojedinačnu

programsku komponentu je potrebno je integrisati u postojeći sistem, a potom iz-vršiti testiranje sistema, obraćajući posebnu pažnju na novopridruženu kompo-nentu, kao i na sve bočne efekte koje ona može prouzrokovati u sistemu. Rano raspoređivanje i dobijanje povratne informacije od korisnika. Ovde se radi o testi-

ranju radnih verzija softvera. Od korisnika se očekuje da testira softver i da pov-ratnu informaciju vezanu za kvalitet softvera. Ukoliko se radi o testiranju komerci-jalnog softvera, gde je korisnik u ovoj fazi nepoznat javlja se problem pronalaženja i motivacije korisnika da izvrše testiranje. Ukoliko se radi softverski proizvod za poznatog korisnika, tada ovaj problem ne postoji, a korisnik je već od ranije uključen u razvoj i praktično čini deo razvojnog tima. I ovu aktivnost je potrebno obavljati kontinuirano u više iteracija. Beta raspoređivanje. Beta raspoređivanje završava sa okončanjem faze konstrukcije i

predstavlja njen osnovni zadatak, a započinje po završetku izrade prve upot-rebljive i potpune verzije softverskog proizvoda. Po izradi upotrebljive i potpune verzije softvera ona se dostavlja krajnjem korisniku, čime se stvaraju potrebni pre-duslovi za početak beta testiranja i faze tranzicije. Priprema za konačno raspoređivanje. Ova aktivnost se odvija paralelno sa beta

raspoređivanjem i ima za cilj da stvori preduslove za početak beta testiranja. U ok-viru nje se vrši priprema materijala za trening korisnika, priprema hardvera neo-phodnog za softverske instalacije, konverzija podataka sa starih sistema na nove, izrada uputstava, itd.

Faza tranzicije

Osnovni cilj ove faze jeste tranzicija softverskog proizvoda u ruke krajnjih korisnika. U fazi konstrukcije se u ruke korisnika predaje beta verzija softverskog proizvoda, tako da faza tranzicije počinje sa beta testiranjem. Kao rezultat beta testiranja dobijaju se povratne infor-macije od korisnika. Ova faza treba da da odgovor na pitanje da li je izrađena verzija soft-vera spremna za isporuku.

Page 19: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

440 Informacione tehnologije i informacioni sistemi

Slika 12-35.

Faza uvođenja Faza elaboracije Faza konstrukcije Faza tranzicije

Prototip nakonceptualnom nivou

Definisanaarhitektura

Betaverzija

Isporučenorešenje

VERZIJA 1.

ITERACIJE - VREME

It. UV1 It. UV2 It. EL1 It. EL2 It. EL3 It. KO1 It. KO2 It. KO3 It. TR1 It. TR2

Faza uvođenja Faza elaboracije Faza konstrukcije Faza tranzicije

Prototip nakonceptualnom nivou

Definisanaarhitektura

Betaverzija

Isporučenorešenje

VERZIJA 2.

ITERACIJE - VREME

It. UV1 It. UV2 It. EL1 It. EL2 It. EL3 It. KO1 It. KO2 It. KO3 It. TR1 It. TR2

Aktivnosti koje se obavljaju u ovoj fazi su sledeće:

Obuhvat, analiza i implementacija promena u zahtevima. Kao što je gore navedeno na osnovu isporučene beta verzije softvera korisnici, tokom beta testiranja, daju pov-ratne informacije razvojnom timu. Te povratne informacije mogu biti takve prirode da zahtevaju manje izmene, kao što su popravljanje manjih grešaka, unapređivanje korisničke dokumentacije i materijala za trening ili podizanje performansi softvera. Ukoliko su promene u zahtevima tolike da zahtevaju ponovno iniciranje razvojnog procesa, to znači da su predhodne faze loše odrađene ili korisnici ranije nisu bili spremni da daju adekvatne zahteve. U tom slučaju faza tranzicije se pretvara u novi razvojni ciklus, kao što je predstavljeno na slici broj 12-35. Izrada programa „zakrpa“ i dodatne beta verzije. U slučaju kada su uočene greške

takve prirode da se mogu izraditi odgovarajući programi „zakrpe“ (eng. - patch) pristupa se njihovoj izradi i isporuci beta korisnicima. Nakon instaliranja „zakrpa“ dobija se nova verzija beta proizvoda. Najčešće se ovakve verzije označavaju bro-jčano, pa se dobija, npr. beta verzija 2. Utvrđivanje mernih jedinica za određivanje kraja faze tranzicije. Svaki projekat, pa i

softverski mora imati svoj kraj. Da bi se utvrdio kraj faze tranzicije potrebno je de-finisati standarde koji će dati odgovore na pitanje, koliko je potrebno da proizvod bude kvalitetan. U tom cilju vrši se praćenje: koliko je novih grešaka pronađeno dnevno i koliko je grešaka otklonjeno, takođe dnevno. Na osnovu ovih podataka može se utvrditi mesto na kojem su novopronađene greške svedene na nivo koji ne ugrožava zahtevani kvalitet.

Page 20: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

441Razvoj informacionih sistema

Trening korisnika i tima za održavanje. Tokom faze tranzicije potrebno je preneti znanja neophodna za korišćenje proizvoda, svim korisnicima i znanja potrebna za održavanje proizvoda, timu zaduženom za održavanje. Ukoliko je broj korisnika toliko velik da njihova obuka zahteva duži vremenski period, ovu aktivnost je pot-rebno započeti još u fazi konstrukcije. Pakovanje proizvoda. Ova aktivnost podrazumeva izradu finalnog upakovanog pro-

izvoda, koji u sebi sadrži softver na nekom mediju za čuvanje podataka, do-kumentaciju i uputstva, licence i ambalažu. Marketing aktivnosti. Tokom ove aktivnosti izrađuje se dokument koji sadrži kratak

opis proizvoda, njegovu poziciju na tržištu, ključne karakteristike i prednosti. Dalje se izrađuje tehnička dokumentacija proizvoda, web sajt sa informacijama o proiz-vodu, demo verzije proizvoda, multimedijalne prezentacije, priče o uspešnoj pri-meni proizvoda, itd. Zvanično prihvatanje proizvoda od strane kupca. Ova aktivnost se obavlja kroz testi-

ranje proizvoda koje može biti formalno, neformalno i beta testiranje. Beta testi-ranje je ranije opisano i ukoliko je tokom ove aktivnosti postignuta saglasnost o tome da proizvod poseduje zahtevani kvalitet, nema potrebe za dodatnim testiran-jem. Ukoliko to nije slučaj pristupa se dodatnom testiranju koje može biti formalno ili neformalno. Razlika je u tome što formalno testiranje ima čvršće definisana pra-vila i korake testiranja, ali krajnji rezultat je isti – saglasnost kupca da je proizvod prihvatljiv.

Objektne metodologije, naravno, imaju i prednosti i nedostataka. Martin (1995,s.726-727) navodi sledeće prednosti:

Objektni dizajn uspešno rukuje kompleksnošću, uključujući bilo koji vid podataka; Objektni dizajn obezbeđuje fleksibilnost jer objekti imaju skrivene podatke i me-

tode; Objektni dizajn uvećava odzivnost; Objektno dizajn uvećava kvalitet: vodi odsustvu defekata, obezbeđuje sao-

braženost svrsi (potrebama korisnika) i uvećava upotrebljivost jer obuhvata širi raspon korisnikovih potreba.

Takođe se veruje da objektno orijentisani pristup objedinjuje mnogo raznih aspekata procesa razvoja informacionog sistema. Coad i Yourdon (1990, s.72), autori jedne od me-todologija objektne analize, ukazuju na sledeće prednosti:

Sposobnost da rešava teške problemske situacije usled razumevanja problemske situacije, koje je tim pristupom omogućeno; Unapređivanje odnosa analitičar - korisnik, pošto pristup moraju razumeti i jedan i

drugi i pošto nije usmeren na računar; Unapređivanje konzistentnosti rezultata, pošto pristup modeluje sve aspekte prob-

lema na isti način; Sposobnost da reprezentuje činioce promena u modelu vodeći tako ka fleksibilni-

jem modelu.

Page 21: 4. Metodologije razvoja informacionih sistema Đ , J ... · 422 Informacione tehnologije i informacioni sistemi vreme odziva u održavanju, pružanje pomoći u obezbeđenju problematičnih

442 Informacione tehnologije i informacioni sistemi

Jedan od važnih nedostataka objektne metodologije se ogleda u tome što je objektni pristup mnogo bolje usklađen sa modelovanjem podataka nego sa modelovanjem procesa.

4.3. Agilne metodologije Česta kašnjenja projekata razvoja informacionih sistema, probijanje budžeta i postavljenih vremenskih rokova u realizaciji projekata, permanentni rast složenosti tehnologije i učestale promene korisničkih zahteva, doveli su krajem dvadesetog veka do pojave nove grupe me-todologija. Nastale su agilne metodologije po osobinama mnogo gipkije i prilagodljivije promenama, koje omogućuju korisnicima aktivno učešće tokom svih faza i aktivnosti raz-voja. Agilni pristup se dakle suočio sa osnovnim problemom savremenog i ujedno brzog razvoja softvera. Dominantna ideja je da timovi mogu biti efikasniji u realizaciji promena ako su u stanju da smanje vreme i troškove razmene informacija između osoba koje učest-vuju u razvoju na način da skrate vremenski period od donošenja odluke do povratne in-formacije o posledici te odluke.

Termin agilan je odabran od strane grupe osoba, velikog iskustva u razvoju informa-cionih sistema. Polazne pretpostavke su bile da je turbulentnim poslovnim i tehnološkim okruženjima neophodan proces razvoja softvera i informacionog sistema koji istovremeno kreira promene, ali brzo i odgovara na iste. Istovremeno, proces koji uključuje odgovorne učesnike i njihovu dobru organizaciju. Učesnicima odnosno njihovom talentu, veštinama i sposobnostima, kao i njihovoj međusobnoj komunikaciji se posebna pažnja. Usmerenost na učesnike je i najznačajnija osobina agilnih metodologija, prema pojedincima se prilagođava i kompletan proces razvoja.

U agilnim razvojnim timovima, kompetencije pojedinaca predstavljaju kritičan faktor uspešnosti projekta. Prema agilnim metodologijama, ukoliko su pojedinci na projektu dovol-jno kvalitetni, tada oni mogu uz bilo koji proces razvoja realizovati očekivani cilj. U suprot-nom, nema procesa razvoja koji može nadomestiti njihovu nekompetentnost. Istovremeno, nedostatak korisničke podrške može lako uništiti projekat razvoja, kao što i neadekvatna podrška može sprečiti završetak projekta.

Mada ni ranije korišćene metodologije iz reda strukturnih (tradicionalnih) i objektnih nisu zanemarivale sposobnosti pojedinaca, ipak one su ih posmatrale na drugi način i isto tako na drugi način razvijale njihove sposobnosti. Kruti i standardizovani procesi, poznatih i ranije primenjivanih metodologija razvoja, su bili dizajnirani da standardizuju i prilagođa-vaju pojedince prema organizaciji procesa, dok agilni procesi ističu jedinstvene sposobnosti pojedinaca i tima. Naime, procesi ne mogu nadvladati nedostatak kompetencija pojedinaca. Timovi su samoorganizovani, sa intenzivnim komunikacijama u okviru i van organizacionih granica. Ovi timovi mogu u svakom trenutku promeniti svoju strukturu kako bi se pri-lagodili promenama.

Agilnost podrazumeva da tim ima zajednički cilj, uzajamno poverenje i poštovanje, zajednički i brz postupak donošenja odluka i sposobnost savladavanja svih dvosmislenosti. Agilan tim koji radi u okviru krute organizacije ima poteškoća, kao što ih ima svaki pojedi-nac koji radi u krutom timu. U ovim timovima, dominira saradnja svih nivoa upravljanja. Za donošenje odluke nije važno ko donosi odluke, već je važna saradnja i obezbeđenje informa-cija za donošenje odluka. U projektu razvoja učestvuju osobe različitih veština, talenta i spo-