prenovitev informacijskih sistemov cilji vsebina poglavja cilji prenovitve podrobnejsi opisi nekaterih ciljev ponovna uporaba moznost nadaljnega razvoja prehod na distribuirano objektno tehnologijo prenovitev strokovnega jezika tehnoloski razlogi oz primeri nekaterih strategij podatkovne baze transformacija konvencionalnih aplikacij v objektno usmerjene posodobitev uporabniskih vmesnikov povezave splosni cilji prenovitve organizacijski prenovimo tudi poslovni sistem ekonomski tehnoloski cilji prenovitve so naslednji vzpodbujanje ponovne uporabljivosti zanimanje za ponovno uporabo ze napisanih programov in modulov se povecuje saj je nesmiselno ponovno pisanje programov oziroma modulov ki zadovoljivo opravljajo svojo funkcijo zagotovitev manjkajoce dokumentacije veliko aplikacij je bilo napisanih pred nastankom sodobnih diagramskih tehnik in uveljavljenih nacel programiranja tako da dokumentacije sploh ni ali pa je nepopolna nerazumljiva in neazurna zagotovitev manjkajoce dokumentacije je se posebno pomembna kadar informacijski sistem vzdrzujejo ljudje ki niso sodelovali pri njegovem razvoju odkrivanje obnovitev izgubljenih informacij v starih aplikacijah so na rigorozen nacin zapisana poslovna pravila organizacije ki so kljucnega pomena za njihovo delovanje zaradi odhoda kadrov je pogosto z rekonstrukcijo starih aplikacij potrebno odkriti nacin delovanja ter poslovna pravila pomoc pri vzdrzevanju prvi korak pri vzdrzevanju je razumevanje obstojece aplikacije ce je na volju azuren model dokumentacija aplikacije je postopek vzdrzevanja enostaven in poteka brez tezav vec o vzdrzevanju prehod iz ene platforme strojne ali programske opreme na drugo to je najpogostejsi razlog za prenovitev proces prehoda aplikacije iz enega okolja v drugo je zahtevna naloga ki je olajsana ce je aplikacija nacrtovana in izvedena cimbolj neodvisno od ciljnega okolja povezljivost mnogi informacijski sistemi so bili razviti z namenom da sluzijo posameznim poslovnim domenam ne pa celemu organizacijskemu sistemu problem povezljivosti uspesno resujemo s tehnologijo porazdeljenih objektnih sistemov vkljucitev starih aplikacij pod kontrolo orodij case v primeru da so v poslovnem sistemu ze uvedli metodologijo in tehnologijo orodij case je v to okolje smotrno vkljuciti tudi stare aplikacije in s tem izboljsati moznosti za njihovo prenovitev integracijo s tem pa bistveno zmanjsati probleme pri vzdrzevanju vkljucitev starih aplikacij pod kontrolo orodij case narekuje izgradnjo podatkovnega slovarja repository opisa elementov aplikacije in njihovih medsebojnih povezav vec o case orodjih prilagoditev poslovnim procesom organizacija se nenehno spreminja spremembe se odrazajo v novih in prenovljenih poslovnih sistemih ki pa jih informacijski sistemi ne podpirajo vec zadovoljivo vec o poslovnih procesih moznost nadaljnega razvoja do nedavnega je veljala miselnost da se aplikacija razvije nato vzdrzujeje nazadnje pa zamenja z novo zaradi zmanjsanja stroskov in hitrega spreminjanja poslovnih pravil se je pojavila potreba po razvojnih angl evolutionary aplikacijah prenovitev strokovnega jezika terminoloski vidik prenovitve prenovitev informacijskih sistemov je priloznost za enotno poimenovanje temeljnih pojmov ter za zamenjavo starih neustreznih izrazov ki jih danes ne uporabljamo vec z novimi se vedno je informacijska tehnologija najvecji spodbujevalec prenovitve z njo zelimo izboljsati ucinkovitost delovanja informacijskega sistema poznamo naslednje tehnoloske razloge za prenovitev prehod na sodobne relacijske sisteme za upravljanje s podatkovnimi bazami prehod iz konvencionalnih proceduralnih aplikacij na objektno usmerjene prehod od centraliziranih na distribuirane resitve prehod na graficne uporabniske vmesnike gui prehod od paketnih aplikacij v interaktivne sestopanje downsizing prehod na arhitekturo odprtih sistemov osa arhitektura se smatra za odprto ce vsebuje komponente ki zadoscajo specifikacijam ki jih podpirajo razna zdruzenja in konzorciji so te specifikacije na voljo javnosti so vmesniki popolnoma definirani podrobnejsi opisi nekaterih ciljev nekaj ciljev je podrobneje predstavljenih v drugih poglavjih kjer dopolnjujejo vsebino ali pa jim je posveceno kar celo poglavje kje se opisi teh ciljev nahajajo je navedeno ob njihovi kratki predstavitvi na prejsnji strani ponovna uporaba ponovna uporaba programske opreme je sposobnost razvoja aplikacij iz ze obstojece programske opreme krmac kaj lahko ponovno uporabimo ponovno uporabna komponenta je katerakoli komponenta ki je bila namensko nacrtno razvita za uporabo in tudi dejansko uporabljena v vec kot enem kontekstu ponovno uporabne komponente so lahko koda specifikacije zahtev in nacrtovanja procesi metode dokumentacija testni primeri celi sistemi ali podsistemi modeli implementacije razredov primerki objektov ipd skratka gre za vse mozne izdelke ki nastanejo v katerikoli fazi zivljenjskega cikla razvoja programske opreme pri ponovni uporabi velja pravilo predno karkoli ponovno uporabimo mora biti ponovno uporabno to pomeni da predno lahko neko komponento ponovno uporabimo moramo komponento najti vedeti kaj dela in kaksen je njen namen ter vedeti kako komponento ponovno uporabiti ponovno uporabo povezujemo predvsem z objektno tehnologijo ki vsebuje gradnike objekte razrede iz katerih je mozno zgraditi ponovno uporabno programsko opremo vendar se moramo zavedati da se je to dalo ze tudi prej na konvencionalen nacin z uporabo knjiznic funkcij in modulov prednosti ponovne uporabe prednosti ki jih ponovna uporaba prinasa se niso popolnoma izkoriscene in realizirane razsirjene ponovne uporabe programske opreme ki bi zajemala celotno znanje neke organizacije se ni strnimo prednosti v nekaj tock nizji stroski bodocega vzdrzevanja hitrejsi razvoj vecja kvaliteta visja produktivnost med prednosti lahko stejemo tudi dejstvo da je programska oprema ki je bila razvita za ponovno uporabo na splosno dobro dokumentirana in testirana ne smemo prezreti da s ponovno uporabo postaja programska oprema premozenje pridobitev neke organizacije ovire ego nekateri razvijalci se bodo raje lotili pisanja programske opreme na novo kakor da bi ponovno uporabili programsko opremo ki jo je napisal nekdo drug ekonomska plat programska oprema razvita za ponovno uporabo mora biti bolj splosno namenska bolje dokumentirana in testirana zato zahteve vec dela in je drazja v primeru da komponente ne uporabimo imamo torej izgubo problem iskanja komponent problem se prevede na problem shranjevanja komponent poiskati moramo nacin kako komponento najprej shraniti in ob tem zagotoviti nek mehanizem ki nam omogoca da se na shranjeno komponetno kasneje sploh spomnimo in jo cimprej najdemo pravni problem v vecini primerov postane kupec programske opreme lastnik opreme torej ce razvijalec v novem izdelku za novo stranko ponovno uporabi komponento ki je del izdelka ki ga je prodal drugi stranki je to krsitev pogodbe moznost nadaljnega razvoja koncept razvojnih aplikacij podira staro pravilo razvij in vzdrzuj razvojne evolutionary aplikacije opredelimo kot aplikacije ki so sposobne prilagajanja spremembam v casu delovanja potrebujemo jih zaradi naslednjih dejstev zivljenjska doba aplikacij je kjub razvoju tehnologije dolga v casu delovanja se uporabnikove zahteve spreminjajo potrebe po raznih spremembah narascajo predvsem zaradi tehnologije aplikacije ne delujejo v izoliranem okolju nasprotno potrebe po povezovanju aplikacij se povecujejo namen razvojnih aplikacij je v zadovoljevanju tako zacetnih uporabniskih zahtev kot v zadovoljevanju nadaljnih potreb pri nacrtovanju nadaljnega razvoja aplikacije moramo oceniti njeno sposobnost za razvoj evolvability sposobnost za razvoj definiramo kot stopnjo napora potrebnega za prehod iz trenutnega stanja v zeljeno stanje nacina za neposredno merjenje te stopnje zal nimamo v pomoc pa so nam naslednje znacilnosti aplikacije tehnicna ucinkovitost vprasanje ki si ga zastavimo je kaksna je kakovost aplikacije v trenutnem stanju funkcionalna ucinkovitost zanima nas v koliksni meri aplikacija zadovoljuje nase potrebe infrastrukturna zrelost oceniti moramo ali imamo orodja za nadaljni razvoj aplikacij razvojne aplikacije nujno potrebujejo obsezno zbirko raznih informacij o aplikaciji in njeni zgodovini v dokumentacijo pogosto pozabimo zapisati ozadje ki nas je privedlo do sprejetja neke odlocitve in ostale alternative zelimo tudi da imamo potrebne informacije cim prej pri roki in v primernem formatu sposobnost aplikacije za razvoj povecamo z izboljsanjem zmoznosti napovedovanja vpliva nameravanih sprememb in z omogocanjem hitrega izvrsevanja sprememb vpliv se nanasa na performance aplikacije pa tudi na zanesljivost in uporabnost postavlja se vprasanje kdo bo spreminjal aplikacijo na voljo imamo npr programerje ki so razvili aplikacijo a ti so ponavadi zunaj organizacije oz zunaj vsakodnevne uporabe aplikacije po drugi skrajni verziji bi to lahko opravljali sami uporabniki dejansko pa je najprimernejsa neka vmesna stopnja med omenjenima moznostima za podporo zahtevam razvoja potrebujejemo ustrezna okolja ta morajo vsebovati ustezne metode in orodja ki nam nudijo ucinkovito informacijsko infrastrukturo informacijska infrastruktura mora omogocati informacijsko bogato okolje razvojnih aplikacij zmozna mora biti upravljanja informacij iz razlicnih virov v raznih oblikah in medijih ravnanje z raznolikimi informacijami mora biti dovolj natancno in dovrseno da podpira naslednje aktivnosti socasen pogled na sorodne dele programov inteligentno brskanje po informacijskih skladiscih sledenje sorodnih in ali odvisnih informacij jezik html hypertext markup language lahko uporabimo za ravnanje z raznovrstnimi informacijskimi skladisci principi razvojnih aplikacij se ujemajo s principi lepega programiranja koda mora biti opremljena s komentarji modularna in napisana v jezikih cetrte generacije razvojne aplikacije temeljijo na odlicni dokumentaciji npr v jeziku html na ponovni uporabi in v ucinkoviti izrabi prednosti jezikov cetrte generacije prehod na distribuirano objektno obliko mnogi informacijski sistemi so bili razviti z namenom da sluzijo posameznim poslovnim domenam ne pa celemu poslovnemu sistemu izmenjava podatkov med temi sistemi je potekala preko vmesnik datotek problem povezljivosti uspesno resujemo s tehnologijo porazdeljenih objektnih sistemov z razvojem tehnologije je tehnoloske resitve moc vse bolj prilagajati organizacijski in funkcionalni strukturi poslovnega sistema praviloma so distribuirane resitve blizje optimalnosti in ekonomsko bolj ucinkovite od centraliziranih distribuirana objektna tehnologija je tehnologija nove generacije is juric povezuje objektno tehnologijo z arhitekturo odjemalec streznik zdruzuje njune najboljse lastnosti zmoznost predstavitve resnicnega sveta objektov in nacin dela iz arhitekture odjemalec streznik omogoca izgradnjo programske opreme z integracijo komponent objektov starejsi informacijski sistemi so zgrajeni na osnovi arhitektur razlicnih od danasnjih razviti so bili s ciljem sluziti posameznim poslovnim domenam ne pa celotni zdruzbi vecina sistemov pri nas je napisana v cobolu problem predstavljajo stevilne odvisnosti med aplikacijami po drugi strani pa so te aplikacije dokaj nepovezane med seboj saj izmenjava podatkov med njimi ponavadi poteka preko vmesnih datotek prvi korak pri prehodu na distribuirano objektno tehnologijo je poiskati nacin kako ograditi obstojece aplikacije tako da bodo izgledale kot porazdeljeni objekti cilj integracije obstojecih sistemov slika je da bi ti lahko komunicirali tako med seboj kot tudi z novo razvitimi sistemi potrebujemo informacijsko arhitekturo ki bi omogocila sodelovanje obstojecih sistemov in jih razbila v komponente poslovne procese pa v locene kooperativne domene slika integracija obstojecih sistemov ovijanje ali pakiranje angl wrapping informacijskega sistema je proces v katerem definiramo in omogocimo dostop do sistema ovoj wrapper je sestavljen iz vmesnika in kode za povezavo koda omogoca komunikacijo ovoja z informacijskim sistemom vmesniki skrivajo implementacijske podrobnosti obstojecih sistemov omogocajo spreminjanje ali zamenjavo implementacij brez vpliva na preostanek sistema za definiranje vmesnikov uporabimo idl interface definition language odjemalci dostopajo samo skozi vmesnik »ovit« informacijski sistem ali podsistem postane ponovno uporabna komponenta ob tem lahko postane splet eden od odjemalcev ki zeli komunicirati z njim objektni ovoji predstavljajo sistemski pogled neodvisen od implementacije ovit sistem se lahko vkljuci v porazdeljeno objektno okolje z uporabo posrednika zahtev objektov object request broker najprimernejsa arhitektura za te namene je corba common object request broker arhitecture ki ji je objavil konzorcij omg leta corba definira objekte ki med seboj povezejo ze obstojece aplikacije podpira stevilne platforme kot tudi mnozico programskih jezikov kar olajasa izdelavo kode za povezavo poznamo tri strategije ovijanja ad hoc legacy first in component first slednja se najvec uporablja podrobna predstavitev strategij presega namen te diplomske naloge eno od tehnik izdelave ovoja so izdelali v centru za objektno tehnologijo instituta za informatiko na mariborski univerzi predstavljena je v clanku legacy system in distributed object arhitecture izdanega v zborniku konference retis' prenovitev distribuirana objektna tehnologija spreminja temelje prenovitve informacijskih sistemov ni vec potrebe po globokem razumevanju programov temvec se postavlja vprasanje kako informacijske sisteme »oviti« weiderman obstojece resitve lahko nadgradimo in jih kasneje ponovno uporabimo distribuirana objektna tehnologija se ni popolnoma zrela vendar znizuje stroske »ovijanja« hitreje kot uspeva orodjem za rekonstrukcijo znizevati stroske razumevanja programov slabost ovijanja je v podedovanju omejitve funkcionalnosti funkcionalnost obstojecih sistemov scasoma zamenjamo s porazdeljenimi objekti izbrane dele obnavljamo ko imamo na voljo potrebne vire spremembe na posameznih komponenetah nimajo vpliva na preostale vse to nam znizuje stroske in povecuje ucinkovitost prenovitev strokovnega jezika slovenski jezik zaradi vse vecje uporabe neustreznega izrazoslovja ob uporabi informacijske tehnologije ni ogrozen puc pravzaprav nikoli v zgodovini ni bila slovenscina v boljsem polozaju kot je danes ko imamo svojo drzavo problem neustreznega izrazoslovja lezi drugje otezeno je komuniciranje in sodelovanje med strokovnjaki in uporabniki zavira se razvoj informacijske kulture saj vsaka kutura temelji na jeziku pred petnajstimi in vec leti ko so je bil razvit marsikateri danes se delujoci informacijski sistem se nismo imeli ustreznih slovenskih izrazov zato so se razvijalci zatekli k tujkam te danes najdemo v izvorni kodi v dokumentaciji in pri izvajanju stalno srecevanje z njimi otezuje uveljavitev slovenskih izrazov saj beseda zivi samo z uporabo prenovitev pomeni lepo priloznost za uporabo ustreznejsih pojmov slovenci imamo pri uporabi informacijske tehnologije ze od nekdaj tezave s sumniki marsikateri star ali celo nov informacijski sistem ima vsaj dokumentacijo v pokvarjeni slovenscini torej brez sumnikov to je danes nedopustno zato moramo biti pri prenovitvi na to pozorni prenovitev informacijskih sistemov predstavlja priloznost za enotno poimenovanje temeljnih pojmov v dokumentaciji ki se dopolnjuje v casu delovanja informacijskih sistemov se nabirajo razlicni izrazi ki imajo enak pomen pojmi informacijski sistem aplikacija uporabniski program racunalniska podpora imajo oziroma naj bi imeli isti pomen odvisno od tega kdo jih uporablja navadni uporabniki najraje uporabijo kar besedo program ce ne gre drugace se za enoten izraz odlocimo na podlagi najpogostejse uporabe zelo koristna je uporaba podatkovnega slovarja ki spremlja prenovitev informacijskih sistemov v jezikoven namen vanj obvezno vnesemo in opisemo vse kratice in sinonime navkljub vsem omenjenim jezikovnim tezavam ki jih imamo slovenci na podrocju informatike smo lahko optimisti tezav se namrec zavedamo in jih poskusamo resevati natisnjenih je bilo ze kar nekaj racunalniskih slovarjev in pojmovnikov ki se pojavljajo tudi na internetu naj se poudarim da ni naloga prenovitve informacijskih sistemov v resevanju jezikovnih tezav temvec v uporabi ze znanih resitev tehnoloski razlogi oz primeri nekaterih strategij v tem poglavju so predstavljeni nekateri primeri ze opisanih strategij prenovitve informacijskih sistemov ki so posledica tehnoloskih razlogov za prenovitev podatkovne baze odlocili smo se za prehod na sodobne relacijske sisteme za upravljanje s podatkovnimi bazami prehod predstavlja primer podatkovne prenovitve v prvi vrsti se postavi problem katero bazo izbrati nastel bom nekaj dejavnikov ki jih moramo upostevati pri izbiri ferle strojna oprema in operacijski sistem nekatere baze so bolj naklonjene eni druge pa drugi strojni opremi pri vecini vodilnih relacijskih baz sta zanesljivost in odzivnost boljsa v okolju operacijskega sistema unix kot pa v okolju winows nt vendar relacijske baze za platforme z windows nt vsebujejo lepse in prijaznejse uporabniske vmesnike podpiranje standardov sistema za upravljanje s podatkovnimi bazami ki ne podpira standardov sql in odbc ne gre izbrati hitrost delovanja pomembno merilo pri izbiri baze je hitrost vpisovanja in branja zapisov saj ima velik vpliv na odzivnost dokoncanega informacijskega sistema podatke o hitrosti je bolje poiskati v strokovni literaturi ki je praviloma zanesljivejsa od podatkov proizvajalcev in prodajalcev preprostost upravljanja in uporabe med uporabniki podatkovnih baz niso vec le strokovnjaki ampak se jim pridruzuje vse vec povprecnih ljudi zato je pomembno kako preprosto je bazo namestiti jo skonfigurirati upravljati se jo nauciti uporabljati in jo tudi uporabiti varnost podatkov za zavarovanje podatkov pred katastrofami vsebujejo vodilne relacijske podatkovne baze moznost arhiviranja cele baze ali njenih delov glede dostopov posameznikov do dolocenih podatkov morajo imeti baze moznost avtoriziranja uporabnikov z gesli in spreminjajocimi pravicami razvojna orodja in gotovi programi ze pred odlocitvijo za dolocen sistem za upravljanje s podatkovnimi bazami moramo vedeti katera razvojna orodja uporabniske vmesnike poizvedovalna orodja ipd bomo uporabljali oziroma katera orodja je mogoce z bazo sploh uporabiti lokalizacija in domaca tehnicna podpora pomembna je podpora sumnikom moznost razvrscanja po nasi abecedi ipd pozanimajmo se ali je tehnicna podpora brezplacna kdaj je na voljo koliksen je garancijski rok drugi dejavniki pri izbiri so pomembni se mnogi tehnicni dejavniki kot so najvecje stevilo uporabnikov shranjene procedure pravila in sprozilci za distribuirane sisteme povezava z internetom razprsenost baz poizvedb in transakcij uporabnisko definirani podatkovni tipi in funkcije nacin licenciranja uporabnikov transformacija konvencionalnih aplikacij v objektno usmerjene motivacija za prenovitev je spoznanje da koncepti objektno usmerjene tehnike abstrakcija ograjevanje dedovanje olajsujejo vzdrzevanje klösch transformacija konvencionalnih aplikacij v objektno usmerjene je primer prevedbe izvorne kode oz primer restrukturiranja saj se funkcionalne znacilnosti aplikacije ohranijo zaradi manjkajocih informacij neposredna transformacija konvencionalne izvorne kode v objektno usmerjeno ni mozna z raznimi tehnikami rekonstrukcije pridobimo potrebne informacije na visjih ravneh abstrakcije radikalnih sprememb programskih jezikov npr iz cobola v c se danes se ne posluzujemo transformiramo torej iz c ja v c iz cobola v object oriented cobol transformacija zajema stiri faze rekonstrukcijo nacrtov modeliranje preslikovanje objektov priredbo izvorne kode rekonstrukcija nacrtov s tehnikami rekonstrukcije zgradimo razne diagrame diagram podatkovnih tokov strukturni diagram diagram entiteta razmerje diagram entiteta razmerje tranformiramo v obrnjen objektno usmerjen model aplikacije rooam reverse object oriented aplication model objekti in njihovi atributi so izvedeni iz entitet dodamo jim se metode in moznost komuniciranja dinamicni rooam med rekonstrukcijo nacrtov prihaja do stevilnih nejasnosti recimo kateremu objektu naj bo neka procedura funkcija dodeljena za resevanje potrebujemo znanje o podrocju ki ga aplikacija pokriva modeliranje znanje potrebno za resevanje ze omenjenih nejasnosti uvedemo z izdelavo objektno usmerjenega modela aplikacije fooam forward object oriented application model model je neodvisen od dejanske izvedbe naredimo ga na osnovi zahtev in znanja o domeni za modeliranje uporabljamo razne metodologije najveckrat metodologijo coada in yourdona fooam ni podroben npr atributi nimajo dolocenih tipov rooam je poln podrobnosti saj ga dobimo iz izvorne kode poleg tega prihaja se to ene razlike imena vsebinsko enakih objektov in atributov se med modeloma razlikujejo preslikovanje objektov s preslikovanjem objektov zelimo doseci da bi se elementi modelov rooam in fooam ujemali rezultat preslikave je ciljni objektno usmerjeni model aplikacije target ooam dobimo ga s sintezo modelov rooam in fooam vseh elementov modelov pa ne moremo preslikati taksne elemente proceduralnega programa zdruzimo v tako imenovani proceduralni ostanek procedural remainder priredba izvorne kode informacije pridobljene v prejsnjih fazah uporabimo za sintakticno priredbo izvorne kode formiramo objekte vkljucno z metodami priredimo tudi uporabo spremenljivk in procedur ki so postale metode tako npr klic procedure sestej priredimo v imeobjekta sestej problem proceduralnega ostanka resimo z dekompozicijo ki temelji na funkcionalnem kriteriju podroben opis tega postopka je opisan v gall v uvodu sem omenil da je glavna motivacija za opisano transformacijo lazje vzdrzevanje to je olajsano tudi zato ker se znebimo odvecne redundantne kode in pridobimo veliko informacij o aplikaciji te informacije so v obliki omenjenih diagramov posodobitev uporabniskih vmesnikov uporabniske vmesnike prenovimo predvsem z namenom da jih prilagodimo na novo platformo lahko pa jim dodamo samo nove funkcionalnosti ali pa jih zgolj olepsamo posodobitve uporabniskega vmesnika se moramo pri prenovitvi lotiti zelo pozorno saj lahko z nepremisljenimi spremembami mocno otezimo uvajanje uporabnikov dejavnike ki spremljajo proces posodobitve uporabniskih vmesnikov strnemo v naslednje tocke zaslonska tehnologija je postala izredno prefinjena in ima vrsto zmoznosti uporabniki so postali zelo zahtevni na osebnih racunalnikih pc in delovnih postajah kraljujejo graficni uporabniski vmesniki gui graphical user interface ki zamenjujejo tekstovno usmerjene graficne vmesnike nova tehnologija prinasa tudi nove funkcionalnosti in je zato lahko motivator za prenovitev informacijskih sistemov funkcionalne spremembe praviloma gre za izboljsave ki jih nudi nova zaslonska tehnologija pri tekstovnih uporabniskih vmesnikih na primer informacije vtipkamo graficni vmesniki pa nudijo moznost izbire iz padajocega menija v zelo redkih primerih funkcionalne spremembe pomenijo omejevanje sposobnosti na primer opustitev zvocnih komponent pri uporabniskih vmesnikih ce nova platforma ne podpira zvoka integracija uporabniskega vmesnika pri mnogih starejsih aplikacijah je uporabniski vmesnik osrednja komponenta ki vodi delovanje celotne aplikacije posodobitev teh vmesnikov ima globje posledice in nas sili v popolnejso prenovitev aplikacije izgled in obcutek ki ga ima oz nam ga daje uporabniski vmesnik se lahko s posodobitvijo precej spremeni postavlja se nam rahlo filozofsko vprasanje ali naj nov uporabniski vmesnik obdrzi star izgled in obcutek ali pa je bolje privzeti izgled in obcutek ki ga prinasa nova platforma standardi arhitektura odprtih sistemov oz standardi ki jo podpirajo omogoca prenosljivost uporabniskih vmesnikov metodoloski pristop k posodobitvi proces posodobitve uporabniskih vmesnikov razdelimo na tri faze moore odkrivanje v izvorni kodi identificiramo funkcionalnosti uporabniskega vmesnika to lahko storimo rocno z branjem kode in dokumentacije ali z orodji za razumevanje kode predstavitev rezultate prejsnje faze predstavimo funkcionalnosti moramo opisati na nacin ki je neodvisen od zaslonske tehnologije pa vendar dovolj natancen in podroben nekaj metod za predstavitev auidl abstract user interface design language koncni avtomati finite state machines abstraktno sintakticno drevo abstract syntax tree uide user interface design enviroment je predmetno usmerjen transformacija v tej fazi ne gre zgolj za prevod objektov uporabniskega vmesnika gre tudi za sprejemanje odlocitev kako preslikati dolocene objekte iz starega okolja v nov kadar ni mozna neposredna preslikava na primer izborni gumbi v okolju microsoft windows so togglable in ekskluzivni v npr motifu imamo toggle button ki pa niso ekskluzivni pri transformaciji moramo torej poznati komponente uporabniskega vmesnika in njihove atribute knowledge based approach primeri izboljsave funkcionalnosti uporabniskega vmesnika funkcionalnost uporabniskega vmesnika med drugim povecamo z izgradnjo zaslonske pomoci z izgradnjo oken z izdelavo sodobnih menijev s spreminjanjem izgleda pretnar izgradnja zaslonske pomoci zelo pomembna aktivnost pri posodobitvi vmesnika je izgradnja sistema pomoci ki deluje interaktivno pomozne informacije lahko zgradimo za celotno aplikacijo za posamezen zaslon ali za posamezno polje v aplikaciji slika izgradnja zaslonske pomoci izgradnja oken s to funkcijo posodobimo graficni vmesnik v smislu prikaza oken z izbrano vsebino najbolj uporabna so okna ki prikazejo vrednost iz podatkovne zbirke uporabnik izbere zeljeno vrednost ki se prenese v ustrezna polja aplikacije ta tip okna imenujemo podatkovno okno uporabljamo ga se za prikaz podrobnejsih podatkov poleg podatkovnega okna poznamo se racunsko okno ki ga uporabljamo za enostavne aritmeticne operacije in koledarsko okno slika izgradnja oken uporaba sodobnih menijev ta funkcija omogoca prikaz podobnih menijev kot na osebnih racunalnikih meniji so razpolozljivi izbranim skupinam uporabnikov poznamo meni v obliki statusne vrstice in roletni meni slika prikaz menijev spreminjanje izgleda spremembe na nivoju zaslonske slike so v prikazovanju atributov zasciti polj brisanju in premikanju polj spreminjanju label na nivoju funkcijskih tipk pa v spreminjaju namembnosti mnoge informacije najdete na spletnih naslovih ponovna uporaba povzetki clankov domaca stran ponovne uporabe mnogo clankov ponovna uporaba clanek v slovenscini information on software reuse perspectives on legacy system reengineering obsiren clanek porazdeljena objektna tehnologija distribuirani objekti in obstojeci sistemi clanek v slovenscini implications of distributed object technology for reengineering obsiren clanek reengineering legacy systems v zvezi s porazdeljeno objektno tehnologijo domaca stran omg slovar strokovnih izrazov jezik in racunalnistvo slovenscina in racunalniki clanek je potrebno prenesti sql reverse engineering why and how to reverse engineer software clanek v postscript formatu o rekonstrukciji in prevedbi izvorne kode object oriented re architecturing clanek v postscript formatu bylands project home page gre za prevedbo kode reengineering procedural into object oriented systems clanek csm software reverse reengineering primeri clanki o prevedbi kode a configurable code generator for oo methodologies krajsi clanek generating abstract trees with the syntax system issues in user interface migration clanek datoteka serf ps user interface software tools kje najdem clanke