MODELIRANJE INFORMACIJSKIH SISTEMOV Z UPOŠTEVANJEM ELEMENTOV DINAMIKE REALNEGA POJAVA INFORMATICA 3/87 UDK 519.863 Brane Semulič Cinkarna Celje Povzetek Članek opisuje predlog pristopa k snovanju ra­ čunalniško podprtih informacijskih sistemov, ki naj ti reSil probleme konsistentnosti sis­ temov, ki nastopajo zaradi tega, ker obstoje­ či pristopi običajno ločijo projektiranje ba­ ze podatkov od projektiranja programov, ki te podatke uporabljajo. Summary In this paper an approach to oomputer suppor- ted information sj-stem design is presented. Vith described approach we caa solve the pro­ blema of system consistency whioh ooour in oase of usual design when in separated way8 is approached to the data base design and to the programs design. 1 UVOD Predlagan pristop se nanaša na izgradnjo tistega dela poslovnih informacijskih si­ stemov, ki so determinirani in Jih Je mo­ žno detajlno strukturirati. Pri tem izha­ jamo iz dognanj teorije in prakse baz po­ datkov. Pri snovanju večjih kompleksnih program­ skih proizvodov se srečujemo s problemi, ki se nanašajo na konsistentnost celotnega si­ stema, ker obstoječi pristopi v veliki me­ ri ločijo projektiranje baze podatkov od projektiranja prograaov, ki te podatke upo­ rabljajo, kar pomeni, da ne upoštevajo ča­ sovne povezanosti med snmimi programi, ka­ kor tudi med programi in podatki. Rezultat vsega tega se kaze v nerešenih problemih sinhronizacije. RazreSitev opisanih problemov lahko doseže­ mo z uporabo pristopa, ki ga opredeljujeta sledeči fazi (6): - izdelava sheme koncepcije informacijskega sistema in - izdelava interne sheme informacijskega sistema. Rezultat prve faze Je "SHEMA KONCEPCIJE INFORMACIJSKEGA SIST33U", ki zagotavlja: - celovito, - konsistentno, - neradundantno in - Jasno semantično predstavitev proučevanega pojava. Naloge in prednosti - sheme koncepcije infor­ macijskega sistema so enake kot pri shemi in podshemi baze podatkov, vendar s to raz­ liko, da daje navedena shema kompleksnejši prikaz obravnavanega readnega pojava, ker upošteva tudi element časa. V naslednji fa­ zi, ki obsega izdelavo "interne sheme infor­ macijskega sistema", pa dopolnimo rešitve, ki smo Jih dobili z izvedbo prve faze, s tehničnimi karakteristikami in parametri, ki smo Jih pre^ izpustili. Rezultat interne sheme informacijskega sistema nato uporabi­ mo za implementacijo programskega proizvoda, ki ga v tem kontekstu zaokrožuje struktura podatkov, ki Je zbrana v bazi podatkov, zbir­ ka programov in ustreznih transakcij v bazi programov ter zbirka kontrolnih ukazov, ki Jih aktiviramo s pomočjo povezovalca infor­ macijskega sistema, ki sproža programe in transakcije med posameznimi podatki. Na sliki 1 imamo ilustrativen prikaz postopka izgradnje tako zasnovanega programskega proizvoda. SHEMA KONCEPCIJE FAZE > NAČRTOVANJA INTERNA SHEMA INFORMACIJSKEGA SISTEMA POVEZOVA­ LEC IS Slika 1 42 Vlogo povezovalca infoi-macijskega sistema lahko prevzamejo različni akterji, k^t so na primer: ročni postopki, za to posebej izdelani programi., kombinacije obeh omenje­ nih , sistem za upravljanje z bazo podat­ kov (i)BMS) ipd. V nadaljevanju se bomo omejili na prikaz prve faze predlaganega pristopa, ki obse­ ga izdelavo sheme koncepcije informacij­ skega sistema. 2 IZDELAVA SRtiraJ KUN0EK3IJ1:' INFORMACIJSKEGA SISTEMA 2.1 Izhodišča izdelave sheme koncepcije informacijskega sistema Pri izdelavi sheme koncepcije informacij­ skega sistema veljajo enake zakonitosti, kot pri izdelavi logične sheme baze podat­ kov, vendar s to razliko, da je shema kon­ cepcije delovanja informacijskega sistema obravnavana s širšega vidika. Pri izdelavi omenjene sheme upoštevamo vse vidike real­ nega pojava in ne samo statični vidik or­ ganizacije kot je to slučaj pri bazi podat­ kov. Tukaj imamo v mislih predvsem transak­ cije, ki vsakokrat povzročijo vzpostavitev novega konsistentnega stanja znotraj siste­ ma baze podatkov. Zaradi opisanih lastnosti transakcij jim pravimo, da predstavljajo "vedenjske eno­ te" baze podatkov. S tran''akcijami generi- rsuno torej novo stanje baze podatkov, ki ustreza dejanskemu stanju evolucije real­ nega pojava. Pri opazovanju realnega pojava zasledimo, da le ta reagira na vsak dogodek, s tem, de s pomočjo izvedbe določenih aktivnosti vzpostavi novo stanje. Podobno situacijo imamo pri sistemih podatkov, ko s transak­ cijami vzpostavimo novo stanje, ki zrcali stanje zasledovanega realnega pojava. Da se izognemo nekoordiniranosti delovanja sistema baze podatkov glede na delovanje realnega pojava, morajo biti transakcije, s katerimi spreminjamo stanje baze podatkov, preslikava aktivnosti zasledovanja realnega pojava. Na osnovi zapisanega lahko podamo sledeči ugotovitvi, in sicer da (J): . s podatki ponazarjamo podatkovne pojme (entitete) realnega pojava in da . s transakcijami ponazarjamo vedenje pro­ učevanega, realnega pojeva. Tako razširjeno gledanje nam Je osnova za pristop k izdelavi sheme koncepcije infor­ macijskega sistema, ki ga izdelamo brez upoštevanja kakršnihkoli tehničnih paramet­ rov, ki jih je potrebno upoštevati za im­ plementacijo modela na konkretnem računal­ niškem sistemu. V našem gledanju modela koncepcije informa­ cijskega sistema imamo torej fomializirano integracijo treh vidikov, in sicer: . statične strukture elementov modela in­ formacijskega sistema, . transakcije med elementi modela informa­ cijskega sistema in . časovni vidik relacij med posameznimi elementi modela informacijskega sistema. če proučujemo realni pojav z opisanih treh vidikov, pridemo do sledečih ugotovitev W- . da obstajajo ti^i osnovne kategorije po­ java, ki jih je možno opisati glede na njihove lastnosti kot: - objekte - dogodke in - operacije. . da je možno dinamične odnose med našteti­ mi kategorijami izraziti s POVEZAVA?«, ki Jih glede na vrsto povezave delimo na: - modifikacijo (povezava: OPEHACIJA- OBJEKl') - spoznanje (povezava: OBJEKT-UOGODEK) - sprožitev (povezava; DOGODEK-OPERACIJA) V nadaljevanju si bomo opisane kategorije in njihove medsebojne povezave nekoliko po- bliže ogledali. 2.2 Opisi kategorij realnega pojava in njihove povezave Videli smo, da obstojajo tri osnovne kate­ gorije realnega pojava, in sicer; . objekt-predstavlja trajno konkretno ali abstraktno proučevano komponento organi­ zacije, ki jo lahko detajlneje opredeli­ mo, . operacija-predstavlja nalogo, ki jo je potrebno realizirati v organizaciji ob določenem času, . dogodek-predstavlja spoznanje o spremembi • stanja enega ali več objektov po izvedbi operacij Med posameznimi opisanimi kategorijami ob­ stojajo povezave, ki jih opredelimo slede­ če: . spoznanje-Je povezava, ki združuje dogo­ dek in enega ali več objektov. Izraža spremembo stanja objektov, ki Je povzro­ čena 8 pojavom nekega dogodka, . sprožanje-Je povezava, ki združuje dogo­ dek in eno ali več operacij. Pove, da določen dogodek sproži eno ali več opera­ cij, . modifikacija-predstavlja zvezo med opera­ cijami in oojekti. Izraža kako operacija preoblikuje objekt. Iz opisanega Je moč razbrati, da so dogod­ ki tista kategorija, s katero opredeljuje­ mo dinamiko realnega pojava. 2.5 Opredelitev dinamike realnega pojava Dinamiko realnega pojava opredeljujejo do­ godki, ki jih ločimo na (7;; . pasivne dogodke in . aktivne dogodke. Pasivni dogodki povzročijo samo novo stan­ je proučevanega objekta, medtem, ko aktiv­ ni dogodki sprožijo izvajanje ene ali več operacij. Opisana dinamika realnega pojava temelji na Jasnem razlikovajjju med: . stanjem, . spremembo stanja, ki jo povzročijo pasiv­ ni dogodki in . spremembo stanja, ki jo povzročijo aktiv­ ni dogodki. 43 Stanje nekega objekta je lahko trajno, med­ tem, ko je sprememba stanja dogodek in je trenutna. Pasivni dogodek izraza prehod i-z enega stanja v drugo. Alctivni dogodek se razlikuje od pasivnega po tem, da spremen- ho stanja povzroči tudi izvajanje ene ali vec operacij. 2.4 formalna opredelitev realnega pojava, njegovih kategorij in njihovih lastnosti 2.4.1 Opredelitev na nivoju realnega pojava Realen pojav, ki ga v našem primeru zaokro­ žuje temeljni proces poslovnega sistema, bomo skušali opredeliti na sledečih nivo­ jih (7): . nivoju realnega pojava • nivoju pojmovnega modela in . nivoju podatkovnega modela Pri proučevanju temeljnega procesa na nivo­ ju realnega pojava ugotovimo, da ga je mo­ žno opredeliti z množico veličin, s kateri­ mi opišemo njegove karaJcteristike. Te veli­ čine označujemo kot objekte (OBR). Objekt (OEH) proučevanja v temeljnem procesu po­ slovnega sistema je lahko "kupec'', "naro­ čilo", "proizvod" itd. Dogodki (DG.^) pa povzročajo spremembe stanja opazovanih ob- jekto-vr (S"5f ), ki po dogodku preidejo v neko novo stanje. 2.4.2 Opredelitev na nivoju pojmovnega modela Preslikava temeljnega grocesa na nivo poj­ movnega modela nam sluzi za prikaz našega gledanja temeljnega procesa, ki abstrahira za nas nepomembne vidike gledanja tega procesa in prikazuje samo tiste elemente in njihove medsebojne odnose, ki so za nas po­ membni. S ciljem takšne opredelitve modela temeljnega procesa (TPp) smo ugotovili, da je v osnovi sestavljen iz treh temeljnih gradnikov - kategorij in sicer: objektov (OBp),dogodkov (DGp) in operacij (OPp).To lahKo zapišemo takolo (7): TPp = (OBp. DGp, OPp) pri čemer je: 0B_ (1.1) DG_ 0P_ [OPJ; i = 1,2,3,...,n| i = 1,2,5,... ,nrij k = 1,2,5,...,1J (1.^) (1.3) (l.'^) Povezave, ki nastopajo med posameznimi ka­ tegorijami, pa napišemo takole: .modifikacija (MO ) predstavlja preslikavo o operacije (OP ) ^v objekt (OP ) M0_ 0P_ —> 08^ (1.&) .spoznanje (S2 ) predstavlja preslikavo ob­ jekta (OB ) v*'dogodek (DGp) 3Z_ 0B_ "^ DG^ (1.6) .sprožitev (SP ) predstavlja preslikavo do­ godka (DG ) v^operacijo (OP_) P P Stanje (op) proučevanega pojava (1P_) ugo­ tovimo tak.J, da zasledujemo opisane^kate- gorije in njihove medsebojne povezave (FV ). Pri tem je potrebno izpostaviti, da nas ^ z'5nimajo samo tista stanja, ki so dogodki. Formalno izrazimo to taJiole (7): S = (TP , PV ) p ^ p' p' pri čemer je: PVp = (nop, ssip, sPp) (i.e) (1.9) (1.10) Spremembo stanja (3p) povzroči izvedba tran­ sakcij, ki predstavljajo osnovne elemente poslovanja v temeljnem procesu poglovneca procesa. Transakcijo sproži dogodek (DGp), ki povzroči izvajanje ene ali ve5 operacij (OPR), s katerimi se izvede spre­ memba na ustreznih objektih (OB^). V prou­ čevanem pojavu ^TPp) se lahko izvaja spro­ žanje dogodkov t,DG j)): .v kronološki odvisnosti ("^0 ) ali pa .v pogojni odvisnosti (PO ). Dogodek DG^ je v kronološki odvisnosti (KOp) z dogodkom DG^ takrat, kadar dogodek DG nepogojno sproža operaci­ je OFZ, ki povzroči sprememoe stanja objeK- ta OB£, kar spoznamo z dogodkom DG'' P P- Dogodek DG" je v pogojni odvisnosti (Po ) z dogodkom DG taOcrat, l^adar dogodek DG pogojno sproži operacijo OP ali kadar Bprememoa stanja, povzročena z operacijo OP^ ne povzroči vedno dogodka DG". 2.4.5 Opredelitev na nivoju podatkovn'?ga mode­ la Proučevanje realnega pojava (TPD) Z nivoja podatkovnega modela predstavlja preslikavo pojmovnega modela z vidika opredelitve in analize potrebnih podatJcov. Pri proučevanju kategorij realnega pojava (0B_, DGj. in OP j.) ugotovimo, da pripadajo oziroma, da so po­ vezani s posameznimi podatkovnimi razredi (R_). iSnačilnosti, ki združujejo posamezne kategorije realnega pojava znotraj podatkov­ nega razrisda, lahko formalno zapišemo tako­ le (7)! (VR^) (Vx) (K^) (xfiK^ => ^>h.j^ 3P_ DGp -^ OPp (l.V) čie pravi, da pri danem podatkovnem razredu (H^) in opredeljeni lastnosti (L), ki je smiselna za atribute (X) podatkovnega raz­ reda, i,ixeksistira kategorija /,,nv, ki ima (.rilj) (Kjj; za atribute natanko tiste atribute podat­ kovnega razreda /ui',, ki iraajo lastnosti (L). '•''D-' 44 V našem primeru imenujemo podatkovni model "shema koncepcije informacijskega sistema". Da bi zadostili potrebam izdelave predlaga­ ne sheme koncepcije in v formalni obliki opr"delili prej opisane karakteristike in lastnosti proučevanega pojava, moraaio najti ustrezen ns.iin formalnega prikazovanja. To dosežemo z (5): . uporabo ^lipiziranega modela preslikav . uvedbo tipov preslikav, s katerimi pona­ zorimo različne kategorije in uvedbo dejavnika časa. Povezavo med podatkovnimi razredi in opisa­ nimi kategorijami dobimo tako, da: . vsaUc podatkovni razred in vse vrste pove­ zav prikažemo z eno ali več preslikavami, . lastnosti podatkovnega razreda prikažemo z atributi preslikav in . uporabimo za prikaz podatkovnega razreda . množico tipiziranih preslikav, ki jih označimo kot: -R-objekt, -R-dogodek in -R-operaoija (6). Navedene tipe preslikav izrazimo v tretji "normalizirani obliki grupiranja podatkov v stavke. iJa potrebe dekompozicije podatkovnega razre­ da na elementarne podatkovne zapise se pos­ lužujemo tipov preslikav, V nadaljevanju bo­ mo podali kratke definicije posameznih ti­ pov omenjenih preslikav: . preslikava "H-objekt" (H-03j,) je perma­ nentna preslikava,kjer je vsak atribut v permanentni odvj snosci od kijuoa pre­ slikave. "R-ohjekt" predstavlja elementarni položaj opazovanega podatkovnega razreda v sistemu. Ta preslikava nam omogoča, da prikažemo elemente proučevanega pojava in njihovo strukturo. Se bolj precizno pove­ dano, ta preslikava nam omogoča časovno konsistentni vidik opazovanega realnega pojava. Pemanentna odvisnost med dvema atributo­ ma A in 3 je elementai-na, direktna in kano- nična odvisnost, kjer je vsak dogodek a, ki pripada atributu A, odvisen od dogodka b, ki pripada atributu B. Dogodka a in b imata enako življensko dobo. Zapisano trdi­ tev lahko izrazimo tudi takole (7): A —^ B =[(a,b): (Va) (Vb) (aC AAb Atribut A implicira atribut B, pri čemer je a dogodek atributa A 3 :i b dogodek atri­ buta B. Za vsak dogodek a in b velja, da sta elementa množice dogodkov atributa A oziroma B in da imata lastnost L. . preslikava "H-operacija" (R-OPp) je per­ manentna preslikava, ki se nanaša na do­ ločen podatkovni razred in je v tesni po­ vezanosti s preslikavo "fi-objekt" (H-OB|,). S to preslikavo opišemo spremembo stanja (TIP SPREMEMBE), ki se izvrši na določenem "E-objektu". llormalizireui zapis relacije "R-operacija" mora odgovarjati naslednjim zahtevam (6): i-OP^ -> H-i OBD R-OPT, -> TIP SPREMEMBE (1.13) (l.l'*) H-OPjj —> TEKST OPERACIJE (1.15) Spremembe se lahVo pojavijo kot kreacija, des- trukoija ali modifikacija. 3 tekstom operaci­ je je mišljen kratek opis vsebine operacije. Iz zapisa (l.lj) vidimo, da se R-operacija nanaša na točno določen_R-objekt in da z njo točno opredelimo, s kakšno vrsto stanja imauno opraviti (l.l4 in 1.15). . preslikava "R-dogodek" (R-DGj,) je permanen-- tna preslikava. Njena normadizacija mora za­ dostiti sledečim pogojem: - da se nanaša na točno določen fi-objekt (1.16) - da identificira nastalo spremembo izmed možnih tipov sprememb, ki smo jih opisali že pri opredelitvi preslikave "fi-operaci- ja" (I.IV) - da opiše nastalo spremembo (1.18) in - da identificira operacije, ki se sprožijo z opisanim dogodkom (1.19) Navedene pogoje je možno zapisati tudi slede­ če (6): R-DG- -> R-OB„ (1.16) R-UG- ~> TIP SPREMEtIBE (1.17) R-DGjj ~> OPREDELITEV SPREKEtlBE (1.16) (1.19) H-DGj3 ~> R-OP^, Sprožanje operacije, ki jo povzroči dogodek, je lahko "pogojeno" ali "iterativno". V prvem primeru se odgovarjajoča operacija sproži sa­ mo v slučaju, ko so izpolnjeni določeni pogo­ ji, ki jih poprej definiramo. Pri iterativnem sprožanju pa se sproži izvajanje operacije o\> vsakem pojavu ustreznega dogodka. 2.t' ouatiSni in dinamični vidik sheme koncep­ cije informacijskega sistema V predhodnih izvajsujjih -mo prikazali iz­ hodišča in osnove za pristop k izdelavi sheme koncepcije informacijskega sisteme. Temeljni proces poslovnega sistema smo oprridelili ra nivoju realnega pojava, ni­ voju pojmovnega modela in nivoju podatkov­ nega modela. V procesu snovanja informa­ cijskega sistema nas zanima predvsem nivo podatkovnega modela, ki predstavlja nivo opredelitve predlagaiie sheme koncepcije informacijskega sistema. Samo shemo koncepcije informacijskega sistema delimo na dva dela, ki ju ločimo glede na vidik prikazovanja in obravnave na: . statično podshemo (logična shema baze podatkov) in . dinamično podshemo (shema interakcij informacijskega sistema) 45 Statična podahema oz. logična shema baze podatkov zajema opredelitev preslikav ob­ jektov (R-03jj) realnega pojava ter njiho­ vih lastnosti. Pri tem smatramo objekte kot podatkovne pojme, ki jih opredeljuje­ jo ključi njihove identifikacije in atri­ buti opisa njihovih lastnosti. S pomočjo sintakse, ki jo predvideva izdelava logi­ čne sheme baze podatkov, izrazimo poveza­ ve med tako opredeljenimi podatkovnimi pojmi. Dinamična podshema oziroma shema interak­ cij informacijskega sistema pa obsega po­ pis dogodkov (R-UGj.) in operacij (H-OPj.), s katerimi ponazarjamo dinamiko informa­ cijskega sistema ter ilustrativen prikaz informacijskega sistema. Za potrebe grafičnega prikaza uporabljamo sledeče simbole: SIMBOL O v POMEN R-objekt (H-OBjj) R-operacije (R-OP_) R-dogodek (R-DGjj) iterativno sprozanne H-operacije (R-OPj.) pogojno sprožanje H-operaoije (R-OPp) "spoznanje", kot rela­ cija med R-objektom (R-OBjj) in fl-dogodkom (H-OPj) "sprožsmje", kot rela­ cija med R-dogodkom (R-BG,,) in E-operacija- mi (RiiOPj,) "modifikacija", kot re­ lacijo med R-operacijo in H-objektom Slika J; Simboli, ki se uporabljajo pri izdelavi dinamične podsheme de­ lovanja informacijskega sistema ZAKI«fUCKI Pri proučevanju realnega pojava in njegove dinamike pridemo do spoznanja, da ga opre­ deljujejo tri kategorije:objekti, dogodki in operacije, ki jih je možno ustrezno op­ redeliti na nivoju realnega pojava, nivoju pojmovnega modela in nivoju podatkovnega modela. če podatkovnim zapisom na nivoju podatkov­ nega modela, ki so nomializirani v tretji normalni obliki (JNF), dodamo še časovno omejitev, dobimo elementarne gradnike in­ formacijskega sistema, ki jih opredelimo kot preslikave objektov ustreznih podatkov­ nih' razredov, ki smo jih označili kot H-objekte. Z kategorijami R-objekt, R-dogodek in R-operaciga je na nivoju podatkovnega modela možno izdelati grafični prikaz de­ lovanja informacijskega sistema. Pri tem ima takšen prikaz podobno vlogo kot logič­ na shema baze podatkov in ga imenujemo di­ namična shema koncepcije informacijskega sistema. Takšen prikaz se od logične sheme baze podatkov razlikuje v tem, da omogoča prikaz dinamike delovanja informacijskega sistema. Opisani pristop sodi v družino sodobnih metod sistemske analize, ki temeljijo na analizi podatkov. Zaradi konsekventnih pra­ vil, ki veljajo pri izdelavi dinamične in statične podsheme informacijskega sistema, je možno paralelno delo več strokovnja­ kov pri izvajanju sistemske analize komp­ leksnih informacijskih sistemov, ki ob za­ ključku dela svoje reziiltate brez proble­ mov vskiadijo. LIOERAIIJEA 1. Martin J. Computer Data Baae Orgsini- zation, Prentice Hali, New Jersey, 1977 2. Prijatelj N.: Matematične strukture I, Mladinska knjiga, Ljubljana, 1971 3. Rolland C,Albin P.: Management of Real Time Sjrstem Projects, Prooeedings of the 7. INTERNET World Congress, Copenhagen, 1982 4. Rolland C, Benci G.: Management of Information System Projects, Prooeedings of the 6.INTERKET World Con­ gress, Garmisch-Partenkirchen, 1979 5. Rolland C, Richard C: Transactions Mo- deling, Universite de Pariš I, Pantheon-Sorbonne, Pariš, 1982 6. Semolič B.: Magistersko delo, V£KŠ Maribor, 1986 V nadaljnjem procesu snovanja informacij­ skega sistema nam dinamična podshema (she­ ma interakcij) služi kot osnova za izde­ lavo ustreznega programskega proizvoda, medtem, ko nam statična podshema služi kot logična shema baze podatkov, ki je izhodišče za načrtovanje ustrezne fizič­ ne zasnove baze podatkov na konkretnem računalniškem sistemu.