ro Tl° oz 73 * w m > > think South East Europe Where technology meets Humanity ••V .• ■ ' r ' \ 404 (10.9%) B M^B 1171 (31.7%) c 2119 Kategorija Skupne vrednosti x | 126 (3.4 %) y 737 (20.0 %) 2 HHI 2831 Skupne vrednosti 1758 (47.6%) 831 (22.5%) 1105 (29.9%) Kategorija Skupne vrednosti CESKA REPUBLIKA | 85 (2.3%) INDIJA | 95 (2.6%) INOONEZIJA | 109 (3.0%) ITALIJA B 201 (5.4 %) KITAJSKA H^H 890 (24.1%) MADŽARSKA ¡5(0.1 %) NEMČIJA 407 (11.0%) POLJSKA J 185 (5.0 %) SLOVENIJA 1507 (40.8%) SRBIJA | 15 (0.4%) TURČIJA I 195 (5.3%) Kategorija Skupne vrednosti SLO 694 (18.8%) SLO-TUJINA 2991 (81.0%) TUJINA | 9 (0.2%) Kategorija Skupne vrednosti Ni sezona 3402 (92.1%) Sezona | 292 (7.9%) Kategorija Skupne vrednosti 1 802 (21.7%) 2 ^HI^H 1646 3 618 (16.7%) 4 | 100 (2.7%) 5 H S 28 (14.3%) Kategorija Skupne vrednosti 1 TEDEN BBBBBBI 1692 (45.8%) 12 TONOV 1109 (30.0%) 18 TEDNOV | 109 (3.0%) 2TEDNA | 98 (2.7%) 26TONOV | 20 (0.5%) 3TONE | 19 (0.5%) 4TEDNE H 462 (12.5%) 6 TONOV | 185 (5.0%) Slika 1: Primer prikaza opisne statistike za razvrščanje artiklov glede na posamezne kriterije (K1 do K8) v orodju Orange 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 47 Eva Krhač, Benjamin Urh, Matjaž Roblek: Odkrivanje znanja iz podatkov z orodjem Orange za napredno nastavitev oskrbovalnih politik Slika 2: Primer prikaza opisne statistike za razvrščanje artiklov glede na odločitvene razrede (O1, O2, O3) v orodju Orange Kar se tiče rezultatov analize x-y-z (kriterij K2), smo ugotovili, da je glede na porabo po terminskih enotah (mesecih) najmanj artiklov skupine x (glej sliko 1), in sicer samo 126 (3,4 %). V to skupino spadajo artikli, za katere lahko zanesljivo napovemo porabo. Naslednji so artikli skupine y, ki jih je 737 (20,0 %), največja pa je skupina artiklov z. Artiklov, ki pripadajo skupini z, je 2.831 (76,6 %). Problem te skupine je, da je njihova napoved porabe nezanesljiva. Naslednja je bila opravljena opisna statistika za kriterij sezonsko gibanje (kriterij K3), ki je pokazala, da ima samo 292 (7,9 %) artiklov sezonsko nihanje. Pri ostalih 3.402 artiklih (92,1 %) ni bilo zaznano sezonsko nihanje. Naslednji kriterij je bil kriterij K4 -velikost artikla, po katerem je bilo kar 1.646 artiklov (44,6 %) razvrščenih v drugo velikostno skupino, ki je po številu artiklov največja. Opisna statistika za kriterij K5 je pokazala, da je najmanjša skupina artiklov tista, ki predstavlja artikle v uvajanju v prodajni program podjetja. Skupino sestavlja 831 artiklov, kar je 22,5 % prodajnega programa. Naslednja skupina so artikli v zrelosti, in sicer je takih 1.105 (29,9 %). Največjo skupino sestavljajo artikli, ki so v padanju - takih je 1.758 (47,6 %). Kar se tiče kriterija K6, smo ugotovili, da najmanj artiklov prihaja iz Madžarske, in sicer samo 5 (0,1 %), največje število artiklov pa prihaja iz Kitajske (24,1 %) in Slovenije (40,8 % prodajnega programa podjetja). Naslednji je bil kriterij dobavni čas (K7), ki je v veliki meri odvisen od kriterija poreklo dobavitelja. Ugotovili smo, da ima 1.692 artiklov (45,8 %) dobavni čas en teden. Zadnji kriterij, ki smo ga obravnavali, je distribucija (dostava) artiklov (K8), ki nam pove, ali se artikli prodajajo samo v Sloveniji, samo v tujino ali pa povsod. Samo v tujino se prodaja samo 9 artiklov (0,2 %), samo v Sloveniji pa 694 artiklov (18,8 %). Največji delež prodajnega programa podjetja zavzemajo artikli, ki se prodajajo tako v Sloveniji kot tudi v tujini; takih artiklov je 2.991 (81,0 %). Na koncu smo pogledali koliko artiklov pripada posameznemu odločitvenemu razredu (Oi, i = 1, 2, 3) na podlagi »pravil«, ki smo jih sami določili na začetku oblikovanja podatkovnega modela (tabela 1). Izkazalo se je, da je največ artiklov, ki bi jih lahko naročali na podlagi preteklih izkušenj komercialistov. Takih artiklov je 1.861, kar pomeni 50,4 % prodajnega programa podjetja. Naslednji so artikli, ki bi jih v prihodnosti naročali izključno na podlagi statističnih izračunov. Takih artiklov je 1.720, kar pomeni 46,6 % prodajnega programa podjetja. Zadnjo skupino pa sestavljajo artikli, za katere že zdaj lahko rečemo, da jih v prihodnosti ne bo treba naročati na zalogo. Takih artiklov je 113, kar je 3,1 % prodajnega programa podjetja. V naslednjem koraku nas je zanimalo, kateri kriteriji so bolj pomembni za razvrstitev artiklov. Predpostavili smo, da lahko sestavimo dve skupini glede pomembnosti kriterijev, in sicer: ■ zelo pomembni kriteriji: analiza A-B-C, analiza x--y-z, življenjski cikel artikla, dobavni čas artikla, ■ manj pomembni kriteriji: poreklo dobavitelja, distribucija (dostava) artikla, sezonsko gibanje, velikost artikla. 4.2 Analiza stopnje povezanosti odločitvenih razredov s posameznimi kriteriji na podlagi linearne projekcije Da bi ugotovili pomembnost kriterijev za razvrstitev artiklov, smo uporabili vizualizacijo linearna projekcija (angl. Linear Projection). Vizualizacija linearna projekcija prikazuje projekcije podatkov, označenih z odločitvenimi razredi. Pri tem podpira različne vrste projekcij: krožno, linearno diskriminacijsko analizo, analizo glavnih komponent, projekcijo po meri (Orange Visual Programming Documentation, Release 3, 2018). Na podlagi razpršenosti točk (slika 3) lahko razberemo, da na naročanje na podlagi preteklih izkušenj komercialistov vplivajo predvsem analiza A-B-C in analiza x-y-z ter v manjši meri tudi sezonsko gibanje 48 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI Eva Krhač, Benjamin Urh, Matjaž Roblek: Odkrivanje znanja iz podatkov z orodjem Orange za napredno nastavitev oskrbovalnih politik Slika 3: Analiza stopnje povezanosti odločitvenih razredov s posameznimi kriteriji na podlagi linearne projekcije in distribucija (dostava) artiklov. Na to, da artiklov ne naročajo na zalogo, vplivata predvsem analizi A-B-C in x-y-z; na naročanje na podlagi statističnih izračunov pa vplivajo vsi izbrani kriteriji (atributi). 4.3 Analiza s pomočjo nomograma V nadaljevanju smo uporabili nomogram (grafični pokazatelj), s pomočjo katerega smo poiskali odgovore na vprašanja o pomembnosti posameznih kriterijev. Nomogram v orodju Orange prikazuje vizualne klasifikacijske modele logistične regresije in Naive Bayesa ter izračunava verjetnosti odločitvenega razreda glede na nabor vrednosti atributov (kriterijev). Omogoča preverjanje, kako spreminjanje vrednosti atributa vpliva na verjetnosti odločitvenega razreda. Skratka, v nomogramu lahko vidimo najviše uvrščene atribute (kriterije) ter njihov prispevek k verjetnosti ciljnega razreda (Nomogram, 2017). Pri artiklih, ki jih lahko v prihodnosti naročajo na podlagi preteklih izkušenj komercialistov (slika 4), so bolj pomembni kriteriji: analiza A-B-C, analiza x-y-z, dobavni čas artikla in življenjski cikel artikla. Pri artiklih, ki jih lahko v prihodnosti naročajo na podlagi statističnih izračunov, so bolj pomembni kriteriji: analiza A-B-C, analiza x-y-z, življenjski cikel artikla in dobavni čas artikla. Pri artiklih, ki jih v prihodnje ni treba naročati na zalogo, so bolj pomembni kriteriji: sezonsko gibanje, življenjski cikel artikla, velikost artikla in dobavni čas artikla. Opazili smo, da sta za naročanje na zalogo kriterija distribucija (dostava) artikla in sezonsko gibanje najmanj pomembna: ■ pri naročanju na podlagi preteklih izkušenj komercialistov - sedmo in šesto mesto od sedmih kriterijev, ■ pri naročanju na podlagi statističnih izračunov -šesto in sedmo mesto od sedmih kriterijev. Ugotovili smo, da so za naročanje na zalogo bolj pomembni analizi A-B-C in x-y-z, dobavni čas ter življenjski cikel artikla. 4.4 Algoritem CN2, konstrukcija pravil za bodoči način naročanja V nadaljevanju smo uporabili algoritem CN2 (tabela 2), klasifikacijsko tehniko za učinkovito določanje preprostih, razumljivih pravil v obliki »če - potem« za posamezni predvideni razred (Orange Visual Programming Documentation, Release 3, 2018). Algoritem CN2 nam omogoča, da na podlagi preučenih primerov prikaže pravila, ki jih lahko v nadaljevanju upoštevamo pri razvrščanju artiklov za naročanje na 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 49 Eva Krhač, Benjamin Urh, Matjaž Roblek: Odkrivanje znanja iz podatkov z orodjem Orange za napredno nastavitev oskrbovalnih politik Slika 4: Primer nomograma za naročanje na podlagi preteklih izkušenj komercialistov zalogo ali sprotno naročanje. S podatkovnim modelom smo ugotovili, da je 100 % naročil opravljenih na podlagi preteklih izkušenj komercialistov, kadar je artikel C, z in ni sezonski; 100 % naročil opravljenih na podlagi statističnih izračunov, kadar je artikel B ali A, ter da 99 % naročil ne naroča na zalogo, kadar je artikel C, sezonski, v padanju in je njegov dobavni čas en teden. 4.5 Analiza natančnosti napovedi različnih uporabljenih klasifikatorjev Izmerili smo tudi natančnost klasifikatorjev, ki na podlagi množice že klasificiranih primerov artiklov klasificirajo odločitvene razrede (pravila) za nove primere artiklov. Uporabili smo štiri klasifikatorje (Naive Bayes, CN2 rules, kNN in Classification Tree) ter tri mere za ocenjevanje učenja (CA, AUC, Brier). CA (angl. Classification accuracy; klasifikacijska točnost) prikaže razmerje med številom pravilno napovedanih in številom vseh napovedanih primerov. V številkah to pomeni, da je cilj pri klasifikacijski točnosti dobiti višjo oceno, ker višja kot je ocena, boljša je kakovost napovedanih primerov. AUC (angl. area under the curve; ploščina pod karakteristično krivuljo delovanja) prikaže verjetnost, da bo klasifikator pravilno razločil med pozitivnimi in negativnimi primeri, torej je cilj dobiti višjo oceno oziroma oceno bližje številki 1,0000. Brierjeva ocena preko vseh Tabela 2: Pravila, določena z uporabo algoritma CN2 Kakovost pravila Pokritost Predvideni razred Pravilo 1,00 512,00 Izdelki se naročajo na podlagi preteklih izkušenj komercialistov. ČE artikel > 12419.00 IN analiza A-B-C = C IN analiza x-y-z = z IN Sezonska gibanja = Ni sezona POTEM Način naročanja izdelkov = Izdelki se naročajo na podlagi preteklih izkušenj komercialistov. 1,00 1274,00 Izdelki se naročajo na podlagi preteklih izkušenj komercialistov. ČE analiza A-B-C = C IN analiza x-y-z = z IN Sezonska gibanja = Ni sezona POTEM Način naročanja izdelkov = Izdelki se naročajo na podlagi preteklih izkušenj komercialistov. 1,00 1171,00 Izdelki se naročajo na podlagi statističnih izračunov. ČE analiza A-B-C = B POTEM Način naročanja izdelkov = Izdelki se naročajo na podlagi statističnih izračunov. 1,00 404,00 Izdelki se naročajo na podlagi statističnih izračunov. ČE analiza A-B-C = A POTEM Način naročanja izdelkov = Izdelki se naročajo na podlagi statističnih izračunov. 0,99 83,00 Izdelki se ne naročajo na zalogo. ČE Sezonska gibanja = Sezona IN Življenjski cikel artikla = P IN Dobavni čas artikla = 1 TEDEN IN analiza A-B-C = C POTEM Način naročanja izdelkov = Izdelki se ne naročajo na zalogo. 50 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI Eva Krhač, Benjamin Urh, Matjaž Roblek: Odkrivanje znanja iz podatkov z orodjem Orange za napredno nastavitev oskrbovalnih politik testnih primerov oceni različnost med ciljno in dejansko napovedano distribucijo. Idealno je, kadar klasifikator vedno natančno napove pravilni razred, kar nam prikaže številka 0,0000 - torej je cilj, da je Brierjeva ocena čim bližja številki 0,0000. Pri klasifi-katorjih CN2 rules in kNN je prišlo do overfittinga (v primeru, če sta CA in AUC enaka 1,0000 ter Brierjeva ocena enaka 0,0000), kar pomeni, da sta se klasifika-torja predobro prilagodila podatkom iz učne množice in sta podala slabe rezultate za nove podatke (Kljajic, 2015). Kot vidimo v tabeli 3, ima najboljšo oceno klasifikator Naive Bayes, ki pri danih vrednostih (vseh) atributov izračuna za dani novi primer pogojne verjetnosti za vsak razred. Tabela 3: Natančnost klasifikatorjev Metoda CA AUC Brier Naive Bayes 0,9981 1,0000 0,0104 CN2 rules 1,0000 1,0000 0,0000 kNN 1,0000 1,0000 0,0000 Classification Tree 0,9803 0,9988 0,0241 4.6 Analiza matrike napake Bayesovega klasifikacijskega modela V nadaljevanju smo uporabili matriko napake (angl. Confusion Matrix), ki vsebuje informacije o dejanskih in klasifidranih napovedih sistema. Matrika je ocena kakovosti klasifikacijskega modela, ki je bil v našem primeru Naive Bayes. Matrika napake je za naročanje artiklov na podlagi preteklih izkušenj komercialistov dosegla 100 % pravilnih odgovorov, za naročanje na podlagi statističnih izračunov 99,6 % pravilnih odgovorov ter za nenaročanje na zalogo prav tako 100 % pravilnih odgovorov (tabela 4). 4.7 Validacija napovedovanja (predikcije) klasifikatorjev Bayes, kNN in klasifikacijsko drevo Na koncu smo naredili še predikcije, pri katerih na podlagi podatkovnega niza in enega ali več klasifikatorjev orodje Orange izpiše napovedi ter omogoča analizo odločitev napovednih modelov (Orange Visual Programming Documentation, Release 3, 2018). Z njimi smo ugotavljali, kako dobro model napoveduje oziroma kako je model zanesljiv. Pri tem smo uporabili dvanajst naključnih primerov artiklov - po štiri za vsak način naročanja. Na podlagi predikcije smo ugotovili, da so vsi trije klasifikatorji (kNN, Naive Bayes in Classification Tree) točno napovedali vseh dvanajst naključno izbranih primerov. 5 RAZPRAVA IN PREDLOG SPREMEMB PRI OBVLADOVANJU ZALOG V IZBRANEM PODJETJU Na podlagi teoretične raziskave smo spoznali značilnosti posameznih politik obvladovanja zalog, kar nam je pomagalo pri ugotovitvi, katera politika je primerna za obvladovanje posameznih zalog. V nadaljevanju je prikazan predlog sprememb pri obvladovanju zalog v izbranem podjetju, ki vključuje uporabo kvalitativnih in kvantitativnih metod za predvidevanje povpraševanja. Za posamezne skupine artiklov predlagamo uporabo kvantitativnih metod, ki bi morale podati dovolj natančno napoved povpraševanja (tabela 5). Primer interpretacije tabele: za artikle A-x, zrele ali v padanju, pri vseh dobavnih časih priporočamo model ekonomsko optimalne količine naročila z upoštevanjem količinskih popustov. S priporočenim modelom bi tako podali natančno napoved povpraševanja za 90,36 % vseh artiklov A-x. Za ostale kombinacije (npr. skupine artiklov A-x, ki so v uvajanju; skupine artiklov A-y, ki so v uvajanju; skupine artiklov A-z idr.) predlagamo uporabo kombinacij kvalitativnih in kvantitativnih metod predvidevanja povpraševanja. Za podjetje je uporabna predvsem napoved prodajnega osebja, ki pri predvidevanju uporablja znanje in izkušnje osebja. Pri tem se je seveda treba zaščititi pred pristranskostjo osebja, zato predlagamo uporabo posameznih orodij in pripomočkov za pridobivanje podatkov in informacij o posameznih pojavih. Za izbrano podjetje so najbolj uporabne in preproste tržne raziskave o artiklih, kot je na primer analogija s preteklostjo istih ali podobnih artiklov. Predlagamo, da pri predvidevanju povpraševanja v podjetju uporabijo obe vrsti metod in rezultate nato primerjajo. V primeru, da bi se v rezultatih pojavila prevelika razlika, so lahko prepričani, da je bilo predvidevanje napačno (oziroma da je izbrana metoda nenatančna). Na koncu smo pregledali, v kolikšnem odstotku bi lahko izboljšali obvladovanje zalog, ter ugotovili, da predlagane spremembe natančno obvladujejo zaloge pri najmanj 44 % artiklov iz posamezne skupine (v najboljšem primeru pa celo 90,36 % artiklov). Pri tem so ocenjene samo spremembe glede uporabe kvantitativnih metod (tabela 5). 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 51 Eva Krhač, Benjamin Urh, Matjaž Roblek: Odkrivanje znanja iz podatkov z orodjem Orange za napredno nastavitev oskrbovalnih politik Tabela 4: Matrika napake Izdelki se naročajo na podlagi preteklih izkušenj komercialistov. Izdelki se naročajo na podlagi statističnih izračunov. Izdelki se ne naročajo na zalogo. Izdelki se naročajo na podlagi preteklih izkušenj komercialistov. 100,0 % 0,4 % 0,0 % 1.302 Izdelki se naročajo na podlagi statističnih izračunov. 0,0 % 99,6 % 0,0 % 1.204 Izdelki se ne naročajo na zalogo. 0,0 % 0,0 % 100,0 % 80 1.297 1.209 80 2.586 Tabela 5: Primerne politike obvladovanja zalog za posamezne lastnosti kriterijev Deterministično planiranje X Y Z A Model ekonomsko optimalne količine naročila Model ekonomsko optimalne količine naročila z upoštevanjem količinskih popustov na podlagi povprečja Zrelost, padanje; vsi dobavni časi Zrelost, padanje; vsi dobavni časi (90,36 % artiklov A-x) (78,67 % artiklov A-y) B Nabavljanje majhnih količin, ki krijejo potrebe vsake terminske enote Zrelost, padanje; dobavni čas do 1 tedna (27,50 % artiklov B-x-y-z) Nabavljanje velikih količin, ki krijejo potrebe več terminskih enot Zrelost, padanje; dobavni čas vsaj 2 tedna (28,93 % artiklov B-x-y-z) C Stohastično planiranje Deterministično planiranje Model Q - kontinuirano spremljanje zalog Model Q - kontinuirano spremljanje zalog Po dejanskih potrebah Zrelost, padanje; krajši dobavni časi Zrelost, padanje; krajši dobavni časi (22,22 % artiklov C-x) (44,12 % artiklov C-y) Zrelost, padanje; krajši dobavni časi (61,25 % artiklov C-z) Model P - periodično spremljanje zalog Zrelost, padanje; daljši dobavni časi (55,56 % artiklov C-x) 6 SKLEP Cilji, ki smo si jih zadali na začetku dela z orodjem Orange, so bili doseženi, kar pomeni, da je model uporaben v praksi. Ne smemo pozabiti še na možnosti izboljšanja podatkovnega modela v prihodnosti, ki pa jih vidimo v bolj relevantnem vzorcu - vsi odločitveni razredi bi morali imeti enako število primerov. Trenutno sta prva dva odločitvena razreda imela veliko večje število primerov kot tretji. Za uvedbo predlaganih sprememb je treba izpolniti tudi nekaj pogojev. Za dobro obvladovanje zalog je treba najprej dobro poznati lastnosti artiklov, zato je potreben dostop do veliko kakovostnih informacij o artiklih. Za lažje razumevanje vseh informacij je uporabna grafična oblika, ki omogoča tudi krajši čas preučevanja podatkov. Prav tako je pomembno konstantno vodenje statistike napovedi v preteklosti, ki omogoča pregled nad točnostjo napovedi in omogoča hitro prilagajanje na spremembe. Da bi pri obvladovanju zalog upoštevali vse spre- membe v zalogah, je treba postopek iz empiričnega dela večkrat ponavljati - predlagamo, da se postopek ponavlja enkrat letno. Pri ponavljanju postopka lahko uvedemo tudi nekaj sprememb. Prva sprememba, ki bi bila smiselna, je sprememba v določanju kriterijev - kriterije, ki so se do zdaj pokazali kot manj pomembni, lahko izločimo iz raziskave, dodamo pa lahko tudi kakšnega novega. Prav tako bi bilo treba vnaprej pripraviti predloge posameznih analiz in izračunov (v ustreznem programskem orodju), v katere bi vnašali samo spremembe, kar bi omogočilo hitrejše analize in odločanje. Za potrebe raziskave smo zaradi uporabniku prijazne uporabe in dostopnosti do orodja v podjetju večino analiz opravili v Microsoftovemu Excelu. Zaradi začetnega nastavljanja vseh potrebnih tabel smo potrebovali razmeroma veliko časa. Največ težav smo imeli pri pripravljanju podatkov za empirični del z informacijskim sistemom VASCO (ki ga trenutno uporabljajo v podjetju), saj ne omogoča hitrega dosto- 52 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI Eva Krhač, Benjamin Urh, Matjaž Roblek: Odkrivanje znanja iz podatkov z orodjem Orange za napredno nastavitev oskrbovalnih politik pa do podatkov, potrebnih za opravljanje tovrstnih analiz. Posledično so zaposleni za iskanje podatkov porabili več časa kot je bilo predvideno. Zato kot zadnjo spremembo, ki bi v prihodnje pripomogla k hitrejši in kakovostnejši analizi, predlagamo investicijo v nadgradnjo informacijskega sistema. Nadgradnja bi morala omogočati preprost in hiter dostop do vseh podatkov o preteklosti artiklov. Vendar bi bilo pred tem treba opraviti še finančno analizo upravičenosti investicije v nadgradnjo informacijskega sistema. 7 LITERATURA [1] Bala, P. K. (2012). Improving inventory performance with clustering based demand forecasts. Journal of Modelling in Management 7(1), 23-37. [2] Brajnovič, A. (2014). Upravljanje zalihama u dobavnom lancu. Diplomsko delo. Rijeka: Pomorski fakultet u Rijeci. [3] Bucher, D. in Meissner, J. (2010). Automatic Parameter Configuration for Inventory Management in SAP ERP/APO. Management Science Working Paper Series; The Department of Management Science, Lancaster University. [4] Delen, D., Erraguntla, M., Mayer, J. R. in Wu, C. N. (2011). Better management of blood supply-chain with GIS-based analytics. Annals of Operations Research 185 (1), 181-193. [5] Ejaz, S. (2016). Predicting demographic and financial attributes in a bank marketing dataset (Master thesis). Arizona: Arizona State University. [6] Grčar, G. (2010). Obvladovanje zalog v podjetju Toko, d. o. o. Diplomsko delo. Ljubljana: Ekonomska fakulteta. [7] Guo, X., Liu, C., Xu, W., Yuan, H. in Wang, M. (2014). A prediction-based inventory optimization using data mining models. Prispevek predstavljen na 7. mednarodni konferenci Joint Conference on Computational Sciences and Optimization, CSO, str. 611-615. [8] Heizer, J. in Render, B. (2004). Principles of Operations Management. Pearson Education, Practice Hall. [9] Kljajič Borštnar, M. (2015). Gradivo za predavanja: Odkrivanje znanja v podatkih. Kranj: Fakulteta za organizacijske vede. [10] Kovač, E. (2012). Analiza računovodskih izkazov s kazalniki. Diplomsko delo. Bled: Višja strokovna šola za gostinstvo in turizem Bled. [11] Krhač, E. (2016). Politike obvladovanja zalog v podjetju Gumi-tehna, d. o. o. Magistrsko delo. Kranj: Fakulteta za organizacijske vede. [12] Lee, C. K. M in Palaniappan, S. (2014). Effective asset management for hospitals with RFID. 2014 IEEE International Technology Management Conference, Chicago. [13] Ljubič, T. (2000). Planiranje in vodenje proizvodnje: modeli, metode, podatki. Kranj: Moderna organizacija. [14] Ljubič, T. (2008). Predvidevanje in napovedovanje v oskrbovalni verigi. Kranj: Moderna organizacija. [15] Nomogram. (2017). Laboratorij za bioinformatiko, Univerza v Ljubljani. Pridobljeno 29. 1. 2018 na https://blog.biolab. si/2017/06/05/nomogram/. [16] Orange Visual Programming Documentation, Release 3. (2018). Laboratorij za bioinformatiko, Univerza v Ljubljani. Pridobljeno 29. 1. 2018 na https://media.readthedocs.org/pdf/orange-vi-sual-programming/latest/orange-visual-programming.pdf. [17] Product life cycle. (2009). The Economist. Pridobljeno 24. 7. 2016 na http://www.economist.com/node/14301365. [18] Roblek, M. (2013). Gradivo za predavanja: Predvidevanje, planiranje in operativno vodenje poslovanja. Kranj: Fakulteta za organizacijske vede. [19] Scholz-Reiter, B., Heger, J., Meinecke, C. in Bergmann, J. (2012). Integration of demand forecasts in ABC-xyz analysis: practical investigation at an industrial company. International Journal of Productivity and Performance Management, 61(4), 445-451. [20] Senthilkumaran, U., Manikandan, N. in Senthilkumar, M. (2016). Role of data mining on pharmaceutical industry - a survey. International Journal of Pharmacy and Technology 8(3), 16100-16106. [21] Stefanovic, N. (2015). Collaborative predictive business intelligence model for spare parts inventory replenishment. Computer Science and Information Systems 12(3), 911-930. [22] Stevenson, J. S. (2015). Operations Management: Inventory Management. McGrawHill. [23] Tsou, C. M. (2013). On the strategy of supply chain collaboration based on dynamic inventory target level management: A theory of constraint perspective. Applied Mathematical Modelling, 37, 5204-5214. [24] Urh, B. (2012). Gradivo za predavanja: Razvoj proizvodov in proizvodnih procesov. Kranj: Fakulteta za organizacijske vede. [25] Završnik, B. (2008). Management nabave in oskrbnih verig. Maribor: Ekonomsko-poslovna fakulteta. Eva Krhač je zaposlena na Fakulteti za organizacijske vede Univerze v Mariboru. Habilitirana je v naziv asistentka za področje inženiring poslovnih in delovnih sistemov. Trenutno svoje znanje izpolnjuje na doktorskem študiju iz področja inženiring poslovnih sistemov na Fakulteti za organizacijske vede. Je avtorica ali soavtorica več znanstvenih, strokovnih in drugih publikacij. ■ Benjamin Urh je višji predavatelj, habilitiran za področje inženiring poslovnih in delovnih sistemov. Na Fakulteti za organizacijske vede Univerze v Mariboru na visokošolskem strokovnem programu predava predmeta Razvoj proizvodov in proizvodnih procesov ter Organizacija proizvodnih procesov. Je avtor ali soavtor več kot sto znanstvenih, strokovnih in drugih publikacij. Raziskovalno delo opravlja na področju prenove poslovnih sistemov in učinkovitosti poslovnih procesov. ■ Matjaž Roblek je predavatelj na Fakulteti za organizacijske vede Univerze v Mariboru za področja operativnega menedžmenta in menedžmenta oskrbovalnih verig. Je tudi dolgoletni svetovalec za prenovo poslovnih in proizvodnih procesov. Njegovo delo obsega več kot sto zaključenih projektov in svetovanj s področja prenove organizacijskih in informacijskih sistemov. 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 53 ZNANSTVENI PRISPEVKI B Poizvedovanje po povezanih podatkih s porazdelitvijo dela med strežnikom in odjemalcem Jan Robas, Dejan Lavbič Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, Večna pot 113, 1000 Ljubljana JanRobas@gmail.com ; Dejan.Lavbic@fri.uni-lj.si Izvleček Na spletu je veliko podatkov, ki so objavljeni na različnih mestih v različnih, nezdružljivih oblikah. Zaradi tega nad njimi ne moremo izvajati poizvedb. Iskanje odgovora na specifično vprašanje po navadi terja iskanje po ključnih besedah, branje in tolmačenje vsebine. To lahko rešimo tako, da uporabimo povezane podatke. Težava pri tem je dostopnost in učinkovitost poizvedovanja. V članku predstavljamo obstoječo rešitev, ki omogoča poizvedovanje po povezanih podatkih, tako da je delo porazdeljeno med strežnikom in odjemalcem. Poleg tega predstavljamo obstoječo razširitev, ki poveča učinkovitost, in našo lastno razširitev, s katero poskušamo še izboljšati učinkovitost. Našo razširitev primerjamo z že obstoječo razširitvijo in z osnovno različico omenjene rešitve. Ključne besede: spletne tehnologije, povezani podatki, semantični splet, SPARQL, procesiranje na odjemalcu. Abstract Querying Linked Data by distributing work between the server and the client On the web, there is plenty of data presented in various incompatible forms. Consequently, querying such data can be difficult. To find an answer to a specific question, we have to resort to searching by keywords and interpreting the results. This problem can be solved via the use of Linked Data. The problem with querying Linked Data is availability and performance. In this article, we present an existing solution that enables Linked Data querying by distributing the work between the server and the client. In addition, we present an existing extension that increases efficiency. Finally, we present our own extension, an attempt to improve further the efficiency. We compare our extension to the existing one and the basic version of the subject solution. Keywords: web technology, Linked Data, semantic web, SPARQL, client-side processing. 1 uvod Uporabniki se vedno bolj zanašamo na pridobivanje podatkov prek svetovnega spleta. Na spletu se nahaja velika količina podatkov, ki je predstavljena v različnih, nezdružljivih oblikah. Enakovredni podatki so pogosto različno predstavljeni na več mestih, kar pripelje do nekonsistence. Tudi spletni vmesniki, ki ponujajo podatke, so različni. Če želimo implementirati aplikacijo, ki uporablja te spletne vmesnike, imamo lahko precej dela z usklajevanjem naših podatkov s podatki, ki jih dobimo preko njih. Kot omenjata v članku avtorjev Heath in Bizer (2011), moramo v svoji aplikaciji za vsak spletni vmesnik posebej napisati kodo za odjemalca, kar zahteva znaten napor. Podatki, ki jih ponujajo spletni vmesniki, niso na voljo iskalnikom oziroma splošnim spletnim agentom. Za začetek reševanja teh težav potrebujemo način objave podatkov, ki je prilagojen za internet. Prav tako je pomembno, da 54 uporabna INFORMATIKA so podatki predstavljeni v strojno berljivi obliki, saj jih le tako lahko računalniško obdelujemo in po njih poizvedujemo. Eden od ustreznih načinov so povezani podatki, ki temeljijo na standardnih spletnih tehnologijah. V splošnem gre za tipizirane povezave med stvarmi iz različnih virov, pri čemer so tako stvari kot tipi povezav predstavljeni z enotnimi označe-valniki virov (angl. URI, uniform resource identifier). Po povezanih podatkih lahko poizvedujemo s pomočjo semantičnega poizvedovalnega jezika SPARQL. Pri tem se pojavijo težave, povezane z dostopnostjo in učinkovitostjo poizvedovanja. V članku predstavljamo obstoječi način objave povezanih podatkov, ki nam omogoča poizvedovanje s porazdelitvijo dela med strežnikom in odjemalcem. To rešitev smo nadgradili s svojo razširitvijo in jo primerjali z že obstoječo razširitvijo AMF. 2018 - številka 1 - letnik XXVI Jan Robas, Dejan Lavbič: Poizvedovanje po povezanih podatkih s porazdelitvijo dela med strežnikom in odjemalcem V drugem razdelku bomo predstavili idejo povezanih podatkov. V tretjem razdelku bomo predstavili delce povezanih podatkov in delce vzorcev trojčkov, ki omogočajo porazdelitev dela pri poizvedovanju. Nato bomo predstavili obstoječo razširitev AMF in našo razširitev. V četrtem razdelku bomo našo razširitev evaluirali in jo primerjali z osnovno različico ter z razširitvijo AMF, sledi sklep. 2 POVEZANI PODATKI Pojem povezani podatki se nanaša na nabor dobrih praks objavljanja in povezovanja strukturiranih podatkov na spletu. V splošnem gre pri povezanih podatkih za tipizirane povezave med podatki iz različnih virov. Ti viri so lahko bodisi znotraj iste organizacije bodisi porazdeljeni med več različnih organizacij. Povezani podatki so objavljeni na spletu tako, da so strojno berljivi in jih je mogoče naknadno povezovati z drugimi viri. Gre za podobno povezovanje podatkov, kot so na spletu povezani dokumenti HTML. Medtem ko so dokumenti HTML povezani z netipiziranimi povezavami, povezani podatki temeljijo na formatu RDF, pri katerem so povezave med objekti tipizirane. Rezultat je splet podatkov oziroma bolj točno splet objektov in pojmov, ki so predstavljeni s podatki na spletu (Bizer, Heath in Berners-Lee, 2009). Glavna načela povezanih podatkov se skladajo z načeli in standardi svetovnega spleta in so (Tim Ber-ners-Lee, 2006): 1. Uporabi URI-je kot imena za stvari (tako za objekte kot pojme). 2. Uporabi HTTP URI-je tako, da lahko uporabniki dostopajo do teh imen (npr. prek spletnega brskalnika). 3. Ko uporabnik dostopa do URI-ja, ponudi koristne informacije z uporabo standardov (RDF, SPARQL). 4. Vključi povezave do drugih URI-jev, da lahko odkrijejo več stvari. Povezani podatki temeljijo na temeljnih spletnih tehnologijah: URI in HTTP. Medtem ko z URL-ji naslavljamo posamezne dokumente in druge vire na spletu, URI-ji omogočajo bolj splošno naslavljanje poljubnih entitet na svetu. Če se URI-ji začnejo s http://, potem jih lahko kot URL-je zahtevamo prek protokola HTTP in o njih pridobimo dodatne informacije. Čeprav URI-ji lahko predstavljajo pojme ali fizične stvari, ki jih ne moremo prenesti prek sple- 2018 - številka 2 - letnik XXVI ta, lahko o njih pridobimo opise, dodatne informacije in povezane podatke. Dve omenjeni tehnologiji sta dopolnjeni z RDF, ki definira podatkovni model v obliki grafa, v katerem povezujemo entitete s tipiziranimi povezavami. Podatki so zapisani v obliki trojčkov oblike subjekt, predikat, objekt. Tako subjekt kot objekt sta URI-ja, ki predstavljata vir oziroma v primeru objekta opcijski niz znakov (literal, ki lahko predstavlja bodisi niz znakov bodisi število). Predikat je tudi predstavljen z URI in pove, v kakšnem razmerju sta subjekt in objekt. Če imamo npr. predikat http://xmlns.com/foaf/0.1/knows in je prva oseba (subjekt) A s tem predikatom povezana z drugo osebo (objekt) B, si to razlagamo kot: oseba A pozna osebo B. V modelu RDF je to trojček (A http:// xmlns.com/foaf/0.1/knows B), pri čemer sta A in B URI-ja, pri čemer vsak predstavlja svojo osebo. Dva vira (v našem primeru osebi A in B) sta lahko izvzeta iz dveh različnih podatkovnih virov na spletu (npr. iz dveh družbenih omrežij). Ti podatki so med sabo združljivi. Trojčke RDF si zato lahko predstavljamo na podoben način kot spletne povezave med stranmi HTML. 2.1 Osnovni pojmi Vsak trojček vsebuje subjekt, predikat in objekt. Vsak od teh je predstavljen z URI-jem, pri čemer je objekt lahko, opcijsko, niz znakov. Vzorec trojčka je podoben kot trojček, vendar za razliko od dejanskega trojčka lahko namesto URI-jev in nizov znakov vsebuje spremenljivke. Rezultati vzorca trojčka so trojčki v bazi, ki jih lahko dobimo s preslikavo spremenljivk danega vzorca trojčka. Vsebnostna poizvedba je poizvedba, ki preverja, ali je neki trojček vsebovan v bazi. Osnovni vzorec grafa BGP je sestavljen iz več vzorcev trojčka. Poizvedba SPARQL je sestavljena iz enega ali več BGP-jev, ki so povezani z različnimi operatorji. Zaradi poenostavitve se v tem delu osredinjamo na poizvedbe, ki vsebujejo en BGP. Rezultati poizvedbe SPARQL so preslikave spremenljivk, ki vodijo do rešitve. 3 DELCI POVEZANIH PODATKOV Članek avtorjem C. B. Aranda, A. Hogan, J. Umbrich in P.-Y. Vandenbussche (2013) govori o problemu dostopnosti oddaljenih točk SPARQL, saj je samo okoli UPORABNA INFORMATIKA 55 Jan Robas, Dejan Lavbič: Poizvedovanje po povezanih podatkih s porazdelitvijo dela med strežnikom in odjemalcem tretjina teh dostopna 99 odstotkov časa. Ob koncu leta 2013 je bila povprečna dostopna točka SPARQL nedosegljiva več kot dan in pol vsak mesec. Poleg tega obstajajo velike razlike v učinkovitosti poizvedovanja (3-4 velikostnih redov). To pomeni, da ne moremo razviti zanesljive aplikacije, ki bi se zanašala na poizvedovanje prek tovrstnih dostopnih točk. Ena rešitev tega problema je, da uporabnikom ponudimo statične datoteke s podatki RDF. Težava pri ponujanju podatkov RDF v statičnih datotekah je, da so podatkovne zbirke lahko zelo velike, uporabnik pa morda potrebuje samo majhen del podatkov. Poleg tega mora imeti uporabnik nameščeno ustrezno programsko opremo. Omenjena načina dostopa do podatkov se da predstaviti z vidika delcev povezanih podatkov kot dve skrajnosti (glej sliko 1). Osnovna ideja delcev povezanih podatkov je, da so na dostopni točki objavljeni delci celotnega nabora povezanih podatkov (v obliki trojčkov), ki so razdeljeni po straneh. Pri tem lahko trojčke filtriramo z izbirnikom, ki ga lahko poljubno definiramo (R. Verborgh, O. Hartig, B. De Meester, G. Haesen-donck, L. De Vocht, M. Vander Sande, R. Cyganiak, P. Colpaert, E. Mannens, R. Van de Walle, 2014). V skladu z idejo povezanih podatkov so pri delcih povezanih podatkov prisotni metapodatki z dodatnimi informacijami o podatkih ter, kot jih imenuje omenjeni članek, kontrole, ki vsebujejo povezave do drugih strani rezultatov in do drugih delcev povezanih podatkov. Tako datoteko s podatki kot dostopno točko SPARQL lahko predstavimo z vidika delcev povezanih podatkov. Kot vidimo na sliki 1, sta to skrajna pristopa, pri čemer datoteka s podatki pomeni večjo obremenitev za odjemalca, dostopna točka SPARQL pa večjo obremenitev za strežnik. V članku bomo obravnavali eno od konkretnih implementacij delcev povezanih podatkov - delce vzorcev trojčkov, ki so opisani v članku avtorjev R. Verborgh, M. Vander Sande, O. Hartig, J. Van Herwegen, L. De Vocht, B. De Meester, G. Haesendonck, P. Colpaert (2016). Namen delcev vzorcev trojčkov je izboljšati učinkovitost poizvedovanja po povezanih podatkih s porazdelitvijo obremenitve med strežnikom in odjemalcem. 3.1 Strežnik Pri delcih vzorcev trojčkov je izbirnik vzorec trojčka. Strežnik ponuja rezultate vzorca trojčka, razdeljene po straneh. Delec vzorca trojčka, ki ga vrača strežnik, vsebuje: ■ podatke: rezultate vzorca trojčka (na trenutni strani), ■ metapodatke: približno število vseh trojčkov v rezultatih (po vseh straneh), ■ kontrole: povezave (URL) do drugih strani rezultatov podanega vzorca trojčka in do drugih delcev vzorcev trojčkov (korenski URL do delca z vsemi trojčki v bazi). Ker je izbirnik namesto specifične poizvedbe SPARQL v vsakem primeru le vzorec trojčka, se pogosto zgodi, da se pri več različnih poizvedbah med izvajanjem pojavi isti izbirnik. Če je vsaj en vzorec trojčka v BGP-ju skupen več poizvedbam (pri čemer ime spremenljivke ni pomembno), pride do enakih zahtevkov. Zaradi tega je smiselno uporabiti posredniški predpomnilniški strežnik, ki posreduje podatke med strežnikom in odjemalcem. Ob tem si odgovore shranjuje v predpomnilnik, da jih potem ob enakih zahtevah lahko vrne odjemalcu brez obremenjevanja aplikacijskega strežnika. 3.2 Odjemalec Odjemalec omogoča poizvedovanje po podatkih s pomočjo poizvedovalnega jezika SPARQL. Ker strežnik omogoča dostop do delcev vzorcev trojčkov, mora odjemalec pridobiti ustrezne podatke z njihovo pomočjo. Zaželeno je, da odjemalec zaradi izvedbe poizvedbe SPARQL naredi čim manj zahtevkov HTTP in prenese čim manj podatkov. Odjemalec uporablja metapodatke, konkretno število strani, za planiranje datoteka s podatki _ Linked data dokumenti _I_ delci vzorcev trojčkov SPARQL rezultati _I_ bolj splošni zahtevki več procesiranja za odjemalca manj procesiranja za strežnik bolj specifični zahtevki različni tipi manj procesiranja za odjemalca delcev povezanih podatkov ve(* procesiranja za strežnik Slika 1: Vse spletne vmesnike, ki ponujajo trojčke RDF, si lahko predstavljamo kot ponudnike delcev - vzorcev trojčkov. 56 upora NFORMATIKA 2018 - številka 2 - letnik XXVI Jan Robas, Dejan Lavbič: Poizvedovanje po povezanih podatkih s porazdelitvijo dela med strežnikom in odjemalcem poizvedbe. BGP-ji vsebujejo enega ali več vzorcev trojčkov in so glavni gradniki poizvedb SPARQL. Drugi operatorji, ki se nahajajo med BGP-ji, se izvajajo na strani odjemalca in niso specifični za predstavljeni način pridobivanja podatkov. Podpora teh je omejena in ni v obsegu članka. Odjemalec, razvit v okviru našega pristopa, je napisan v jeziku JavaScript in deluje v večini priljubljenih spletnih brskalnikov. Odjemalec izvede BGP tako, da prenese prve strani delcev vseh nastopajočih vzorcev trojčkov. Tako v metapodatkih dobi število rezultatov za vsak vzorec trojčka. Nato izbere vzorec trojčka z najmanj rezultati in se začne sprehajati po njem. Za vsak trojček v rezultatih pripadajočo preslikavo (preslikavo spremenljivke v URI ali niz znakov) uporabi nad drugimi vzorci trojčka v BGP-ju in nad novim BGP-jem rekurzivno izvede isti algoritem. Če vmes pride do delca brez rezultatov, potem preslikave, ki so vodile do tega, ne vodijo do rešitve in jih zavržemo. Kadar po preslikavi vzorec trojčka ne vsebuje spremenljivk, pride do t. i. vsebnostne poizvedbe. Gre za poizvedbe, s katerimi preverjamo vsebnost trojčka v bazi. Za primer si poglejmo preprosto poizvedbo (glej poizvedbo 1) iskanja ustrezne preslikave za spremenljivko ?alb, ki nastopa kot subjekt v obeh vzorcih trojčkov. V tem primeru iščemo subjekte, ki so označeni tako z oznako tag:jazz kot z oznako tag:metal. V poizvedbi nastopa BGP, ki vsebuje vzorca trojčkov (?alb tags:taggedWithTag tag:jazz) in (?alb tags:taggedWithTag tag:metal). Iščemo torej subjekt, ki je prisoten v obeh delcih vzorcev trojčkov. Odjemalec izvede poizvedbo tako, da prenese prve strani obeh delcev in izbere vzorec trojčka, ki ima najmanj rezultatov. To je v tem primeru vzorec trojčka (?alb tags:taggedWithTag tag:metal) s 397 rezultati. Nato se začne po tem delcu sprehajati (po vseh straneh) in za vsak subjekt preveri, ali se nahaja tudi v drugem pripadajočem delcu. Če se, je pripadajoča preslikava prisotna v rezultatih. Tako pride do 397 vsebnostnih poizvedb, kot je prikazano na sliki 2. PREFIX tags: PREFIX tag: SELECT ?alb WHERE { ?alb tags:taggedWithTag tag:jazz. # 421 ?alb tags:taggedWithTag tag:metal. # 397 } Poizvedba 1: Poizvedba SPARQL, za katero odjemalec delcev vzorcev trojčkov naredi 397 vsebnostnih poizvedb. Rezultat algoritma so vse preslikave, ki vodijo do rešitve. Slika 2: Prikaz izvedbe poizvedbe 1. Namesto celotnih URI-jev so zaradi berljivosti prikazani njihovi zadnji deli. 2018 - številka 2 - letnik XXVI uporabna NFORMATIKA 57 Jan Robas, Dejan Lavbič: Poizvedovanje po povezanih podatkih s porazdelitvijo dela med strežnikom in odjemalcem 3.3 Obstoječa razširitev AMF Razširitev AMF, kot jo opisuje članek avtorjev M. Vander Sande, R. Verborgh, J. Van Herwegen, E. Mannens, R. Van de Walle (2015), na metapodatke delca vzorca trojčka doda verjetnostno podatkovno strukturo za množico, ki vsebuje vse trojčke, nastopajoče kot rezultati vzorca trojčka (ni razdelitve po straneh). Pri tem uporablja Bloomov filter, s pomočjo katerega lahko preverimo, ali je možno, da se poljuben element nahaja v množici. Na vprašanje, ali je element v množici, lahko odgovorimo z mogoče ali ne. Prazen Bloomov filter je niz m bitov, nastavljenih na 0. Vsak element se s pomočjo k zgoščevalnih funkcij preslika v bite v tem nizu. Pri dodajanju elementa v Bloomov filter se pripadajoči biti nastavijo na 1, pri preverjanju vsebnosti elementa pa se preveri, ali so vsi pripadajoči biti nastavljeni na 1. Če so, potem je mogoče, da je element v množici, če niso, pa zagotovo vemo, da tega elementa ni v množici. Parametra m (velikost filtra) in k (število zgoščevalnih funkcij) sta lahko odvisna od velikosti množice, za katero gradimo Bloomov filter. S podano fiksno želeno verjetno- stjo lažnih pozitivnih odgovorov velikost Bloomo-vega filtra linearno narašča s številom elementov v množici (F. Bonomi, M. Mitzenmacher, R. Panigrahy, S. Singh, G. Varghese, 2006). Slika 3 prikazuje Bloomov filter, ki vsebuje elemente x, y in z, poizvedujemo pa po elementu w. Ker se w preslika v mesto, kjer je vrednost 0, vemo, da ga zagotovo ni v množici. Razširitev poleg Bloomovih filtrov omogoča tudi uporabo podatkovne strukture GCS, ki je prostorsko malo učinkovitejša, vendar porabi več procesorske moči (F. Putze, P. Sanders, J. Singler, 2007). Medtem ko so rezultati razdeljeni po straneh, verjetnostna podatkovna struktura v metapodatkih obravnava celoten vzorec trojčka. Prednost te metode je, da zmanjša število vsebnostnih poizvedb (in posledično zahtevkov), saj nam ni treba preverjati vsebnosti trojčkov, za katere verjetnostna podatkovna struktura v me-tapodatkih ne izkazuje možnega vsebovanja v celotnem delcu vzorca trojčka. Na sliki 4 je prikazana izvedba poizvedbe 1 preko delcev vzorcev trojčkov z opisano razširitvijo. Kvadratke z vprašaji si predstavljamo kot pogojne U,y, 2} 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 0 w Slika 3: Bloomov filter ?alb taggedWithTag jazz ?alb taggedWithTag metal 421 rezultatov + BLOOM 397 rezultatov zahtevkov < 397 record: 1006 record:10134 record: 112 63 taggedWithTag jazz taggedWithTag jazz taggedWithTag jazz 0 rezultatov 0 rezultatov 1 rezultat Slika 4: Prikaz izuedbe poizvedbe 1 z razširitvijo AMF 58 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI Jan Robas, Dejan Lavbič: Poizvedovanje po povezanih podatkih s porazdelitvijo dela med strežnikom in odjemalcem stavke, pri katerih ne izvedemo vsebnostnih poizvedb, če glede na Bloomov filter v metapodatkih ni možnosti vsebovanja danega trojčka. Parametra Bloomovega filtra m (dolžina bitnega polja) in k (število zgoščevalnih funkcij) se nastavita glede na število rezultatov v celotnem delcu vzorca trojčka tako, da imamo fiksno verjetnost napake oziroma lažno pozitivnega odgovora. Privzeta vrednost je 0,001 oziroma 0,1 %, s katero, glede na meritve, dobimo dobre rezultate. 3.4 Naš predlog izboljšave Razširitev AMF zmanjša število vsebnostnih poizvedb, vendar lahko pri tem močno poveča velikost delcev. Naša ideja je, da v metapodatke dodamo trojčke, povezane z rezultati na prikazani strani delca vzorca trojčka, ki jih odjemalec prav tako lahko izkoristi za zmanjšanje števila vsebnostnih poizvedb. Pri tem se osredinimo na izboljšanje v smislu količine prenesenih podatkov. Tako kot razširitev AMF tudi naša razširitev uporablja verjetnostno podatkovno strukturo, bolj specifično Bloomove filtre, vendar pri naši razširitvi obravnavamo druge podatke. Naša razširitev na metapodatke delca vzorca trojčka doda Bloomov filter, ki vsebuje trojčke, povezane s subjekti in objekti trojčkov na prikazani strani. Katere trojčke pri tem dejansko vsebuje Bloomov filter, je odvisno od različice naše razširitve. Bloomov filter pri naši različici na strani i vsebuje: ■ vse trojčke, povezane z objekti trojčkov na strani i, če je spremenljivka vzorca trojčka objekt, ■ vse trojčke, povezane s subjekti trojčkov na strani i, če je spremenljivka vzorca trojčka subjekt, ■ 4 različice, če sta spremenljivki vzorca trojčka tako subjekt kot objekt: • filtra ne vključimo (različica Jan 1), • v filtru so vsi trojčki, povezani s subjekti trojčkov na strani i (različica Jan 2), • v filtru so vsi trojčki, povezani z objekti trojčkov na strani i (različica Jan 3), • v filtru so vsi trojčki, povezani s subjekti ali objekti trojčkov na strani i (različica Jan 4). Ker je lahko v odvisnosti od podatkov velikost Bloomovega filtra zelo velika, se odločimo za implementacijo omejitve števila trojčkov v Bloomovem filtru. Ko je določena omejitev števila trojčkov prekoračena, filtra ne pošljemo. Ta omejitev je nastavljiva. Dodatna možnost naše razširitve so različice, v tem članku imenovane Jan N Filter, pri čemer je N številka ene od zgoraj navedenih različic. Pri teh različicah v filter dodajamo le trojčke z določenimi predikati. Gre za omejitev trojčkov v filtru glede na predikat. V filtru so namreč uporabni le trojčki s predikati, ki nastopajo v vsebnostnih poizvedbah. S tem lahko dodatno zmanjšamo količino prenesenih podatkov, če vemo, kateri predikati se bodo pojavljali v vsebnostnih poizvedbah. Protokol za uskladitev seznama v filtru uporabljenih predika-tov med strežnikom in odjemalcem ni določen; pri meritvah smo ta seznam ročno vnesli v programsko kodo strežnika in odjemalca, kot da gre za posebno različico, ki obravnava le določene predikate. Za splošno rabo bi bila potrebna sinhronizacija seznama predikatov pred vsakim izvajanjem poizvedbe, vendar bi bil zagotovo del teh podatkov proti podatkom, potrebnim za izvedbo celotne poizvedbe, zelo majhen. Če ta seznam ni popoln, še vedno lahko izvajamo poizvedbe, ki terjajo vsebnostne poizvedbe z drugimi predikati, vendar njihovo izvajanje ni optimalno. Te seznam bi lahko strežnik sestavil samodejno glede na vsebnostne poizvedbe, ki bi jih dobival. Kot je razvidno iz slike 5, se uporaben Bloomov filter pri naši razširitvi nahaja na drugem delcu vzorca trojčka kot pri razširitvi AMF. Razlika je, da pri naši razširitvi Bloomov filter vsebuje trojčke, povezane z rezultati na prikazani strani, pri razširitvi AMF pa so v Bloomovem filtru vsi dejanski rezultati vzorca trojčka ne glede na prikazano stran. Z algoritmom 1 pridobimo Bloomov filter, ki ga priložimo delcu vzorca trojčka. Prikazani algoritem je uporabljen v različici Jan 2, saj v primeru, da sta tako objekt kot subjekt spremenljivki, v filter dodamo trojčke, povezane s subjekti rezultatov. Naša razširitev je bolj podrobno opisana v magistrskem delu J. Robas (2016). 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 59 Jan Robas, Dejan Lavbič: Poizvedovanje po povezanih podatkih s porazdelitvijo dela med strežnikom in odjemalcem Slika 5: Prikaz izvedbe poizvedbe 1 z našo razširitvijo tp ... vzorec trojčka stran ... prikazana stran rezultatov vzorca trojčka tp p_napaka ... verjetnost napake za Bloomov filter VrniFilter(stran, tp) { if(tp["predikat"] je spremenljivka) { vrni prazen filter } else if(tp["subjekt"] je spremenljivka || tp["objekt"] je spremenljivka) { del = "subjekt" } else if(tp["objekt"] je spremenljivka) { del = "objekt" } rezultati = prazna množica za vsak trojček na strani { q1 = poizvedba: trojček[del] ?p ?o q2 = poizvedba: ?s ?p trojček[del] rezultati = rezultati u rezultati q1 u rezultati q2 } if(|rezultati| > omejitev) { vrni prazen filter } // nastavi optimalna parametra m in k m = (IS-|Lrezultati|*ln(p_napaka))]/(ln(2)*ln(2)) k = m/|rezultati|*ln(2) bloom = nov Bloomov filter s parametroma m in k za vsak trojček v rezultatih { bloom.dodaj(trojček["subjekt"] + "|" + trojček["predikat"] + "|" + trojček["subjekt"]) } // bloom tukaj predstavlja vrednost Bloomovega filtra v zapisu base64 vrni m + "," + k + "," + bloom } Algoritem 1: Psevdokoda za izgradnjo našega filtra 60 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI Jan Robas, Dejan Lavbič: Poizvedovanje po povezanih podatkih s porazdelitvijo dela med strežnikom in odjemalcem 4 EVALUACIJA PREDLAGANE IZBOLJŠAVE 4.1 Metodologija Za avtomatizirano izvajanje meritev smo uporabili BrowserMob Proxy1 in Selenium WebDriver2 z brskalnikom Chromium. Pri ocenjevanju uspešnosti razširitve smo obravnavali naslednji metriki: ■ število zahtevkov do strežnika: z našo razširitvijo želimo zmanjšati število vsebnostnih poizvedb; vsaka vsebnostna poizvedba predstavlja zahtevek HTTP; ■ količina prenesenih podatkov od strežnika proti odjemalcu: z zmanjšanjem števila vsebnostnih poizvedb se zmanjša količina prenesenih podatkov, vendar pa filter v metapodatkih poveča velikost delcev vzorcev trojčkov. Ker dandanes za dostop do informacij pogosto uporabljamo mobilne naprave, je ta metrika pomembna. Pri naši razširitvi smo se osredinili na optimizacijo z vidika te metrike. Računalnik, na katerem je potekalo testiranje, ima CPE Intel Core i7 6700, ki teče s frekvenco 3,4 GHz, in 16 GiB delovnega pomnilnika. Testiranje je potekalo v operacijskem sistemu Ubuntu 16.04 LTS. Pri obeh metrikah velja, da je manjša vrednost boljša, saj obe predstavljata vir, ki ga hočemo pri izvajanju poizvedb čim manj izrabiti. Za testiranje smo uporabili Waterloo SPARQL Diversity Test Suite (G. Alug, O. Hartig, M. T. Ozsu, K. Daudjee, 2014) z zbirko, ki vsebuje deset milijonov trojčkov. Različne razširitve in osnovno različico brez razširitev smo testirali s 340 poizvedbami SPARQL. Te poizvedbe so generirane z WatDiv, tako da je za vsako od predlog C1, F1, F2, F3, F4, F5, L1, L2, L3, L4, L5, S1, S2, S3, S4, S5 in S6 generiranih 20 poizvedb. Vsaka od teh predlog predstavlja določeno obliko poizvedb, naključno pa se spreminjajo določeni URI-ji. Enkrat npr. iščemo igralce, ki se nahajajo v mestu A, drugič pa igralce, ki se nahajajo v mestu B, sama oblika poizvedbe, če bi jo predstavili z grafom, pa ostaja enaka. Izvedba poizvedb, ustvarjenih iz predlog F1, L2, L5, S2, S3, S4, S5 in S6, terja vsebnostne poizvedbe. Pri izvajanju teh poizvedb z našo razširitvijo pričakujemo manjše število zahtevkov, manjšo količino prenesenih podatkov in (posledično) krajši čas izvajanja v primerjavi z osnovno različico.Pri drugih poizvedbah 1 Dostopno na spletnem naslovu https://github.com/lightbody/browsermobproxy. 2 Dostopno na spletnem naslovu http://www.seleniumhq.org/. pričakujemo večjo količino prenesenih podatkov zaradi dodanega Bloomovega filtra. Verjetnost napake za Bloomove filtre je bila pri vseh razširitvah nastavljena na 0,1 odstotka. Na vseh stolpičnih grafih je prikazano povprečje obravnavane metrike pri izvedbi vseh poizvedb oziroma njihove podmnožice. Pri intervalih zaupanja smo uporabili petodstotno stopnjo tveganja. Pri razširitvah Jan N Filter smo v filter dodali trojčke, katerih predikati nastopajo v vsebnostnih poizvedbah katere koli od vseh 340 poizvedb, ki nastopajo v testu. Te predikate smo dobili tako, da smo vse poizvedbe pognali z osnovno različico in si ob vsaki vsebnostni poizvedbi shranili njen predikat. Dobili smo sedem različnih predikatov, ki smo jih pred testom sinhronizirali med strežnikom in odjemalcem. S protokolom, pri katerem bi potrebovali uskladitev enkrat na izvedbo poizvedbe, bi z obravnavanimi podatki in poizvedbami potrebovali okoli 1 KiB dodatnih podatkov na poizvedbo. Pri naših testnih podatkih in poizvedbah je povprečna količina prenesenih podatkov pri izvajanju poizvedbe z razširitvijo Jan 2 Filter okoli 3,5 MiB, s tem da je mediana okoli 1 MiB, torej bi bila razlika sorazmerno majhna. Pri vseh različicah Jan N Filter je omejitev števila trojčkov v filtru nastavljena na 20 tisoč. 4.2 Rezultati meritev 4.2.1 Količina prenesenih podatkov Na sliki 6 je prikazan graf primerjave različic glede na povprečno količino prenesenih podatkov pri izvedbi vseh poizvedb. Najmanj podatkov prenese različica z razširitvijo Jan 2. V nadaljevanju podrobnejše analize našega pristopa bomo obravnavali razširitvi Jan 2 in Jan 4. Brez AMF Jan 2 Jan 3 Jan 4 Slika 6: Primerjava povprečne količine prenesenih podatkov pri izvedbi vseh 340 poizvedb SPAROL z različnimi razširitvami 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 61 Jan Robas, Dejan Lavbič: Poizvedovanje po povezanih podatkih s porazdelitvijo dela med strežnikom in odjemalcem P 2000- Jan 2 Jan 2 (10 k) Jan 2 (20 k) Jan 2 (30 k) Slika 7: Primerjava povprečne količine prenesenih podatkov pri izvedbi vseh 340 poizvedb SPAR0L z razširitvijo Jan 2 in uporabo različnih omejitev števila trojčkov v filtru Količino prenesenih podatkov smo pri naši razširitvi poskusili zmanjšati z omejitvijo števila trojčkov v filtru. Ker je pri nas filter odvisen od trojčkov na prikazani strani, za poljuben vzorec trojčka prekoračitev na eni strani ne implicira prekoračitve na drugih straneh. Številka v oklepaju poleg oznake predstavlja omenjeno omejitev. Črka k je oznaka za kilo (10 k npr. predstavlja 10 tisoč). Izmerili smo količino prenesenih podatkov ob uporabi razširitve Jan 2 pri omejitvah 10 tisoč, 20 tisoč in 30 tisoč. Kot je razvidno iz grafa na sliki 7, se izkaže, da je količina prenesenih podatkov najmanjša pri omejitvi 20 tisoč, zato smo se odločili za nastavitev omejitve na to vrednost. Primerjava povprečne količine prenesenih podatkov pri izvedbi poizvedb, ki terjajo vsebnostne poizvedbe, je prikazana na sliki 8. Iz grafa je razvidno, da, izvzemši rezultate različic Jan N Filter, od naših različic najmanj podatkov prenese Jan 2. Kar se tiče prenosa podatkov, je najbolj učinkovita različica Jan 4 Filter, vendar moramo za učinkovito uporabo te različice predhodno vedeti, kateri predikati bodo nastopali v vsebnostnih poizvedbah. Na sliki 9 vidimo primerjavo povprečne količine prenesenih podatkov pri izvedbi poizvedb, ki ne terjajo vsebnostnih poizvedb. Učinkovitost je pri teh poizvedbah ob uporabi vseh opisanih razširitev slabša kot pri osnovni različici, saj vse razširitve z dodajanjem metapodatkov poskušajo zmanjšati število pri izvedbi teh poizvedb neobstoječih vsebnostnih poizvedb. Iz grafa je razvidno, da naše različice pri teh poizvedbah dodajo manj podatkov kor različica z razširitvijo AMF. Slika 8: Primerjava povprečne količine prenesenih podatkov pri izvedbi sklopov poizvedb, ki terjajo vsebnostne poizvedbe (F1, L2, L5, S2, S3, S4, S5, S6), z različnimi razširitvami I I lili Jan 2 (20 k) Jan 4 (20 k) Jan 2 Filter Jan 4 Filter Slika 9: Primerjava povprečne količine prenesenih podatkov pri izvedbi sklopov poizvedb, ki ne terjajo vsebnostnih poizvedb (C1, F2, F3, F4, F5, L1, L3, L4, s1), z različnimi razširitvami Povprečna količina prenesenih podatkov pri izvedbi vseh poizvedb je prikazana na sliki 10. Na grafu lahko vidimo, da najmanj podatkov prenesemo pri uporabi različice Jan 4 Filter, vendar moramo za take rezultate predhodno vedeti, kateri predikati bodo nastopali v vsebnostnih poizvedbah. Slika 10: Primerjava povprečne količine prenesenih podatkov pri izvedbi vseh 340 poizvedb z različnimi razširitvami, s tem da pri naših razširitvah uporabljamo omejitev števila trojčkov v filtru 62 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI Jan Robas, Dejan Lavbič: Poizvedovanje po povezanih podatkih s porazdelitvijo dela med strežnikom in odjemalcem 4.2.2 šteuilo zahteukou Na sliki 11 je prikazana primerjava razširitev glede na povprečno število zahtevkov pri izvedbi vseh 340 poizvedb. Vidimo lahko, da sta razširitvi Jan 2 in Jan 4 malo manj učinkoviti kot razširitvi AMF in Jan 4 Filter. Ker z vsemi razširitvami, navedenimi v tem članku, zmanjšujemo število vsebnostnih poizvedb, je število zahtevkov pri poizvedbah, ki ne terjajo vsebnostnih poizvedb, enako kot pri osnovni različici. Zaradi tega je razlika v številu zahtevkov bolj opazna na sliki 12. Pri razširitvi Jan 4, ki je najbolj splošna, je pričakovano podobno zmanjšanje števila zahtevkov kot pri razširitvi AMF. Izkaže se, da ob uporabi razširitve Jan 4 pri poizvedbah iz sklopa S4 prihaja do prekoračitve števila trojčkov v filtru in posledično filter ni poslan. Na sliki 13 vidimo primerjavo razširitev pri izvajanju poizvedb iz sklopa S4. Ob omejitvi trojčkov v filtru glede na predikat (Jan 4 Filter) se filter splača poslati in je učinkovitost podobna kot pri razširitvi AMF. Razširitvi Jan 2 in Jan 4 sta brez uporabe filtra predikatov pri tem sklopu poizvedb manj učinkoviti kot razširitev AMF. Slika 11: Primerjava povprečnega števila zahtevkov pri izvedbi vseh 340 poizvedb Slika 12: Primerjava povprečnega števila zahtevkov pri izvedbi sklopov poizvedb, ki terjajo vsebnostne poizvedbe (F1, L2, L5, S2, S3, S4, S5, S6), z različnimi razširitvami Slika 13: Primerjava povprečnega števila zahtevkov pri izvedbi poizvedb v sklopu S4 5 SKLEP Čeprav je nevtralnost interneta zaradi različnih interesov pogosto pod vprašanjem (P. Ganley, B. Allgro-ve, 2006), nam spletne tehnologije omogočajo prosto prejemanje in objavljanje vsebine. Velikokrat pa je težava, kako ponuditi to vsebino, da jo bo kdo lahko našel. Rešitev za to so lahko povezani podatki, vendar je pri tem treba razviti način, kako iskati po veliki količini povezanih podatkov. Delci vzorcev trojčkov so splošen način iskanja po povezanih podatkih s porazdelitvijo bremena med strežnikom in odjemalcem. Poleg tega so zasnovani tako, da so razširljivi. V tem članku smo razvili svojo razširitev in jo primerjali z že obstoječo razširitvijo AMF. Ugotovili smo, da naša razširitev glede na test WatDiv z ustrezno nastavitvijo parametrov dosega dobre rezultate. Pri našem testu različica z našo razširitvijo prenese manj podatkov kot različica z razširitvijo AMF in različica brez razširitve. V nadaljevanju bi bilo treba za metode Jan N Filter določiti protokol za uskladitev seznama uporabljenih predikatov med strežnikom in odjemalcem. Lahko bi implementirali tudi algoritem, ki bi ta seznam na strani strežnika sproti prilagajal in bi tako omogočil bolj optimalno izvajanje poizvedb brez predhodne konfiguracije. Dobre rezultate bi lahko dobili tudi z nepopolnim seznamom predikatov. Glede na pridobljene rezultate menimo, da je naša razširitev praktično uporabna. Še posebno dobro se obnese v primerih, ko nad podatki delamo poizvedbe, pri katerih se pogosto pojavljajo enaki predikati. Če uporabljamo razširitev Jan 4 Filter, lahko iskanje optimiziramo za najpogostejše poizvedbe in tako dosežemo še boljšo učinkovitost. Učinkovitost vsake razširitve pa je seveda odvisna tako od podatkov kot od poizvedb, ki jih izvajamo. 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 63 Jan Robas, Dejan Lavbič: Poizvedovanje po povezanih podatkih s porazdelitvijo dela med strežnikom in odjemalcem 6 LITERATURA [1] Alug, G., Hartig, O., Ozsu, M. T., Daudjee, K. (2014). Diversified Stress Testing of RDF Data Management Systems, v International Semantic Web Conference, str. 197-212. [2] Aranda, C. B., Hogan, A., Umbrich, J., Vandenbussche, P.Y. (2013). SPARQL Web-Querying Infrastructure: Ready for Action?, v The 12th International Semantic Web Conference (ISWC2013), str. 273-288. [3] Berners-Lee, T. (2006). Linked Data. https://www.w3.org/De-signlssues/LinkedData.html. Dostopano 13. 11. 2017. [4] Bizer, C., Heath, T. (2011). Linked Data: Evolving the Web into a Global Data Space, Synthesis Lectures on the Semantic Web: Theory and Technology, zv. 1, st. 1, str. 1-136. [5] Bizer, C., Heath, T., Berners-Lee, T. (2009). Linked Data - The Story So Far, zv. 5, st. 3, str. 1-22. [6] Bonomi, F., Mitzenmacher, M., Panigrahy, R., Singh, S., Var-ghese, G. (2006). An Improved Construction for Counting Bloom Filters, v European Symposium on Algorithms, str. 684-695. [7] Ganley, P., Allgrove, B. (2006). Net neutrality: A user's guide, Computer Law & Security Review, zv. 22, st. 6, str. 454-463. [8] Putze, F., Sanders, P., Singler, J. (2007). Cache-, Hash- and Space-Efficient Bloom Filters, v International Workshop on Experimental and Efficient Algorithms. Springer, str. 108-121. [9] Robas, J. (2016). Učinkovito poizvedovanje po povezanih podatkih s porazdelitvijo obremenitve. Magistrsko delo, Fakulteta za računalništvo in informatiko, Ljubljana. [10] Vander Sande, M., Verborgh, R., Van Herwegen, J., Mannens, E., Van de Walle, R. (2015). Opportunistic Linked Data Querying through Approximate Membership Metadata, v The Semantic Web - ISWC 2015. [11] Verborgh, R., Hartig, O., De Meester, B., Haesendonck, G., De Vocht, L., Vander Sande, M., Cyganiak, R., Colpaert, P., Mannens, E., Van de Walle, R. (2014). Querying Datasets on the Web with High Availability, v Proceedings of the 13th International Semantic Web Conference, ser. Lecture Notes in Computer Science, zv. 8796, str. 180-196. [12] Verborgh, R., Vander Sande, M., Hartig, O., Van Herwegen, J., De Vocht, L., De Meester, B., Haesendonck, G., Colpaert, P. (2016). Triple Pattern Fragments: a Low-cost Knowledge Graph Interface for the Web, Journal of Web Semantics, zv. 37-38, str. 184-206. I Jan Robas je leta 2016 magistriral na področju računalništva in informatike na Fakulteti za računalništvo in informatiko Univerze v Ljubljani. Trenutno je zaposlen kot razvijalec programske opreme v podjetju Datastat, d. o. o. Ima večletne izkušnje z razvojem študijske informatike in pedagoškim delom na področju programiranja. Glavna področja, ki ga zanimajo in s katerimi se ukvarja, so razvoj informacijskih sistemov, programske paradigme, podatkovne zbirke, spletne tehnologije, semantični splet in poučevanje na področju računalništva. Zavzema se za ohranjanje odprtosti in nevtralnosti interneta. I Dejan Lavbič je leta 2010 doktoriral na področju računalništva in informatike na Fakulteti za računalništvo in informatiko Univerze v Ljubljani, kjer je zaposlen kot docent. Na raziskovalnem področju se ukvarja z inteligentnimi agenti, večagentnimi sistemi, ontologijami, poslovnimi pravili, semantičnim spletom, odkrivanjem plagiatorstva s pomočjo socialnih omrežij, kakovostjo informacij in naprednimi pristopi za porazdelitev podatkov. Sodeloval je pri številnih gospodarskih in raziskovalnih projektih s področja strateškega planiranja, metodologij razvoja informacijskih sistemov, uporabe inteligentnih sistemov, avtomatizacije poslovnih procesov in obvladovanja ter porazdelitve velike količine podatkov. 64 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI ZNANSTVENI PRISPEVKI B Vpliv organizacijske kulture na uspešnost uvajanja tehnologij Podjetje 2.0 1Grega Stritar, 2Jurij Jaklič 1Neolab, Tržaška cesta 116, 1000 Ljubljana 2Univerza v Ljubljani, Ekonomska fakulteta, Kardeljeva ploščad 17, 1000 Ljubljana stritar@gmail.com; jurij.jaklic@ef.uni-lj.si Izvleček Organizacijska kultura je po ugotovitvah različnih raziskav eden izmed kritičnih dejavnikov uspeha prehoda na Podjetje 2.0, ki pomeni uporabo družabnih tehnologij splet 2.0 za poslovne namene. Ni pa mogoče najti raziskave, ki bi poglobljeno analizirala, kako posamezna organizacijska kultura dejansko vpliva na uspešnost uvajanja teh tehnologij. Zato smo v okviru te raziskave s polstrukturirani-mi intervjuji z vodilnimi v podjetjih izvedli deset analiz primerov uvajanja orodij Podjetje 2.0 s poudarkom na analizi vpliva organizacijske kulture. Na tej podlagi smo oblikovali model, ki ga lahko podjetja uporabijo pri svojih strategijah uvajanja tehnologij Podjetje 2.0, tako da ugotovijo, katere tehnologije Podjetje 2.0 so sploh primerne za njihovo podjetje, ali pa z ustrezno spremembo organizacijske kulture pomembno vplivajo na uspešnost uvajanja tehnologij Podjetje 2.0. Poleg tega lahko s pomočjo ugotovitev raziskave bolje razumejo, kakšno stopnjo uporabe ter kakšne koristi od uporabe omenjenih orodij si lahko obetajo. Ključne besede: Podjetje 2.0, splet 2.0, sodelovanje, organizacijska kultura, uspešnost uvajanja, študija primera. Abstract The influence of organisational culture on the successful implementation of Enterprise 2.0 technologies Recent studies have suggested that organisational culture is one of the critical factors behind successful Enterprise 2.0 adoption, which represents the use of social Web 2.0 software in business environments. However, a detailed survey, which would offer an in-depth analysis of the influences of specific organisational cultures on the successful introduction of these technologies, is not available. As part of our research, we have conducted semi-structured interviews with the managements of ten companies, resulting in ten case analyses that explore the success of implementation of Enterprise 2.0 technologies, with specific focus on the analysis of the influence of organisational culture. Based on our findings, we have created a model which can be used by companies to help drive their Enterprise 2.0 strategies, by learning which Enterprise 2.0 technologies are best suited for their organisations, or by changing their organisational cultures to influence the successful adoption of Enterprise 2.0 technologies. Furthermore, this study can also help them understand what levels of use and benefits from the utilisation of such technologies can be expected. Keywords: Enterprise 2.0, Web 2.0, collaboration, organisational culture, implementation success, case study. 1 UVOD Web 2.0 oz. splet 2.0 (O'Reilly, 2005) pomeni razvoj generacije spletnih aplikacij (družabna omrežja, wikiji idr.), ki omogoča povezovanje velikanskih skupin ljudi in neomejeno soustvarjanje vsebin, saj so bralci hkrati postali tudi avtorji. Seveda ni trajalo dolgo, preden so vse te inovacije začeli uporabljati tudi v poslovnih okoljih. McAfee je bil prvi, ki je dokumentiral uporabo tovrstnih družabnih programskih rešitev za poslovne namene in omenjena orodja imenoval Enter- prise 2.0 oz. Podjetje 2.0 (McAfee, 2006a). Prehod na Podjetje 2.0 poleg novih tehnologij prinaša tudi nove načine organizacije in opravljanja dela, nove tehnologije pa pomenijo priložnost, da korenito spremenijo podjetja od znotraj navzven. Sposobnost za omenjeni prehod je v večji meri povezana z organizacijsko kulturo podjetja, ki je lahko največja ovira za prehod na omreženo organizacijo (Heiska, 2012). Dovzetnost za spremembe načina dela in bolj poglobljeno sodelovanje je tako v nekaterih organizacijskih kulturah bolje pod- 2018 - številka 3 - letnik XXVI uporabna INFORMATIKA 65 Grega Stritar, Jurij Jaklič: Vpliv organizacijske kulture na uspešnost uvajanja tehnologij Podjetje 2.0 prta, v nekaterih pa manj. Cook (2008) tako govori o tem, da se bo za prehod na nove načine poslovanja morala spremeniti kultura podjetja. McAfee (2006a) je prepričan, da je prava organizacijska kultura bistvena za sprejem konceptov Podjetje 2.0, bin Husin in Swatman (2010) pa odkrivata, da neprimerna kultura negativno vpliva na njihovo vpeljavo. Podobne povezave med organizacijsko kulturo in uspešnostjo vpeljave tehnologij Podjetje 2.0 potrjujejo tudi raziskave McKinseyja (Bughin, Chui in Miller, 2009) in AIIM (Frappaolo in Keldsen, 2008). Nekateri avtorji celo ugotavljajo, da so rešitve Podjetje 2.0 bolj povezane s strategijo in kulturo kot s samo tehnologijo (Frappaolo in Keldsen, 2008). Organizacijska kultura je torej po ugotovitvah različnih avtorjev eden izmed kritičnih dejavnikov, ki pogojuje uspešnost implementacije družabnih orodij; na tem področju so tudi že bile dokazane povezave v okviru širših raziskav o digitalni transformaciji in elektronskem poslovanju (Senarathna in Wickramasuriya, 2011). Ni pa mogoče najti raziskave, ki bi poglobljeno analizirala vpliv med obema komponentama ter skušala podati odgovore na to, kako posamezna organizacijska kultura dejansko vpliva na uspešnost uvajanja tehnologij Podjetje 2.0. Namen te raziskave je bil torej podrobneje razumeti, kako organizacijska kultura podjetij vpliva na uvedbo in uporabo tehnologij Podjetje 2.0. Povedano drugače, s pomočjo raziskave smo skušali razumeti, ali je organizacijska kultura pomemben dejavnik, ki vpliva na raznolikost, stopnjo in načine uporabe tehnologij Podjetje 2.0 ter na zmožnost podjetij, da ustvarijo novo obliko organizacije, imenovano Podjetje 2.0. Na podlagi ugotovitev bodo podjetja lažje vedela, kakšne vrednote in prepričanja jim lahko pomagajo pri oblikovanju poslovnih modelov, za katere lahko predpostavljamo, da bodo konkurenčni tudi v prihodnosti, saj bodo digitalne tehnologije po napovedih (Kane, Palmer, Phillips, Kiron in Buckley, 2016) prelomno vplivale na večino panog, primerna organizacijska kultura pa bo pri uspešnem prilagajanju imela zelo močan vpliv. V okviru raziskave smo s polstrukturiranimi intervjuji z vodilnimi v podjetjih opravili deset analiz primerov uvajanja orodij Podjetje 2.0 s poudarkom na analizi vpliva organizacijske kulture, pri čemer smo za razumevanje organizacijske kulture v posamezni organizaciji uporabili merski instrument OCAI (angl. The Organizational Culture Assessment Instrument), za določanje uspešnosti uvedbe pa smo se naslonili na prilagojeni model uspešnosti informacijskih sistemov avtorjev DeLone in McLean (1992). V prispevku najprej kratko predstavimo koncept Podjetje 2.0 s poudarkom na potrebnih organizacijskih spremembah. Nato podamo opredelitev organizacijske kulture in predstavimo metodo OCAI. V osrednjem razdelku najprej predstavimo metodologijo raziskave, organizacije, ki so sodelovale v raziskavi, nato pa podamo ugotovitve. Ključne ugotovitve so predstavljene kot model vpliva značilnosti organizacijske kulture na uspešnost uvajanja tehnologij Podjetje 2.0 v obliki tabele pred sklepom prispevka. 2 PODJETJE 2.0 »Podjetje 2.0 lahko opredelimo kot uporabo porajajočih se družabnih programskih platform znotraj podjetja ali med podjetji in njihovimi partnerji in strankami.« (McAfee, 2006b) Tovrstna orodja organizacijam omogočajo, da izvajajo procese na popolnoma nove načine, v njih pa vključujejo tudi zunanje osebe in druga podjetja, ki so vpletena v poslovni cikel. V osnovi imamo pri Podjetju 2.0 opravka z družabnimi programskimi rešitvami in tehnologijami, ki se uporabljajo v poslovne namene. Nekateri pa Podjetje 2.0 razumejo kot novo obliko organizacije, ki je odprta in prepletena z drugimi poslovnimi subjekti, kar pa se zgodi kot posledica uporabe teh orodij. Zanimivo je, da svetovni splet v zgornji definiciji tehnologij Podjetje 2.0 ni omenjen, a je iz konteksta mogoče razbrati, da imamo opravka s spletnimi tehnologijami oz. naslednikom t. i. spleta 2.0 (McAfee, 2006a; McAfee, 2006b). Če omenjeno komponento svetovnega spleta dodamo v zgornjo razlago, lahko razumevanje tehnologij Podjetje 2.0 posplošimo na tri bistvene prvine: ■ temeljijo na spletnih tehnologijah, ■ rešujejo poslovne probleme in ■ se osredotočajo na povezovanje, sodelovanje in družabnost. 2.1 Od tehnologij do Podjetja 2.0 Družabno programje ljudem omogoča, da se spoznavajo, povezujejo in sodelujejo s pomočjo programskih rešitev in ustvarjajo digitalne skupnosti. Platforme so digitalna okolja, v katerih so prispevki in interakcije globalno vidni in trajni. Porajajoče se oz. razvijajoče se pomeni, da je programska rešitev odprta in brez vsiljene strukture, hkrati pa vsebuje mehanizme, ki dolgoročno izrazijo vzorce in strukture v interakcijah med ljudmi (McAfee, 2006b). 66 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI Grega Stritar, Jurij Jaklič: Vpliv organizacijske kulture na uspešnost uvajanja tehnologij Podjetje 2.0 Pri tem avtor določi bistvene sestavine tovrstnih programskih rešitev in jih združi v akronim SLATES (McAfee, 2006a): ■ iskanje oz. angl. Search: da bi informacijska platforma bila uporabna, morajo uporabniki najti tiste informacije, ki jih iščejo; ■ povezave oz. angl. Links: povezave med vsebinami so dober vodič po tem, kaj je pomembno, hkrati pa omogočajo strukturo informacij; ■ avtorstvo oz. angl. Authoring: avtorstvo (ustvarjanje vsebine) omogoča, da se intranetne platforme spremenijo iz konstrukta manjšine v konstrukt množic; ■ oznake oz. angl. Tags: kategorizacija vsebin je lahko veliko boljša, če se jo prepusti uporabnikom, kar storimo s pomočjo oznak; ■ razširitve oz. angl. Extensions: strukture, ki jih postavijo uporabniki, je mogoče razširiti s pomočjo algoritmov za prepoznavanje vzorcev; ■ signali oz. angl. Signals: relevantnost vsebin povečamo s signali, ki sporočajo uporabnikom, ko je prišlo do novih vnosov in sprememb. Pri tem moramo omeniti, da orodja Podjetje 2.0 ne vsiljujejo določenih struktur in načinov dela, temveč se razvijajo sama od sebe (McAfee, 2006a). Njihova rast se zagotavlja organsko s pomočjo uporabnikov, ki soustvarjajo vsebine. 2.2 Podjetje 2.0 kot nova oblika organizacije Rešitve Podjetje 2.0 zahtevajo veliko več kot samo implementacijo tehnologij. Zahtevajo drugačno mentaliteto in kulturo, odprto organizacijo in ino-vativno izvajanje procesov, kar konkurenca težje povzame. Zato ima implementacija družabnih tehnologij za organizacije še toliko večji potencial, kot so ga imele prejšnje generacije informacijskih sistemov (McAfee in Brynjolfsson, 2008). Da bi podjetja sploh bila sposobna uspešno implementirati tehnologije Podjetje 2.0, morajo korenito spremeniti način razmišljanja in delovanja. Odprtost zahteva nekon-vencionalne poslovne prakse in odločitve, ki bi jih običajna ekonomska teorija lahko označila celo kot neracionalne. Agilne metode razvoja programskih rešitev so omogočile večjo fleksibilnost informacijskih projektov ter povzročile prenos odgovornosti na posameznike, hkrati pa naredile procese primernejše za spremembe. Tehnologije Podjetje 2.0 pa so omogočile večji vpliv uporabnikov, podprle nastanek program- skih ekosistemov ter uporabile modrost množic na ugotovitvah nekaterih (Bente, Bombosch in Langade, 2012). Skupaj z internimi spremembami v organizaciji se je pojavil tudi nov tip stranke, ki je bolje obveščena, pripravljena na sodelovanje in bolj iznajdljiva kot kadar koli v preteklosti (Jarvis, 2009). Ta pričakuje aktivno vlogo v prodajnem procesu. Pri nakupu ima možnost svojo presojo nadgrajevati z mnenji strokovnjakov, saj se povezuje in mreži z drugimi podobno mislečimi po vsem svetu. Poleg tega se hkrati pojavlja v vlogi potrošnika in ustvarjalca, kar precej spremeni pravila poslovanja. Podjetja so se zaradi tehnološkega napredka tako soočila z novimi razmerami na trgu, saj nimajo več monopola nad idejami in viri (Bhalla, 2010). Čeprav hierarhične organizacijske strukture ne bodo v celoti izginile, se zaradi sprememb v tehnologiji, demografiji in globalni ekonomiji pojavljajo novi modeli, ki namesto na nadzoru temeljijo na skupnostih, sodelovanju in samoorganizaciji. V teh novih okoliščinah bodo znanje, moč in produkcija razpršeni bolj kot kadar koli v zgodovini. Zaradi stalnih sprememb in zahtev potrošnikov bodo vse pogostejše potrebe po vključevanju zunanjih irov, saj notranjih ne bo dovolj, da bi zadovoljili pričakovanja po hitrosti, inovativnosti in nadzoru (Tapscott in Williams, 2006). Ta nova paradigma, ki jo avtorja imenujeta wiki-nomika (angl. wikinomics), gradi na štirih temeljih, ki lahko omogočijo transformacijo podjetij na nov način poslovanja, in jo z nekoliko drugačnim pomenom kot doslej navedeno v tem prispevku imenujeta Podjetje 2.0 (angl. Enterprise 2.0). Z uporabo pojma Podjetje 2.0 namreč nimata v mislih tehnologije, temveč strategije in spremenjeno organizacijo, ki temelji na konceptih (Tapscott in Williams, 2006): ■ odprtosti (angl. openness): tradicionalno so podjetja skrivala informacije pred partnerji, zaposlenimi in strankami, danes pa je transparentnost gonilna sila omrežene ekonomije; na ta način so potrošniki vključeni v inovacije in razvoj, zaradi česar tudi lažje vidijo dodano vrednost produktov; ■ omreženosti z vsakim (angl. peering): pojavljajo se horizontalne organizacije, predvsem v panogah, povezanih z informacijskimi tehnologijami; tam hierarhije nadomeščajo samoorganizacija in povezave med vsemi vpletenimi; 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 67 Grega Stritar, Jurij Jaklič: Vpliv organizacijske kulture na uspešnost uvajanja tehnologij Podjetje 2.0 ■ deljenju (angl. sharing): varovanje intelektualne lastnine v današnjem svetu postaja vse težje, zato se tudi z znanjem intenzivne panoge, kar zveni celo paradoksalno, vedno bolj odločajo za deljenje znanja z vsem svetom in razkrivanje odkritij s strokovnjaki z vsega sveta; ■ globalnem udejstvovanju (angl. acting globally): današnji svet je postal resnično globalen, tako da tako rekoč ni več omejitev pri povezovanju prek meja določene države. Podjetja 2.0 so za razliko od klasičnih podjetij horizontalno organizirana, agilna in fleksibilna, saj stremijo h gladko tekočim procesom. Nove tehnologije pogosto prihajajo od uporabnikov, strategije implementacije se izvajajo tudi od spodaj navzgor, prek distribuiranih arhitektur. Značilne so globalne ekipe, ki zahtevajo odprto poslovanje, ki temelji na transparentnosti. Informacijski sistemi niso popolnoma strukturirani, temveč se porajajo in razvijajo, namesto taksonomij se pojavljajo folksonomije - neformalne klasifikacije, ki jih ustvarijo uporabniki sami. Poslovni procesi so preprosti, odprti, poleg načrtovanih strategij se pogosto organizira tudi po potrebi. Vsi omenjeni pristopi pripomorejo tovrstnim podjetjem hitrejše vstope na trg (Mosher Zinck, 2010). Povzetek bistvenih razlik med tradicionalnimi podjetji in podjetji nove generacije, ki podpirajo sodelovanje in odprtost, je mogoče videti na sliki 1. PODJETJE 1.0 PODJETJE 2.0 Hierarhije Horizontalnost Trenja Gladko tekoči procesi Birokracija Agilnost Nefleksibilnost Fleksibilnost Nadzor IT-oddelkov Tehnologije od uporabnikov Zgoraj navzdol Spodaj navzgor Centralizirano Distribuirano Ekipe v eni stavbi Globalne ekipe Omejevanje Odprtost Informacije po potrebi Transparentnost Strukturirani sistemi Razvijajoči se sistemi Taksonomije Folksonomije Preveč kompleksno Preprosto Zaprto Odprto Načrtovano Po potrebi Dolgi vstopi na trg Kratki vstopi na trg Slika 1: Razlike med Podjetjem 1.0 in Podjetjem 2.0 (Vir: B. Mosher Zinck, Enterprise Collaboration: It's About the Culture, Stupid, 2010) 3 ORGANIZACIJSKA KULTURA Kot je razvidno iz predhodne razprave, se informacijska kultura pogosto omenja v povezavi z uvajanjem tehnologij Podjetje 2.0 še posebno kot ena izmed glavnih ovir za uspešnost tega procesa, kar potrjujejo tudi raziskave (Miles, 2011). 3.1 Opredelitev in pomen organizacijske kulture »Kultura skupine predstavlja vzorce skupnih osnovnih predpostavk, ki se jih je skupina naučila ob reševanju problemov zunanje prilagoditve in notranje integracije, ki deluje dovolj dobro, da jo smatramo za veljavno in primerno za učenje novih članov skupine kot pravilen način za dojemanje in čutenje omenjenih problemov.« (Schein, 1992) Organizacijska kultura torej pomeni načine razmišljanja in občutke, ki si jih delijo posamezniki v skupini, ta neformalna pravila pa prenašajo naprej na nove člane. Ko je organizacijska kultura enkrat ustvarjena, jo je težko načrtno spremeniti, saj spremembe povzročijo globoke konflikte v članih skupine in zahtevajo kompleksne prilagoditve. Po drugi strani pa ravno ta rigidnost omogoča stabilnost, ki jo potrebujejo vsi posamezniki za normalno delovanje. Na splošno lahko ugotovimo, da organizacijsko kulturo sestavljajo naslednje kategorije (Schein, 1992): opažene zakonitosti vedenja ob interakciji ljudi, jezik, navade in tradicije, skupinske norme, za-govarjane vrednote, formalna filozofija, pravila igre, organizacijska klima, vključene sposobnosti, navade mišljenja, miselni modeli in/ali jezikovne paradigme, skupni pomeni ter osnovne metafore. 3.2 Konkurenčne vrednote in OCAI Organizacijsko kulturo je zelo težko meriti, kljub temu pa se je s tem problemom ukvarjalo že večje število avtorjev, ki so definirali različne tipologije organizacijskih kultur. Za potrebe naše raziskave smo uporabili metodo OCAI (merilni instrument organizacijske kulture; angl. The Organizational Culture Assessment Instrument), saj je zelo transparentna in preprosta za uporabo. Merilni instrument organizacijske kulture temelji na modelu konkurenčni vrednot (angl. The Competing Values Framework, CVF), ki uporablja 39 različnih parametrov, ki opisujejo organizacijsko učinkovitost. Na podlagi statistične analize se je izkazalo, da obstajata dve različni dominantni dimenziji, ki postavljata omenjene para- 68 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI Grega Stritar, Jurij Jaklič: Vpliv organizacijske kulture na uspešnost uvajanja tehnologij Podjetje 2.0 metre v štiri glavne skupine. Omenjeni dimenziji sta (Cameron in Quinn, 1999): ■ fleksibilnost, diskretnost in dinamika v nasprotju s stabilnostjo, redom in nadzorom in ■ notranja orientacija, integracija in enotnost v nasprotju z zunanjo orientacijo, diferenciacijo in ri-valstvom. Ti parametri in dimenzije določajo, kaj ljudje sploh razumejo kot uspešnost organizacije. Določajo tudi, kaj ljudje vidijo kot dobro, slabo in primerno. Štiri glavne skupine oz. kvadranti, ki nastanejo na podlagi odnosa podjetij do zgoraj omenjenih vrednot, določajo temeljne skupine organizacijskih kultur, ki jim lahko pripadajo podjetja (Cameron in Quinn, 1999): ■ hierarhična (angl. hierarchy), ■ tržna (angl. market), ■ klanska (angl. clan) in ■ ad hoc kultura (angl. adhocracy). Z raziskavo sta avtorja ugotovila, da podjetja z rastjo in razvojem običajno prehajajo med različnimi organizacijskimi kulturami na enak način, in sicer prek ad hoc kulture, klanske, hierarhične do tržne. Kljub temu moramo razumeti, da nobena izmed njih ni boljša od druge, temveč so vse dobre in primerne za različne primere (Cameron in Quinn, 1999). Model konkurenčnih vrednot in OCAI razdelita podjetja glede na dve dimenziji. Prva dimenzija predstavlja notranjo proti zunanji osredotočenosti, zato lahko pričakujemo, da so za tiste v prvi skupini verjetno bolj primerna orodja, ki so namenjena internim koristim (wiki, blog, napovedni trgi), za druge pa orodja, ki so namenjena povezovanju s strankami in partnerji (družabna omrežja, blog, spletne storitve). Druga bistvena dimenzija modela konkurenčnih vrednot pa predstavlja odnos do stabilnosti in fleksibilnosti, pri čemer lahko predvidimo, da bodo fleksibilnejša podjetja uspešnejša pri vpeljavi tovrstnih orodij, saj njihova uporaba zahteva korenite spremembe v organizaciji, stabilnejša podjetja pa bodo zaradi neprilagodljivosti za omenjeno uvedbo manj učinkovita. 4 RAZISKAVA VPLIVA ORGANIZACIJSKE KULTURE NA USPEŠNOST UVAJANJA TEHNOLOGIJ PODJETJE 2.0 4.1 Metodologija raziskave Za potrebe proučevanja omenjene problematike smo oblikovali kvalitativno raziskavo, ki je bila opravlje- na v obliki poglobljenih polstrukturiranih intervjujev z vodilnimi v izbranih podjetjih; v določenih primerih je bilo iz posameznega podjetja tudi več intervju-vancev. V vzorec je bilo vključenih deset organizacij z različnimi lastnostmi. Namen intervjujev, ki so trajali približno eno uro, je bilo ugotoviti, kako uspešna so podjetja pri uvedbi družabnih tehnologij, rezultate pa analizirati v povezavi s standardnim vprašalnikom OCAI, ki uvrsti podjetje v štiri glavne oblike organizacijskih kultur. Intervjuje smo opravili v maju in juniju 2016; zaradi varovanja intelektualnega kapitala so vprašani odgovarjali na vprašalnik v popolni anonimnosti. Sodelujoča podjetja so iz različnih panog, različnih velikosti (od nekaj deset do nekaj deset tisoč zaposlenih na globalni ravni); intervjuji so potekali z najvišjim vodstvom, če je bilo mogoče, oz. vodji poslovnih funkcij in oddelkov v drugih primerih. Pri vrednotenju uspešnosti uvajanja informacijskih sistemov smo se naslonili na DeLone in McLe-anov (1992) model (angl. IS Success Model). Zaradi narave družabnih tehnologij pa smo se od šestih dimenzij omenjenega modela osredotočili predvsem na dve - uporabo in neto koristi za organizacijo. Tehnologije Podjetje 2.0 so relativno visoko razvite in praviloma niso kritične za poslovanje na tak način kot npr. transakcijski informacijski sistemi oz. celovite programske rešitve (ERP). V veliko primerih je neopti-malno delovanje sprejemljivo, nepravilne informacije so pričakovane, morebitna slaba kakovost storitve pa odvisna od zunanjih dejavnikov (npr. dosegljivost omrežja in oblačne infrastrukture). Pri raziskovanju uspešnosti uvajanja tehnologij Podjetje 2.0 smo dali poseben poudarek kombiniranju omenjenih izhodišč z dvema bistvenima načinoma uporabe tehnologij Podjetje 2.0 - notranje in zunanje optimizacije (Bughin in Chui, 2010). V prvem sklopu intervjuja smo tako preverili stopnjo uporabe različnih orodij Podjetje 2.0 za različne namene v posameznih podjetjih. Drugi, osrednji del vprašalnika je bil oblikovan na podlagi prej predstavljenih teoretičnih izhodišč raziskave. Na podlagi pridobljenih odgovorov glede uporabe orodij Podjetje 2.0 v kontekstu notranje in zunanje uporabe smo vodili razpravo tako, da smo dobili vpogled v strategije implementacije, težave pri implementaciji ter koristi implementacije. Pri strategijah implementacije smo preverjali predvsem povezanost orodij Podjetje 2.0 s cilji, procesi in kulturo podjetja, odnos vodstva, podpiranje neformalnih ini- 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 69 Grega Stritar, Jurij Jaklič: Vpliv organizacijske kulture na uspešnost uvajanja tehnologij Podjetje 2.0 ciativ, načine implementacije, odnos do samostojnosti in ključnih uporabnikov ter pomembnost zasebnih koristi. Pri težavah z implementacijo smo skušali razumeti strah pred razkritjem ali nepravilnimi informacijami, morebitno neprimerno organizacijsko strukturo in procese, pojav izgube nadzora, nezanesljivost rešitev, zmanjšano produktivnost, odpor vodstva in zaposlenih ter neprimerno organizacijsko kulturo. Za ugotavljanje koristi pa smo se osredoto-čali na komponente upravljanja znanja, povezovanja in komunikacije, sodelovanja, inovativnosti, motivacije in zadovoljstva zaposlenih ter učinkov na trženje in prodajo. Za konec smo intervju navezali še na Podjetje 2.0 kot novo obliko organizacije, ki se pojavlja zaradi uporabe teh tehnologij. Zanimalo nas je namreč, kako odprta in fleksibilna so proučevana podjetja ter kako globoko imajo integrirane procese z drugimi poslovnimi subjekti. Pri tem smo za izhodišče uporabili ugotovitve s slike 1, ki podaja bistvene razlike med Podjetjem 1.0 in Podjetjem 2.0, namen tega dela vprašalnika pa je bilo ugotavljanje morebitne povezave med tehnologijami Podjetje 2.0 in Podjetjem 2.0 kot nove oblike organizacije. 4.2 Predstavitev primerov V raziskavi o povezanosti organizacijske kulture in uspešnosti uvajanja tehnologij Podjetje 2.0 je sodelovalo deset podjetij, ki pripadajo vsem različnim oblikam organizacijske kulture. Vsa podjetja se nahajajo v Sloveniji, določena imajo podružnice v tujini in poslujejo mednarodno, tri pa so del mednarodnih skupin. Ker so orodja Podjetje 2.0 značilna za storitvena podjetja, so vse sodelujoče organizacije v storitvenem sektorju. Pri tem določene poslujejo z drugimi podjetji (angl. Business To Business. B2B), določene pa s končnimi potrošniki (angl. Business To Consumer, B2C), kar zagotavlja relativno širok nabor podjetij različnih velikosti, poslovnih modelov in organizacijskih struktur. Primeri so predstavljeni v tabeli 1. 4.3 Ugotovitve Na podlagi analize zgornjih primerov ugotavljamo, da v primeru desetih podjetij v raziskavi obstaja nekaj skupin, ki imajo podobne lastnosti. V prvi skupini so fleksibilna podjetja, v katerih sta močni klanska in ad hoc kultura, za njiju je značilno eksperimentiranje, prilagajanje procesov rešitvam, želja po samoorganizaciji in integraciji procesov z dobavitelji (podjetja A, B in C). V drugi skupini so podjetja, osredotočena na trg, pri čemer je vodstvo previdno in premišljeno določa rešitve, ki so velikokrat zelo prilagojene zaradi nefleksibilnih procesov, integracije procesov s partnerji pa so manj globoke (podjetji D in E). V tretji skupini so podjetja z močno komponento hierarhične kulture, v katerih ni velikih potreb po orodjih za sodelovanje in komunikacijo, imajo pa zato toliko močnejšo uporabo orodij Podjetje 2.0 za zunanjo uporabo in podporo prodaje (podjetji F in G). V raziskavi smo imeli opravka še z dvema neuvrščenima podjetjema I in J, pri čemer se je izkazalo, da je podjetje I najbolj podobno tistim v prvi skupini (podjetja A, B in C), podjetje J pa tako izredno, da ga je treba obravnavati ločeno, kot primer najvišje stopnje uporabe tehnologij Podjetje 2.0. Po nadaljnjem razmisleku lahko ugotovimo tudi to, da je podjetje F bolj podobno podjetju J kot podjetjema D in E, čeprav je na prvi pogled glede organizacijske kulture bolj podobno njima. Komponenta tržne kulture je očitno tako močna, da določa obnašanje podjetja v kontekstu tehnologij Podjetje 2.0 v zelo veliki meri. V skladu s temi ugotovitvami smo oblikovali štiri skupine podjetij. 4.3.1 Fleksibilno podjetje - podjetja A, B, C in I Za podjetja v prvi skupini je značilna visoka stopnja fleksibilnosti, kar močno vpliva na uspešnost uvedbe tehnologij Podjetje 2.0. Vsa omenjena podjetja uporabljajo širok nabor družabnih orodij, načeloma v nekoliko večji meri za notranjo organizacijo in izboljšanje produktivnosti kot za doseganje zunanjih učinkov. Običajno nimajo težav z uvajanjem in uporabo novih orodij, saj so vajena tega, da dobre prakse pridejo od naprednih uporabnikov, kar se potem prenese na celotno organizacijo. Pogosto se celo zgodi, da se določena orodja začnejo uporabljati na pobudo strank (podjetji A in C). Ta fleksibilnost in podjetniška usmerjenost, ki v največji meri prihajata iz ad hoc kulture, sta tako med bistvenimi značilnostmi, ki določajo takšno podjetje (podjetja A, B in C). Zelo značilni so agilni pristopi organiziranja, tako da je procese mogoče prilagoditi relativno hitro in neboleče, če je to v skladu z novimi potrebami. To pomeni, da ob uporabi nove programske rešitve preprosto prilagodimo organizacijo v skladu z dobrimi praksami, ki jih s seboj prinesejo tovrstna orodja. Zato prihaja tudi do pogoste zamenjave posameznih rešitev z boljšimi. 70 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI Tabela 1: Pregled obravnavanih primerov Podjetje Intervjuvanec Dejavnost Velikost Uporaba orodij Podjetje 2.0 Indikativne izjave Organizacijska kultura QJ t? A Direktor Razvoj informacijskega Nekaj deset Uporabljajo večje število orodij, tako za notranje kot »Podjetje smo skušali postaviti okoli Dominantna klanska, QJ produkta, ki ga tržijo ljudi zunanje namene: treh različnih programskih rešitev za sekundarna ad hoc "Z. globalno • wiki, ki ga uporabljajo za dokumentni sistem in arhiv sodelovanje in komunikacijo - wiki, Jira vsebin, in Skype. Drugače nismo znali.« £U 7T • družabno orodje Slack, ki ga uporabljajo razvijalci, »Uporabo VVhatsAppa je zahtevala ena o< • Jira, s pomočjo katere organizirajo delo in vodijo izmed strank, a se je orodje izkazalo za < T3 projekte. tako uporabno, da ga zdaj uporabljamo o Za komunikacije s strankami je elektronsko pošto z vsemi.« (B 0) nadomestila mobilna aplikacija VVhatsApp, v katero so n" prav tako vključeni vsi vpleteni v projekt s stranko vred. Q) O Skoraj nimajo prisotnosti na javnih družabnih omrežjih. rt) B Direktor Razvoj programskih Nekaj sto Uporaba orodij: »Uporabljene rešitve za komunikacijo Dominantni 7T C in vodja rešitev in storitve zaposlenih • wiki, ki deluje kot dokumentni sistem, so tako preproste za implementacijo, organizacijski kulturi C rt) enega izmed informatizacije • Jira za vodenje projektov, da jih enostavno uporabimo, ko je izenačeno klanska in 0) produktov • zelo širok spekter produktov za komunikacijo, kot so potrebno.« ad hoc, zelo blizu tudi C t/1 T3 Skype, Lync, Viber, Signal, WebEx, GoToMeeting in »Za dokumentni sistem smo najprej tržna rt) C/l < podobne. uporabljali lastni intranet, a smo O 0T_ Urejajo tudi lasten blog, prav tako so prisotni na ugotovili, da je wiki boljši, in preprosto C < družabnih medijih. smo začeli uporabljati tega.« m' 3 □ba ustanovitelja in direktorja podjetja Razvoj informacijskih rešitev po naročilu, poleg tega pa se ukvarja tudi z razvojem mobilnih aplikacij za končne uporabnike, za kar imajo ločeno blagovno znamko Približno Uporabljajo večinoma za namene notranje organizacije deset in optimizacije procesov, čeprav do njih dostopajo tudi zaposlenih stranke: • Jira, ki so jo implementirali na pobudo stranke, • Slack za namene podpore notranjega sodelovanja, včasih pa vanj vključijo tudi podizvajalce. V okviru druge blagovne znamke urejajo blog in prisotnost na družabnih medijih, čeprav trenutno to ni prioriteta. Prav tako niso prioriteta druga orodja za sodelovanje, npr. Asana ali Trello. Uporabljajo jih po potrebi, če tako želi določena stranka ali če je lastnost projekta takšna, da je bolj primerna alternativna rešitev. »Rešitve naj pridejo od uporabnikov, saj ti najbolje vedo, kaj potrebujejo, in bodo to tudi uporabljali,« pri tem imajo posamezne iniciative tudi lastne ambasadorje. Prav tako je dobrodošla »samoorganizacija, ki je zaželena, skupaj s prevzemanjem odgovornosti«. Dominantni klanski in ad hoc organizacijski kulturi sledita tržna in hierarhična. O 73 > D Vodja informatike Veleprodaja specializiranih produktov Nekaj sto ljudi Relativno malo tehnologij Podjetje 2.0: • interni portal za organizacijo dokumentov SharePoint, do katerega pa ne dostopajo vsi zaposleni, • orodja za takojšnje sporočanje, kot je npr. Skype. Obstaja visoka stopnja podpore za elektronsko poslovanje, ki temelji na izmenjavi podatkov s pomočjo spletnih storitev (angl. web services). Delovanje infrastrukture za avtomatizacijo oskrbne verige je bistvenega pomena, saj »česar ne prodaš takoj, ne prodaš nikoli več, saj bo stranka šla h konkurenci«. »Glavna prednost portala SharePoint v tem, da je znanje na enem mestu, vedno dostopno.« Dominantni klanska in tržna, sledita hierarhična in ad hoc. Podjetje Intervjuvanec Dejavnost Velikost Uporaba orodij Podjetje 2.0 Indikativne izjave Organizacijska kultura Vodja oddelka Oglaševanje Nekaj deset Relativno majhno število različnih družabnih tehnologij: ljudi • lasten sistem za podporo sodelovanja, do katerega dostopajo tudi zunanji izvajalci, • dokumentni sistem na podlagi portala SharePoint. Omenjeni orodji uporabljajo predvsem za interno optimizacijo, medtem ko imajo za svoje stranke spletni dnevnik in preprost ekstranet za dostop do drugih strokovnih vsebin, a je komunikacija predvsem enostranska. Rešitve se prilagajajo procesom in ne obratno, kar zahteva daljše razvojne cikle, oz. »vse, kar olajša delo, je zaželeno, a je pot pogosto dolga«. Skrb pred izgubo informacij obstaja, zato so skrbno načrtovani tudi dostopi do posameznih vsebin in pooblastila za urejanje: »Nekatere stvari so take, da je smiselno, da jih urejajo vsi, nekatere pač ne.« Dominantni klanska in tržna, sledita hierarhična in ad hoc. Vodja oddelka Telekomunikacije Nekaj sto ljudi Uporabljajo: • interni imenik, napredno bazo znanja, • Jiro za vodenje projektov, v katero so vključeni tudi podizvajalci, • zelo močno prisotnost na družabnih medijih, ki jih uporabljajo tudi za interne namene, • rešitev za generiranje idej, v kateri sodelujejo vsi zaposleni. Uporabljajo tudi veliko rešitev na področju zunanje uporabe od spletnih dnevnikov in družabnih omrežij do drugih rešitev. Kot pravi vprašana, »ideje za nova orodja pridejo tudi od uporabnikov, a njihovo širšo uporabo pogojujejo formalne strategije«. Pri tem je znanje ključnega pomena za nemoteno poslovanje. »Dokumentni sistem je glavno orodje, brez katerega delo sploh ne bi moglo potekati.« Dominantni tržna in klanska, sledita ad hoc in hierarhična. Vodja oddelka Finančne storitve Nekaj sto ljudi Ne uporabljajo veliko tehnologij Podjetje 2.0 za notranjo organizacijo, sodelovanje podpirajo z družabnimi tehnologijami prejšnjih generacij, kot so koledarji in direktoriji v skupni rabi. Uporabljajo tudi intranet, v katerem je imenik zaposlenih in dokumenti sistem, ki pa je enosmeren in ne podpira sodelovanja. Prav tako enosmerna so mesečna obvestila, ki jih uporabniki prejmejo po elektronski pošti, čeprav je pri tem mogoče zaznati grajenje skupnosti. Intenzivna je uporaba družabnih orodij za komunikacijo s strankami: • profil na Facebooku, ki je redno posodobljen, • Linkedln, • kanal YouTube. Stranke in podizvajalci nikoli ne dostopajo do njihovih sistemov, ki so implementirani v nadzorovanih okoljih, tako da »tako rekoč vsa komunikacija z zunanjimi osebami, pa tudi med notranjimi, poteka po elektronski pošti«. »Skype je sicer dovoljen, a ni predpisan za službeno uporabo. Zaradi arhivov je najbolje, če gre vse po elektronski pošti.« Dominatna hierarhična, sledi tržna. Podjetje Intervjuvanec Dejavnost Velikost Uporaba orodij Podjetje 2.0 Indikativne izjave Organizacijska kultura H Direktor Športna organizacija Nekaj deset Nima implementiranih veliko tehnologij Podjetje 2.0 za ljudi interno uporabo: • za dokumentni sistem uporabljajo napredno rešitev 4th Office, ki podpira skupno rabo, sodelovanje in komunikacijo. Relativno visoka stopnja uporabe družabnih orodij za zunanje namene: • profili tako rekoč na vseh omrežjih (Facebook, Twitter, YouTube, Instagram), • Snapchat, ki je relativno novo orodje, ki kombinira družabna omrežja in takojšnje sporočanje. Sodelovanje se s 4th Office skuša podpreti sistematično, vseeno pa je pri tem treba omeniti tudi drugo komponento izbire te rešitve, ki se skriva v nadziranju, saj »orodje podpira temeljit nadzor nad dostopi in prispevki, kar je bilo za prejšnje vodstvo zelo pomembno«. »Določeni starejši uporabniki nočejo uporabljati sistema.« Organizacija se zaradi prihoda novega direktorja spreminja. Dominantna je in ostaja tržna, cilj je premik iz hierarhične v ad hoc ter večanje klanske. Direktor in pomočnik direktorja Razvoj informacijskih rešitev Nekaj sto ljudi Za podporo sodelovanja uporabljajo Jiro in še eno podobno orodje, ki dovoljujeta dostop tudi strankam in zunanjim izvajalcem. Delo je organizirano s pomočjo wikija in portala SharePoint, pri čemer so uporabniki svobodni do te mere, da si za posamezni projekt lahko izberejo posamezno orodje glede na potrebe. Imajo notranje družabno omrežje in spletni dnevnik, prek katerega zaposleni dostopajo do svojih podatkov in informacij o podjetju. Uporabljajo tudi orodja Podjetje 2.0, ki so namenjena povezovanju s strankami, predvsem v obliki prisotnosti v družabnih medijih, a ta prisotnost ni zelo močna in je sekundarnega pomena. Svoboda uporabnikov pri uporabi orodij je včasih celo zaželena, saj so »neformalne iniciative konkurenca internemu IT-ju, kar je dobro«. »Pomembno je ljudem dovoliti, da uporabljajo tisto orodje, ki jim najbolj olajša delo. Prisiliš jih zelo težko.« Dominantni klanska in hierarhična, sledita tržna in ad hoc. Direktorica Del globalne V regiji Deluje kot virtualna organizacija. Izrazito uporabljajo regije multinacionalke, zaposluje tehnologije Podjetje 2.0 za notranje namene, npr.: ki se ukvarja z nekaj deset • svoj dokumentni sistem, ki podpira sodelovanje, informacijskimi ljudi • skupek družabnih rešitev v okviru lastnega rešitvami družabnega portala, ki podpira blog, komunikacijo, mreženje, profile, sledenje in tako rekoč vse druge komponente tehnologij Podjetje 2.0. Tudi v povezovanju s strankami so zelo napredni, uporabljajo veliko različnih orodij: • imajo profile na vseh pomembnejših družabnih omrežjih, • veliko mrežo spletnih dnevnikov svojih zaposlenih in • knjižnico video vsebin. Med vsemi še najbolj razmišljajo kot platforma in Podjetje 2.0, saj s pomočjo različnih prilagojenih družabnih rešitev, kot je npr. tista za prodajo, popolnoma digitalizirajo in integrirajo procese s svojimi dobavitelji in strankami. »Včasih so informacije pomenile moč, zdaj pa ne več. Deljenje informacij prinaša še večjo moč.« Celotna organizacija je osredotočena na rezultate, »s temi orodji se gradi kultura dosežkov (high performance culturel«. Kljub temu je uporabnost pri uporabnikih bistvenega pomena, saj »je v našem podjetju uvedba vseh orodij uspešna zato, ker so orodja orientirana na uporabnost pri uporabnikih in ne pri vodstvu.« Dominantni tržna in ad-hoc, sledita klanska in hierarhična Grega Stritar, Jurij Jaklič: Vpliv organizacijske kulture na uspešnost uvajanja tehnologij Podjetje 2.0 Po drugi strani so za celotno skupino podjetij A, B, C in I značilne neformalne iniciative pri uvajanju rešitev, implementacija od spodaj navzgor, ambasadorji in zasebne koristi uporabnikov, ki so jih vpra-šanci označili kot ključno pomembne za uspešno implementacijo tehnologij Podjetje 2.0. Takšno razmišljanje pa tem trem podjetjem zagotavlja klanska komponenta organizacijske kulture. 4.3.2 Previdno podjetje - podjetji D in E Podjetji v drugi skupini k implementaciji tehnologij Podjetje 2.0 pristopata bolj nadzorovano in premišljeno, saj jima razmere na trgu ne dopuščajo napak. Odličnost na trgu je bistvenega pomena, kadri pa cenjeni, fluktuacija delovne sile ni tako značilna. Čeprav je zadovoljstvo zaposlenih pomembno, iniciative za nova orodja redko prihajajo od končnih uporabnikov oz. tudi če je tako, se običajno implementirajo v nadziranem okolju. Uporabniki torej nimajo večjih zasebnih koristi od uporabe orodij, saj jim je uporaba predpisana, prav tako ni posebnega poudarka na grajenju skupnosti. Podjetji v tej skupini se soočata z več težavami pri uvajanju tehnologij Podjetje 2.0, sta bolj previdni, premišljeni in občutljivi na morebitno razkritje informacij. Znanje je bistvenega pomena, a kljub temu namenjajo več pozornosti dostopom do posameznih vsebin kot pri podjetjih iz prve skupine. Pomemben je pretok informacij, a v nadzorovanem okolju. Nove tehnologije so posledica premišljenih strategij in jih načrtno implementirajo vodstvo in oddelki za informatiko. Poslovni procesi se redko spreminjajo, v večini primerov so informacijske rešitve tiste, ki se morajo prilagoditi procesom. Tako se podjetji v tej skupini soočata z dolgotrajnimi cikli implementacije rešitev Podjetje 2.0, ki so premišljene in pisane na kožo. Agil-nost ni toliko značilna, saj raje stremijo k popolnosti manjšega števila rešitev. Integracija procesov in sodelovanja z zunanjimi subjekti se pojavlja, a običajno ni tako globoka kot pri podjetjih v prvi skupini, vsaj kar se tiče sodelovanja in komunikacije. Vseeno pa moramo omeniti izjemo podjetja D, ki ima zelo močno integrirano dobavno verigo, a ta integracija nima večje zveze s sodelovanjem in komunikacijo, tako da v raziskavi ne igra večje vloge. 4.3.3 Stabilno podjetje - podjetji G in H Podjetji v tretji skupini stremita k stabilnosti, ki jo prinašata dominantni hierarhični in tržni organizacijski kulturi. Posledica tega je relativno nizka stopnja uporabe tehnologij Podjetje 2.0 za namene interne organizacije, če pa se takšne tehnologije uvedejo, je z njihovo širšo uporabo veliko težav. Stranke in poslovni partnerji teh sistemov ne uporabljajo, prav tako ta podjetja ne integrirajo poslovnih procesov z drugimi subjekti. Zaradi teh lastnosti in narave organizacij pogosto ni resničnih potreb za podporo elektronskega sodelovanja. Včasih do tega pride zaradi skrbno določenih postopkov in želje po nadzoru, včasih pa so sami procesi tako preprosti, da ne potrebujejo kompleksnih rešitev. Takšnim organizacijam elektronska pošta in direktoriji v skupni rabi dostikrat zadostujejo, tako da se dogaja, da ne uporabljajo niti orodij za takojšnje sporočanje. Bolj aktivna so tovrstna podjetja na področju zunanje uporabe tehnologij Podjetje 2.0; običajno imajo profile na več omrežjih, ustvarjajo svoje video vsebine in sistematično pristopajo k tem orodjem, ki jih dojemajo predvsem kot podporo za prodajo. Pri uporabi teh rešitev tako prevladujejo nad tipičnimi primeri iz prve (podjetja A, B, C in HI) in druge skupine (podjetji D in E), kar verjetno lahko pripišemo tržni organizacijski kulturi. 4.3.4 Podjetje 2.0 - podjetji F in J V raziskavi o uspešnosti uvajanja tehnologij Podjetje 2.0 se je podjetje J odrezalo najbolje in je vodilno tako v stopnji uporabe tovrstnih orodij kot tudi v učinkih, ki jih prinašajo tovrstna orodja. Ta virtualna organizacija je resnično Podjetje 2.0 v vseh pogledih, kar je še toliko bolj impresivno, če upoštevamo 50.000 zaposlenih, ki jih ima organizacija na globalni ravni. Podobna podjetja te velikosti takšnega načina dela niso sposobna. To podjetje posluje v skladu z vsemi razmišljanji o novi obliki odprte in omrežene organizacije, imenovane Podjetje 2.0, kot je bila predstavljena v prejšnjih razdelkih. Postaja platforma, ki s pomočjo lastnih programskih rešitev podpira virtualne procese, v katere so vključeni vsi subjekti, vpleteni v poslovni proces. To podjetje lastne kadre razvija z agresivno in tržno usmerjeno politiko, kar omogoča dobre rezultate. Dominantni organizacijski kulturi podjetja J sta tržna in ad hoc, in zdi se, da ta kombinacija omogoča doseganje vseh pozitivnih učinkov teh tehnologij. Fleksibilnost in razmišljanje v smer odprtosti, kar je v naši raziskavi značilno za podjetja v prvi skupini, so uspeli pripeljati še dlje, z bolj dovršenimi rešitvami in 74 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI Grega Stritar, Jurij Jaklič: Vpliv organizacijske kulture na uspešnost uvajanja tehnologij Podjetje 2.0 bolj globokimi integracijami procesov. Po drugi strani pa so s planiranim pristopom, ki prilagodi rešitve procesom, ki so pogosto načrtovani optimalno, uspeli implementirati izredno napredne rešitve, ki so osredotočene na rezultate in na vodilni položaj na trgu. Poleg tega je podjetje J uspešno uvedlo tudi tehnologije Podjetje 2.0 za potrebe dostopa do strank, kar je bilo do zdaj najbolj značilno za podjetja v tretji skupini, v veliko večjem obsegu kot katero koli drugo v raziskavi. S podjetjem J lahko primerjamo tudi podjetje F, ki ima organizacijsko kulturo naravnano v tržno in klansko, sledi ad hoc kultura. To podjetje je na prvi pogled precej podobno podjetjema D in E, saj je podvrženo bolj premišljenemu uvajanju družabnih tehnologij, a uporablja precej več različnih tehnologij kot drugi dve in je bolj prilagodljivo v procesih, če pride do takšne potrebe. V teh lastnostih je tudi to podjetje podobno fleksibilnim podjetjem iz prve skupine (podjetja A, B, C in I), čeprav je ta fleksibilnost po navadi posledica potreb po širši reorganizaciji in ne po prilagoditvi orodjem, kar je značilno tudi za podjetje J. Podjetje F ima še dve pomembni lastnosti. Omenjene koristi, ki jih prinašajo tehnologije Podjetja 2.0, se pojavljajo na širokem spektru področij, notranjih in zunanjih. Druga značilnost je globoka integracija procesov s strankami in partnerji, sicer značilna za prvo skupino. Podjetje F tako na podoben način kot podjetje J uspeva izkoriščati vse potenciale tehnologij Podjetje 2.0, čeprav v nekoliko manjšem obsegu. 4.3.5 Model vpliva organizacijske kulture na uspešnost uvajanja tehnologij Podjetje 2.0 V tabeli 2 je sumarno predstavljen model štirih različnih profilov podjetij glede na različne organizacijske kulture in uspešnost uvajanja tehnologij Podjetje 2.0. Za posamezne skupine so značilne kombinacije organizacijskih kultur, in sicer: ■ fleksibilna podjetja: klanska, ad hoc in tržna oz. klanska, hierarhična in tržna, ■ previdna podjetja: klanska, tržna in hierarhična, ■ stabilna podjetja: hierarhična, tržna in ad hoc oz. tržna, hierarhična in ad hoc, ■ Podjetje 2.0: tržna, ad hoc in klanska oz. tržna, klanska in ad hoc. Identifikacija omenjenih štirih profilov se v določeni meri sklada tudi z raziskavo McKinseya, ki omenja štiri različne skupine podjetij glede na stopnjo uporabe orodij Podjetje 2.0 (Bughin in Chui, 2010): ■ manj omrežena podjetja (angl. less networked), podobna drugi skupini previdnih podjetij (D in E) v raziskavi, ■ zunanje omrežena podjetja (angl. externally networked), podobna tretji skupini stabilnih podjetij (G in H) v raziskavi, ■ notranje omrežena podjetja (angl. internally networked), podobna prvi skupini fleksibilnih podjetij (A, B, C in I) v raziskavi, ter ■ popolnoma omrežena podjetja (angl. fully networked), podobna četrti skupini podjetij (F in J), imenovani Podjetje 2.0. 5 SKLEP Rezultati raziskave so pokazali, da v omenjenih desetih primerih vsekakor obstaja močna povezava med organizacijsko kulturo in uspešnostjo uvajanja tehnologij Podjetje 2.0 tako na področju uporabe kot na področju neto koristi za organizacijo. Vsaka izmed omenjenih štirih skupin ima namreč podobne profile organizacijske kulture in je podobno uspešna pri uvajanju tehnologij Podjetje 2.0. Glede na rezultate raziskave lahko potrdimo, da organizacijska kultura pomembno vpliva na uspešnost uvajanja tehnologij Podjetje 2.0, čeprav morda ne popolnoma na tak način, kot smo pričakovali. Nagnjenost k zunanji osredotočenosti glede na organizacijsko kulturo tako še ne pomeni uporabe družabnih orodij za zunanjo uporabo, prav tako notranja osredotočenost še ne pomeni uporabe orodij za notranjo uporabo. Po drugi strani pa je mogoče opaziti nekoliko bolj uspešno uvajanje tehnologij Podjetje 2.0 v tistih podjetjih, ki so bolj osredotočena na fleksibilnost, in ne stabilnost. Izjema je uporaba orodij za zunanjo uporabo, ki je še posebno značilna za stabilna podjetja. Štiri temeljne oblike organizacijske kulture torej pomembno vplivajo na uspešnost uvajanja tehnologij Podjetje 2.0, vendar tega vzorca ne moremo posplošiti na posamezne oblike organizacijskih kultur, saj različne kombinacije dominantnih kultur tvorijo zelo različne značilnosti. Vseeno pa je mogoče iz raziskave ugotoviti, da ad hoc kultura najbolj pozitivno vpliva na uspešnost uvajanja družabnih tehnologij v vseh primerih. Za najbolj učinkovito kombinacijo organizacijskih kultur v proučevanem obsegu se tako izkažeta tržna in ad hoc kultura, ki omogočata tudi najbolj uspešno uvedbo tehnologij Podjetje 2.0, vsaj v okviru dotične raziskave. Obe omenjeni kulturi predstavljata zuna- 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 75 Tabela 2: Uspešnost uvajanja tehnologij Podjetje 2.0 glede na značilnosti organizacijske kulture Skupina Splošne značilnosti Strategije uvajanja tehnologij Podjetje 2.0 Uporaba tehnologij Podjetje 2.0 Koristi tehnologij Podjetje 2.0 za organizacijo Fleksibilna podjetja (A, B, C in 1) - Horizontalnost, agilnost, fleksibilnost, preprostost - Kratki poslovni cikli - Veliko eksperimentiranja - Svoboda in samoorganizacija - Sodelovanje je ključnega pomena - Strah pred izgubljenimi informacijami je nizek - Hibriden pristop - Procesi se prilagodijo rešitvam - Ključni uporabniki so bistveni - Malo merjenja uspešnosti - Uporabniki predlagajo rešitve - Strategije temeljijo na pragmatičnosti - Visoka stopnja prepletenosti orodij s procesi sodelovanja - Veliko različnih orodij za notranjo uporabo - Malo orodij za zunanjo uporabo - Standardizirane rešitve - Srednje napredne rešitve - Rešitve podpirajo interakcije - Hitra implementacija - Malo ovir - Neuspeh je potreben - Nadomeščanje slabih rešitev z boljšimi - Veliko koristi, predvsem notranje - Brez orodij ni procesa - Koristi za uporabnike v smer lažjega dela in pripadnosti - Globoka integracija delovnih procesov s strankami in dobavitelji - Srednje močno izrabljanje kolektivne inteligence - Velik poudarek na grajenju skupnosti Previdna podjetja (D in E) - Hierarhija, centraliziranost, kompleksnost, načrtovanje - Dolgi poslovni cikli - Malo eksperimentiranja - Nadzor in planiranje - Sodelovanje je potrebno - Strah pred izgubljenimi informacijami je visok - Pristop od zgoraj navzdol - Rešitve se prilagajajo procesom - Ključni uporabniki niso tako pomembni - Veliko merjenja uspešnosti - Vodstvo predlaga rešitve - Načrtna in dolgotrajna vpeljava - Nizka stopnja prepletenosti orodij s procesi sodelovanja - Manj različnih orodij za notranjo uporabo - Nič ali malo orodij za zunanjo uporabo - Prilagojene rešitve - Preproste rešitve - Rešitve ne podpirajo interakcij - Počasna implementacija - Veliko ovir - Neuspeh je relativno travmatičen - Dopolnjevanje obstoječih slabih rešitev - Malo koristi, predvsem notranje - Procesi bi lahko delovali brez orodij - Koristi za uporabnike v smer lažjega dela - Srednje močna integracija delovnih procesov s strankam in dobavitelji - Manjše izrabljanje kolektivne inteligence - Ni poudarka na grajenju skupnosti Stabilna podjetja (G in H) - Hierarhija, distribuiranost, uvajanje po potrebi - Različno dolgi poslovni cikli - Ni eksperimentiranja - Nadzor in planiranje - Sodelovanja ni - Strah pred izgubljenimi informacijami je visok - Pristop od zgoraj navzdol - Procesi ne potrebujejo rešitev - Ključni uporabniki so srednje pomembni - Ni posebnega merjenja u spešnosti - Vodstvo predlaga rešitve - Odsotnost kompleksnih strategij - Ni prepletenosti orodij s procesi sodelovanja - Malo različnih orodij za notranjo uporabo - Veliko različnih orodij za zunanjo uporabo - Standardizirane rešitve - Preproste rešitve - Rešitve ne podpirajo interakcij - Počasna implementacija - Malo ovir zaradi malo orodij - Neuspeha ni veliko zaradi malo orodij - Opuščanje slabih rešitev - Malo koristi, predvsem zunanje - Procesi ne potrebujejo orodij - Koristi za uporabnike so omejene - Slaba integracija delovnih procesov - Ni izrabljanja kolektivne inteligence - Majhen poudarek na grajenju skupnosti Podjetje 2.0 (F in J) - Horizontalnost, prilagodljivost, hitrost, transparentnost - Kratki poslovni cikli - Načrtno eksperimentiranje - Nadzirana samoorganizacija - Sodelovanje je ključnega pomena - Strah pred izgubljenimi informacijami je visok - Hibriden pristop - Procesi se prilagajajo na ravni reorganizacije - Ključni uporabniki so bistveni - Veliko merjenja uspešnosti - Vodstvo in uporabniki predlagajo rešitve - Veliko premišljenih strategij - Visoka stopnja prepletenosti orodij s procesi sodelovanja - Veliko različnih orodij za notranjo uporabo - Veliko različnih orodij za zunanjo uporabo - Standardizirane in prilagojene rešitve - Srednje napredne in napredne rešitve - Rešitve podpirajo interakcijo - Hitra implementacija - Nekaj ovir, a so obvladljive - Neuspeh je, a se ga hitro popravi - Nadomeščanje slabih rešitev z boljšimi - Veliko koristi, na vseh področjih - Brez orodij ni procesa - Koristi za uporabnike je veliko, podrejeno odličnosti na trgu - Globoka integracija delovnih procesov s strankami in dobavitelji - Višja stopnja izrabljanja kolektivne inteligence - Velik poudarek na grajenju skupnosti Grega Stritar, Jurij Jaklič: Vpliv organizacijske kulture na uspešnost uvajanja tehnologij Podjetje 2.0 njo osredotočenost, a omogočata uspešno uvedbo tako zunanjih kot notranjih orodij, kar pomeni, da je ravno ta zunanja osredotočenost ključna za uspešno uvajanje tehnologij Podjetje 2.0. Podjetja lahko ugotovitve raziskave uporabijo pri svojih strategijah uvajanja tehnologij Podjetje 2.0 na različne načine. S pomočjo trenutnega profila organizacijskih kultur lahko ugotovijo, katere oblike tehnologij Podjetje 2.0 so sploh primerne za njihovo podjetje, poleg tega lahko s pomočjo ugotovitev raziskave bolje razumejo, kakšno stopnjo uporabe ter kakšne koristi od uporabe omenjenih orodij si lahko obetajo. Po drugih strani pa lahko podjetja s spremembo organizacijske kulture pomembno vplivajo na uspešnost uvajanja tehnologij Podjetje 2.0. To v večini primerov pomeni premikanje proti organizacijski kulturi ad hoc in slabljenje hierarhične organizacijske kulture, pozitivno pa v večini primerov vpliva tudi klanska. Če pa želijo najboljše rezultate uvajanja družabnih tehnologij Podjetje 2.0, se morajo podjetja naravnati popolnoma eksterno, s pomočjo ad hoc in tržne organizacijske kulture, kar je glavni pogoj za prehod na novo obliko organizacije, imenovano Podjetje 2.0. 6 LITERATURA IN VIRI [1] Bente, S., Bombosch, U., Langade, S. (2012). Collaborative enterprise architecture: enriching EA with lean, agile, and enterprise 2.0 practices. Waltham: Elsevier Inc. [2] Bhalla, G. (2010). Collaboration and co-creation: New platforms for marketing and innovation. Springer Science & Business Media. [3] bin Husin, M. H., Swatman, P. M. (2010). Removing the barriers to Enterprise 2.0. Technology and Society (ISTAS), 2010 IEEE International Symposium on. IEEE, 2010, str. 275-283. [4] Bughin, J., Chui, M., Miller, A. (2009). How companies are benefiting from Web 2.0: McKinsey Global Survey Results. McKinsey Quarterly. Najdeno 1. 11. 2015 na spletnem naslovu http://www.mckinsey.com/insights/business_technology/ how_companies_are_benefiting_from_web_20_mckinsey_ global_survey_results. [5] Bughin, J., Chui, M. (2010). The Rise of the Networked Enterprise: Web 2.0 Finds its Payday. McKinsey Global Institute. Najdeno 1. 11. 2015 na spletnem naslovu http://www.mckm-sey.com/insights/high_tech_telecoms_internet/the_rise_of_ the_networked_enterprise_web_20_finds_its_payday. [6] Cameron, K., Quinn, R. (1999). Diagnosing and changing organizational culture: Based on the competing values framework. Addison-Wesley, Reading, MA. [7] Cook, N. (2008). Enterprise 2.0: How social software will change the future of work. London: Gower Publishing Ltd. [8] DeLone, W. H., McLean, E. R. (1992). Information systems success: The quest for the dependent variable. Information systems research, 3(1), str. 60-95. [9] Frappaolo, C., Keldsen, D. (2008). Enterprise 2.0: Agile, Emergent & Integrated. AIIM MarketlQ Intelligence Quarterly, str. 1-83. [10] Heiska, A. (2012). Organizational Challenges for Successful End User Adoption of Internal Enterprise Social Software. Magistrsko delo. Aalto University, School of Economics. [11] Jarvis, J. (2009). What would Google do?. New York: Harper Business. [12] Kane, G. C., Palmer, D., Phillips, A. N., Kiron, D., Buckley, N. (2016). Aligning the Organization for Its Digital Future. MIT Sloan Management Review, Summer 2016, str. 1-27. [13] McAfee, A. (2006a). Enterprise 2.0. The Dawn of Emergent Collaboration. MIT Sloan Management Review, 47(3), str. 21-28. [14] McAfee, A. (2006b). Enterprise 2.0, version 2.0. Najdeno 1. 11. 2016 na spletnem naslovu http://andrewmcafee. org/2006/05/enterprise_20_version_20/. [15] McAfee, A., Brynjolfsson, E. (2008). Investing in the IT that makes a competitive difference. Harvard Business Review, 86(7/8). [16] Miles, D. (2011). Social Business Systems - success factors for Enterprise 2.0 applications. AIIM Industry Watch Report, str. 1-25. [17] Mosher Zinck, B. (2010). Enterprise Collaboration: It's About the Culture, Stupid. Najdeno 1. 11. 2015 na spletnem naslovu http://www.cmswire.com/cms/enterprise-20/enterprise-col-laboration-its-about-the-culture-stupid-008217.php. [18] O'Reilly, T. (2005). What Is Web 2.0: Design Patterns and Business Models for the Next Generation of Software. Najdeno 1. 11. 2015 na spletnem naslovu http://www.oreilly.com/ pub/a/web2/archive/what-is-web-20.html. [19] Schein, E. H. (1992). Organizational culture and leadership, 2. izd. San Francisco: John Wiley & Sons. [20] Senarathna, R. P. I. R., Wickramasuriya, H. V. A. (2011). Organizational factors affecting e-commerce adoption in small and medium-sized enterprises. Tropical Agricultural Research, 22(2), str. 204-210. [21] Tapscott, D., Williams A. D. (2006). Wikinomics: how mass collaboration changes everything. New York: Portfolio Penguin Group. Grega Stritar je podjetnik in sistemski arhitekt, direktor podjetja Neolab. Že več kot 15 let se ukvarja z razvojem poslovnih informacijskih sistemov in rešitev za poslovno inteligenco. V okviru magistrske naloge pri študiju poslovne informatike na Ekonomski fakulteti Univerze v Ljubljani je raziskoval nove oblike (družabnih) poslovnih informacijskih sistemov in njihovega vpliva na organizacije. Njegovo strokovno delo je konec leta 2017 podprl tudi Google, saj je podjetju namenil nepovratna sredstva za razvoj rešitve za nadzor javnih financ v RS, imenovane Finšpektor. ■ Jurij Jaklič je redni profesor na Katedri za poslovno informatiko in logistiko na Ekonomski fakulteti Univerze v Ljubljani. Raziskovalno, pedagoško in svetovalno se ukvarja predvsem s področjem podatkovne analitike oz. poslovne inteligence, pa tudi z menedžmentom poslovnih procesov. Je (so)avtor več kot sto znanstvenih člankov in poročil projektov, številni so bili objavljeni v mednarodnih znanstvenih revijah. Sodeloval je na več raziskovalnih in svetovalnih projektih s področja poslovne inteligence, prenove poslovnih procesov in strateškega načrtovanja informatike. 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 77 STROKOVNI PRISPEVKI B Izboljšanje testiranja programske opreme - študija primera Sašo Greblo CGS plus, d. o. o., Brnčičeva ulica 13, 1000 Ljubljana saso.greblo@cgsplus.si Izvleček Članek obravnava izboljšanje procesa testiranja programske opreme v življenjskem ciklu programske opreme v majhni družbi, ki se ukvarja z razvojem programske opreme za projektiranje nizkih gradenj. Programska oprema je kompleksna, podpira več jezikov, več platform CAD (Computer Aided Design), različne operacijske sisteme in lokalne standarde, ki so predpisani v posameznih državah. Analiziran je proces razvoja programske opreme s poudarkom na testiranju. Predlogi sprememb se nanašajo na: a) testiranje funkcij, b) testiranje prevedenih programskih modulov ter c) testiranje namestitvenih procedur. Predlog dopolnitve procesa testiranja funkcij vpeljuje strokovni pregled programske kode. Predlog dopolnitve testiranja prevedenih programskih modulov ter testiranja namestitvenih procedur predvideva sistematizacijo postopkov in dokumentov kot osnovni korak v pripravo načrtov testiranja skladno z ISO/IEC/IEEE 29119 ter regresijsko testiranje. Predlog dopolnitve testiranja namestitvenih procedur dodatno predvideva sistematizacijo testiranja namestitvenih procedur v tri nivoje in avtomatizacijo testiranja. Ocenjeno je, da se bo investicija v izdelavo načrtov testiranja, avtomatizacijo testiranja ter vpeljavo dokumentiranja testiranja povrnila v manj kot dveh letih. Ključne besede: testiranje programske opreme, avtomatsko testiranje programske opreme, optimizacija testiranja programske opreme, (ROI) donosnost naložbe. Abstract Improving software testing - case study The article addresses the improvement of the software testing process in a small company engaged in the development of civil engineering design software. The software is complex, localised into a number of languages, supports multiple CAD platforms, different operating systems as well as local standards. The software development process focusing in particular on testing has been analysed. Prepared were proposals for the improvement of the testing process related to: a) unit testing, b) testing of localised software modules, and c) testing of installation procedures. The proposal for the update of unit testing introduces peer review. The proposal for the update of testing of localised software modules and testing of installation procedures envisages the systematisation of procedures and documents as a prerequisite for the preparation of testing plans in accordance with ISO/IEC/IEEE 29119 as well as regression testing. In addition, the proposal for the update of testing of installation procedures provides for the systematisation of testing of installation procedures into three levels along with the automation of software testing. It is estimated that the investment in the production of test plans, test automation and the introduction of testing documentation will be returned in less than two years. Keywords: software testing, automated software testing, optimization of software testing, return on investment (ROI). 1 uvod Prodajni modeli programske opreme se spreminjajo. Spletna prodaja je vse pomembnejša; pri spletni prodaji programske opreme pa je vse bolj pomembna kakovost programske opreme v primerjavi s klasičnimi prodajnimi kanali, kot so npr. direktna prodaja ali prodaja preko partnerske mreže, pri katerih predprodajne, prodajne in poprodajne aktivnosti potekajo na osebni ravni. Neposredni osebni pristop je v primeru spletne prodaje izgubljen (Greblo, 2016). V obravnavanem primeru je treba pri razvoju programske opreme za načrtovanje nizkih gradenj upoštevati kar nekaj specifičnih značilnosti, ki so povezane tudi z zahtevami uporabnikov in prilagoditvami programske opreme lokalnim okoljem. Programska oprema je prilagojena delovanju različnih platform CAD proizvajalcev Autodesk in Bricsys. V programsko opremo je vgrajenih 35 tehničnih standardov, ki so predpisani v 17 državah, prevajajo pa jo v petnajst jezikov. 78 uporabna INFORMATIKA 2018 - številka 3 - letnik XXVI Sašo Greblo: Izboljšanje testiranja programske opreme - študija primera Ohranjanje stika s sodobnimi trendi načrtovanja zahteva konstanten razvoj programske opreme. Ekipa tehnične podpore v podjetju je zaznala povečan obseg dela pri odpravljanju težav, ki so povezane s kakovostjo programske opreme. Odpravljanje zaznanih težav s kakovostjo programske opreme mora biti prioriteta vsakega razvijalca. Podjetje za uspešen razvoj potrebuje zadovoljne obstoječe in nove uporabnike. Težave s kakovostjo programske opreme povzročajo nezadovoljstvo obstoječih uporabnikov in oteženo pridobivanje novih. Analiza procesa razvoja programske opreme je nakazala težave v procesu testiranja. Sredstva, ki jih ima na voljo razvojna ekipa, ostajajo enaka, kljub temu da količina programske kode neprestano narašča. Testiranje ni popolno in podjetje ga mora izboljšati. Velik delež testov opravljajo ad hoc. Dejstvo je, da zaradi omejenih človeških in strojnih virov nikoli ne bo dovolj sredstev za testiranje, zato mora podjetje rezerve iskati drugje. Postavili smo si cilj, da bomo raziskali možnosti izboljšanja testiranja programske opreme v podjetju. Raziskali smo standarde na področju razvoja in testiranja programske opreme, metodologije razvoja ter postopke in metode testiranja programske opreme. Na podlagi rezultatov analize procesa razvoja programske opreme s poudarkom na testiranju je pripravljen predlog optimizacije procesa testiranja. Predlog predvideva organizacijske spremembe in implementacijo avtomatskega testiranja v proces testiranja namestitvenih procedur. Predvidena je priprava projekta optimizacije testiranja in izvedba v več fazah. Vodstvo je predlog sprejelo in projekt optimizacije testiranja je v teku. Del predlaganih sprememb se že uporablja. 1 TESTIRANJE PROGRAMSKE OPREME 1.1 Osnovni pojmi in metodologije testiranja programske opreme 1.1.1 Verifikacija in ualidacija Verifikacija funkcije pomeni, da se po smiselnem končanju določene faze razvoja preverja uspešnost delovanja funkcije. Validacija funkcije pomeni preverjanje pravilnosti delovanja (Solina, 1997). 1.1.2 Metode bele, črne in siue skrinjice Poznani sta dve glavni metodi testiranja programske opreme: metoda bele skrinjice in metoda črne skrinjice. Metoda bele skrinjice testira notranjost zgradbe programa. Potrebno je znanje o programski kodi in arhitekturi programa (Solina, 1997). Testni podatki pri testiranju po metodi bele skrinjice pogosto izhajajo iz programske logike in pogosto zanemarjajo specifikacijo (Myers, Badgett in Sandler, 2011). Metoda črne skrinjice testira pravilnost obnašanja sistema samo s pregledovanjem izhodnih rezultatov. Notranja zgradba programa in struktura kode sta pri tej metodi skrita (Solina, 1997). Metoda črne skrinjice ne odkrije vseh napak, zato lahko uporabljamo komplementarno metodi črne skrinjice metodo sive skrinjice. Metoda sive skrinjice zahteva poznavanje arhitekture in ključnih komponent strukture programa, ki so podlaga pripravi načrta testiranja. Po metodi sive skrinjice lahko tester sistematično oži nabor potencialnih komponent programa, ki so vir napak (Dustin, Garett in Gauf, 2009). 1.1.3 Ad hoc testiranje Ad hoc testiranje nima pripravljenih načrtov testiranja, testi se ne dokumentirajo in testni primeri se ne shranjujejo (Wigmore, 2012). 1.1.4 Testiranje enot Enota je najmanjša zaokrožena celota programa. Obravnavano podjetje enoto imenuje funkcija. Največkrat je cilj testiranja funkcije verifikacija. V primeru dobro definiranih zahtev na ravni funkcije lahko funkcijo tudi validiramo. Testiranje enot izvajamo po metodi bele skrinjice (Čebokli, 2006). 1.1.5 Regresijsko testiranje Tehniko regresijskega testiranja lahko izvajamo na kateri koli ravni testiranja z namenom obvladovanja sprememb programske opreme in preprečevanja napak, ki so enkrat že bile odpravljene. Regresijski testi so obstoječi testi, ki se izvajajo po vsakem popravku v programski opremi. Popravek je lahko posledica dodajanja nove funkcionalnosti ali pa popravljanja odkritih napak (Čebokli, 2006). 1.1.6 ISO/IEC 29119 Standard ISO/IEC/IEEE 29119 definira tehnike načrtovanja testiranja programske opreme, ki jih lahko uporabljamo tako med načrtovanjem kot med implementacijo procesov testiranja (ISO/IEC 29119, 2016). 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 79 Sašo Greblo: Izboljšanje testiranja programske opreme - študija primera 1.2 Avtomatsko testiranje programske opreme Nekaterim pomeni pojem avtomatsko testiranje programske opreme razvoj na podlagi načrtov testiranja ali testiranja enot, drugim pa avtomatizacijo testiranja z implementacijo orodij za zajem, snemanje in predvajanje. Avtomatsko testiranje je mogoče v vseh fazah testiranja programske opreme. Vse teste, ki se izvajajo kot del ročnega testiranja, lahko avtomatiziramo. Avtomatsko testiranje krepi prizadevanja ročnega testiranja s poudarkom na tistih testih, ki jih ročno testiranje težko izvaja. Avtomatsko testiranje ne nadomešča potreb po ročnih testerjih z analitičnim znanjem, znanjem priprave testnih strategij in razumevanja tehnik testiranja. Ekspertna znanja ročnih testerjev služijo kot podlaga za pripravo načrta avtomatizacije testiranja. Avtomatskega in ročnega testiranja ni mogoče strogo ločiti. Med seboj se prepletata in dopolnjujeta. Če je avtomatsko testiranje implementirano pravilno, skrajša čas in zniža stroške testiranja, izboljša kakovost programske opreme in poveča učinke ročnega testiranja zaradi povečanja pokritosti testov ter razbremenitve testerjev od monotonega ročnega klikanja (Dustin, Garett in Gauf, 2009). 2 ŠTUDIJA PRIMERA 2.1 Omejitve v študiji primera Podjetje deli programsko opremo na programske rešitve in produkte. Študij primera obravnava tri modularno zasnovane programske rešitve in tri produkte. Plateia je programska rešitev, namenjena načrtovanju in rekonstrukciji cest, Ferrovia načrtovanju in rekonstrukcij železnic, Aquaterra urejanju in načrtovanju vodotokov. Zasnova produktov je ravno tako modularna, produkti pa so manj kompleksni od programskih rešitev in rešujejo specifične funkcionalnosti, ki so sicer vgrajene tudi v programskih rešitvah. Autopath je produkt, namenjen načrtovanju zavijal-nih krivulj ter izdelavi analiz prevoznosti. Autosign je produkt, namenjen načrtovanju prometnih ureditev, Aquaflood pa učinkoviti izmenjavi podatkov med okoljem CAD (DWG) in programi MIKE Powered by DHI in HEC-RAS. Metodologija razvoja in testiranja programskih rešitev in produktov je enaka. 2.2 Analiza stanja Analizirana je organizacijska struktura razvojne ekipe, proces izdaje verzije programske rešitve ali pro- Produktni vodjaJ 1 1 ,—-> *—s L Vodja J zaposlen ^ 0 Programer zaposlen 0 Inženir zaposlen 0 Zunanji sodelavec (ZS) T^tjnični nivo 1. i i 0 Zunanji i sodelavec (ZS) ¡ Tehnični nivo II. i Legenda r0 0 Vodja razvoja Vodja programerjev Programer 1 Programer 2 m Programer 3 _ Programerji H 0 Tehnična podpora 1 Tehnična podpora (ZS) _ □ Priprava vsebin (ZS) 1 0 Priprava vsebin (ZS) 2 0 Priprava vsebin (ZS) 3 • Priprava vsebin (ZS) 4 0 Priprava vsebin (ZS) n CGS plus d.o.o., Organigram razvoja programske opreme, 1.2.2016 □ Programer (ZS) 1 0 Spletni programer (ZS) /s 1 0 Spletni programer (ZS) ^ 2 •1 Oblikovalec (ZS) 1 0 Tester (ZS) 1 Tehnična podpora Slika 1: Organigram razvojne ekipe Zunanji sodelavci 80 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI Sašo Greblo: Izboljšanje testiranja programske opreme - študija primera dukta ter proces testiranja v procesu izdaje verzije programske rešitve ali produkta. 2.2.1 Organizacijska struktura razuojne ekipe Razvojno ekipo sestavljajo zaposleni in zunanji sodelavci. Organigram razvojne ekipe prikazuje slika 1. Zunanji sodelavci zagotavljajo določeno fleksibilnost, njihova zahtevana strokovna znanja so različna. Pri manj zahtevnih nalogah je fluktuacija kadra večja. Običajno gre za pripravo vsebin, kot so npr. izdelava in dopolnjevanje knjižnic vozil, prometnih znakov idr. Zunanji sodelavci, ki sodelujejo pri zahtevnejših nalogah, so vezani na trajanje projektov. V procesu testiranja sodelujejo tester 1, vodja razvoja, produktni vodja 1, vodja programerjev in vsi programerji. Za razvoj zagotavljanja kakovosti programske opreme in testiranja je odgovoren vodja razvoja. 2.2.2 Proces izdaje uerzije programske rešitue ali produkta Podjetje izdaja novo verzijo programskih rešitev in produktov enkrat letno. Izidi popravkov verzije so predvideni štirikrat letno. V primeru ugotovljenih kritičnih napak izdaja popravke verzije tudi večkrat. Proces izdaje verzije programske rešitve ali produkta vsebuje štiri podprocese: programiranje funkcij, prevajanje programske kode, priprava orodnih trakov, menujev in funkcionalnosti ter priprava namestitvenih datotek. Proces izdaje verzije programske rešitve ali produkta prikazuje slika 2. 2.2.3 Testiranje u procesu izdaje uerzije programske rešitue ali produkta V procesu izdaje verzije so testirane funkcije, predloge datotek CUI (Custom User Interface), datotek CUI, prevedeni programski moduli ter namestitvene procedure. Procesi testiranja v posameznih podpro-cesih izdaje verzije programske rešitve ali produkta prikazuje slika 3. 2.2.4 Testiranje funkcij Funkcije testirajo programerji med razvojem. Lastno kodo testirajo ad hoc. Običajno testirajo delovanje funkcije z namenom verifikacije. Testirajo zagon funkcije in vizualno pregledajo pogovorno okno. Občasno testirajo funkcijo tudi z namenom validacije. Pri testiranju ne uporabljajo realnih testnih primerov. Lažje programirajo in testirajo na manjši količini vhodnih podatkov, saj lažje odkrijejo napake, funkcija deluje hitreje in lažje izračunajo pravilni rezultat. 2.2.5 Testiranje predloge in datotek CUI Predloge datotek CUI pripravljajo vodja razvoja, vodja programerjev in produktni vodja 1 - vsak za programsko rešitev ali produkt, za katerega je zadolžen. V fazi procesa priprave orodnih trakov, menu-jev in funkcionalnosti testira predlogo in datoteke CUI oseba, ki je pripravila predlogo; testira ad hoc. Datoteke CUI testira z namenom verifikacije. Testira zagon ukazov v menujih in orodnih trakovih. Vizualno pregleda, ali se ob zagonu ukaza odpre pravo pogovorno okno. Preveri pravilnost jezikovne različice, sintakso besed, usklajenost imen med ukazi v menujih in orodnih trakovih idr. Slika 2: Proces izdaje verzije programske rešitve ali produkta 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 81 Sašo Greblo: Izboljšanje testiranja programske opreme - študija primera Testiranje v procesu izdaje verzije programske rešitve ali produkta Slika 3: Procesi testiranja v podprocesih izdaje verzije programske rešitve ali produkta 2.2.6 Testiranje prevedenih programskih modulov Prevedene programske module testira tester 1. Testira po metodi črne skrinjice z namenom verifikacije. Testira po navodilih vodje razvoja ali vodje programerjev. Načrt testiranja ni definiran in dokumentiran. Kratka navodila so pripravljena sproti in so posredovana te-sterju 1 ustno ali v e-poštnem sporočilu. Programsko kodo prevajajo vsak dan, vendar testiranja ne izvajajo vsak dan. Tester 1 testira samo izbrano kodo. Rezultate testiranja dokumentira v Excelovem dokumentu. Struktura dokumenta ni določena. Odkrite napake prijavlja v MantisBT, sistemu za spremljanje in upravljanje programskih napak. Tester 1 pri prijavi klasificira napako ter podrobno opiše in določi stopnjo resnosti. Poda podatke o platformi CAD, operacijskem sistemu, verziji programske rešitve ali produkta, po potrebi priloži datoteko, na kateri je bil opravljen test, in nato objavi napako. Prijavljena napaka dobi svojo identifikacijsko številko. Prijavljene napake v reševanje razporeja vodja razvoja ali vodja programerjev. Popravljeno napako tester 1 ponovno testira. V primeru, da napake ne more več ponoviti, konča zadevo tako, da spremeni status prijavljene napake v sistemu v »closed«. Po končanem testiranju po e-pošti pošlje kratko poročilo in Excelov dokument vodji razvoja. V sporočilu na kratko opiše odkrite in popravljene napake ter kam je shranil testne primere. 2.2.7 Testiranje namestitvenih procedur Namestitvene procedure testira tester 1 po metodi črne skrinjice. Testira z namenom verifikacije. Vodja 82 uporabna INFORMATIKA razvoja v e-poštnem sporočilu posreduje testerju 1 navodila za testiranje, ki vsebujejo podatke o verziji programske rešitve ali produkta, platformi in operacijskem sistemu, na katerem opravi testiranje ter informacijo o tem, kako podrobno testirati. Testira namestitveno proceduro programske rešitve ali produkta in zagon osnovnih ukazov. Seznam ukazov, ki naj bi jih testiral, običajno ni pripravljen. Vedno opravi tudi vizualni pregled uporabniškega vmesnika in pogovornih oken. Rezultate testiranja dokumentira v Excelovem dokumentu. Struktura dokumenta ni določena. Odkrite napake prijavlja v MantisBT. Po končanem testiranju pošlje po e-pošti kratko poročilo in Excelov dokument vodji razvoja. Programske rešitve in produkti so v več jezikih, delujejo na različnih platformah CAD in operacijskih sistemih ter vsebujejo različne standarde, zato vseh možnih kombinacij namestitvenih procedur ni mogoče testirati. Testiramo samo izbrane verzije v izbranih virtualnih okoljih. Poenostavljeni izračun pokaže, da bi za testiranje vseh 7.002 možnih kombinacij namestitvenih procedur ene verzije potrebovali 14.333 ur. Slika 4 prikazuje možno število namestitvenih kombinacij in potrebni čas testiranja ene verzije. Čas testiranja vsebuje pripravo testnih primerov, namestitev programske opreme ali produkta v že pripravljeno vir-tualno okolje, testiranje, prijavo napak v MantisBT in dokumentiranje. Za pripravo ene konfiguracije virtualnega okolja z nameščenim operacijskim sistemom in CAD platformo je dodatno potrebno še 1,75 ure in 60 GB razpoložljivega prostora na disku. 2018 - številka 2 - letnik XXVI Sašo Greblo: Izboljšanje testiranja programske opreme - študija primera Število možnih Povprečni čas kombinacij testiranja Skupni čas Programske rešitve Operacijski CAD namestitvenih namestitvene testiranja v in produkti Jeziki Standardi sistemi platforme procedur procedure v urah urah Plateia 11 12 2 9 2.376 4 8.316 Ferrovia 7 6 2 9 756 2 1.512 Aquaterra 6 0 2 9 108 2 162 Autopath 9 14 2 10 2.520 1 2.520 Autosign 6 11 2 9 1.188 2 1.782 Aquaflood 3 0 2 9 54 1 41 7.002 14.333 Slika 4: Število možnih kombinacij namestitev z oceno časa testiranja verzije v urah 2.3 Predlogi izboljšav Na podlagi analize pripravljeni predlogi optimizacij posameznih procesov testiranja so podani v nadaljevanju. 2.3.1Testiranje funkcij Predlog optimizacije procesa testiranja funkcij predvideva izvedbo v dveh fazah. V prvi fazi je predlagana dopolnitev obstoječega procesa testiranja po metodi bele skrinjice z vpeljavo strokovnega pregleda programske kode (Peer Review). Težav pri implementaciji podjetje ne pričakuje, čeprav se lahko pojavijo potencialne težave (Wiegers, 2002). Testiranje kode drugega programerja običajno odkrije napake, ki jih programer v lastni kodi ne vidi. Pomemben je tudi vidik, da se s kodo funkcije podrobneje seznanita dva programerja, kar sicer podaljša čas testiranja in posledično zviša strošek testiranja. Predlog optimizacije prve faze je potrjen in je trenutno v fazi izvajanja pilotnega projekta implementacije. Za drugo fazo optimizacije je sprejet predlog priprave projektne naloge implementacije avtomatskega testiranja enot. Projektna naloga je končana. Analizirana je možnost avtomatskega testiranja enot, vendar je spre- jeta odločitev, da avtomatizacija glede na trenutni način programiranja ni smiselna. 2.3.2 Testiranje predloge in datotek CUI Na podlagi analize procesa testiranja je sprejeta odločitev, da spremembe niso smiselne, saj tester 1 sistematično testira datoteke CUI v procesu testiranja namestitvenih procedur. 2.3.3 Testiranje preuedenih programskih modulou Predlog optimizacije procesa testiranja predvideva izvedbo v treh fazah. Prva faza predvideva pripravo štirih glavnih dokumentov, ki bodo sistematizirali postopke in dokumentiranje. Prvi dokument je protokol testiranja v Wordovi obliki, ki predpisuje potek izvajanja testa določene funkcije, določene jezikovne različice na določeni platformi s predpisanimi vhodnimi parametri. Drugi dokument je protokol poimenovanja datotek v Wordovi obliki, ki predpisuje mesto shranjevanja datotek in dokumentov, poimenovanje map in testnih primerov ter dokumentov, ki nastajajo med testiranjem. Tretji dokument je predloga dokumenta testiranja, strukturirani Excelov dokument. Slika 5 prikazuje primer strukture dokumenta dnevnik testiranja. 2015.11.18 dnevnik testiranja - tester 1 Datum: 18.11.2015 Začetek testiranja Konec testiranja Produkt Verzija Jezik Build Platforma OS x32/ x64 Status Povezava do poročila o testiranju Opombe CGSplus%2020 test popravljenih 10.11.2015 11.11.2015 Ferrovia 2016 HUN 495 C3D2016 Win 7 64 OK 16\01%20Test ukazov CGSplus%2020 12.11.2015 12.11.2015 Plateia 2016 DEU 501 BCAD V15 Win 8.1 64 OK 16\CGSplus%2 test nivo 1 18.11.2015 Autosign 2016 US 514 C3D2016 Win 7 64 NOK Slika 5: Struktura dokumenta dnevnik testiranja 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 83 Sašo Greblo: Izboljšanje testiranja programske opreme - študija primera Četrti dokument je predloga dokumenta poročilo o testiranju, strukturirani Excelov dokument. Slika 6 prikazuje primer strukture dokumenta poročilo o testiranju. Prva faza optimizacije je potrjena in končana. Za drugo fazo optimizacije je potrjen predlog priprave projektne naloge priprave načrta testiranja skladno s standardom ISO/IEC/IEEE 229119. Realizacija priprave projektne naloge je bila predvidena v letu 2016, izvedba pa v letu 2017. Za tretjo fazo optimizacije je sprejet predlog priprave projektne naloge implementacije avtomatskih regresijskih testov v podprocesu prevajanja programske kode. Realizacija priprave projektne naloge in realizacija pilotnega projekta je bila predvidena v letu 2016, nadaljevanje projekta pa v letu 2017. 2.3.4 Testiranje namestitvenih procedur Predlog optimizacije testiranja namestitvenih procedur predvideva izvedbo v treh fazah. Prva in druga faza sta dopolnjena predloga optimizacije procesa testiranja prevedenih programskih modulov. V prvi fazi so dodatno predpisani trije nivoji testiranja. ■ Nivo 1 predpisuje testiranje namestitve programske rešitve ali produkta ter glavnih ukazov. Seznam ukazov pripravi vodja razvoja na podlagi strukturirane predloge dokumenta seznam ukazov za testiranje - nivo 1.xls. ■ Nivo 2 predpisuje kompletno testiranje po specifikaciji nivoja 1 in dodatno še testiranje namestitev posodobitev programske opreme ali produktov in razširjen nabor ukazov. Seznam ukazov pripravi vodja razvoja na podlagi strukturirane predloge dokumenta seznam ukazov za testiranje - nivo 2.xls. ■ Nivo 3 predpisuje kompletno testiranje po specifikaciji nivoja 2 in dodatno še testiranje vseh ukazov. Seznam ukazov pripravi vodja razvoja na podlagi strukturirane predloge dokumenta seznam ukazov za testiranje - nivo 3.xls. 2016.01.07 poročilo o testiranju - tester 1 Autosign - testiranje ukazov Splošno Produkt Platforma OS OS version Datum testiranja 1 Autosign DEU C3D 2015 Win 8.1 x64 07.01.2016 Autosign DEU C3D 2015 Test Id Ukaz Vhodni podatki (risba) Status Komentar MantisBT 101 7 Extract Traffic Signs Autosign DEU C3D2012.dwg NOK V primeru skupne uporabe CGSplus in Autosign slog pisave v tabeli napačen. http://www.cgs.si/man tis/view.Dho?id=3264 102 2 Edit Traffic Signs Autosign_DEU_C3D2012.dwg OK Slika 6: Struktura dokumenta poročilo o testiranju 2015.9.7. seznam ukazov za testiranje - nivo 3 - Plateia 21 Plateia OSI Številka builda Namestitvena datoteka OS version OS Platforma Datum 34 CGSplus 2015 ENG 64-bit Build 34 x64 Win 7 C3D2016 7.9.2015 Plateia 2015 Ukaz A Projekt 1 Projekt Al 2 Nastavitve 1 Nastavitev spremenljivk Osi A21 2 Nastavitev delovanja A22 3 Imena risalnih ravnin A23 B Pomožni elementi 1 POMOŽNI ELEMENTI VZDOLŽNE OSI BI 2 Paketni vnos pomožnih elementov <- B2 3 Izris pomožnih elementov na osnovi B3 Slika 7: Struktura dokumenta seznam ukazov za testiranje 84 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI Sašo Greblo: Izboljšanje testiranja programske opreme - študija primera Avtomatizacija testiranja namestitvenih procedur je predlagana v tretji fazi. Prva faza je končana. Realizacija priprave projektne naloge druge faze je bila predvidena v letu 2016, izvedba projektne naloge pa v letu 2017. Podjetje je končalo tretjo fazo izvajanja projekta optimizacije. Analiza procesa razvoja programske opreme je za avtomatizacijo nakazala ugodne pogoje. Programske rešitve in produkti imajo v aktualni verziji skupaj 1.329 ukazov. Pri prehodu na novo verzijo je običajno odstotek ukazov novih, odstotek ukazov dopolnjenih, medtem ko 98 odstotkov ukazov ostaja enakih. Projektna naloga avtomatizacije testiranja namestitvenih procedur narekuje izbiro programskega orodja za podporo avtomatskemu testiranju ter izvedbo pilotnega projekta avtomatizacije in je končana. Za izdelavo avtomatskih testnih procedur je izbrana odprtokodna programska rešitev QAliber Test Builder. Ta ne omogoča upravljanja virtualnih okolij, zato je podjetje razvilo lasten vmesnik CGS za konfiguracijo in upravljanje virtualnih okolij. Del avtomatske testne procedure se pripravi v vmesniku CGS. Pripravijo se različne kombinacije konfiguracij operacijskega sistema, npr. Windows 7, 64 bit, platforme CAD, npr. AutoCAD Civil 3D 2014, 64 bit, programske rešitve ali produkta, npr. Plateia 2016, SLO, 64 bit in testnega scenarija. Po izbranih konfiguracijah ukaz zažene QAliber Test Runner, predvajalnik testnih skript, pripravljenih v programu QAliber Test Builder. V okviru pilotnega projekta je bilo pripravljenih 41 konfiguracij. Pogovorno okno vmesnika CGS s seznamom konfiguracij ter dvema konfiguracijama, pripravljenima za zagon v programu QAliber Test Runner, prikazuje slika 8. V okviru pilotnega projekta je bila izvedena avtomatizacija testiranja namestitvenih procedur na nivoju testiranja 1. V okviru pilotnega projekta so bile izvedene meritve in opravljena analiza avtomatizacije testiranja nivoja 1. Čas priprave virtualnih okolij, dokumentiranja in prijavljanja napak v MantisBT v meritvah ni upoštevan. Podatki, pridobljeni na podlagi meritev in izračunov, so prikazani v slikah 9 do 12. Časi priprave in izvedbe ročnega testiranja namestitvenih procedur nivojev 1, 2 in 3 so prikazani v sliki 9. ^ Test procedures CGSPLUS2016 C3D2014 A LI CGSPLUS2016 H CGSPLUS2016 0 CGSPLUS2016 B_ [ I CGSPLUS2014 □ CGSPUJS2014 O CGSPLUS2014 |Ll CGSPLUS2014 □ CGSPUIS2014 D CGSPIUS2014 □ CGSPLUS2014 n CGSPIUS2014 □ CGSPLUS2014 □ CGSPUJS2014 □ CGSPUJS2014 O CGSPLUS2014 □ CGSPLUS2013 O CGSPLUS2013 □ CGSPLUS2013 D CGSPLUS2013 □ CGSPUJS2013 □ CGSPLUS2013 0 CGSPLUS2013 1 CGSPUJS2013 "GSPLUS2013 -PIUS2013 C3D2014 SLO C302014 ENG C302014 DEU C3D2014 HRV C302014SCG C302014 TR C302014 MK C302014RU BricsVI 4x64 HRV BricsVI 4x64 SLO BricsVI 4x64 ENG BricsVI 4x64 SLO BncsVI 4x64 DEU BricsVI 4x64 A BncsVI 4x64 POL C302011 32 ENG C3D2011 32 SLO C302Û11 32 A C302012SCG C302012 POL C302012 TR C3D 2012 SLO C3D 2012 DEU C302013x86 HRV C302012HUN TCP Poti: 0.0 0.0 8003 7.1.201615.53:25. IMsg-tFmshsd DEU 7.1.201616:13:50, $Mig~$FWsh«dA Status: No instalation tunning Slika 8: Pogouorno okno umesnika CGS Ročno testiranje Nivo 1 Nivo 2 Nivo 3 Programske rešitve, produkti Povprečni čas testiranje namestitvene procedure v urah Povprečni čas testiranje namestitvene procedure v urah Povprečni čas testiranje namestitvene procedure v urah Plateia 2,83 4,17 20,5 Ferrovia 1,5 2,33 15 Aquaterra 1 1,33 13 Autopath 0,58 1 2,17 Autosign 1 1,33 4 Aquaflood 0,33 0,92 2,17 Slika 9: časi priprave in izuedbe ročnega testiranja niuojeu 1, 2 in 3 u urah 2018 - številka 2 - letnik XXVI uporabna NFORMATIKA 85 Sašo Greblo: Izboljšanje testiranja programske opreme - študija primera Časi priprave avtomatskih testnih procedur za nivo 1 so prikazani v sliki 10. Časi izvedbe avtomatskega testiranja namestitvenih procedur nivoja 1 so prikazani v sliki 11. Simulacija časov priprave in izvedbe n avtomatskih testov v primerjavi z izvedbo n ročnih testov za nivo 1 prikazuje slika 12. 2.3.5 ROI implementacije avtomatizacije testiranja nivoja 1 V izračunu ROI so upoštevani časi priprave in izvajanja ročnih in avtomatskih testov. Izračun pokaže, da se investicija v implementacijo avtomatizacije testira- nja nivoja 1 povrne po 10 opravljenih testih za Plate-io, 16 za Ferrovio, 21 za Aquaterro, 19 za Autopath, 5 za Autosign in 51 za Aquaflood. ROI po izvedbi n testov testiranja nivoja 1 je prikazan v sliki 13. V podjetju so se na podlagi spodbudnih rezultatov ROI odločili, da bodo v letu 2016 nadaljevali projekt avtomatizacije testiranja nivoja 2. Zaradi določenih težav z izbranima orodjema QAliber Test Builder in QAliber Test Runner med pilotnim projektom so pred nadaljevanjem opravili ponovno presojo o izbiri primerne programske rešitve za podporo avtomatskemu testiranju. Priprava avtomatskih testnih procedur - nivo 1 Plateia Ferrovia Aquaterra Autosign Autopath Aquaflood Konfiguracija CGS vmesnika 0,25 0,25 0,25 0,25 0,25 0,25 Posegi v skripto 7,50 6,00 4,50 3,00 1,50 2,50 Priprava, pisanje in snemanje testnih scenarijev 14,00 10,50 8,00 3,00 1,50 2,50 SKUPAJ nivo 1 (ur) 21,75 16,75 12,75 6,25 3,25 5,25 Slika 1 □: Časi priprave avtomatskih testnih procedur za nivo 1 v urah Izvedba avtomatske testne procedure - nivo 1 Plateia Ferrovia Aquaterra Autosign Autopath Aquaflood Zagon virt. okolja in namestitev op. sistema 0,03 0,03 0,03 0,03 0,03 0,03 Kopiranje namestitvene datoteke 0,01 0,01 0,01 0,01 0,01 0,01 Namestitvena procedura 0,13 0,13 0,13 0,13 0,13 0,13 Izvajanje testne procedure (povp. 30 s na ukaz) 0,35 0,26 0,20 0,08 0,04 0,06 SKUPAJ nivo 1 (ur) 0,51 0,43 0,36 0,24 0,20 0,23 Slika 11: časi izvedbe avtomatskega testiranja nivoja 1 v urah Testiranje namestitvenih procedur - nivo 1 Plateia Ferrovia Aquaterra Autosign Autopath Aquaflood Priprava avtomatskih testnih procedur 21,75 16,75 12,75 6,25 3,25 5,25 Izvedba avtomatskega testa Izvedba n avtomatskih testov 12,81 8,20 10,76 9,74 2,56 11,48 Skupaj čas - avtomatsko testiranje (ur) 34,56 23,55 20,36 10,76 4,25 16,73 Izvedba ročnega testa Izvedba n ročnih testov 70,75 24,00 21,00 11,02 5,00 16,83 Skupaj čas - ročno testiranje (ur) 70,75 24,00 21,00 11,02 5,00 16,83 Število izvedenih testov - n 25 16 21 19 5 51 Slika 12: časi priprave in izvedbe n avtomatskih in ročnih testov 3 SKLEP V podjetju poteka razvoj programskih rešitev in produktov po metodologiji dobave po fazah (Staged delivery). Značilnost metodologije je, da razstavi večji projekt na obvladljive zaporedne faze. Podrobno načrtovanje in ocena stroška razvoja sta možna samo do naslednje faze, končni izdelek je sestavljen po modulih, vsaka faza je zaključena celota, ki je lahko testirana. V življenjskem ciklu razvoja programske opreme podjetja tipično namenjajo 40 odstotkov časa analizi in načrtovanju, 40 odstotkov testiranju in 20 86 uporabna INFORMATIKA odstotkov programiranju (Solina, 1997). Obravnavano podjetje namenja 40 odstotkov časa analizi in načrtovanju, 45 odstotkov programiranju in samo 15 odstotkov testiranju. Delež časa, namenjen testiranju, je majhen, zato je pomembno, da je izkoriščen optimalno. Edina možnost, da podjetje poveča obseg testiranja programske opreme in se izogne povišanju stroškov, je zvišanje produktivnosti testiranja. Proces razvoja programske opreme je analiziran s poudarkom na testiranju. Predlogi sprememb izboljšujejo procese testiranja funkcij, testiranja prevedenih pro- 2018 - številka 2 - letnik XXVI Sašo Greblo: Izboljšanje testiranja programske opreme - študija primera ROI - implementacije avtomatskega testiranja namestitvenih procedur 350% 300% 250% 200% 150% 100% 50% 0% -50% 5 10 15 20 25 50 75 ^■ROI Plateia -42% 5% 44% 77% 105% 199% 253% Hi ROI Ferrovia -60% -29% -3% 19% 37% 97% 131% ■■ ROI Aquaterra -66% -39% -18% 0% 15% 62% 88% ROI Autopath -61% -33% -11% 5% 19% 60% 81% ROI Autosign 18% 90% 140% 176% 203% 277% 311% ROI Aquaflood -74% -56% -43% -32% -24% 0% 12% ŠTEVILO IZVEDENIH TESTNIH PROCEDUR Slika 13: ROI izvedbe n = 5,10,15, 20, 25, 50, 75 testov nivoja 1 gramskih modulov ter testiranja namestitvenih procedur. Predlog dopolnitve procesa testiranja funkcij je vpeljava strokovnega pregleda programske kode (Peer Review). Predlog dopolnitve testiranja prevedenih programskih modulov predvideva sistematizacijo postopkov in dokumentov kot temeljni korak v pripravo načrtov testiranja skladno z ISO/IEC/IEEE 29119 ter regresijsko testiranje. Predlog dopolnitve testiranja procesa namestitvenih procedur zajema poleg sistematizacije postopkov in dokumentov sistematizacijo testiranja v treh nivojih. V nadaljevanju predvideva pripravo načrtov testiranja skladno z ISO/IEC/IEEE 29119 in avtomatizacijo testiranja. Vodstvo podjetja je podprlo predlog optimizacije procesov testiranja, ki predvideva več faz implementacije sprememb. Izvedba faz je odvisna tudi od rezultatov predhodnih projektov. Določene faze optimizacije so končane in rezultati so spodbudni. Izračun ROI izvedenega pilotnega projekta implementacije avtomatskega testiranja namestitvenih procedur nivoja 1 izkazuje vračilo investicije v avtomatizacijo testiranja posameznih programskih rešitev in produktov v roku 6 do 24 mesecev. Projekt optimizacije testiranja še vedno aktivno poteka. 4 LITERATURA [1] Čebokli, P. (2006). Avtomatizacija testiranja kot ključ agilnosti razvoja programske opreme. Magistrsko delo. Ljubljana: Fakulteta za računalništvo in informatiko. [2] Dustin, E., Garett, T., Gauf, B. (2009). Implementing Automated Software testing: How to Save Time and Lower Costs While Raising Quality. Boston: Pearson Education. [3] Greblo, S. (2016). Izboljšanje testiranja v življenjskem ciklu programske opreme. Magistrsko delo. Kranj: Fakulteta za organizacijske vede. [4] International Organization for Standardization. (2013). ISO/ IEC/IEEE 29119-1:2013: Software and systems engineering - Software testing - Part 1: Concepts and definitions. Pridobljeno 13. 2. 2016 na http://www.iso.org/iso/home/store/ca-talogue_tc/catalogue_detail.htm?csnumber=45142. [5] Myers, G. J., Badgett, T., Sandler, C. (2011). The Art os Software testing. New Jersey: John Wiley & Sons. [6] Solina, F. (1997). Projektno vodenje razvoja programske opreme. Ljubljana: Fakulteta za računalništvo in informatiko. [7] Wiegers, E. K. (2002). Peer Reviews in Software: A Practical Guide. Boston: Addison-Wesley. [8] Wigmore, I. (2012). Ad hoc testing. Pridobljeno 5. 1. 2016 na http://whatis.techtarget.com/definition/ad-hoc-testing. ■ Sašo Greblo je magister Informatike In kot vodja prodaje zaposlen v podjetju CGS plus d.o.o.. Njegovo strokovno Izpopolnjevanje poteka v okviru podjetja ter sodelovanjem s poslovnimi partnerji, kot so Autodesk, HP In podobno. Svoje strokovno znanje In ugotovitve Implementira v okviru podjetja v okviru različnih razvojnih projetkov. 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 87 ODZIVI BRALCEV B Odziv na strokovni prispevek Zakonodajni in tehnični vidik varovanja osebnih podatkov v slovenskih zdravstveno-informacijskih sistemih Lucija Tepej Jočic NIJZ, Center za informatiko v zdravstvu, Trubarjeva 2, 1000 Ljubljana Lucija.Tepej-Jocic@nijz.si V reviji Uporabna informatika, letnik 2018, številka 1 - je bil objavljen strokovni prispevek Zaonodajni in tehnični vidik varovanja osebnih podatkov v slovenskih zdravstveno-informacijskih sistemih. Ker menim, da je prispevek pomanjkljiv v delu, ki se nanaša na sistem eZdravja, želim avtorje in bralce seznaniti z nekaterimi pomembnimi dejstvi, ki se nanašajo na zakonske podlage, vsebino in varovanje osebnih podatkov. 1 ELEKTRONSKA ZDRAVSTVENA KARTOTEKA (ANGL. ELECTRONIC HEALTH RECORD) Prispevek omenja elektronsko zdravstveno kartoteko (angl. Electronic Health Record) ter navaja, da slovenska zakonodaja ne obravnava pojma elektronska zdravstvena datoteka. Res je sicer, da ne zasledimo te besedne zveze, vendar pa zakonodaja opredeljuje Centralni register podatkov o pacientih (CRPP), ki po vsebini ustreza temu, kar v prispevku imenujete elektronska zdravstvena kartoteka. CRPP je poleg eRecepta, eNaročanja in portala zVEM ena od ključnih rešitev eZdravja. Informacije o storitvah eZdravja, vključno s CRPP, so bile nedavno objavljene v prispevku Živa Rant, Dalibor Stanimirovic, Vedrana Matetic, Simon Indihar, Janja Zidarn, Mate Beštek, Lucija Tepej Jočic, Andrej Žlender: eZdravje danes / eZdravje today Uporabna Informatika, 25(3), str. 169-179. V slovenskem zdravstvenem sistemu ni uveljavljene splošno sprejete terminologije za elektronske zapise zdravstvenih podatkov. Uporabljajo se pojmi elektronski zdravstveni zapis (EZZ), elektronski karton, e-karton, elektronska kartoteka, pri čemer se lahko nanašajo bodisi na centralizirane zbirke in informacijske sisteme na nacionalni ravni bodisi na lokalne zbirke in sisteme pri izvajalcih zdravstvene dejavnosti. Neenotna so tudi pričakovanja, kaj naj bi elektronski zapisi vsebovali. Tudi znotraj projekta eZdravje poimenovanje ni bilo enotno. V času izvedbe projekta se je za vsebinski informacijski model zdravstvenih podatkov uporabljal izraz Elektronski zdravstveni zapis (EZZ). Z uveljavitvijo Zakona o spremembah in dopolnitvah Zakona o zbirkah podatkov s področja zdravstvenega varstva - ZZPPZ-A (Uradni list RS, št. 47/15 z dne 30. 6. 2015) (v nadaljevanju: ZZPPZ-A) je bil uveden Centralni register podatkov o pacientih (CRPP). Izraz CRPP se v danes okviru e Zdravja uporablja tako za poimenovanje zakonsko opredeljene zbirke podatkov kot tudi za poimenovanje storitve eZdravja oz. centralnega nacionalnega informacijskega sistema s pripadajočo informacijsko komunikacijsko infrastrukturo. 2 ZAKONSKE PODLAGE IN VAROVANJE OSEBNIH PODATKOV Zakon o zbirkah podatkov s področja zdravstvenega varstva (ZZPPZ-A) specifično opredeljuje vsebino in namen zbirke CRPP členu 14.b. Vsebino zbirke CRPP sestavljata zdravstvena dokumentacija iz prvega odstavka 1.a člena ZZPPZ ter povzetek podatkov o pacientu, opredeljen v 4. odstavku 14.b. člena. Glede na definicijo zdravstvene dokumentacije v členu 1.a ima CRPP široko zakonsko podlago: Zdravstvena dokumentacija je izvirno in repro-ducirano (pisano, risano, tiskano, fotografirano, fil- 88 uporabna INFORMATIKA 2018 - številka 3 - letnik XXVI Lucija Tepej Jočič: Odziv na strokovni prispevek Zakonodajni in tehnični vidik varovanja osebnih podatkov v slovenskih zdravstveno-informacijskih sistemih mano, fonografirano, magnetno, optično ali kako drugače zapisano) dokumentarno gradivo, ne glede na obliko zapisa in nosilec zapisa podatkov: ■ ki nastane ali je prejeto pri zdravstveni oskrbi, ■ ki je opredeljeno v Osnovni zdravstveni dokumentaciji v Prilogi 1 ZZPPZ ali ■ ki je povezano z zdravstvenim stanjem in je nujno potrebno za izvajanje pravic ali obveznosti, priznanih ali določenih z zakonom. ZZPPZ v četrtem odstavku člena 14.b opredeljuje tudi vsebino povzetka podatkov o pacientu. Poleg statusnih in identifikacijskih podatkov pacienta so zakonsko opredeljeni tudi zdravstveni podatki. V prispevku navajate, da se s področjem zavarovanja podatkov ukvarja samo 7. člen ZZPPZ. Z vidika varovanja posebnih vrst podatkov oz. občutljivih osebnih podatkov, kamor sodijo podatki o zdravstvenem stanju, so pomembna tudi določila členov 14.c, 14.č in 14.d, ki se nanašajo na pooblastila za obdelavo podatkov oz. varovanju zasebnosti pacientov. Člen 14.c določa, da ima pacient pravico s pisno izjavo prepovedati vpogled v povzetek podatkov o pacientu. Člen 14.d v šestem odstavku navaja, da se pooblastila zdravstvenih delavcev in drugih pooblaščenih oseb za obdelavo podatkov v CRPP določijo za posamezen podatek ali po posameznih sklopih podatkov oziroma zdravstvene dokumentacije tako, da je obseg pooblastila odvisen od kvalifikacije, poklica in delovnega področja zdravstvenega delavca ter delovnega mesta oziroma dela pri izvajalcu. V skladu s členom 14.d minister, pristojen za zdravje določi vrsto in roke hrambe pacientove zdravstvene dokumentacije, šifrante, ki se uporabljajo za posredovanje podatkov, natančnejše pogoje, vsebino in postopek posredovanja pisne izjave pacienta iz tretjega odstavka 14.c člena ZZPPZ in pooblastila zdravstvenih delavcev šestega odstavka 14.č člena. Ob spremembi ZZPPZ za področje eZdravja leta 2015 je bilo sprejetih več podzakonskih aktov. Pravilnik o pogojih, rokih, načinu vključitve in uporabe eZdravja za obvezne uporabnike (Uradni list RS, št. 69/15) določa varnostne zahteve za dostop do eZdravja: vključitev v varno zdravstveno omrežje zNET, zahteve glede oddaljenega dostopa, uporabe gesel ter varovanja strojne in programske opreme. Pravilnik o prepovedi vpogleda v povzetek podatkov o pacientu v Centralnem registru podatkov o pacientih (Uradni list RS, št. 84/15) določa, da lahko pacient odda prepoved vpogleda v povzetek preko portala zVEM ali s posredovanjem izbranega osebnega zdravnika. Pravilnik o pooblastilih za obdelavo podatkov v Centralnem registru podatkov o pacientih (Uradni list RS, št. 51/16) podrobno določa pogoje dostopa do zdravstvene dokumentacije in povzetka podatkov o pacientu. V skladu s pravilnikom smejo povzetka podatkov o pacientu dostopati zdravstveni delavci pod pogojem, da pacient ni podal prepovedi vpogleda. Do zdravstvene dokumentacije smejo dostopati zgolj zdravniki oz. klinični psihologi na podlagi napotnice, izbire osebnega zdravnika ali pacientove privolitve. Nadalje so možnosti pridobivanja dokumentov omejene glede na vrsto zdravstvene dejavnosti v skladu z matriko pooblastil, ki je priloga pravilnika. 3 VRSTE PODATKOV V CRPP IN VGRAJENA PRAVILA DOSTOPA V CRPP se glede na zakonsko podlago lahko zbirajo in obdelujejo vse vrste zdravstvene dokumentacije. V praksi pa predstavlja največji izziv standardizacija. Cilj je, da se v CRPP postopoma uvedejo različni tipi strukturirane zdravstvene dokumentacije. Pogoj za dosego tega cilja je definicija enotnih terminologij, vsebin in podatkovnih modelov na nacionalni ravni, kar pa je mogoče zgolj ob tvornem sodelovanju medicinske stroke. Trenutno se v CRPP od zdravstvene dokumentacije zbirata dva tipa nestrukturiranih dokumentov, in sicer ambulantni izvidi ter odpustna pisma. V okviru projekta eZdravje je bil standardiziran podatkovni model za strukturiran povzetek podatkov o pacientu (PPoP). Izvajalci zdravstvene dejavnosti so povzetke začeli pošiljati v letu 2016. Ker gre za strukturirane podatke, je vpeljava zahtevnejša. Število vključenih izvajalcev zdravstvene dejavnosti se postopno povečuje. Največji delež zbranih povzetkov predstavljajo podatki o cepljenjih, boleznih ter medicinskih posegih. S podatki, ki se zbirajo v centralnih sistemih eZ-dravja, se pacienti lahko seznanijo preko spletnega portala zVEM (https://zvem.ezdrav.si). Uporabnik, ki se na portalu registrira z digitalnim potrdilom, lahko v rubriki Moje eZdravje dostopa do svojih podatkov iz eRecepta, eNaročanja in CRPP. Uporabnik portala zVEM dostopa do CRPP pod rubriko Dokumenti. Omogočen ima vpogled v svoje izvide, 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 89 Lucija Tepej Jočič: Odziv na strokovni prispevek Zakonodajni in tehnični vidik varovanja osebnih podatkov v slovenskih zdravstveno-informacijskih sistemih odpustna pisma in povzetek. Preko portala lahko uporabnik poda prepoved vpogleda PPoP ter preklic prepovedi. Na centralnem sistemu CRPP so implementirane privzete omejitve dostopa v skladu z zgoraj navedeno zakonodajo. Izvajalci zdravstvene dejavnosti smejo do CRPP dostopati izključno preko varnega zdravstvenega omrežja zNET. Zdravstveni delavci lahko podatke pridobivajo zgolj pod pogojem, da se prijavijo s kvalificiranim digitalnim potrdilom, pri čemer se v centralni bazi uporabnikov eZdravja preverjajo njihova poklicna pooblastila. Ustrezno tem pogojem morajo biti prilagojeni lokalni bolnišnični sistemi, ki jih zdravstveni delavci uporabljajo za povezovanje s CRPP. Informacije o pogojih dostopa do CRPP so objavljene na spletnih straneh e-zdravja (http://www.ez-drav.si/crpp/ - Navodila za uporabnike). 90 uporabna INFORMATIKA 2018 - številka 2 - letnik XXVI INFORMACIJE B Iz Islovarja Islovar je spletni terminološki slovar informatike, ki ga najdete na naslovu http://www.islovar.org. Tokrat objavljamo zbirko »skalabilnost«. Vabimo vas, da v Islovar prispevate svoje pripombe, predloge ali nove izraze. ažuriranje -a s (ang. update) spreminjanje, dopolnjevanje računalniškega sistema z novejšimi podatki, napravami, računalniškimi programi; sin. posodabljanje ažuren -rna -o prid. (angl. up-to-date) ki je na tekočem ciljna zmožnost -e -i ž (angl. target capability) zmožnost sistema, naprave, za katero je načrtovano, da bo dosežena ob koncu razvoja nadgraditi dov. (angl. upgrade) dodati nove funkcije, zmogljivosti, naprave v sistem, omrežje nadgradljivost -i ž (angl. upgradability) lastnost sistema, omrežja, storitve, da je mogoče izboljševanje funkcij, zmogljivosti, naprav nadgradnja -e ž (angl. upgrade) dodajanje novih funkcij, zmogljivosti, naprav obogateni -a -o prid. (angl. enhanced) dopolnjen za učinkovitejše delovanje, z novo funkcionalnostjo obogatiti -im dov. (angl. enhance) dopolniti za boljše delovanje ali z novo funkcionalnostjo osnovna zmožnost -e -i ž (angl. core competence, core capability) sposobnost sredstva, računalniškega Sistema, da opravlja osnovne funkcije; prim. zmožnost posodabljanje -a s (angl. update) spreminjanje, dopolnjevanje računalniškega sistema z novejšimi podatki, napravami, računalniškimi programi; sin. ažuriranje posodobitev -tve ž (angl. update) 1. nova različica računalniškega sistema, ki jo prejmejo uporabniki 2. sprememba, dopolnitev računalniškega sistema z novejšimi podatki, napravami, računalniškimi programi posodobiti -im dov. (angl. update) spremeniti, dopolniti računalniški sistem z novejšimi podatki, napravami, računalniškimi programi razširitvena zmožnost -e -i ž (angl. expansion capability) meja, do katere je mogoče razširiti obstoječi sistem razširljivost -i ž (angl. expandability) lastnost sistema, omrežja, da omogoča dodajanje elementov stopnjevalni -a -o prid. (angl. scalable) ki se ga lahko prilagaja glede na spremenjen obseg dela; sin. skalabilni stopnjevalnost -i ž (angl. scalability) zmožnost prilagajanja zmogljivosti za spremenjen obseg dela, npr. stopnjevalnost sistema, omrežja zmožnost -i ž (angl. capability) sposobnost človeka, sistema, naprave, da nekaj opravlja, izvaja; prim. osnovna zmožnost 2018 - številka 2 - letnik XXVI uporabna INFORMATIKA 91 Včlanite se v Slovensko društvo INFORMATIKA Pristopna izjava za članstvo v Slovenskem društvu INFORMATIKA Praune osebe izpolnijo samo drugi del razpredelnice Ime in priimek Datum rojstva Stopnja izobrazbe srednja, višja, visoka Naziv prof., doc., spec., mag., dr. Domači naslov Poštna št. in kraj Ulica in hišna številka Telefon (stacionarni/mobilni) Zaposlitev člana oz. člana - pravna oseba Podjetje, organizacija Kontaktna oseba Davčna številka Poštna št. in kraj Ulica in hišna številka" Telefon Faks E-pošta Zanimajo me naslednja področja/sekcije* D jezik D informacijski sistemi □ operacijske raziskave [Zl seniorji □ zgodovina informatike □ poslovna informatika □ poslovne storitve □ informacijske storitve □ komunikacije in omrežja EH softver D hardver d upravna informatika □ geoinformatika □ izobraževanje kraj, datum podpis Pošto društva želim prejemati na domači naslov/ v službo. Članarina znaša: 18,00 € - redna 7,20 € - za dodiplomske študente in seniorje (ob predložitvi dokazila o statusu) 120,00 € - za pravne osebe Članarino, ki vključuje glasilo društva - revijo Uporabna informatika, bom poravnal sam / jo bo poravnal delodajalec DDV je vključen v članarino. Naročilnica na revijo UPORABNA INFORMATIKA Naročnina znaša: 35,00 € za fizične osebe 85,00 € za pravne osebe - prvi izvod 60,00 € za pravne osebe - vsak naslednji izvod 15,00 € za Študente in seniorje (ob predložitvi dokazila o statusu) DDV je vključen v naročnino. Izpitni centri ECDL ECDL (European Computer Driving License), ki ga v Sloveniji imenujemo evropsko računalniško spričevalo, je standardni program usposabljanja uporabnikov, ki da zaposlenim potrebno znanje za delo s standardnimi računalniškimi programi na informatiziranem delovnem mestu, delodajalcem pa pomeni dokazilo o usposobljenosti. V Evropi je za uvajanje, usposabljanje in nadzor izvajanja ECDL pooblaščena ustanova ECDL Fundation, v Sloveniji pa je kot član CEPIS (Council of European Professional Informatics) to pravico pridobilo Slovensko društvo INFORMATIKA. V državah Evropske unije so pri uvajanju ECDL močno angažirane srednje in visoke šole, aktivni pa so tudi različni vladni resorji. Posebno pomembno je, da velja spričevalo v 148 državah, ki so vključene v program ECDL. Doslej je bilo v svetu izdanih že več kot 11,6 milijona indeksov, v Sloveniji več kot 17.000, in podeljenih več kot 11.000 spričeval. Za izpitne centre v Sloveniji je usposobljenih osem organizacij, katerih logotipe objavljamo. 1A LJUDSKA UNIVERZA MURSKA SOBOTA ACADEMIA Znanstveni prispevki Eva Krhač, Benjamin Urh, Matjaž Roblek ODKRIVANJE ZNANJA IZ PODATKOV Z ORODJEM ORANGE ZA NAPREDNO NASTAVITEV OSKRBOVALNIH POLITIK Jan Robas, Dejan Lavbič POIZVEDOVANJE PO POVEZANIH PODATKIH S PORAZDELITVIJO DELA MED STREŽNIKOM IN ODJEMALCEM Grega Stritar, Jurij Jaklič VPLIV ORGANIZACIJSKE KULTURE NA USPEŠNOST UVAJANJA TEHNOLOGIJ PODJETJE 2.0 Strokovni prispevki Sašo Greblo IZBOLJŠANJE TESTIRANJA PROGRAMSKE OPREME - ŠTUDIJA PRIMERA Odzivi bralcev NIJZ: ODZIV NA PRISPEVEK ZAKONODAJNI IN TEHNIČNI VIDIK VAROVANJA OSEBNIH PODATKOV V SLOVENSKIH ZDRAVSTVENO-INFORMACIJSKIH SISTEMIH Informacije IZ ISLOVARJA 1 ISSN 131fl-lfifl2 9771318188001