prenovitev informacijskih sistemov orodja za prenovitev vsebina poglavja pomanjklivosti orodij za prenovitev primer sodobnega orodja za rekonstrukcijo refine cobol case orodja uporaba spleta kot infrastrukture pri prenovitvi povezave na trziscu je mnogo ponudnikov raznih orodij za prenovitev ki jih lahko razvrstimo v naslednje kategorije orodja za rekonstrukcijo orodja za razvoj na novo orodja za restrukturiranje orodja za obnovitev dokumentacije orodja za prevedbo izvorne kode orodja za prehod na novo okolje orodja za preoblikovanje orodja za podatkovno prenovitev orodja za razumevanje programov vecina orodij je kompleksnejsih in jih razvrstimo v vec kategorij pri izbiri orodja je potrebno biti se posebno previden saj je na podrocju prenovitve informacijskih sistemov se vedno precej zmede kar zadeva pojme pogosto se izkaze da »kompleksna orodja za prenovitev« podpirajo le nekatere strategije najveckrat rekonstrukcijo k lazji odlocivi pri izbiri nam pomagajo naslednja vprasanja na spletni strani sem pripravil povezave do mnogih ponudnikov razvrscene so po navedenih kategorijah velja se poudariti da se z orodji za prenovo poslovnih pocesov ppp pri prenovitvi informacijskih sistemov praviloma ne moremo kaj dosti pomagati izjema so case orodja ki jih razvrscamo v obe skupini pri razvoju novih aplikacij je nacrtovanje podatkovnih struktur bolj formalizirano sledi nekim standardnim vzorcem kot oblikovanje procesov oz procedur zato je rekonstrukcija podatkov enostavnejsa od rekonstrukcije procesov in vecina orodij zagotavlja mocno podporo pri rekonstrukciji podatkovnih modelov in dokaj sibko pri rekonstrukciji procesnih modelov dolgorocno gledano ja del tehnologije za prenovitev informacijskih sistemov orodja za rekonstrukcijo prehodnega znacaja saj z uporabo case orodij in podatkovnega slovarja pri razvoju novih aplikacij ne bo vec potrebe po rekonstrukciji pomanjklivosti orodij za prenovitev najpogostejsa slabost danasnje tehnologije je pomanjkanje integracije pogosto so potrebna orodja razlicnih proizvajalcev kar povzroca dodatne tezave trenutno je morda najkompleksnejse orodje na trgu software refinery ki ga izdeluje leverage technologist inc orodja za prenovitev analizirajo kodo in posredujejo razne diagrame in porocila pogosto pa se dogaja da orodje ne posreduje vseh diagramov ki bi si jih uporabniki zeleli tezavo predstavljajo razni dialekti programskih jezikov ki jih orodja za prenovitev ne podpirajo najvecja pomanjkljivost je nezmoznost prilagajanja ta pomanjkljivost je najpogostejsi vzrok za neucinkovitost teh orodij projektne skupine se pri velikih projektih odlocajo za razvoj lastnih orodij in s tem izgubljajo dragocen cas ne da bi kaj financno pridobile slabost orodij za prenovitev je tudi v nezdruzljivosti rekonstrukcije in razvoja na novo tako po koncani rekonstrukciji ki omogoca razumevanje analizo in dokumentiranje obstojece aplikacije sprejmemo potrebne spremembe oz izboljsave ki jih uresnicimo v fazi razvoja na novo primer slabega reinzeniringa je da enostavno uporabimo urejevalnik teksta in vnesemo spremembe ter tako spreminjamo izvorno kodo iz stare v novo poleg tega s tem podremo usklajenost kode in podatkovnega modela ker tega ne spreminjamo s spreminjanjem kode primer sodobnega orodja za rekonstrukcijo refine cobol refine cobol je graficni orodjarna za vzdrzevanje izboljsevanje in rekonstrukcijo obstojecih informacijskih sistemov napisanih v cobolu leverage na svetu je najvec aplikacij napisanih prav v tem jeziku omogoca nam povecanje produktivnosti pri vzdrzevanju izboljsanje kvalitete programske kode generiranje dokumentacije in porocil delo z obsirnimi programi pridobljene informacije lahko vkljucimo v case orodje teamwork tm povecanje produktivnosti pri vzdrzevanju pri vzdrzevanju porabijo vzdrzevalci ogromno casa za razumevanje obstojece kode preden se lahko lotijo spreminjanja ce zelimo torej povecati produktivnost pri vzdrzevanju je pomembno predvsem olajsati in izboljsati proces razumevanje kode orodje refine cobol analizira logicne in podatkovne komponente in razmerja v kobolskih programih rezultate predstavi v interaktivnih graficnih porocilih ki vkljucujejo diagrame tabele izvlecke in hipertekst s pomocjo teh porocil programerji dobijo odgovore na vprasanja kaksen je potek programa kje moramo spremeniti kodo da dobimo zeljeni rezultat na katere dele programa bodo predlagane spremembe imele vpliv ocenjevanje in izboljsanje kvalitete programske kode v casu delovanja aplikacije kodo nenehno spreminjamo te spremembe pa zaradi pomanjkanja casa ne delamo sistematicno rezultat se kaze v nekonsistentni nezanesljivi in redundantni kodi ki vcasih sicer funkcionalno zadosca nasim potrebam vendar je vzdrzevanje ali spreminjanje zelo otezeno refine cobol analizira programsko kodo in poda objektivna in kvantitativna merila o kvaliteti kode pri tem uporablja dejavnike kvalitete kot so prenosljivost zanesljivost moznost vzdrzevanja in stevilo raznih anomalij vsak od nastetih dejavnikov je zasnovan na podrobnejsi metriki s katero merimo stopnjo zadoscanja pravilom dobrega programiranja za vsako pravilo orodje refine cobol poda stevilo krsitev in odstotek kode ki pravilu zadosca orodje omogaca nastavitev nasim potrebam torej lahko spremljamo le dejavnike in pravila ki nas zanimajo informacije ki jih dobimo z analizo programske kode so eden izmed dejavnikov ki sluzijo za odlocitev ali bomo aplikacijo vzdrzevali prenovili ali razvili znova predvsem pri vzdrzevanju nam podajo zadovoljivo oceno potrebnih virov generiranje dokumentacije in porocil v preteklosti se je vsa dokumentacija izdelovala rocno programerji so brali kodo ter risali razne diagrame refine cobol omogoca generiranje pravilne sodobne in graficne dokumentacije s pomocjo shranjevanja in tiskanja raznih porocil vsa porocila so interaktivna kar pomeni da lahko uporabnik dinamicno kontrolira vsebino in obliko porocil refine cobol iz kobolske kode generira sledeca porocila strukturni diagram prikazuje tok programa ki ga krojijo ukazi perform call go to ker je strukturni diagram lahko zelo obsezen so vgrajene razlicne moznosti za prilagoditev stevilo nivojev stopnja povecave pomanjsave tabela podatkovnih elementov za vsak podatkovni element spremljamo kje je definiran ime datoteke stevilka vrstice kje je uporabljen njegovo velikost picture stavek aliase in zacetno vrednost diagram tokov prikazuje tok ki ga krojijo pogojni stavki in zanke kvaliteta programske kode ocena kvalitete programske kode je prikazana v obliki tabele dejavniki po katerih kodo ocenjujemo so opisani v razdelku ocenjevanje in izboljsanje kvalitete programske kode delo z obsirnimi programi aplikacije napisane v cobolu obsegajo tudi po vec milijonov vrstic kode orodje refine cobol nima omejitev glede velikosti in stevila programov ki jih lahko analizira porocila za programe s vrsticami zmore zgenerirati v nekaj minutah tako da nam omejitve predstavljajo strojne kapacitete pomnilnik refine cobol omogoca tudi modularizacijo modularizacija pomeni razbijanje obsirnih programov v manjse module z njimi izboljsujemo moznosti ponovne uporabe in odpravljamo odvecno kodo case orodja pomembno vlogo pri procesih prenove in nacrtovanja informacijskih sistemov imajo orodja case computer aided software engineering pri nas jih poimenujemo racunalnisko podprta gradnja informacijskega sistem mihelic case orodja povecujejo ucinkovitost in metodolosko doslednost vnasajo urejenost preglednost ter vecjo hitrost odziva na zahteve uporabnika in tehnoloske spremembe za njihovo ucinkovito uporabo moramo zadostiti izhodiscnim zahtevam kot so nov nacin misljenja poznavanje poslovnega podrocja poznavanje metod in tehnik razvoja is projektni pristop in aktivno vkljucevanje uporabnika v vseh fazah razvoja case orodje je pripomocek ki nam olajsa delo in nas hitreje privede do rezultatov nikakor pa nam ne resuje vsebine problema ali celo postavlja resitve rezultati ki jih dosezemo z uporabo case orodij so vezocnik prenovitev ali razvoj sta podprta s podatkovnim slovarjem dokumentiranost hiter razvoj oziroma hitre rezultate prototipni razvoj lazja in ucinkovita komunikacija z uporabnikom projekt prenovitve informacijskega sistema je lahko zelo obsezen in sestavljen iz stevilnih aktivnosti obnovitev dokumentacije razumevanje programov rekonstrukcija nacrtov zal danasnja case orodja ne podpirajo vseh aktivnosti potrebujemo torej kriterije za vrednotenje in izbiro case orodij izbrano orodje mora podpirati programske jezike uporabljene tako v starih kot novih aplikacijah biti izdelek zanesljivega proizvajalca po moznosti s predstavnistvom v sloveniji nuditi garancije da je zeljen koncni rezultat mozen biti enostavno za uporabo tako da ne potrebujemo dolgotrajnega uvajanja sodobna case orodja omogocajo izdelavo funkcionalnih modelov diagramov podatkovnih tokov podpirajo notacije gane sarson yourdon demarco ssadm dekompozicijskih diagramov in podatkovnih skladisc izgradnjo entitetnih modelov ki je praviloma dvonivojska v konceptualni logicni model vnesemo aplikacijske zahteve fizicni model ki nam ga orodje zgenerira iz konceptualnega zadosca pravilom normalizacije generiranje podatkovnih baz za vec kot dbms database managament systems ter generiranje raznih objektov in podatkovnih gradnikov iz fizicnega modela npr v okolju delphi visual basic power vodenje in upravljanje projektov podporo skupinskemu delu povezavo z internetom in razvoj dinamicnih spletnih strani kaj nam nudi case orodje pri prenovitvi razclenitev izvorne kodo in generiranje datotek v specificnem okolju ki jih potrebujejmo za modeliranje kode razdelitev izvorne kode na vec datotek tako da vsaka datoteka vsebuje le eno funkcijo s tem nam pri izpopolnjevanju dolocene funkcije ni potrebno prevajati se vseh ostalih identifikacijo uporabnih funkcij v kodi ki jih izvlecejo kot ponovno uporabne komponente v obliki objektov ali subrutin izpopolnitev izvlecenih komponent graficno predstavitev strukture izvorne kode sodoben urejevalnik ki nam omogoca lahko pregledovanje kode predvsem s hipertekstovnimi povezavami med npr definicijami funkcij in uporabo funkcij ob tem pa nam graficno prikazujejo »kje se nahajamo« izdelavo dokumentacije na podlagi izvorne kode case orodja nam pri prenovitvi torej precej pomagajo seveda pa nic vec kot specializirana orodja v prihodnosti je pricakovana integracija case orodij z orodji za prenovitev s stalisca funkcionalnosti ki nam jo orodje omogoca lahko recemo da orodje sestoji iz podatkovnega slovarja uporabniskega vmesnika generatorjev programske kode skupine graficnih orodij ki omogocajo modeliranje upravljanje s projekti in podporo razvojnemu ciklu projekta ter generatorjev dokumentacije slika zgradba case orodja pri zelo majhnih projektih razvoja aplikacij oziroma prenovitvi je prisilna uporaba case orodij lahko tudi ovira saj ustvarja nepotrebno dodatno delo v vecini primerov to ne velja zelim samo poudariti da za vsako malenkost pa tudi ni potrebno uvajati to orodje tezava case orodij je neskladnost med nacrti in dejansko izvedbo le teh med kodiranjem vedno pride do manjsih odstopanj od nacrtov ni pa mehanizma ki bi samodejno popravil nacrt brz ko programer spremeni kodo orodja za sinhronizacijo sicer obstajajo vendar se niso zanesljiva nadaljno slabost najdemo v sibki povezanosti podatkovnega in procesnega modela ki je zagotovljena le preko podatkovnih skladisc in podatkovnih tokov ki se nahajo v diagramu podatkovnih tokov model komunikacije z uporabnikom to vrzel nekoliko zmanjsuje saj podatkovni in procesni model povezuje v diagramih za krmiljenje zaslonskih mask generatorji kode vkljuceni v case orodja so ucinkovito orodje za deklariranje podatkovnih struktur manj za generiranje procesov to je posledica dejstva da je pri razvoju novih aplikacij nacrtovanje podatkovnih struktur bolj formalizirano pri zahtevnih aplikacijah se nam praviloma ne izplaca izdelati vseh potrebnih specifikacij v case okolju zato se posluzujemo klasicnega pisanja kode najmanj kar danes nudijo vsi generatorji kode v okviru case orodij je generiranje tabel podatkovni slovar repozitorij podatkovni slovar je baza podatkov ki vsebuje podatke o vseh elementih aplikacije ti elementi so seznami entitet datotek tabel atributov in povezav med njimi podatkovni tipi procesi procedure programi in povezave med njimi podatki o projektnih fazah in virih resursih temeljna funkcija podatkovnega slovarja je v moznosti opisa in pregleda nad razlicnimi objekti elementi ki nastopajo v vseh fazah razvoja in prenovitve aplikacij podatkovni slovar si lahko predstavljamo kot vmesnik med informatiki razvijalci ter orodjem case in aplikacijskim okoljem vsak nov element oz sprememba se avtomatsko evidentira in predstavlja vir vedno azurne dokumentacije uporaba podatkovnega slovarja pa je ucinkovita samo ce se drzimo naslednjega pravila jamesa martina »vsa orodja v projektu morajo imeti isti skupen podatkovni slovar« objektno usmerjena case orodja objektna tehnologija vpliva tudi na razvoj case orodij objektno usmerjena ou case orodja se izognejo slabosti v sibki povezanosti podatkovnega in procesnega modela tradicionalnih case orodij oba vidika obravnavajo v enem v objektu ta zdruzuje tako podatke kot metode ou case orodja omogocajo ponovno uporabo ze razvitih komponent ter vkjucujejo objektno usmerjene mehanizme dedovanje polimorfizem generatorji kode ou case orodij vsebujejo mehanizem za regeneriranje kode kadar spreminjamo diagrame se to sprotno izraza v kodi ce rocno spreminjamo kodo in se vracamo v predhodne faze projekta generator pri ponovnem generiranju kode zazna dele kode ki so rocno vneseni in jih ne spreminja generatorji najpogosteje generirajo kodo aplikacije v jeziku c in kodo z ukazi sql za postavitev podatkovne baze iz objektnih diagramov uporaba spleta kot infrastukture pri prenovitvi internet se siri na vecino podrocij clovekovega udejstvovanja pravtako tudi na podrocje prenovitve informacijskih sistemov tilley jezik html hypertext markup language nam lahko sluzi kot skupna vmesna oblika z njim predstavimo aplikacijo najpreprostejsi nacin predstavitve je da vsak pomembnejsi del aplikacije recimo neko funkcijo opisemo s posamezno datoteko tipa html podatke npr zunanje spremenljivke ki jih funkcija uporablja pa predstavimo v okviru teh datotek s pomocjo etiket meta tags z uporabo html lahko mnoga spletna orodja uporabimo v prenovitvene namene glavna prednost html je v njegovi razsirjenosti relativno enostavni strukturi in preprosti razsirljivosti danes sta spletna brskalnika netscape communicator in microsoft internet explorer ze splosno poznana in ju uporabljo tudi ljudje ki o racunalnistvo ne vedo dosti z vidika razvijalcev orodij za prenovitev je ocitna prednost pri uporabi spletnega brskalnika kot uporabniski vmesnik ta da postane orodje uporabno na vseh platformah oba brskalnika zagotavljata odprto okolje saj communicator podpira predmetni model corba explorer pa com poleg tega veliko lazje navdusimo uporabnike za uporabo takih orodij saj zahtevajo manj ucenja ter tako povecamo njihovo ucinkovitost ce uporabljamo jezik html za predstavitev aplikacije lahko pri prenovitvi uporabljamo tudi spletne iskalnike spletni iskalniki se namrec zelo hitro izpopolnjujejo ker se internet se hitreje siri zadetke nam razvrstijo glede na pogostnost pojavljanja iskane besede najpopularnejsi spletni iskalnik je altavista ki omogoca iskanje tudi drugih datotek ki niso tipa html od nedavnega pa nudi tudi graficno predstavitev rezultatov iskanja in moznost prevajanja v mnoge svetovne jezike za prikaz povezav med dokumenti uporabljajo spletni administratorji web masters posebna orodja denimo microsoftov webmapper v primeru da aplikacijo predstavimo v jeziku html lahko ta orodja uporabljamo za prikaz strukture aplikacije predocitev razmerij med raznimi deli programa nam veliko pomaga za boljse razumevanje programov res je da graficno predstavitev nudijo tudi specializirana orodja za prenovitev toda ce orodje webmapper ali sorodno ze imamo zaradi samega spleta nam ni potrebno trositi dodatnih financnih sredstev podobna ugotovitev velja seveda tudi za ostala spletna orodja dodatne informacije reengineering tool taxonomy software refinery orodja za prenovitev refine cobol predstavitev orodja za rekonstrukcijo program comprehension tool predstavite orodij za razumevanje primer case orodja netron renovator case orodja po kategorijah po ponudnikih case tools kratko in jedrnato using the web as infrastructure for reengineering clanek kje najdem clanke