prenovitev informacijskih sistemov osnovni pojmi vsebina poglavja povzetek osnovni pojmi rekonstrukcija aplikacij obnovitev dokumentacije rekonstrukcija nacrtov razumevanje programov razumevanje kode restrukturiranje tranformacija spageti kode v strukturirano kodo opremljanje kode s komentarji ostale strategije prenovitve povezave povzetek obstojeci informacijski sistemi predstavljajo bogastvo intelektualne lastnine poslovnih procesov in podatkov hiter napredek informacijske tehnologije in prenova poslovnih procesov narekujeta spremembe ki se jim morajo informacijski sistemi prilagajati ena od moznih resitev je razvoj novih sistemov pogosto pa je ta pot predraga in prevec tvegana zato se odlocamo za prenovitev v grobem delimo informatiko na tri aktivnosti razvoj vzdrzevanje in prenovitev odlocitev katera od nastetih aktivnosti je za nas informacijski sistem primerna je tezavna in odgovorna na prenovitev lahko gledamo z vec vidikov v okviru tehnicnega vidika izberemo aplikacije ki so primerne za prenovitev in se odlocimo za najprimernejso strategijo prenovitve ekonomski vidik nas opozori na preucitev ekonomske upravicenosti prenovitve v okviru upravljalskega vidika ocenimo pripravljenost organizacije na prenovitev pripravimo nacrt prenovitve in se zavzemamo za vzpostavitev realnih pricakovanj prenovitev informacijskih sistemov je tudi priloznost za zamenjavo neustreznih izrazov ki smo jih uporabljali v casu razvoja o tem govori jezikovni vidik pri prenovitvi informacijskih sistemov in predvsem poslovnih procesov moramo posvetiti pozornost tudi ljudem ucinke sprememb ki jih prenovitev prinasa opisuje psiholoski vidik prenovitve informacijskih sistemov se lotevamo po metodologiji projektnega vodenja podrobnosti izvedbe projekta so v veliki meri odvisne od specificnega problema prenovitev informacijskih sistemov se navezuje na prenovo poslovnih procesov ppp vsebinski cilj ppp je optimizacija procesa ter njegova racionalizacija ki se dokazuje v skrajsanem casu izvajanja procesov v znizanih stroskih v povecanju kakovosti izdelkov in storitev v skrajsanju dobavnih rokov v povecanju produktivnosti v zmanjsevanju porabljenih virov in podobno tehnoloski cilj prenove je uvedba racunalniske podpore v upravljanje delovnih procesov osnovni pojmi definirajmo pojem informacijski sistem informacijski sistem v sirsem smislu opredelimo kot zbirko ljudi strojev idej in aktivnosti ki omogocajo obdelavo podatkov ter generiranje informacij na nacin ki zagotavlja izpolnitev informacijskih zahtev organizacije kovacic informacijski sistem razumemo tudi kot sklop naprav in programja namenjen ucinkovitemu zbiranju obdelavi shranjevanju in posredovanju podatkov uporabnikom v literaturi in predvsem v vsakdanjem zivljenju pa pojem informacijski sistem v ozjem smislu uporabljamo tudi za aplikacijo ali celo program prenovitev informacijskih sistemov lahko pomeni tako prenovo aplikacije kot informacijskega sistema v sirsem smislu v nalogi sta predstavljena oba vidika prenovitev informacijskih sistemov je sistematicna predelava obstojecega sistema v nov sistem z namenom izboljsanja delovanja funkcionalnosti ucinkovitosti in zmoznosti to moramo doseci v krajsem casu nizjih stroskih in manjsem tveganju za narocnika kot v primeru razvoja znova izhodisce za prenovitev informacijskega sistema je v podpori temeljnim smotrom in ciljem poslovnega sistema ti so povecanje konkurencnosti povecanje produktivnosti in zmanjsanje stroskov to pomeni da je prenovitev informacijskega sistema kljucnega pomena tudi za prenovitev poslovnega sistema prenovitev informacijskih sistemov se navezuje na prenovo poslovnih procesov ppp ppp je temeljito preverjanje procesov in njihovo korenito spreminjanje ki jo sprozimo z namenom skrajsevanje izvajanja procesov znizevanje stroskov povecanje kakovosti izdelkov in storitev skrajsanje dobavnih rokov povecanje produktivnosti zmanjsevanje porabljenih virov in podobno ppp pred prenovitvijo informacijskih sistov je zazeljena ni pa nujna za uspeh projekta prenovitve je potrebno vsaj pregledati poslovne procese ki jih pokriva informacijski sistem ki ga zelimo prenoviti pozornost namenimo procesom ki so se spremenili v casu delovanja sistema novi ali spremenjeni poslovni procesi se v prenovljenem informacijskem sistemu odrazajo kot nove ali izboljsane funkcionalnosti zapostavljanje rezultatov ppp vodi k neuspehu prenovitve saj prenovljen informacijski sistem zajema aktivnosti v procesih ki so nepotrebne ali celo napacne posamezne faze v procesu prenovitve so vezane na ravni abstrakcije ki jih prikazuje slika poslovni model opredelitev poslovanja na logicni ravni tu najdemo poslovne zahteve poslovna merila strategijo nacrtovanje oblikovanje podatkovne in procesne strukture rezultat nacrtovanja procedure akcijski diagrami izvedba implementacija ki zajema izdelavo aplikacije s podatkovnega in procesnega vidika rezultat koda slika ravni abstrakcije proces prenovitve lahko definiramo na razlicne nacine v literaturi najdemo vrsto razlicnih pojmov ki so v celoti nasteti in opisani v poglavju pojmovnik za sedaj omenimo le najpomembnejse prikazuje jih slika rekonstrukcija aplikacij reverse engineering je proces ki poteka v obratni smeri od razvoja torej od programske kode do poslovnih pravil proces zajema analizo aplikacije z rekonstrukcijo njenih komponent in strukture struktura medsebojna odvisnost komponent proces poteka na podatkih in procesih vse do najvisjega nivoja abstrakcije rekonstrukcija omogoca izluscitev vsebine strukture toka podatkov in procesov vsebovanih v obstojeci aplikaciji v obliki ki omogoca razumevanje analizo in dokumentiranje razvoj na novo forward engineering je proces od najvisje ravni abstrakcije logicna organizacija do fizicne implementacije aplikacije pomembna je razlika razvoja na novo od navadnega razvoja oz informacijskega inzeniringa ko razvijamo aplikacijo prvic razvoj na novo vrsimo na podlagi rezultatov predhodne faze rekonstrukcije restrukturiranje restructuring je transformacija obstojece strukture v drugo strukturo poteka na isti ravni abstrakcije praviloma na ravni izvedbe zunanji videz se ohrani cilj je izboljsanje tehnicnih karakteristik ne pa funkcionalnih prenovitev v ozjem smislu je proces ki pomeni predelavo aplikacije do vkjucno izvedbe gre za spreminjanje glede na nove tehnoloske in funkcionalne zahteve proces prenovitve seze najvec do ravni nacrtovanja slika osnovni pojmi po eliotu je prenovitev reinzeniring proces v katerem uporabimo obstojeco aplikacijo kot podlago za razvoj nove prenovljene aplikacije prenovitev delimo na dve fazi kot prikazuje slika rekonstruiranje specifikacij in razvoj nove aplikacije na podlagi prejsnje faze slika eliotov model prenovitve slika dopolnjen model pri eliotovi predstavitvi prenovitve me moti ker ni nazorno prikazano da pri prenovitvi upostevamo tudi nove dodatne zahteve uporabnika uporabimo znanje in izkusnje ki so se nabrale pri uporabi in vzdrzevanju stare aplikacije ter predvem upostevamo rezultate morebitne prenove poslovnih procesov zato sem model dopolnil na sliki je predstavljen dopolnjen model rekonstrukcija aplikacij rekonstrukcija reverse engineering pomeni analiziranje komponent informacijskega sistema in povezanost teh komponent ter predstavitev sistema na visjem nivoju abstrakcije smoter rekonstrukcije ni zgolj prvi korak pri prenovitvi temvec tudi v podpori vzdrzevanju in v obnovi dokumentacije z njo namrec zajamemo potek programa in izlocimo mrtvo kodo kodo ki se ne izvrsuje obstaja vec standardnih definicij rekonstrukcije aplikacij ki jim je skupna delitev rekonstrukcije na dva dela izluscitev informacij miselna aktivnost abstrakcija izdelava predstavitve rekonstrukcija ne spreminja is gre za proces opazovanja primer rekonstrukcije je transformacija kode na visji predstavitveni nivo denimo podatkovni model ali diagram podatkovnih tokov rekonstrukcijo lahko izvajamo na vsaki ravni abstrakcije orodja za rekonstrukcijo primer orodja za rekonstrukcijo refine cobol obnovitev dokumentacije obnovitev dokumentacije je najstarejsi nacin rekonstrukcije gre za pridobitev ali posodobitev dokumentacije za obstojeco aplikacijo dokumentacija predstavlja vsebinsko enakovreden zapis na istem nivoju abstrakcije v obnovitev dokumentacije sodi tudi opremljanje kode s komentarji a v tem primeru lahko govorimo ze o restrukturiranju novo dokumentacijo pridobimo iz obstojece a nepopolne dokumentacije in predvsem iz izvorne kode ob tem moramo dobro poznati domeno informacijskega sistema dokumentacija je ponavadi predstavljena v tekstovnem nacinu ki pa je ze malo zastarel v modi je hipertekst saj z izdelavo kazalcev vsebinsko sorodne dele dokumentacije povezemo in tako omogocimo lazje pregledovanje ostale prednosti hiperteksta so opisane v razdelku uporaba spleta kot infrastrukture pri prenovitvi na spletni strani so navedena mnoga orodja ki nam pomagajo pri obnovitvi dokumentacije zelim pa poudariti da lahko v te namene uporabljamo tudi druga orodja ki jih ze imamo in se njihove uporabnosti vcasih ne zavedamo na primer da obnavljamo dokumentacijo napisano v obicajnem tekstovnem formatu nasa zelja pa je imeti dokumentacijo v hipertekstu uporabimo microsoftov word ali morda nimate worda rekonstrukcija nacrtov za dobro razumevanje obstojece aplikacije ne zadostuje zgolj preucevanje izvorne kode »premakniti« se moramo na drugi nivo abstrakcije to je nacrtovanje ob poznavanju domene informacijskega sistema zunanjih informacij in obstojeci dokumentaciji nacrtov ustvarimo vsebinsko enakovredno predstavitev vendar za razliko od obnovitve dokumentacije na visjem nivoju za shranjevanje pridobljenih informacij ki opisujejo podatke in procese uporabimo podatkovni slovar podatkovni slovar case orodja razumevanje programov razumevanje kode pojem razumevanje programov naznanjuje da se razumevanje zacenja pri izvorni kodi za razliko od rekonstrukcije ki lahko pricne tudi pri izvrsni obliki ali na ravni nacrtovanja rezultat procesa razumevanja ni nujno kot pri rekonstrukciji v zunanji predstavitvi za razumevanje programov razumevanje kode potrebujemo znanja na treh podrocjih programiranje sem vkljucujemo tako poznavanje sintakticnih kot semanticnih pravil poznavanje podrocja ki ga aplikacija pokriva in tehnike ki se uporabljajo za lazje razumevanje programov poznamo tri pristope k razumevanju programov od spodaj navzgor od zgoraj navzdol in razne kombinacije prvih dveh razumevanje od spodaj navzgor razumevanje se pricne pri izvorni kodi in nadaljuje z gradnjo raznih abstraktnih modelov pri pristopu od spodaj navzgor aktivnosti vkljucujejo branje kode komentarjev in dokumentacije izgradnjo modela poteka programa preiskovanje naslednjega elementa v modelu poteka programa preiskovanje podatkovnih struktur in sledenje uporabi spremenljivk med izvrsevanjem razumevanje od zgoraj navzdol za ta pristop ne velja uvodni stavek da se razumevanje zacne pri izvorni kodi tu najprej postavimo hipoteze ki jih potrdimo ali zavrzemo s preucevanjem kode aktivnosti vkljucujejo pridobivanje pregleda nad celotno aplikacijo dolocitev kateri je naslednji programski segment ki ga bomo pregledovali dolocitev primernosti hipotez o operacijah in podatkih za trenuten segment in popravljanje hipotez ali generiranje novih restrukturiranje restrukturiranje je transformacija obstojece strukture v drugo strukturo z namenom izboljsanja tehnicnih karakteristik ne pa tudi funkcionalnih pred restrukturiranjem izvedemo rekonstrukcijo s katero analiziramo obstojec sistem v tem primeru temelji rekonstrukcija predvsem na analizi kode najpogostejsi nacin restrukturiranja je transformacija spageti kode v strukturirano obliko in opremljanje kode s komentarji rezultat restrukturiranja pa so tudi razna poenotenja npr enovito ravnanje pri napakah enovito in konsistentno podajanje parametrov pa tudi odpravljanje mrtve kode k restrukturiranju pristevamo se preoblikovanje kjer opravljamo zgolj lepotne spremembe na kodi ki s tem postane lazje berljiva spremembe se odrazajo predvsem z urejanjem z zamiki uporabo krepkega tiska z vpeljavo velikih zacetnic na spletni strani sem pripravil vrsto povezav za orodja ki podpirajo restrukturiranje tranformacija spageti kode v strukturirano kodo tipicen primer restruktoriranja je transformacija spageti kode v strukturirano kodo oziroma odprava goto stavkov zavedati pa se moramo da lahko taksna transformacija popolnoma spremeni potek programa in s tem pogoje vzdrzevanja razumevanje programa je za krajsi cas celo otezeno tako da stari vzdrzevalci aplikacij izgubijo del prednosti napram novim za resevanje opisane nevsecnosti moramo obvezno izdelati diagram poteka programa pred transformacijo in po njej opremljanje kode s komentarji opremljanje s komentarji je pogost nacin restrukturiranja komentarji izboljsujejo oz olajsujejo proces razumevanja programov ki je osnova tako za rekonstrukcijo kot za vzdrzevanje opremljanje kode s komentarji nam lahko prihrani veliko denarja in casa saj pri vzdrzevanju polovico casa porabimo za razumevanje programov samo vzdrzevanje pa predstavlja denarja krisper ki je potreben v zivljenjskem ciklu aplikacije dobri komentarji opisujejo delovanje in ucinke ki niso razvidni ze iz same kode komentarji pa imajo tudi svoje slabe strani v primeru da niso azurni nas lahko zavajajo rusijo potek programa kar povzroca tezave ki so opisane v prejsnjem razdelku in podaljsujejo programe sodobni urejevalniki nam omogocajo vzpostavljanje povezav med kodo in pripadajocim komentarjem tako lahko pri pregledovanju komentarje vkljucimo ali izkljucimo ostale strategije prenovitve ob rekonstrukciji in restrukturiranju ki sem ju ze omenil poznamo se naslednje strategije prehod na novo okolje informacijski sistem prenesemo na novo strojno opremo oz na sodoben operacijski sistem ta nacin prenovitve je zelo pogost pa tudi zelo kompleksen saj vkljucuje se ostale strategije v fazi rekonstrukcije posvetimo posebno pozornost rekonstrukciji nacrtov po rekonstukciji ali pred njo izvedemo se prenovo poslovnih procesov tako da prenovljen informacijski sistem ne podpira nepotrebnih aktivnosti sledi modularizacija z njo obsezne aplikacije razbijemo v manjse module kar nam lajsa proces transformacije oziroma prevedbe kode prevedba izvorne kode je potrebna kadar programski jezik obstojecega sistema ni podprt v ciljnem okolju prehod na novo okolje zakljucimo z optimizacijo ki vkljucuje prilagoditev uporabniskega vmesnika podatkovno prenovitev dodajanje ali izlocanje funkcionalnosti ter vkljucitev in uporabo programskih konstruktov ki jih omogoca ciljni programski jezik obnovitev dokumentacije obnovitev dokumentacije sicer spada pod rekonstrukcijo vendar kadar zelimo z rekonstrukcijo zgolj izboljsati dokumentacijo uporabljamo raje pojem obnovitev dokumentacije vec o obnovitvi dokumentacije prevedba izvorne kode gre za transformacijo kode iz enega jezika v drug jezik ali iz ene verzije jezika v drugo verzijo istega jezika prevedba izvorne kode je delno avtomatizirana prednosti avtomatizirane prevedbe kode niso samo v skrajsanju casa temvec tudi v dejstvu da je proces moc testirati ponavljati in vrednotiti seveda je potrebno se vedno dosti rocnega dela predvsem v primerih ko npr kaksna deklaracija ali operacija nima ekvivalentnega para v ciljnem programskem jeziku pred prevedbo izvedemo rekonstrukcijo in za njo optimizacijo kjer opravimo podobne aktivnosti kot pri prehodu na novo okolje ker se pri prevedbi kode funkcionalnost ohranjuje lahko prevedbo izvorne kode pristevamo tudi k restrukturiranju podatkovna prenovitev vse strategije ki jih izvajamo nad kodo lahko izvajamo tudi nad podatki v tem primeru restrukturiranje pomeni npr normalizacijo ali pa racionalizacijo imen proces s katerim odpravljamo razlicna poimenovanja vsebinsko enakih podatkovnih elementov podatkovne datoteke prevedemo iz navadnih tekstovnih datotek v okolje relacijskih podatkovnih baz ter na nove platforme pogost vzrok za podatkovno prenovitev je tudi prevedba kode saj nov programski jezik lahko pomeni tudi drugacen dostop do podatkov ali pa celo ne podpira sedanjega formata podatkovnih datotek ob navajanju strategij oz ob izbiri ustrezne pogosto dopisemo se vzdrzevanje in razvoj znova kot dve klasicni neprenovitveni strategiji u s army uvodno predstavitev osnovnih pojmov zakljucujemo z metamodelom prenovitve informacijskih sistemov slika metamodel prenovitve informacijskih sistemov mnoge informacije najdete na spletnih naslovih description of the taxonomy razlaga pojmov in spisek clankov v revijah povzetki bibliographic references terminology pojmovnik reengineering definitions pojmovnik reverse engineering why and how to reverse engineer software clanek v postscript formatu o rekonstrukciji in prevedbi izvorne kode core technologies for system renovation clanek data reverse engineering clanki in povezave o podatkovni prenovitvi ihris data reengineering project context clanek opis projekta reverse engineering and system renovation an annotated bibliography krajsi clankek s povezavami perspectives on legacy system reengineering obsiren clanek software reengineering assessment handbook obsiren prirocnik v pdf formatu kje najdem clanke