Strokovne raz h have Prenovitev informacijske podpore poslovnemu sistemu Ivan Vezočnik Razvojni center Celje, IRC d.o.o. Povzetek Prenovitev informacijskih sistemov (reinženiring, sestopanje, povratno inženirstvo) je relativno nova tehnologija, hi vpliva tako na proces vzdrževanja starih kot tudi na načrtovanje razvoja novih aplikacij. Večina obstoječih informacijskih sistemov je obremenjena z zastarelostjo in problematiko povezljivosti posameznih aplikacij. Rešitev je v prehodu v nova, sodobnejša informacijska okolja, v prenovitvi obstoječih in v razvoju novih aplikacij. V članku so predstavljeni model možne prenovitve in izgradnje aplikacije v naših poslovnih okoljih ter možnosti uporabe sodobnih tehnologij in tehnik. Abstract information systems renovation (reengineehng, downsizing, reverse engineering) is comparatively a new technology, /t affects not only maintenance of old applications but also necessitates a new approach to application development engineering. Most of the existing user applications should be substituted by new, object-oriented / relational database based applications. The paper covers answers to some critical problems concerning system renovation with considering the present situation in the information technology use In Slovenia. Ključne besede: prenovitev aplikacije, obrnjeno inženirstvo, CASE orodje, sestopanje, reinženiring. poslovni sistem, projektno vodenje, vizija razvoja informatike, strategija, arhitektura informacijskega sistema, kritični dejavniki uspeha. Uvod Cilj vsakega poslovnega okolja je v čimboljši informacijski podpori poslovnim procesom oz. poslovnemu sistemu kot celoti. Kakšna je raven te informacijske podpore, je odvisno od posameznega poslovnega okolja in njegovih dejanskih informacijskih potreb. Misel, da je potrebno informacijsko podpreti vsak poslovni proces (mogoče tudi zaradi prestižnega značaja), je ravno tako vprašljiva kot misel, da je informacijski) podpora skoraj nepotrebna. Odgovor na vprašanje: "Kakšna informacijska podpora poslovnim procesom nz. poslovnemu sistemu kot celoti je potrebna?", da poslovni sistem funkcionira "optimalno" v vseh pogledih, ni napisan v nobeni knjigi. Ta odgovor si vsak poslovni sistem napiše sam, vendar do odgovora ne vodi enostavna pot, predvsem pa ne do realizacije zastavljenih ciljev. Kakšno je pravzaprav stanje na področju informatike? Če so informatiki še nedavno veliko pričakovali od aplikativnih rešitev na osebnih računalnikih in omrežjih osebnih računalnikov, je takšno razmišljanje pustilo resne posledice pri načrtovanju informacijskih sistemov v smislu povezljivosti in podpore poslovnemu sistemu kot celoti. Parcialno dobre aplikativne rešitve praviloma odpovedo pri povezovanju na ravni celotnega sistema in učinki za poslovni sistem kot celoto so pod pričakovanji. Da je zmeda še večja, so bila in so še vedno stališča in form a ti kov tudi na tehnološkem področju (tehnološke platforme in koncepti) različna in neusklajena. Če smo Se nedavno predstavljali koncept odj ema I ec-s t rožnik in porazdeljene baze podatkov kot edino pravilnega, če smo prisegali na odprte sisteme in koncepte omrežij osebnih računalnikov z grafičnim okoljem, da ne govorimo o uporabi informacijskih orodij, se sedaj po enakih načelih spet nakazujejo rešitve, ki so edino pravilne in neoporečne. Vse te spremembe oz. napovedi "pravilnih konceptov" povzročajo pri uporabnikih neodločnost in zmedo. Velikim pričakovanjem pri prenovi in razvoju informacijskega sistema oz. aplikacij sledijo še večja razočaranja. Pozabiti ne smemo tudi ekonomskega vidika. Ne sadi o, da so vsa sodobna informacijska okolja draga, tudi stroški procesa prenovitve niso zanemarljivi. „iW„i™INFORMATIKA 1997 številka i letnik V Strokovne raepravk Z vsemi temi dilemami in vprašanji je soočen uporabnik - poslovni sistem, ko je postavljen pred odločitev o prenovitvi informacijskega sistema oz. posameznih aplikativnih rešitev. Na koncu je potrebno dati odgovor na ključno vprašanje: "Kdaj je informacijski projekt uspešno zaključen oziroma končan?" Obstaja vrsta metodologij in postopkov za ocenitev uspešnosti projekta in njegovega zaključka, vendar bomo v nadaljevanju privzeli naslednjo definicijo: Informacijski projekt je uspešno zaključen oz. končan, ko je dosežen potrebni pogoj: "dosežena skladnost z vizijo razvoju informatike oz. strategijo razvoja informatike", in ko je dosežen zadostni pogoj: "vsi neposredni udeleženci so zadovoljni". Stanje informatike v naših poslovnih okoljih Brez dvoma lahko trdimo, da so se v naših poslovnih okoljih uspešno uveljavili novi, sodobni koncepti informatiki' in hkrati uspešno potrdile nove razvojne smeri. Res je, da v primerja vali in analizah na področju informatiki' z razvitim zahodnim svetom vedno potegnemo krajši konec kot tisto okolje, ki v smislu vlaganj v informacijsko tehnologijo in informatiko zaostaja za temi ekonomskimi sistemi. Rrez pretiravanja pa lahko trdimo, da bolj ali manj uspešno korakamo v smeri sodobnih trendov informatike in da že razpolagamo s tovrstnim znanjem. Obstoječe stanje informatike v naših poslovnih okoljih lahko orišemo takole: Vsak poslovni sistem je do neke stopnje informa-tiziran. Z drugimi besedami, vsak poslovni sistem ima mesto nekje na krivulji informacijskega razvoja (slika 1). Posamezno poslovno okolje praviloma razpolaga z dokaj pestro računalniško opremo: od velikih (main frame) računalnikov do sodobnih arhitektur računalniških omrežij in osebnih računalnikov. eo so 40 stopnja 30 mtarmalizacge 20 10 0 slika 1: Informacijski razvoj Do podobne ocene pridemo tudi pri sistemski programski opremi, za katero je značilna velika pestrost in razmeroma slaba izkoriščenost. Srečujemo se s tipičnimi okolji tretje generacije, jeziki četrte generacije, z relacijskimi podatkovnimi bazami in z uporabo CASf ter objektne tehnologije. Neurejenost nastopa tudi na področju aplikativnih rešitev: velikemu Številu aplikacij se je življenski cikel že zaključil ali pa se izteka, po drugi strani pa so uspešno realizirane tehnološko najsodobnejše aplikacije na arhitekturi odprtih sistemov, principih u pora bmk-st rez ni k, v okolju jezikov četrte generacije in na relacijskih podatkovnih bazah. Problem vzdrževanja starih aplikacij je pereč, nastopa problem povezljivosti posameznih aplikativnih okolij (problem integritete) in če temu dodamo še visoke stroške za informatiko ter upoštevamo nesporni zakon sprememb pri razvoju in vzdrževanju informacijskega sistema, potem smo dejansko pred resnim vprašanjem: "Kako naprej?" Rešitev je potrebno iskali v smislu prenovitve obstoječega stanja informatike na osnovi jasno in realno zastavljenih ciljev. Izhodišče za prenovitev informacijskega sistema je v podpori temeljnim smotrom in ciljem poslovnega sistema (povečanje konkurenčnosti, povečanje produktivnosti in zmanjšanje stroškov poslovanja ipd). To pomeni, da je prenovitev informacijskega si>-tema ključnega pomena tudi za prenovitev poslovnega sistema. Pristop k prenovitvi informacijske podpore Prenovitev informacijskega sistema mora temeljiti na realnih izhodiščih z jasno zastavljenimi cilji in v okviru finančnih zmožnosti poslovnega sistema. Vzroki za prenovitev aplikacije so lahko v manjkajoči dokumentaciji, prehodu iz enega v drugo tehnološko okolje, v ponovni ali večji uporabljivosti zastarelih, vendar v praksi uporabnih aplikacij, v racionalizaciji procesa vzdrževanja aplikacij, v prehodu z velikih (main frame) računalniških sistemov na delovne postaje in osebne računalnike oz. omrežja osebnih računalnikov {t.i. proces sestopanja), v prehodu na arhitekturo odprtih sistemov, na drugo programsko opremo {relacijske sisteme za upravljanje z bazami podatkov, distribuirane rešitve, interaktivno orientirane rešitve,...), itd. V praksi in literaturi nastopajo različne definicije prenovitve aplikacij oz. informacijskih sistemov s še vedno mehko definicijo metodologij in tehnologij prenovitve. Pojmi, ki nastopajo pri prenovitvi posameznih aplikacij, so naslednji: m obratno inženirstvo, ■ rekonstruiran je, m reinženiring aplikacij, ■ razvoj novih aplikacij. 1997 številka 1 -lelmkV iifitmilnuA NFORM ftTIKA Strokovne raz h have Praksa je pokazala, da se pri prenovitvi kompleksnejšega aplikativnega okolja poslužujemo vseh zgoraj naštetih metodologij in tehnologij prenovitve, kar je odvisno nd posameznega okolja. Pri tem se moramo zavedati, da je vsako poslovno okolje unikat zase in ne moremo računali na neke splošno preverjene reSitve. S procesom prenovitve informacijske podpore želimo doseči naslednje ciije; ■ reševanje problematike vzdrževanja aplikacij, ■ zagotovitev dokumentacije in ponovne uporabljivosti aplikacije na višji tehnološki ravni, h prehod iz ene na drugo strojno opremo, ■ prehod iz enega na drugo sistemsko okolje (prehod na sodobna relacijska okolja, prehod iz centraliziranih na distribuirane rešitve, prehod na arhitekturo odprtih sistemov, prehod iz velikih računalniških sistemov na srednje sisteme, delovne postaje in osebne računalnike oz. t.i. sestopanje,...), m vključitev aplikacije v sodoben, povezan sistem aplikativnih rešitev z uporabo CASF orodja. J N Strategija razvoja poslovnega V sistema r ^ - Prenovitev poslovnega procesa V _ Vizijo razvoja informatike Strategija razvoja informa ti (te Proces prenovitve aplikacije je tesno povezan s prenovitvijo poslovnih procesov. Tako kot so v praksi deljena mnenja glede informacijske tehnologije in pravilnosti posameznih rešitev, obstajajo tudi pri prenovitvi aplikacije oz. informacijskega sistema različna mnenja glede vsebine in poteka prenovitve. Da se čimbolj izognemo predhodnim dvomom in pastem, je možna pot prenovitve, ki je opredeljena z naslednjo vsebino in fazami {slika 2): ■ Strategija razvoja poslovnega sistema ■ Prenovitev poslovnega procesa * Vizija razvoja informatike ■ Strategija razvoja informatike m Izdelava aplikativne rešitve ■ Vzdrževanje aplikativne rešitve V0dUilj: mINFOR M AT1KA 1997 ■Številka i - letnik V Strokovne razprave poudarek na testu sprejemljivosti, aktivno vključevanje uporabnika v vseh fazah razvoja, uporaba ČASE orodij; uporaba baze znanja, dokumenUmnost rešitve, radikalno vzdrževanje aplikativne rešitve. Funkcijsko orientirana aplikacija se preverja z vrednostnimi verigami (zaporedje opravil po različnih funkcijskih področjih, ki jih je potrebno opraviti, da pridemo do končnega rezultata). S tem dosežemo aktivno udeležbo vseh udeležencev po različnih funkcijskih področjih, Rezultat takšnega pristopa je zadovoljstvo uporabnika. Aplikativna rešitev ni več v rokah informati-kov, uporabnik je intenzivno vključen v vseh fazah razvoja aplikacije in vzdrževanje aplikacije "se preseli" k uporabniku. Strategija razvoja informatike je izhodišče za ves nadaljnji razvoj aplikativnih rešitev, kjer so nedvoumno podane smernice in cilji razvoja s terminsko, tehnološko in vsebinsko opredelitvijo. slika 5: Sodobni razvoj aplikacije Analiza: modeliranje entitetnega modela, funkcijskega modela in modeliranje toka podatkov. Oblikovanje: zajema transformacijo entitetnega modela v podatkovni model (relacijski, objektni), definira modularno strukturo aplikativnih rešitev in definira logiko baze podatkov. 'lest sprejemljivosti: namenjen je testiranju potrebne povezljivosti z ostalimi deli delujočih aplikativnih rešitev, po drugi strani pa /. njegovo pomočjo testiramo zadostnost aplikativne rešitve. V primeru nezadovoljivih rezultatov testa sprejemljivosti se vračamo v predhodne faze razvoja aplikativne rešitve. Operacionalizacija rešitve: to fazo sestavljajo naslednje aktivnosti: a izobraževanje uporabnika, « instalacija aplikativne rešitve, ■ operacionalizacija potrebne povezljivosti z ostalimi operativno delujočimi aplikacijami, ■ podatkovna ureditev, ■ uglasitev aplikacije (optimizacija baze, performan-Čne izboljšave,...), ■ operativni zagon aplikativne rešitve. Vzdrževanje rešitve: je uspešno, Če je opravljena delitev na operativno vzdrževanje aplikacije (varovanje podatkov, obnova podatkovnega sistema, adaptacija oz. spremembe zaradi sprememb sistemske programske opreme ali strojne opreme, ...) in na vzdrževanje aplikativne rešitve, to je na popravljanje skritih napak in izboljšavo aplikativne rešitve. Vzdrževanje je bilo vedno predstavljeno kot nujno zlo, čeprav pomeni večinsko dejavnost v vseh računalniških centrih. Tudi vzdrževanje aplikacij, ki so plod tradicionalne razvojne poti, ne pomeni samo popravljanje programskih napak, ampak gre velikokrat za pomembno prilagajanje spremembam v poslovnem sistemu, ki so ključne za njegovo delovanje. Pri sodobnem razvoju aplikacije pa se funkcija vzdrževanja spremeni Govorimo o radikalnem vzdrževanju aplikativne rešitve -izboljšavah in odpravljanju napak ter vračanjem v predhodne faze razvoja aplikacije (slika 5). Vzdrževanje obravnavamo kot kontinuiran proces razvoja aplikativne rešitve, ki je pod kontrolo uporabnika. Uporaba ČASE orodij Ključno vlogo pri procesih prenovitve in načrtovanja novih aplikativnih sistemov imajo ČASE orodja. Njihova uporaba je v podpori 1997 Številka 1 ■ letnik V upimibt i«l NFOR M ATI KA 21 i! Strokovne raz h have celotnemu prenovitvenemu ciklu aplikacije, tako v primeru prenovitve zastarele delujoče aplikacije kot v primeru obrnjenega inženirstva ali razvoja nove aplikacije. Pri tem moramo zadostiti izhodiščnim zahtevam: ■ nov način mišljenja, ■ poznavanje poslovnega področja, * poznavanje metod in tehnik razvoja informacijskega sistema, ■ projektni pristop, ■ aktivno vključevanje uporabnika v vseh fazah razvoja, da dosežemo želene rezultate: m hiter razvoj oz. hitre rezultate, ■ prototipni modeL m doseganje konstrukcije aplikativnega sistema do izdelave kode, a prenovitev oz. razvoj je podprt z bazo /nanja (enciklopedijo), ■ dokumentira nost, ■ lažja in učinkovita komunikacija z uporabniki. Uporaba ČASE orodja je pri prenovitvi aplikativnih rešitev oz. informacijskega sistema nujna, vendar morajo biti predhodno izpolnjene zgoraj naštete izhodiščne zahteve, sicer uporaba ČASE orodja ni učinkovita. In končno, ČASE orodje je pripomoček, ki nam olajša delo in nas hitreje in kvalitetne)? privede do rezultatov, nikakor pa nam ne rešuje vsebine problema ali celo postavlja rešitve. Ekonomska upravičenost Stroški vzdrževanja so največja postavka v deležu stroškov celotnega življenjskega cikla delovanja aplikacije. Zavzemajo delež nad 60%. Če temu neposredno merjenemu učinku (učinki merjeni neposredno z denarjem) dodatno še posredno merjene učinke (povečan- je konkurenčne zmožnosti, kakovost, izboljšave, ...), potem je tudi s finančnega vidika očitno, zakaj je prenovitev informacijskih sistemov in aplikacij zanimiva Zaključek Proces prenovitve je prav gotovo ena najpomembnejših usmeritev na področju informatike. Tehnologija prenovitve je močno vesana na uporabo CASE orodij, medtem ko se med temeljnima aktivnostim a, razvojem in vzdrževanjem izgublja meja. Obvladljivost sprememb in hitri odzivni časi na zahteve za spremembe in dopolnitve so naslednji pomembni razlog, da stremimo h kar najbolj sodobnim in obvladljivim aplikativnim okoljem. Motivov in razlogov za prenovitev aplikativnih rešitev je veliko in so vsebinskega, organizacijskega, tehnološkega in ekonomskega značaja Zakonitost, ki Še ni nikdar razočarala niti inform a likov niti uporabnikov, je preprosta in večna: "Edina stalnica v informatiki so spremembe." Literatura FrazerJ.A., Reverse Engineering, The Institute of Software Engineering, 1992 Klein M., Methiie L. B., A Decision Support Approach with Application in Management and Finance, Addison-Wesley Publishing Company, 1994 Martin J., The James Martin World Seminar, Savant Institute, 1994 Martin J., OddelJ., The Object Oriented Revolution. Savant Institute, 7991 PreeceJ. et al., Human-Computer interaction, Addison-Wesley Publishing, 1994 ♦ Dr. Ivan Vezočnik je diplomiral na Fakulteti za naravoslovje in tehnologijo v Ljubljani, na Oddelku za matematiko in mehaniko, smer Tehnična matematika. Po diplomi se je zaposlil v Gorenju v Velenju in nadaljeval itudij na Ekonomski fakulteti v Ljubljani. smer Operacijsko raziskovanje, kjer je mogistriral in kasneje tudi doktoriral. Od leta 1979 je zaposlen v Razvojnem centru Celje, kot strokovni delavec in svetovalec za informatiko. nfKmifauA NFOR M ÄTIKA 1997 številka 1 - letnik V