You are on page 1of 74

Diplomsko delo univerzitetnega študija

Organizacija in management informacijskih sistemov

PROGRAMSKA REŠITEV ZA VADBO NA


DELOVNEM MESTU

Mentor: doc. dr. Borut Werber Kandidat: Aleš Petek

Kranj, julij 2016


ZAHVALA

Za vso strokovno pomoč, koristne nasvete ter usmerjanje pri nastanku diplomskega
dela se zahvaljujem svojemu mentorju, doc. dr. Borutu Werberju.

Zahvaljujem se tudi vsem, ki so na kakršenkoli način prispevali in pripomogli k


nastanku tega dela.
POVZETEK
V sodobnem času si težko predstavljamo življenje brez računalnikov, ki nam močno
olajšajo delo ter prihranijo veliko dragocenega časa. Poleg vseh pozitivnih učinkov
pa je elektronska revolucija prinesla tudi negativne posledice. Z razvojem
tehnologije se je močno spremenilo delovno okolje, tako da veliko zaposlenih čas
na delovnem mestu preživi v sedečem položaju, ki je za naše telo nenaravno. Ker
človeško telo ni ustvarjeno za sedenje, večurno mirovanje, se posledice kažejo
predvsem kot slabo počutje ter poškodbe. Relativno preprosta rešitev so vaje za
raztezanje, ki so enostavne, ne zahtevajo veliko časa niti prostora. Cilj diplomskega
dela je bil izdelava aplikacije, ki opominja ter spodbuja zaposlene k vadbi ter
pravilni drži na delovnem mestu. Aplikacija preko mobilnega aparata ali računalnika
v časovnih intervalih opomni uporabnika na vadbo ter mu jo v izvedbo tudi ponudi.
V diplomski nalogi so uvodoma predstavljene vadbe, katere so vključene v aplikaciji.
V nadaljevanju so opisana orodja, ki smo jih uporabili za izdelavo programske
opreme, prikazan pa je tudi razvoj tako Android kot Windows aplikacije.

KLJUČNE BESEDE:

- Vadba na delovnem mestu


- Android
- MySQL
- PHP

ABSTRACT

Nowadays it is hard to imagine life without computers, which greatly facilitate the
work and save much of valuable time. In addition to all the positive effects, the
electronic revolution has on the other hand also brought negative consequences.
With the development of technology, the working environment has changed
immensely, so a lot of people spend their working hours in a sitting position that is
unnatural to our body. Because the human body was not created to sit several hours,
the consequences can namely be malaise and injuries. Relatively simple solutions
are stretching exercises that are easy, do not require much time or space. The
purpose of this diploma thesis was to create an application that reminds and
encourages employees to exercise and correct posture while working. The app can
be reached via mobile phone or computer at certain time intervals to remind the
users to exercise and be challenged with the training offered. The exercises, which
are included in the app, are firstly presented in the thesis. The tools used for the
production of software as well as the development of both Android and Windows
applications are explained in the diploma thesis.

KEYWORDS:
- Excercising at work
- Android
- MySQL
- PHP
KAZALO

1. UVOD ............................................................................................................. 1
1.1. PREDSTAVITEV PROBLEMA .......................................................................... 1
1.2. NAMEN IN CILJI ........................................................................................... 1
1.3. METODE DELA ............................................................................................. 2
2. ANALIZA IN UPORABNOST APLIKACIJE ............................................................ 3
3. REKREACIJA NA DELOVNEM MESTU ................................................................ 4
3.1. POŠKODBE V PISARNI .................................................................................. 4
3.1.1. POŠKDOBE RSI ..................................................................................... 5
3.1.2. SINDROM ZAPESTNEGA KANALA ........................................................... 5
3.1.3. UTRUJENOST MIŠIC ................................................................................. 5
3.1.4. SLAB KRVNI OBTOK ................................................................................. 5
3.1.5. BOLEČINE V PREDELU HRBTA .................................................................. 6
3.1.6. BOLEČINE V KRIŽU .................................................................................. 6
3.1.7. POŠKODBE OČI ........................................................................................ 7
3.1.8. STRES NA DELOVNEM MESTU ................................................................... 7
3.2. REKREACIJA NA DELOVNEM MESTU ............................................................. 9
3.2.1. RAZTEZNE VAJE ZA ROKE, PRSTE IN ZAPESTJA ..................................... 10
3.2.2. RAZTEZNE VAJE ZA RAMENA IN LAKTI ................................................... 13
3.2.3. RAZTEZANJE HRBTA .............................................................................. 15
3.2.4. RAZTEZANJE VRATU .............................................................................. 17
3.2.5. RAZTEZANJE NOG ................................................................................. 18
3.2.6. VAJE ZA SPROSTITEV OČI ...................................................................... 20
3.2.7. VAJE V PISARNI .................................................................................. 23
3.2.8. KOMPLET VSAKODNEVNIH VAJ ........................................................... 25
4. TEHNOLOGIJA IN ORODJA ............................................................................... 28
4.1. OPERACIJSKI SISTEM ANDROID .................................................................. 28
4.1.1. KAJ JE ANDROID? ............................................................................... 28
4.1.2. PREDNOSTI OPERACIJSKEGA SISTEMA ANDROID PRED DRUGIMI
OPERACIJSKIMI SISTEMI ................................................................................... 29
4.1.3. RAZLIČICE OPERACIJSKEGA SISTEMA ANDROID .................................. 29
4.2. RAZVOJNO ORODJE TER TEHNOLOGIJA .................................................... 32
4.2.1. ANDROID STUDIO ............................................................................... 32
4.2.2. ANDROID SDK ........................................................................................ 33
4.2.3. ANDROID EMULATOR ............................................................................. 34
4.2.4. SESTAVA AVD ........................................................................................ 34
4.2.5. XAMPP ................................................................................................... 35
4.2.6. PHP (PHP Hypertext Predprocessor) ..................................................... 35
4.2.7. MYSQL ................................................................................................... 36
4.2.8. PHPMyAdmin ......................................................................................... 37
4.2.9. UREJEVALNIK SUBLIME TEXT 3 .............................................................. 38
4.2.10. MOBAXTERM ........................................................................................ 39
4.2.11. MICROSOFT VISUAL STUDIO COMMUNITY EDITION ............................... 40
5. RAZVOJ APLIKACIJE ..................................................................................... 42
5.1. STREŽNIK .................................................................................................. 42
5.2. PHP SKRIPTA ................................................................................................ 44
5.3. ANDROID APLIKACIJA ................................................................................... 50
5.4. WINDOWS APLIKACIJA.................................................................................. 59
6. ZAKLJUČEK .................................................................................................. 64
6.1. OCENA UČINKOV ....................................................................................... 64
6.2. POGOJI ZA UVEDBO .................................................................................. 65
6.3. MOŽNOSTI NADALJNjEGA RAZVOJA .......................................................... 65
LITERATURA IN VIRI ............................................................................................ 66
KAZALO SLIK ....................................................................................................... 68
KAZALO TABEL .................................................................................................... 69
Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

1. UVOD

Sodoben način življenja ter vse večje zahteve novodobnega poslovanja tržno
globalnega gospodarstva vse bolj in bolj obremenjujejo nas kot delovne, aktivne
ljudi.

Medtem ko nam način kako živimo pogojuje vse manj gibanja in se ljudje vse bolj
in pogosteje oddaljujemo od narave, na delovnih mestih prevladuje večinoma
sedeče, statično delo. Delovno mesto je okolje, v katerem odrasel človek preživi
velik del dneva oziroma časa, ko je buden in aktiven. Telesne zahteve na delovnem
mestu pa so se v zadnjem stoletju, zadnjih desetletjih precej spremenile. Velika
večina poklicev na splošno ne zahteva veliko energije, v primerih, ko je delo
zahtevno, pa je obremenitev večinoma lokalna in pogosto je to enolična
obremenitev določenih mišic. Tako je po eni strani energijska zahtevnost na
delovnem mestu krepko pod tisto, ki se priporoča za zdrav življenjski slog, po drugi
strani pa se lahko zaradi nekaterih nalog poveča tveganje za razvoj obolenj mišic in
kosti. Vsa ta nesorazmerja in tveganja pa se lahko preprečuje s pomočjo zadostne
in redne telesne dejavnosti.

Zato je cilj diplomskega dela priprava aplikacije, katere namen je opominjati ter
spodbujati zaposlene k vadbi ter pravilni drži na delovnem mestu med delovnim
časom, s čimer bi bila zagotovljena ustrezna raven telesne dejavnosti. Aplikacija bo
preko računalnika oz. pametnega telefona v časovnih intervalih zaposlene
opominjala o pravilni drži, vadbah ter jim tudi predlagala ustrezno gibanje s
funkcionalno vadbo glede na posamezne karakteristike zaposlenega.

1.1. PREDSTAVITEV PROBLEMA

V pisarnah poteka delo večinoma v sedečem položaju s pomočjo računalnikov, kar


pomeni, da v času, ki ga preživimo na delovnem mestu, velikokrat sedimo
neprimerno, hkrati pa smo telesno manj aktivni, kot bi morali biti, kar posledično
slabo vpliva na zdravje zaposlenih. Opažam, da tudi sam pri svojem delu pogosto
sedim nepravilno, kar povzroča težave z zdravjem, ki se odražajo skozi različne
oblike bolečin. Prav tako kot pravilna drža je za zdravje pomembna tudi sama
telesna aktivnost. Velikokrat, ko se odločamo, da bomo spremenili svoje navade,
ostanemo le pri dobrem namenu ali pa jih uvajamo prekratek čas, da bi te
spremembe postale navada. Zato želim s pomočjo aplikacije spodbuditi zaposlene
k pravilni drži ter večji telesni aktivnosti na delovnem mestu, kar bi pripomoglo k
samemu zdravju ter zadovoljstvu delavcev, kar pomeni, da bi bilo posledično manj
začasne odsotnosti z dela iz zdravstvenih razlogov. Raziskave so pokazale, da vsak
evro, namenjen promociji zdravja na delovnem mestu, prinaša donos v višini od 2,5
do 4,8 evrov zaradi manjših stroškov izostajanja z dela (OSHA, 2010). Zdravi in
zadovoljni delavci so tako tudi veliko bolj motivirani za dobro ter kvalitetno
opravljeno delo, v manjši meri imajo tudi željo po menjavi službe.

1.2. NAMEN IN CILJI

Cilj naloge je izdelava prototipa aplikacije, s pomočjo katere bi se spodbujalo


delavce, predvsem tiste, ki največ časa preživijo v pisarnah za računalnikom, k

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 1


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

pravilni drži ter večji telesni aktivnosti na delovnem mestu, kar bi podjetju prineslo
manjši absentizem, medtem ko bi posameznikom prineslo boljše zdravje ter
počutje. Aplikacija bo v določenem časovnem intervalu uporabnika opominjala na
pravilno držo, sproščanje ter mu ponudila različne vaje, katere so primerne za
izvajanje na delovnem mestu.

1.3. METODE DELA

Za izdelavo diplomske naloge je bila uporabljena deskriptivna metoda s študijo


domače in tuje literature ter metoda kompilacije pri uporabi izpiskov, navedb in
citatov drugih avtorjev. Aplikacijo smo razvili s prototipno metodo rezvoja
aplikacije.

Aplikacija je bila izdelana s pomočjo delovnega okolja Android Studio z orodjem za


razvoj Android SDK, Microsoft Visual Studio ter s sistemom za upravljanje
podatkovnih baz MySQL.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 2


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

2. ANALIZA IN UPORABNOST APLIKACIJE


Vedno več dela, še posebno v razvitem delu sveta, se opravlja sede. Lahko rečemo,
da smo postali sedeča civilizacija, kar pa s seboj nosi številne, velikokrat za zdravje
negativne, posledice. Bolečine v hrbtu niso moteče samo za ljudi, ki jih občutijo,
temveč povzročajo tudi ogromne stroške, tako podjetjem kot celotni družbi. Bolezni
mišično-skeletnega sistema in vezivnega tkiva, ki velikokrat nastanejo kot posledica
dolgotrajnega sedečega položaja, prispevajo k največjemu odstotku bolniške
odsotnosti med boleznimi, klasificiranimi v MKB-10 (mednarodna statistična
klasifikacija bolezni in sorodnih zdravstvenih problemov).

Iz podatkovnega portala Nacionalnega inštituta za javno zdravje je razvidno, da je


bil v letu 2015 odstotek bolniške odsotnosti 3,96 %. V tem letu je bilo 859.292
primerov bolniške odsotnosti z dela z 11.905.124 izgubljenimi dnevi. Med njimi je
bilo 79.984 primerov odsotnosti zaradi bolezni mišičnoskeletnega sistema in
vezivnega tkiva z 2.320.498 izgubljenimi dnevi.

Bolniška odsotnost zaradi bolezni mišičnoskeletnega sistema in vezivnega tkiva je


bila z 0,77 odstotka najvišje med vsemi skupinami po MKB-10.

V zadnjem času je opaziti vse večje zavedanje o posledicah, predvsem posledicah


na zdravje, ki jih povzroča prekomerno sedenje. Tako so se razvili različni projekti,
ki spodbujajo tudi gibanje na delovnem mestu. Eden takšnih je Zdravju prijazno
podjetje, ki so ga pripravile Športna unija Slovenije, katera je oblikovala celosten
program, ter Zavod za zdravstveno zavarovanje Slovenije in Direktorat za javno
zdravje Ministrstva RS za zdravje. Drugi takšen projekt za promocijo zdravja,
predvsem na delovnem mestu je »Točka promocije zdravja«, finančno podprt s
strani Zavoda za zdravstveno zavarovanje Slovenije.

Na trgu že obstajajo aplikacije, ki zainteresiranim uporabnikom omogočajo prikaz


vaj, jim podajajo navodila za pravilno izvedbo vaj ter pomagajo še z drugimi
nasveti.

Aplikacija, narejena v okviru diplomskega dela, pa gre še korak dlje. Danes več ne
obstaja podjetja, kjer vsaj nekaj oseb ne bi dela opravljalo pretežno za pisalno
mizo. Prav za njih je primerna ta aplikacija. Aplikacija opominja, da je čas, da na
svojem delavnem mestu napravimo nekaj vaj, bodisi razteznih bodisi sprostitvenih.
Uporabnikom posreduje opomnike na službeni telefon ali na računalnik, odvisno od
tega, kaj zaposleni pri svojem delu uporabljajo.

Namen aplikacije je predvsem izboljšati zdravje delavcev, ki opravljajo delo


pretežno v sedečem položaju, in s tem razbremeniti delodajalce ter zdravstveno
blagajno s stroški, ki nastanejo na račun bolniških odsotnosti, kot posledica težav,
nastalih na delovnem mestu.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 3


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

3. REKREACIJA NA DELOVNEM MESTU

Delo v istem položaju, ki nepretrgoma traja dlje časa, pogosto povzroča utrujenost,
napetost mišic, bolečine v gibalih, itn. Telesna aktivnost, ki se izvaja v času odmora,
tako prispeva k boljšemu zdravju ter posledično manjši rabi zdravstvenih storitev.

Raziskave, med njimi so pokazale, da so zaposleni, ki med delom jemljejo odmore


za vadbo, bolj produktivni, srečnejši in trpijo manj stresa kot tisti, ki ne vadijo
(Standardmedia, 2016).

Rezultati študije, ki je bila izvedena na Univerzi v Bristolu in je objavljena v


publikaciji International Journal of Workplace Health Management, kažejo, da so
ljudje, ki izvajajo vadbo preden odidejo na delo ali jo izvajajo med odmorom za
kosilo, bolje pripravljeni na soočenje z izzivi, ki jih čakajo skozi dan. Prav tako je
bilo ugotovljeno, da se splošno razpoloženje ljudi ob dnevih vadbe izboljša, medtem
ko so v dneh brez vadbe ljudje bolj nemirni.

Kot del vsakodnevne delovne rutine, je OLX Kenija za vse zaposlene v pisarnah
uvedla dvakrat dnevno (zjutraj in popoldan) vadbo, kar, kot pravijo v podjetju,
pomaga zaposlenim dvigniti energijo.

Spodbujanje skupnih odmorov za malico ter kratkih pavz med delovnim časom, kjer
se izvaja skupinska vadba, se morda zdi majhna sprememba v organizacijski kulturi,
ima pa lahko velik vpliv na delovno kreativnost.

Raziskava na Univerzi v Bristolu je prva te vrste, ki dokazuje, da ima vadba med


delovnim časom tako duševne kot telesne koristi.

Rezultati, kjer so merili tako psihične, delovne ter časovne zahteve, so pokazali, da
so delavci, ob dnevih, ko so izvajali vadbo, delo opravili bistveno bolje, kot ob
dnevih brez vadbe.

Vsak sodelujoči v raziskavi je izpolnil vprašalnik o razpoloženju, delovni


motiviranosti in delovni učinkovitosti na delovnem mestu v dneh, ko so izvajali
vadbe. Podatki so se primerjali z odgovori tistih, ki vadbe niso izvajali. Glavne
ugotovitve so bile, da je 72 % poročalo o izboljšanju upravljanja s časom v primerjavi
z dnevi brez vadbe, medtem ko je kar 79 % poročalo, da je bilo psihično počutje ter
delovna učinkovitost boljša ob dnevih, ko so izvajali vadbo. 74 % sodelujočih je
poročalo, da jim je vadba pozitivno pomagala pri opravljanju dela (Standardmedia,
2016).

3.1. POŠKODBE V PISARNI

Poškodbe v pisarni največkrat nastanejo zaradi stalnega sedenja in vedno enakih


gibov, kateri obremenjujejo vedno iste mišice. V nadaljevanju so prikazane
najpogostejše poškodbe, ki nastanejo v pisarni, katerim se bomo s pomočjo
aplikacije poizkušali izogniti.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 4


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

3.1.1. POŠKDOBE RSI

Poleg vseh bolezni modernega sveta in raznih poškodb, se danes predvsem zaposleni
pogosto srečujejo s poškodbami, nastalimi v pisarni. Tem poškodbam rečemo RSI
(Repetitive Strain Injury), kar pomeni poškodbe nastale predvsem zaradi pogostosti
ponovitve enakih gibov. Te poškodbe so posledica nenehnih napetosti ter
obremenitev zaradi ponavljanja enakih gibov, katere lahko poškodujejo predvsem
živce, kite mišice ter druga mehka tkiva.

Najbolj ogrožena skupina so tisti, ki dnevno pred računalnikom presedijo več ur.
Bolezen, katera lahko povzroči trajno delovno zmožnost ter tako lahko močno vpliva
na vsakdanja običajna opravila, najpogosteje prizadene tilnik, ramena, roke ter oči.

Proti poškodbam RSI moramo ukrepati še preden se pojavijo težave, in sicer z


razgibalnimi ter sprostitvenimi vajami za dlani, prste in roke, s katerimi zmanjšamo
preobremenjenost mišic (Inštitut Prevent, 1999).

3.1.2. SINDROM ZAPESTNEGA KANALA

Sindrom zapestnega ali karpalnega kanala CTS (Carpal Tunnel Syndrome) ali okvara
živcev v zapestju je poškodba, ki nastane kot posledica neprimerne rabe rok ali
neprimernega položaja telesa na delovnem mestu. Najpogostejše so poškodbe
živcev, težave z ramo, komolcem, zapestjem in močno poslabšan krvni obtok v
prstih.

S spreminjanjem drže dlani, rednimi odmori ter posebnimi vajami za prste se


najlažje znebimo občutka »zaspanih« rok, enega prvih znakov motnje s
prekrvavitvijo, katero imajo prizadeti s sindromom zapestnega kanala (Velikanje,
2007).

3.1.3. UTRUJENOST MIŠIC

Pri neprestanem sedenju je precej pogost pojav utrujenost in napetost mišic. Ker
se mišice pri nenehnem sedenju, zaradi nenaravne drže telesa ne uporabljajo, lahko
le-te zaspijo, tudi za stalno. Napačna drža je pogosta posledica tega, kaže se kot
upognjen hrbet ali pa tako, da je težišče telesa premaknjeno preveč naprej, tako
da prihaja do mišičnih napetosti, tako v ramenih kot v tilniku (Bilban, 1999). Do
utrujenosti mišic prihaja tudi zaradi sedenja v nepravilnem položaju npr.
prekrižanih nog, kar povečuje pritisk predvsem na medenico ter bedrni živec, pri
čemer je oviran celotni krvni obtok.

3.1.4. SLAB KRVNI OBTOK

Pri sedenju, ki traja dlje časa ter mirovanju prihaja do oviranega ter upočasnjenega
ter pretoka krvi, zaradi česar prične v venah stopal ter spodnjih delov nog zastajati
kri. To otežuje gibanje krvi po celem telesu.

Zastoj krvi je pogost in eden izmed dejavnikov nastanka venske tromboze, ki je


lahko zelo nevaren pojav, katerega posledica je občasno lahko tudi smrt.
Upočasnjen venski pretok krvi pospeši samo strjevanje krvi, kar lahko pripelje do
nastanka strdka, zaradi katerega se lahko svetlina vene zamaši.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 5


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Da ne bi prihajalo do težav s slabim krvnim obtokom, se je potrebno predvsem veliko


gibati ter piti zadostno količino negaziranih brezalkoholnih pijač. Zato je med delom
predvsem potrebno večkrat vstati ter se sprehoditi, hkrati pa je potrebno imeti stol
na višini, ko stegna več ne pritiskajo na rob stola z vso svojo težo (Velikanje, 2007).

3.1.5. BOLEČINE V PREDELU HRBTA

Bolečine v predelu hrbta so eden izmed najpogostejših razlogov obiska pri


zdravniku. Prav tako so bolečine v hrbtu eden pogostejših vzrokov delovne
nesposobnosti pri zaposlenih. Pri tistih, ki veliko časa preživijo v sedečem položaju,
se vse pogosteje pojavljajo težave s križem oziroma s hrbtenico v ledvenem delu.
Med najbolj razširjene težave sodijo okvare ploščic med vretenci, katere se
praviloma pojavijo v ledvenem delu. To je posledica dejstva, da pretirano sedenje
obremenjuje ter deformira tkiva, ne samo v ledvenem delu, ampak celotno
hrbtenico (Bilban, 2001).

Obremenitve pri delu v pisarni velikokrat pripeljejo do težav s hrbtenico, katere


nastajajo postopno ter se v nekaterih primerih občasno stopnjujejo, lahko tudi do
trajnih okvar. V kolikor se ne gibljemo zadosti, nam tudi najbolj ergonomičen stol
ne more preprečiti deformacije hrbtenice. Zelo pomembno je, da v sedečem
položaju pogosto menjamo položaj, saj s tem dlje časa negibno sedenje
spreminjamo v bolj dinamično. Ena izmed rešitev je precej enostavna, namesto da
telefoniramo za mizo, telefonski pogovor opravimo stoje.

Poleg pravilno izbranega delovnega stola lahko bolečino v hrbtu v določeni meri
odpravimo ali vsaj omilimo tudi z redno telesno aktivnostjo, ki krepi mišice na
hrbtu. Večkratno vstajanje, pretegovanje ter vaje za hrbet so še kako priporočljive
za izogibanje bolečin v hrbtu.

3.1.6. BOLEČINE V KRIŽU

Bolečina v križu večinoma ne pomeni, da gre za bolezen ter ne predstavlja


nevarnosti za zdravje. Pri 90 % ljudi mine v dveh do treh tednih. Navadno jo lahko
obvladamo brez zdravniške pomoči. Najpogostejši vzroki bolečine v križu so zaradi
poškodb ob dvigu težkih bremen ter nenaden, nepravilen gib.

Dolgotrajno sedenje, prisilna drža, delo pred računalnikom, telesna neaktivnost,


vse to so vzroki nastanka bolečin v križu. Z nepravilno držo postanejo mišice
ramenskega obroča prenapete, kar je razlog za utrujenost, pogoste glavobole ter
slabo koncentracijo.

V skrbi za svoje zdravje in preprečevanje bolečin v križu pa lahko ogromno naredimo


predvsem sami. Pomembno je vzdrževanje telesne aktivnosti, saj mirovanje
pripelje do okornosti telesa, pešanja mišic ter kosti, močnejših bolečin, depresije
in težje se znova aktiviramo. Priporočeno je predvsem izvajanje vaj za krepitev ter
raztegovanje hrbteničnih mišic.

Najboljša preventiva je, poleg zdravega načina življenja, da sami poskrbimo za čim
večjo telesno aktivnost, tako na delovnem mestu kot tudi izven njega (Krčevski
Škvarč, 2009).

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 6


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

3.1.7. POŠKODBE OČI

Dolgotrajno delo z računalnikom je eden izmed glavnih razlogov utrujenih oči. Delo
z računalnikom, predvsem gledanje v monitor, močno vpliva na oči ter delovanje
celotnega vidnega sistema. Pred samim nastopom dela pred računalnikom mora
delavec opraviti pregled oči in vida, kasneje pa izvajati tudi redne zdravstvene
preglede, kjer se ugotavlja vpliv monitorja na vidni sistem. Še posebno je potrebno
biti pozoren na nejasen vid, pekoče oči ter težave z vratom in rameni.

Poškodbe oči so pogosto posledica zaradi nepravilnega sedečega položaja, ki


povzroča, da se mišice v zatilju krčijo, zato je toliko bolj pomembno, da izvajamo
vaje povezane z razgibavanjem vratu (Fistrovič Klemen, 2012).

Oči se avtomatsko vlažijo in spočijejo med mežikanjem, na kar pa pri delu kjer
uporabljamo računalnik, ko najpogosteje preveč zavzeto in nepremično gledamo v
zaslon, pogosto pozabimo. Zato je zelo pomembno redno obračanje stran od
zaslona, tako da se zazremo v nek predmet v daljavi vsaj za minuto ali pa se samo
zazremo skozi okno v naravo, s čimer si odpočijemo oči, ki so fokusirane na monitor.
Med tem lahko izvedemo tudi nekaj enostavnih razteznih vaj. Prav tako je
priporočeno sproščanje z zaprtimi očmi, to storimo tako, da zapremo oči ter vrtimo
zrkli v obe smeri.

3.1.8. STRES NA DELOVNEM MESTU

Tempo življenja, kot ga poznamo danes, redko dopušča trenutke za sprostitev,


zabavo, razmišljanje. Prinaša nenehne nove obremenitve, pritiske, bojazni, ki v nas
povzročajo stres, to še posebno na delovnem mestu.

Stres pravimo, da je stanje organizma, ki nam omogoča preživetje številnih kriznih


situacij. Pri stresu se poveča utrip srca, dvigne se krvni tlak, dihanje postane
hitrejše, mišice se napno ter začnemo se potiti. Vse to močno obremeni organizem
in telo ter lahko dolgoročno pripelje do najrazličnejših poškodb ter bolezni. Zato je
pomembna vsakodnevna aktivnost ter sproščanje, lahko že v delovnem času
(Velikanje, 2007).

3.1.8.1. KAJ POVZROČA STRES OZ. KAJ SO STRESOJI DELOVNEGA MESTA ?


Stres na delovnem mestu – pomembni povzročitelji:
DELO  Samostojnost, neodvisnost pri delu
 Zahtevnost dela
 Spremenljivost, hitrost, bistvenost dela
 Trajanje dela, delo v izmeni
 Izoliranost pri delu na delovnem mestu (sam, delo v
skupini)
 Fizično okolje (kvaliteta zraka: prah, temperatura;
hrup, …)
VLOGA ORGANIZACIJE  Nejasne vloge (nejasnost pri pričakovanjih ter kako
DELA je deljena odgovornost)
 Raven odgovornosti (odgovornost, obveznost za
druge)

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 7


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

 Konflikti vlog (vodstvo, veliko nadzornikov, zahteve


dela, ki so konfliktne)
IZGLEDI ZA  Napredovanja, nazadovanje
NAPREDOVANJA  Možnosti napredovanj
 Zajamčeno delo (zaposleni ima strah, da je lahko
odpuščen zaradi pomanjkanja dela ali zaradi
ekonomskih oz. drugih razlogov)
 Zadovoljstvo pri delu
ODNOS PRI DELU  Z nadrejenimi, podrejenimi
 S nadzorniki
 S sodelavci
 Nadlegovanje, nasilne grožnje
ORGANIZACIJSKA  Način vodenja
STRUKTURA, OZRAČJE  Sodelovanje pri odločanju
PRI DELU  Način komuniciranja
Tabela 1: Stres na delovnem mestu – pomembni povzročitelji (Bilban, 2007)

Lovše (2004) kot stresorje na delu navaja tudi naslednje:


 Časovni pritiski s prehitrim tempom dela z neodložljivimi roki.
 Nepoznavanje lastne vloge na delovnem mestu, nezadostne informacije,
nepoznavanje obveznosti na delovnem mestu, slaba organizacija dela.
 Nezmožnost vplivanja na spremembo dela ali na ureditev svojega dela;
veliko zaposlenih nima možnosti, da bi lahko vplivali na samo organizacijo
ter potek svojega dela (najpogosteje je to v storitvenem sektorju).
 Omejitve z delovnim prostorom.
 Fizična obremenjenost.
 Preprostost, monotonost in število enakih, ponavljajočih se gibov, ki jih
delavci opravijo na blagajni, tipkovnici ali za tekočim trakom.
 Delo s strankami, delo brez skupnega dela nadrejenih in sodelavcev.
 Delo v nočnem času.
 Napake niso sprejemljivi in se kaznujejo: pritisk, da je potrebno delo opraviti
natančno, brezhibno, po standardnih postopkih, v skladu z navodili ter v
dogovorjenem časovnem roku, povzroča še dodaten stres in obremenitve.

V delovnem okolju se je potrebno nenehno truditi, da nas pretirana vestnost ne


pripelje do tega, da bi postali žrtve stresa. Vsak dan si je potrebno večkrat vzeti
nekaj minut za sebe in pri tem počivati, sprostiti telo in ne misliti na nobeno stvar.
Če obstaja priložnost, svoj odmor spremenimo v lahek sprehod.

Prav tako kot sprostitev na delovnem mestu, je pomembno, da se sprostimo tudi


doma oziroma po naporni službi. Najlažje to storimo tako, da se posvetimo stvarem,
ki nas napolnjujejo z ugodno, pozitivno energijo in nas sproščajo. Potrebno se je
zavedati, kako pomembno je naše zdravje in ga vse življenje negovati in varovati
(Velikanje, 2007).

3.1.8.2. KAKO OBVLADATI STRES?


Stres poleg vpliva na zdravje delavcev, vpliva tudi na delo v organizaciji. To se kaže
predvsem v povečanju absentizma, počasnosti izvedenih nalog, zamujanju na delo,
neučinkovitosti, zapuščanju delovnih mest, znižanju organizacijske klime itn.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 8


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Stres je potrebno prepoznati ter priznati, šele nato ga lahko začnemo obvladovati.
Če znamo stres ustrezno nadzorovati, je lahko stres tudi pozitiven, saj ima človek
tedaj več motivacije, izboljša pa se tudi zbranost ter učinkovitost. Ob obvladovanju
stresne situacije lahko pride tudi do sproščanja hormonov ugodja.

Ena izmed oblik obvladovanja stresa je telesna aktivnost. Vadba v službi med
delovnim časom je vse bolj pogostejša in ni več tako redka kot je bila nekoč.
Organizacije se vse bolj zavedajo, kako pozitivno na delovno storilnost vpliva fizična
aktivnosti, zato iščejo rešitve, kako to omogočiti zaposlenim. Delodajalci, ki svojim
zaposlenim med delovnim časom ali izven njega omogočajo telesno aktivnost,
ugotavljajo, da so zaposleni produktivnejši, pojavlja se manj bolniških odsotnosti,
nekateri delodajalci pa na ta način skušajo v kolektivu obdržati najsposobnejše
ljudi. (Orthaber, 2004).

V nadaljevanju je naštetih nekaj nasvetov kako premagati stres na delovnem mestu


(Powell 1999, 73):
 Vzemite si dovolj časa za svoje hobije in prijatelje.
 Izražite svoja čustva.
 Ne odlašajte in prelagajte nalog, katere morajo biti opravljene takoj.
 Naloge razporedite med sodelavce. Ni potrebno, da vso delo opravite sami.
 Med delom si privoščite odmor za kavo ter kosilo.
 Ločite dom in službo.
 Ne bodite perfekcionist.
 Kadar je potrebno recite »ne«, saj ni treba, da prevzamete vsako delo.
 Ne pozabite, da je služba le služba.

Poleg omenjenih nasvetov si lahko sami na delovnem mestu pomagamo tudi z


dihanjem. Kadar se pojavi stresna situacija, upočasnimo dihanje toliko da vdihnemo
nekje do šestkrat na minuto. Vdih naj bo dolg pet sekund, medtem ko naj izdih traja
vsaj dvakrat toliko. Predstavljajmo si kako ob vsakem izdihu pojenja napetost.

Delo večkrat prekinemo z rednimi odmori, lahko tudi tako, da vstanemo ter z
gibanjem sprostimo napetost. Če je mogoče, telefonske pogovore opravimo med
hojo, namesto kratkih elektronskih sporočil pa razgovor s sodelavcem v bližnji
pisarni opravimo iz oči v oči.

Posledicam, ki jih povzroča prisilna drža se izognemo tako, da se vsake pol ure
pretegnemo in relaksiramo mišice (Velikanje, 2007).

3.2. REKREACIJA NA DELOVNEM MESTU

Elektronska revolucija je pripeljala do tega, da vse več ljudi vedno več časa, tako
doma kot v službi, preživi sede za računalniki. Posledice takšnega načina življenja
strmo naraščajo.

Večina tako imenovanih »pisarniških« bolezenskih stanj je posledica nenaravnih


telesnih položajev človeka pri delu za računalnikom. Vsako sedeče delo, katero
traja vsaj pol delovnega časa ali več, lahko vodi do simptomov in bolezni rok ter
hrbtenice, torej do sindroma CTD (Cumulative Trauma Disorder). CTD nastane kot

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 9


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

posledica posledica statične mišične napetosti, gibov, ki se ponavljajo ter


napačnega položaja telesa, ki traja dlje časa.

Utrujenost, glavobol, izmučenost, napetost mišic, vegetativne oz. živčne motnje in


bolečine prisote v gibalih so pogosto posledica kontinuiranega dolgotrajnešega dela
pred računalniškim zaslonom. Računalnik kljub vsem težavam ostaja zelo
pomemben spremljevalec sodobnega človeka, zato ergonomija poizkuša omiliti
neugodne posledice na organizem (Jug 2008).

Da bi čimbolj odstanili neugodne posledice pisarniškega dela, večkrat dnevno


prekinemo z delom ter takrat izvedemo raztezne in razgibalne vaje, kar nam bo
izboljšalo počutje. Raztezne ter razgibalne vaje so preproste, lahke in sproščujoče
ter so primerne za vsakogar. S pravilno izvedbo vaj lahko precej poškodb
preprečimo, še preden se le te pojavijo. Vaje so enostavne, zato jih lahko izvajamo
skoraj vsepovsod in ob kateremkoli času. Lahko jih izvajamo za pisalno mizo, ko
telefoniramo, kadar kopiramo, na delovnem sestanku, medtem ko urejamo arhiv,
kadar začutimo otrdelost in utrujenost, v času, ko naš računalnik obdeluje podatke
… (Jurko 2008).

Vse raztezne vaje so nezahtevne, vse kar je pomembno je le to, da smo seznanjeni
s pravimi postopki in položaji ter da vaje pravilno izvajamo. Potrebno je upoštevati,
da sme biti napetost mišic le tolikšna, da je naše počutje še vedno dobro ter da
mora izvedba vaje potekati brez čezmernih bolečin (Velikonje 2007).

V nadaljevanju so prikazane ter opisane vaje za rekreacijo na delovnem mestu. Vse


vaje so uporabljene tudi v aplikaciji.

3.2.1. RAZTEZNE VAJE ZA ROKE, PRSTE IN ZAPESTJA

RAZTEZANJE ZAPESTIJ IN PODLAKTI


 Predse iztegnite roke ter upognite zapestja. Prsti kažejo navzgor. Z drugo
roko rahlo pritisnite dlani v smeri telesa. Zadržite 10 sekund.
 Upognite zapestje v nasprotno smer, prsti kažejo navzdol. Z drugo roko rahlo
pritisnite dlani v smeri telesa. Obdržite položaj 10 sekund.

Kako raztegniti zapestji ter podlakti, prikazuje slika 1.

Slika 1: Raztezanje zapestij in podlakti (Vir: Anderson, B., 1998)

RAZTEZANJE ROK, PRSTOV IN ZAPESTIJ


 Razkrečite in stegnite prste toliko, da občutite napetost. Zadržite 10 sekund.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 10


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

 Sprostite ter nato ukrivite prste. Zadržite ta položaj 10 sekund.


 Ponovno izvedite prvi del.

Na sliki 2 je prikazano raztezanje rok, prstov in zapestij.

Slika 2: Raztezanje rok, prstov in zapestij (Vir: Anderson, B., 1998)

RAZTEZANJE PRSTOV
 Primite kazalec nasprotne roke ter ga zavrtite 5-krat v smeri gibanja urinega
kazalca ter 5-krat v obratni smeri. Vrtite vsakega od prstov in palec.
 Prst narahlo povlecite naravnost naprej in zadržite 2 do 3 sekunde. Ponovite
z vsakim prstom in palcem.
 Ponovite še z drugo roko.

Vaja za raztezanje prstov na rokah je prikazana na sliki 3.

Slika 3: Raztezanje prstov (Vir: Anderson, B., 1998)

RAZTEZANJE ZAPESTIJ
 Prepletite prste pred seboj.
 Roki v zapestju zavrtite v smeri urinega kazalca 10-krat.
 Vrtenje 10-krat ponovite tudi v drugo smer.

Vrtenje zapestij v smeri urinega kazalca ter v nasprostno smer je prikazano na sliki 4.

Slika 4: Raztezanje zapestij (Vir: Anderson, B., 1998)

RAZTEZANJE ZAPESTIJ IN PODLAKTI


 Obe roki iztegnite predse.
 Roki počasi obračajte navzven, dokler ne začutite raztezanja. Zadržite 5 do
10 sekund.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 11


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

V nadaljevanju je na sliki 5 prikazano raztezanje zapestij in podlakti s počasnim


obračanjem zapestij navzven.

Slika 5: Raztezanje zapestij in podlakti (Vir: Anderson, B., 1998)

IZBOLJŠEVANJE KRVNEGA OBTOKA


 10 do 12 sekund ob telesu stresajte roke in lakti.
 Pazite, da bo čeljust pri tem čimbolj sproščena, ramena pa naj medtem
sproščeno visijo.

Kako izboljšati krvni obtok je prikazano na sliki 6.

Slika 6: Izboljševanje krvnega obtoka (Vir: Anderson, B., 1998)

RAZTEZANJE ZAPESTIJ, PODLAKTI IN ROK


 Pred telesom stisnite eno dlan k drugi.
 Roki potiskajte navzdol, dlani naj ostaneta stisnjeni skupaj, dokler ne
začutite rahlega raztezanja.
 Komolca naj bosta dvignjena in v isti višini. Zadržite 5 do 8 sekund.
 Iz prejšnjega raztezanja zavrtite dlani, tako da sta bolj ali manj obrnjeni
navzdol.
 Prekinite vrtenje, ko začutite rahlo raztezanje.
 Komolca naj bosta dvignjena in v isti višini. Zadržite 5 do 8 sekund.
 Pred telesom stisnite eno dlan k drugi.
 Eno roko narahlo potiskajte vstran, da začutite rahlo raztezanje.
 Komolca naj bosta dvignjena in v isti višini. Zadržite 5 do 8 sekund.

Na sliki 7 je prikazano raztezanje zapestij, podlakti in rok.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 12


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 7: Raztezanje zapestij, podlakti in rok (Vir: Anderson, B., 1998)

3.2.2. RAZTEZNE VAJE ZA RAMENA IN LAKTI

Zaradi mirnega položaja ali napetosti za računalnikom postanemo otrdeli. Te vaje


naredite kadarkoli med dnevom, ko boste začutili togost v ramenih ali vratu.

RAZTEZANJE RAMEN, HRBTA, LAKTI IN ROK


 S prekrižanjem prstov preprimite roke.
 Dlani obrnite tako, da gledajo navzgor ter iztegnite lakti nad glavo.
 Ko v laktih in zgornjem delu prsnega koša občutite raztezanje, si zamišljajte,
da vam lakti postajajo vse daljše. Zadržite v tem položaju 10 do 15 sekund.
 Dihanje naj bo globoko.

Raztezanje ramen, hrbta, lakti in rok je prikazano na sliki 8.

Slika 8: Raztezanje ramen, hrbta, lakti in rok (Vir: Anderson, B., 1998)

RAZTEZANJE RAMEN, LAKTI, ZAPESTIJ IN PRSTOV


 Najprej prekrižajte prste ter pred seboj iztegnite roke.
 Dlani obrnite stran od vas.
 Občutili boste razteg v lopatici, zgornjem delu hrbta ter v lakteh.

Pravilno izvajanje raztezanja ramen, laktov, zapestij in prstov je prikazano na sliki 9.

Slika 9: Raztezanje ramen, lakti, zapestij in prstov (Vir: Anderson, B., 1998)

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 13


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

RAZTEZANJE RAMEN IN VRATU


 Ramena privzdvignite proti ušesom, toliko da začutite napenjanje v ramenih
ter vratu.
 Zadržite 5 sekund ter nato sprostite ramena v običajen položaj.

Raztezanje ramen in vratu je prikazano na sliki 10.

Slika 10: Raztezanje ramen in vratu (Vir: Anderson, B., 1998)

RAZTEZANJE RAMEN, PRSI IN ZGORNJEGA DELA HRBTA


 Prekrižajte prste ter roki postavite za glavo, ob strani dvignite komolce, telo
pa naj bo vzravnano.
 Nato pritisnite lopatici eno proti drugi, tako da se v zgornjem delu hrbta in
v lopaticah občuti napetost.
 Položaj zadržite 5 sekund ter nato spustite.

Slika 11 prikazuje raztezanje ramen, prsi in zgornjega dela hrbta.

Slika 11: Raztezanje ramen, prsi in zgornjega dela hrbta (Vir: Anderson, B., 1998)

RAZTEZANJE RAMEN, HRBTNE STRANI NADLAKTI IN VRATU


 Z desno roko pridržite laket leve roke malenkost nad komolcem.
 Poglejte čez ramo ter potegnite komolec proti nasprotni rami tako, da
občutite raztezanje. Zadržite položaj 10 do 15 sekund.
 Vajo ponovite še z drugo roko.

Vaja za raztezanje ramen, hrbtne strani nadlakti in vratu je prikazana na sliki 12.

Slika 12: Raztezanje ramen, hrbtne strani nadlakti in vratu (Vir: Anderson, B.,
1998)

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 14


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

RAZTEZANJE LAKTI, PRSI, ROK IN RAMEN


 Za hrbtom prekrižajte prste obeh rok, dlani sta obrnjeni proti hrbtu.
 Medtem, ko iztegujete lakti, komolce počasi zavrtite navznoter, dokler ne
začutite raztezanja.
 Med raztezanjem rahlo privzdignete prsnico. Zadržite 10 sekund.

Slika 13 prikazuje, kako v sedečem položaju raztezati lakti, prsa, roke in ramena.

Slika 13: Raztezanje lakti, prsi, rok in ramen (Vir: Anderson, B., 1998)

3.2.3. RAZTEZANJE HRBTA

Pogost vzrok za bolečine v hrbtu je dolgotrajno in neprekinjeno sedenje. Te vaje


delajte večkrat na dan, saj z njimi aktivirate mišice v križu in pospešite krvni obtok.
To je zelo dober način, da se izognete težavam v križu. Tekom dneva večkrat
vstanite in hodite, kolikor se le da.

RAZTEZANJE HRBTA
 Nagnite se močno naprej.
 Glava naj vam visi navzdol proti tlom, vrat pa naj bo sproščen. Zadržite ta
položaj 10 do 20 sekund.
 Z rokami se odrinite od tal, tako da se boste lahko vzravnali.

Vaja za raztezanje hrbta je prikazana na sliki 14.

Slika 14: Raztezanje hrbta (Vir: Anderson, B., 1998)

RAZTEZANJE KRIŽA, BOKOV OB STRANI IN VRATU


 V sedečem položaju preko desne noge prekrižajte levo nogo.
 Desna roka naj pri tem miruje na zunanjem delu levega stegna, z desno roko
pa nadzorovano vlecite levo nogo v desno stran.
 Medtem ko to delate, obrnite glavo in poglejte čez ramo. Občutili boste
raztezanje. Zadržite 5 do 10 sekund.
 Ponovite še na drugi strani in medtem dihajte počasi.

Slika 15 prikazuje raztezanje križa, bokov ob strani ter raztezanje vratu.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 15


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 15: Raztezanje križa, bokov ob strani in vratu (Vir: Anderson, B., 1998)

RAZTEZANJE HRBTA IN STRANSKIH MIŠIC NA TRUPU IN BOKIH


 Z rokami se uprite v boke.
 Narahlo zavrtite trup in poglejte čez ramo, da začutite raztezanje. Zadržite
8 do 10 sekund.
 Ponovite še v drugo smer.
 Kolena imejte rahlo upognjena. Ne zadržujte sape.

Na sliki 16 je prikazana vaja za raztezanje hrbta in stranskih mišic na trupu in bokih.

Slika 16: Raztezanje hrbta in stranskih mišic na trupu in bokih (Vir: Anderson, B.,
1998)

RAZTEZANJE HAMSTRINGA (mišic, ki krčijo koleno) IN KRIŽA


 Ko sedite, z rokama držite levo stegno tik nad kolenom.
 Ukrivljeno nogo na rahlo povlečete v smeri prsi. Ostanite v tem položaju 10
do 15 sekund.
 Ponovite tudi z drugo nogo.

Raztezanje mišic, ki krčijo koleno ter križa prikazuje slika 17.

Slika 17: Raztezanje zadnje stegenske mišice in križa (Vir: Anderson, B., 1998)

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 16


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

RAZTEZANJE VRATU, RAMEN, LAKTI, ZGORNJEGA DELA HRBTA


 Roki postavite v razmaku ramen na omaro ali na steno.
 Upognite kolena, stegna so naravnost nad stopali.
 Glavo spustite med lakti. Zadržite 10 do 15 sekund.

Na sliki 18 je prikazan način, kako raztegniti vrat, ramena, lakti ter zgornji del
hrbta.

Slika 18: Raztezanje vratu, ramen, lakti, zgornjega dela hrbta (Vir: Anderson, B.,
1998)

3.2.4. RAZTEZANJE VRATU

RAZTEZANJE STRANSKEGA DELA VRATU


 Lahko stojite ali sedite. Roke naj sproščeno visijo na bokih.
 Glavo nagnite najprej na eno in nato tudi na drugo stran.
 Ramena imejte sproščena. Na vsaki strani pridržite položaj glave 5 sekund.

Stranski del vratu raztegnemo kot je prikazano na sliki 19, z nagibanjem glave na
stran.

Slika 19: Raztezanje stranskega dela vratu (Vir: Anderson, B., 1998)

RAZTEZANJE VRATU
 Medtem ko sedite lahko pa tudi stojite, naj bodo roki sproščeni ter naj visita
ob bokih.
 Glavo rahlo potisnite naprej, toliko da se raztegne tilnik.
 Ramena naj bodo sproščena. Zadržite 5 sekund.

Na sliki 20 je prikazano raztezanje vratu z rahlim potiskom glave naprej.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 17


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 20: Raztezanje vratu (Vir: Anderson, B., 1998)

RAZTEZANJE STRANSKIH MIŠIC NA VRATU


 Medtem ko sedite lahko pa tudi stojite, naj bodo roki sproščeni ter naj visita
ob bokih.
 Glavo zasukajte najprej na eno stran, nato še na drugo stran. Na vsaki strani
zadržite položaj po 5 sekund.

Raztezanje stranskih mišic na vratu je prikazano na sliki 21.

Slika 21: Raztezanje stranskih mišic vratu (Vir: Anderson, B., 1998)

3.2.5. RAZTEZANJE NOG

RAZTEZANJE GLEŽNJEV IN IZBOLJŠANJE PREKRVAVITVE


 Oprite se na nekaj, da zadržite ravnotežje.
 Levo stopalo dvignite ter ga z gležnjem vred 10-krat zavrtite v smeri gibanja
urinega kazalca ter nato ponovite 10-krat še v drugo smer.
 Ponovite vajo še z drugo nogo.

Opomba: Vajo lahko izvajate tudi sede.

Na sliki 22 je prikazana vaja za raztezanje gležnjev ter za boljšo prekrvavitev v


stoječem položaju.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 18


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 22: Raztezanje gležnjev in izboljšanje prekrvavitve (Vir: Anderson, B., 1998)

RAZTEZANJE SPREDNJEGA DELA STEGEN, GLEŽNJEV IN KOLEN


 Za ravnotežje je primerno, da se z desno roko nečesa oprimite (na steno ali
stol).
 Vzravnano stojite ter primite vrh desnega stopala z levo roko.
 Rahlo vlecite peto proti zadnjici, tako da začutite rahlo raztezanje. Zadržite
položaj 10 do 20 sekund.
 Ponovite z drugo nogo.

Kako pravilno raztegniti sprednji del stegen, gleženj ter koleno prikazuje slika 23.

Slika 23: Raztezanje sprednjega dela stegen, gležnjev in kolen (Vir: Anderson, B.,
1998)

RAZTEZANJE MEČ
 Postavite se malo stran od stene in se naslonite nanjo s podlaktema, glava
sloni na rokah.
 Desno stopalo postavite predse, noga je upognjena, leva noga iztegnjena
zadaj.
 Boke počasi potiskajte naprej, da začutite raztezanje v mečih leve noge.
 Leva peta naj bo na tleh, prsti kažejo naravnost naprej.
 Rahlo napetost zadržite 10 do 20 sekund.
 Ne delajte sunkovito. Ponovite vajo z drugo nogo.

Slika 24 prikazuje primer raztezanja meč.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 19


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 24: Raztezanje meč (Vir: Anderson, B., 1998)

RAZTEZANJE NOTRANJIH STEGENSKIH MIŠIC IN DIMELJ


 Stopala razmaknite za malo več kot širino ramen, prsti kažejo naravnost
naprej.
 Rahlo upognite koleno in desni bok pomaknite navzdol v smeri desnega
kolena.
 Zadržite 10 do 15 sekund in vajo ponovite z drugo nogo.

Raztezanje notranjih stegenskih mišic in dimelj je prikazano na sliki 25.

Slika 25: Raztezanje notranjih stegenskih mišic in dimelj (Vir: Anderson, B., 1998)

3.2.6. VAJE ZA SPROSTITEV OČI

Vzravnana drža, pri tem da sta tako vrat kot ramenski obroč sproščena ter da so oči
spočite in sproščene, je izredno pomembna za dober vid. Zato je potrebno večkrat
dnevno dobro pretegniti mišice, močno zazehati (s tem se navlažijo oči) ter večkrat
nalašč pomežikniti.

Pred začetkom vaj je potrebno razmigati ter zmasirati ramenski obroč ter vrat. Eden
izmed načinov je kroženje z glavo ter z rameni ter obračanje glave v smeri levo-
desno.

POLAGANJE DLANI
Dlani močno drgnite drugo ob drugo tako dolgo, da se segrejeta. Nato z vbočenimi
dlanmi za eno minuto pokrijte zaprte oči, tako da se bodo odpočile od ekrana ter
pisarniških luči. Toplota pa bo pospešila njihovo prekrvavitev.
Te vaje so zelo primerne za izsušene oči in za sprostitev utrujenih oči. Koristno jih
je izvajati večkrat na dan (Prebil, 2013).

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 20


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

MASAŽA SENC
S krožnimi gibi približno dve minuti nežno masirajte sence dva prsta proč od obrvi.
Pri tem naj bodo oči zaprte (Prebil, 2013).

DIHANJE
Zaprite oči ali se obrnite proč od zaslona ter nekajkrat globoko vdihnite in izdihnite
(Prebil, 2013).

VAJA S PALCEM
Roko iztegnite predse ter dvignite palec, katerega držite pred očmi, na razdalji
približno 40 cm. Zazrite se vanj. Roko iztegnite naprej, nato dvignite palec ter ga
držite pred očmi, na razdalji približno 40 cm. Zazrite se v palec. Nato v daljavi
iščite točko, katera leži za vašim palcem, toliko časa, dokler palca ne vidite dvojno
(Prebil, 2013).

KROŽENJE Z GLAVO
Zaprite oči, nagnite glavo vstran in krožite v velikem loku čez desno ramo nazaj in
preko leve rame naprej (glave ne nagibajte vznak). Vajo ponovite 5-krat desno, nato
spremenite smer in zaokrožite še 5-krat v levo (Prebil, 2013).

ODMOR OD ZASLONA
Večkrat dnevno se obrnite stran od monitorja, poglejte skozi okno ter za 20 sekund
oči uprite v neko oddaljeno točko. Ob tem pogosto mežikajte, ker se tako čistijo in
vlažijo oči (Prebil, 2013).

POGLED V DALJAVO
Pojdite k oknu ter poglejte ven. Držite se vzravnano. Najprej se osredotočite na
predmet/točko blizu očesa, na steklo. Nato pogled osredotočite na predmet/točko
v daljavi. Vajo ponovite 10-krat.

Slika 26 prikazuje kako se s pogledom v daljavo osredotočiti na oddaljen predmet.

Slika 26: Pogled v daljavo (Vir: Workplace Gym, 2016)

KROŽENJE Z OČMI
Vajo izvajajte sede ali stoje. Držite se vzravnano, roke so na kolenih, pogled je
usmerjen naprej. Počasi vrtite z očmi v krogu: navzdol, desno, gor, levo. Nato v
obratni smeri. Pri tem ne obračajte glave. Vajo lahko izvajate z odprtimi ali zaprtimi
očmi. Naredite 3-4 ponovitve z 1-2 minutnimi presledki.

Vaja kroženje z očmi je prikazana na sliki 27.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 21


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 27: Kroženje z očmi (Vir: Workplace Gym, 2016)

MASAŽA OČI
Vajo izvajajte sede ali stoje. Zaprite veke ter s srednjimi tremi prsti rahlo pritisnite
na veko. Po 2 sekundah odstranite roko iz vek.
Vajo ponovite 3-krat.

Masaža oči se izvaja kot je prikazano na sliki 28.

Slika 28: Masaža oči (Vir: Workplace Gym, 2016)

SPROŠČANJE OČI
Vajo izvajajte sede ali stoje. Zatisnite oči in jih držite zaprte 1-2 minute, pri tem
imejte sproščene veke, kot je prikazano na sliki 29.

Slika 29: Sproščanje oči (Vir: Workplace Gym, 2016)

MEŽIKANJE
Vajo izvajajte sede ali stoje. Zatisnite oči za 3–5 sekund. Nato jih odprite in jih
držite odprte 3–5 sekund. Ponovite 7-krat.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 22


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Vaja mežikanje je prikazana na sliki 30.

Slika 30: Mežikanje (Vir: Workplace Gym, 2016)

3.2.7. VAJE V PISARNI

PRITISK NA PRSI
 Roki postavite na podboj vrat.
 Nagnite se naprej, lakti se upognejo v komolcih.
 Odrinite se nazaj v prvotni položaj.

Slika 31 prikazuje vajo pritiska na prsi.

Slika 31: Pritisk na prsi (Vir: Anderson, B., 1998)

DVIGANJE NA NOŽNE PRSTE


 Postavite se približno meter od stene ali vrat.
 Naslonite se naprej, roki sta prekrižani.
 Hrbet raven, glava pokonci, nogi iztegnjeni.
 Dvignite se čim više na prste in se nato spustite.

Vaja dviganje na nožne prste je vizualno prikazana na sliki 32.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 23


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 32: Dviganje na nožne prste (Vir: Anderson, B., 1998)

SKLECE OB PISALNI MIZI


 Stopala skupaj, roke na pisalni mizi.
 Vdihnite in pokrčite roke v komolcih, s telesom se dotaknite mize.
 Noge so zravnane, pete pa na tleh.
 Odrinite se nazaj in izdihnite.

Kako izvajati sklece ob pisalni mizi je vidno na sliki 33.

Slika 33: Sklece ob pisalni mizi (Vir: Anderson, B., 1998)

ČETRT POČEPA
 Lakti imejte prekrižane pred seboj.
 Glava je pokonci, hrbet zravnan, stopala razmaknjena za 35 cm.
 Počepnite in se dvignite nazaj v stoječ položaj.

Slika 34 prikazuje izvajanje četrt počepa.

Slika 34: Četrt počepa (Vir: Anderson, B., 1998)

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 24


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

3.2.8. KOMPLET VSAKODNEVNIH VAJ


V nadaljevanju so prikazane vaje, katere so zasnovali kineziologi športnega društva
KinVital, katere skupaj z Zavodom za zdravstveno zavarovanje Slovenije ter
Gospodarsko zbornico Slovenije promovira kot projekt »Točka promocije zdravja«.
Priporoča se, da se vaje izvajajo vsakodnevno, in sicer vsaki dve uri. Aplikacija bo
izbor ponudila enkrat dnevno.

Spustite se v predklon. Hrbtenica ostaja v naravnem položaju. Spustite se do točke,


kjer začutite razteg v zadnji stegenski mišici ter se nato dvignite v zgornji položaj.
Pazite na svoj hrbet! Naredite 10 do 15 ponovitev. Kako naj izgleda predklon v
počepu, je razvidno iz slike 35.

Slika 35: Predklon v počepu (Vir: KinVital, 2016)

Roke so za glavo. Vdihnite in potisnite komolce v smeri nazaj. Ob tem se zravnajte


in pogled usmerite naravnost. Odprite prsni koš. Sledi izdih in zapiranje v začetni
položaj. Naredite 10 do 15 ponovitev. Vaja razprtje komolcev je prikazana na sliki 36.

Slika 36: Razprtje komolcev (Vir: KinVital, 2016)

Potisnite ramena nazaj in zadržite. Pazite, da ob tem ne potisnete celotnega


prsnega koša preveč naprej. Zakrčene prsne mišice lahko zelo poslabšajo našo držo.
Zadržite 20 do 30 sekund. Vaja se izvaja tako, kot je razvidno na sliki 37.

Slika 37: Ramena nazaj(Vir: KinVital, 2016)

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 25


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Z rokami se naslonite na kolena ali pa malce višje nad stegna, da najdete udoben
položaj, v katerem čutite prijetno razbremenitev hrbtenice. Zadržite 20 do 30
sekund. Slika 38 prikazuje vajo počep z oporo.

Slika 38: Počep z oporo (Vir: KinVital, 2016)

Dvignete se na prste, kolikor visoko lahko in počasi spuščate navzdol, kot je


prikazano na sliki 39. Naredite 10 do 15 ponovitev.

Slika 39: Dvig na prste (Vir: KinVital, 2016)

Teža je na zadnji nogi, sprednjo postavite na peto. Spustite se v predklon. Hrbet je


zopet vzravnan. Ob tem začutite razteg, zadržite v tem položaju. Enako ponovite
še z drugo nogo. Zadržite 20 do 30 sekund. Kako raztegniti zadnjo ložo v opori na
eni nogi prikazuje slika 40.

Slika 40: Razteg zadnje lože v opori na eni nogi (Vir: KinVital, 2016)

Z zadnjico se spustite do sedala in se zopet dvignete v zgornji položaj. Pazite na


pokončen trup in poravnan hrbet. Naredite 10 do 15 ponovitev. Vaja se imenuje
počep in je prikazana na sliki 41.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 26


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 41: Počepi (Vir: KinVital, 2016)

Ramena potisnete v smeri nazaj, da se lopatici približata. Pri vračanju v začetni


položaj potisnete naprej samo ramena. Naredite 10 do 15 ponovitev. Izvedba vadbe
je prikazana na sliki 42.

Slika 42: Priteg lopatic (Vir: KinVital, 2016)

Postavite se v razkorak, podobno kot pri izpadnem koraku. Bok potisnite v smeri
naprej, da začutite blag razteg. Zadržite 20 do 30 sekund. Kako se pravilno postaviti
v razkorak, prikazuje slika 43.

Slika 43: Izpadni korak s peto na tleh (Vir: KinVital, 2016)

Vse vaje opisane v tem poglavju so sestavni del aplikacije in so uporabniku ponujene
za izvajanje glede na določene pogoje, kateri so opisani v nadaljevanju v točki 4.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 27


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

4. TEHNOLOGIJA IN ORODJA
4.1. OPERACIJSKI SISTEM ANDROID
Svetovni trg pametnih telefonov je po podatkih International Data Corporation (IDT)
v drugem kvartalu leta 2015, v primerjavi z enakim obdobjem leta 2014, narastel
za 13 %, in sicer je bilo prodanih 341,5 milijona pametnih telefonov. Rast je
posledica povečanja povpraševanja na razvijajočih se trgih. Prodaja je bila sicer
nekoliko manjša od napovedane. Z 82,8 % deležem med operacijskimi sistemi
prevladuje Android (IDC, 2016).

Obdobje Android iOS Windows BlackBerry Ostali


Phone OS
2.kvartal 2015 82,8 % 13,9 % 2,6 % 0,3 % 0,4 %
2.kvartal 2014 84,8 % 11,6 % 2,5 % 0,5 % 0,7 %
2.kvartal 2013 79,8 % 12,9 % 3,4 % 2,8 % 1,2 %
2.kvartal 2012 69,3 % 16,6 % 3,1 % 4,9 % 6,1 %
Tabela 2: Delež operacijskih sistemov (Vir: IDC, Aug 2015)

V naslednjih poglavjih je podrobneje opisan najbolj razširjen operacijski sistem –


Android, za katerega je izdelana tudi aplikacija, ki je predmet te naloge.

4.1.1. KAJ JE ANDROID?

Android je odprtokodna programska platforma in operacijski sistem, ki je bil sprva


predviden za uporabo na pametnih telefonih, danes pa se uporablja tudi na tabličnih
računalnikih ter na ostalih prenosnih napravah. Njegov koncept je leta 2003
zasnoval Andy Rubin, leta 2005 ga je skupaj s korporacijo Android Inc. predstavil
podjetju Google, ki ga je tudi kupilo. Google je v sodelovanju s podjetji, ki so se
združila v OHA (ang. Open Handset Alliance), Android predstavil širši publiki 5.
novembra 2007 (Android Operating System, 2016).

Android temelji na Linux jedru ter je zgrajen od spodaj navzgor, kot sklad plasti,
kjer vsaka opravlja svoje naloge. Platformo Android sestavlja operacijski sistem,
uporabniški vmesniki, posredniška oprema in ključne aplikacije. Omogoča popoln
dostop do številnih uporabnih knjižnic, ki omogočajo razvijalcem razvijati
kakovostne aplikacije. Android omogoča tudi odlične aplikacije »peer-to-peer«, ki
omogočajo komuniciranje naprav med seboj.

Ključne lastnosti Androida so (Android – FRI, 2016):


 popolna programska podpora ponovni uporabi ter zamenljivosti strojnih
komponent;
 navidezni stroj Dalvik (ang. Dalvik Virtual Machine, DVM), ki je prilagojen
mobilnim napravam;
 integrirani spletni brskalnik, ki bazira na odprtokodnem pogonu WebKit;
 optimizirani grafični izris z možnostjo strojnega pospeševanja grafike;
 podatkovna baza SQLite za strukturirano hranjenje podatkov;
 medijska podpora za različne video, avdio ter slikovne formate;
 GSM telefonija;
 podpora Bluetooth, EDGE (ang. Enhanced Data rates for Global Evolution),
3G in WiFi;

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 28


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

 podpora kameri, GPS-u;


 delovno okolje, ki vsebuje emulator naprave, profiliranje pomnilnika, orodja
za razhroščevanje ter za izvajanje in razširitev za programsko opremo
Eclipse.

4.1.2. PREDNOSTI OPERACIJSKEGA SISTEMA ANDROID PRED DRUGIMI


OPERACIJSKIMI SISTEMI

Operacijski sistem Android ima kar precej prednosti v primerjavi z drugimi


operacijskimi sistemi. Te so naslednje (Kaj je android?, 2016):
1. Je odprtokoden ter brezplačen operacijski sistem, česar prednost je:
 da so potrošnikom dostopne cenejše in funkcionalnejše naprave ter večje
število novih storitev;
 da omogoča proizvajalcem mobilnih telefonov znižanje stroškov razvijanja
programske opreme in prav tako hitrejšo izvedbo njihovih konceptov;
 da lahko samostojni razvijalci programske opreme na lažji, predvsem pa
cenejši, način pokažejo svoje ideje vsemu svetu.
2. Razvijalcem omogoča več možnosti pri razvijanju programske opreme, kar
pomeni:
 dodatne možnosti aplikacij, s čimer lahko spremenijo ali zamenjajo osnovno
aplikacijo uporabniškega vmesnika;
 za svoje delovanje lahko aplikacije uporabljajo informacije različnih
senzorjev, kot so na primer: senzor pospeška, GPS, kompas, mikrofon,
kamera in drugo;
 razvijalci lahko preko spleta brezplačno dostopajo do navodil in
programskega okolja za razvoj aplikacij;
 dodatne aplikacije so lahko izvedene z uporabo programskega jezika Java,
JavaScript, CSS in HTML;
 kljub delovanju aplikacij v ozadju, so le-te še vedno aktivne ter lahko
zaznavajo informacije, uporabljajo vmesnike strojne opreme ter uporabnika
obveščajo o sprotnih dogodkih.
3. Uporabniški vmesnik je:
 hitro odziven;
 enostaven in pregleden;
 upravljanje omogoča preko zaslona samo s prstom;
 izgled namizja lahko uporabnik oblikuje sam zase, kakor mu odgovarja;
 drsenje menija omogoča hitro pregledovanje obsežnejših seznamov.
4. Naprave se samodejno sinhronizirajo z Googlovimi storitvami, kar pomeni, da so
naši osebni podatki vedno ažurni, ne glede na način, kako dostopamo do njih
(preko računalnika ali preko mobilnega telefona).
5. Uporabnik lahko nalaga nove aplikacije na hiter ter preprost način brez pomoči
osebnega računalnika. Za nalaganje aplikacij je na voljo storitev Google Play,
prek katere se aplikacije namestijo neposredno z mobilnega telefona.
6. V primeru, da je na voljo nova različica operacijskega sistema, omogoča
preprosto posodobitev.

4.1.3. RAZLIČICE OPERACIJSKEGA SISTEMA ANDROID

Operacijski sistem Android je, vse od prve izdane različice z oznako 1.0 pa do danes,
doživel velike posodobitve

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 29


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

[https://en.wikipedia.org/wiki/Android_version_history]. Vsako novo različico


sestavljajo številska oznaka ter imena slaščic, katera si sledijo po abecednem
vrstnem redu. Vsaka različica vsebuje tudi ustrezno številko vmesnika za
programiranje aplikacij (ang. Application Programming Interface, API) (API, 2016).
Številka API-ja določa, katerim različicam bo aplikacija namenjena.

V nadaljevanju so na naštete različice Androida ter njihove značilnosti (Zgodovina


Android različic, 2016).

Različica 1.0
Prva verzija operacijskega sistema je vsebovala funkcije, kot so: brskalnik za
internet, budilka, testni prikaz uporabniškega vmesnika, kamera itn. Različica 1.0
je bila predstavljena septembra 2008.

Različica 1.5 (Cupcake)


Prva različica, ki je poleg številske oznake nosila tudi ime Cupcake. Različica
Cupcake je izšla aprila 2009 in je poleg osnovnih funkcij vsebovala še:
 možnosti snemanja in pregledovanja video posnetkov;
 nalaganje video posnetkov in slik na različne portale (YouTube, Picaso);
 prenovljeno virtualno tipkovnico;
 podporo tehnologiji Bluetooth A2DP;
 podporo za animacije med zasloni;
 izboljšano funkcijo kopiraj–prilepi.

Različica 1.6 (Donut)


V septembru 2009 je izšla različica 1.6 z imenom Donut. Ena izmed pomembnejših
nadgradenj je iskalnik, ki omogoča, da iščemo po stikih, spletu, zaznamkih in po
zgodovini kar z namizja. V primerjavi s predhodnico je različica 1.6 vsebovala tudi:
 podporo WVGA resolucijam in podporo CDMA-/EVDO-tehnologijam;
 prenovljen, izboljšan Android Market;
 izboljšano glasovno iskanje;
 izboljšano kamero in snemalnik;
 prenovljeno galerijo, ki je omogočala brisanje več slik hkrati;
 možnost pretvorbe besedila v govor in upravljanje z gestami.

Različica 2.0/2.1 (Eclair)


Še ne dva meseca po zadnji izdaji različice Android 1.6 je oktobra 2009 že izšla
nova, izpopolnjena različica 2.0/2.1 z imenom Eclair. V primerjavi s prejšnjimi
različicami je pri posodabljanju nastala celovita posodobitev operacijskega sistema.
Izboljšave v tej različici so:
 optimizirana hitrost operacijskega sistema;
 podpora večjim resolucijam in velikostim zaslona;
 izboljšan brskalnik in podpora HTML 5;
 ažuriran uporabniški vmesnik;
 izboljšana hitrost virtualne tipkovnice;
 podprta tehnologija Bluetooth 2.1.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 30


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Različica 2.2/2.2.3 (Froyo)


Največje značilnosti so bile naslednje: možnost nalaganja aplikacij na spominsko
kartico (SD Card) ter izboljšan Android Market, ki je omogočal samodejne
posodobitve.

Različica 2.3/2.3.7. (Gingerbread)


Pojavil se je decembra 2010. Popravek se je osredotočil predvsem na strojno
opremo (hardware), tako da je sedaj podpiral dva nova senzorja (giroskop,
barometer). Dodana so bila orodja, s katerimi je bilo mogoče kopiranje ter lepljenje
datotek.

Različica 3.0/3.2.6 (Honeycomb)


Pojavil se je februarja 2011 in je bil prvi Android, namenjen samo tablicam. Prva
tablica z Androidom 3.0 je bila Motorola Xoom, ki je izšla 24. februarja 2011.

Različica 4.0/4.0.4 (Ice cream sandwich)


Skupaj s telefonom Galaxy Nexus je bil izdan 19. oktobra 2011. Med vsemi popravki
in dodatnimi funkcionalnostmi sistema so najbolj izstopali strojno pospešeni grafični
vmesniki, odklepanje naprave s prepoznavo obraza, nov spletni brskalnik, izboljšana
aplikacija za uporabo kamere itn.

Različica 4.1/4.3.1 (Jelly Bean)


Izšel je junija 2012. Jelly Bean je ponudil povsem novo izkušnjo z digitalnim
fotoaparatom, prenovljen in učinkovit način pisanja sporočil, daljšo avtonomijo
delovanja ter še mnogo več. Funkcija “photo sphere” omogoča zajemanje 360-
stopinjskih panoramskih fotografij. Omogočeno je bilo tipkanje besed z vlečenjem
prsta po zaslonu, kar je pomenilo tudi do 30 % hitrejše tipkanje. Omogočen je bil
tudi večuporabniški način uporabe naprav.

Različica 4.4/4.4.4 (KitKat)


Izšel je oktobra 2013, in sicer najprej na mobilnem telefonu LG Nexus 5.
Najodmevnejša novost je bila prilagoditev delovanja sistema za mobilnike z največ
512 MB. Z boljšo optimizacijo procesov v ozadju se je popravila tudi avtonomija
baterije.

Različica 5.0/5.1.1 (Lollipop)


Predstavljen je bil na konferenci Google I/O 2014. Med večjimi spremembami
najdemo predvsem podporo za večje število telefonskih kartic SIM, z eno kartico se
lahko opravi klic, hkrati pa na drugo kartico lahko prejmemo sporočilo.

Različica 6.0/6.0.1 (Marshmallow)


Marshmallow je trenutno zadnja verzija operacijskega sistema Android za telefone,
tablice, ure, televizije, avtomobile in druge naprave.

Marshmallow vsebuje nove značilnosti in posodobitve, s pomočjo katerih naprave


delujejo učinkoviteje. Te značilnosti so naslednje:
 v fotografiji je moč poiskati karkoli. Prosta uporaba ter neomejeno
shranjevanje fotografij;
 lažji načini za upravljanje motenj;
 možnost za povečanje prostora za shranjevanje na nekaterih napravah, s
pomočjo SD kartice;

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 31


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

 Now na dotik: predlogi iz Google Now, povezani s podatki z vašega zaslona


(ni na voljo povsod, le na nekaterih krajih);
 baterije s pomočjo Doze, App Standby ter ostalih optimizacij delovanja
baterije delujejo bistveno dlje.

4.2. RAZVOJNO ORODJE TER TEHNOLOGIJA


Za razvoj aplikacij lahko posežemo po različnih razvojnih orodjih, ki nam bodo v
veliki meri olajšala delo, da lahko razvijamo aplikacije hitreje in učinkoviteje. Izbira
pravega razvojnega okolja je osnova za uspešen razvoj aplikacije. Predvideno je
bilo, da bo za izdelavo aplikacije, poleg razvojnega orodja Android SDK, uporabljeno
tudi delovno okolje Eclipse ter dodatek ADT za Eclipse. Po tehtnem razmisleku,
predvsem zaradi dejstva, da je Android Studio po svojem izidu postal eden vodilno
okolje razvoja na platformi Android, ter da ima Android Studio razvojna orodja
Android (angl. Android Development Tools, krajše ADT) že vključena, smo za
izdelavo aplikacije uporabili delovno okolje Android Studio.

4.2.1. ANDROID STUDIO

Google je junija 2013 razvil ter izdal Android Studio, integrirano razvojno okolje za
platformo Android, ki je brezplačno. V letu 2014 je izšla prva beta verzija, kasneje
istega leta pa še prva stabilna verzija z oznako 1.0. Nenehno se razvija tako
platforma Android kot tudi razvojno okolje. S časom, ko se je Android Studio
uveljavil kot primarno razvojno okolje za Android, je Google za razvijalce na spletni
strani predstavil navodila, kako seliti razvojne projekte okolja Eclipse, s tem je k
uporabi Android Studia privabil mnogo razvijalcev. Okolje je zgrajeno na temelju
enega najnaprednejših integriranih okolij Java, to je IntelliJ IDEA. Razvijalcem
ponuja platformo za oblačne storitve Goodle, fleksibilen prilagodljiv sistem grajenja
projektov, ki se imenuje Gradle, orodja lint za preverjanje učinkovitosti,
kompatibilnosti in uporabnosti, orodja za generiranje datotek s končnico .apk ter
več ostalih razvojnih funkcij na platformi Android. Windows, MAC OS X in Linux so
operacijski sistemi za katere je na voljo Android Studio. Sistemske zahteve so
podobne zahtevam posameznih operacijskih sistemov, na katerih to orodje deluje
(Android Developers, 2016). Na sliki 44 je prikazano ena izmed zadnjih verzij
Android Studia, verzija 2.1.2.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 32


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 44: Android Studio 2.1.2

4.2.2. ANDROID SDK

Za razvoj aplikacij na operacijskem sistemu Android je potrebna uporaba


programskega razvojnega paketa Android SDK (ang. Android Software Development
Kit), ki je skupek orodij in knjižnic. Sestavljen je iz dveh delov, in sicer iz
repozitorjev Android (ang. Android Repository) ter dodatkov zunanjih ponudnikov
(ang. Third party – Add-ons) (Android SDK, 2016).

Repozitorji Android vsebujejo:


 SDK orodja (ang. Android Tools), ki vsebujejo orodja s katerimi lahko
razhroščujemo ter testiramo aplikacije in veliko drugih uporabnih orodij. Dve
izmed najpomembnejših orodij sta gotovo Android emulator in razvojna
orodja Android (ang. Android Development Tools. ADT). Več o orodjih je
zapisanega na strani http://developer.android.com/studio/command-
line/index.html;
 SDK orodja platforme (ang. SDK Platform-tools), ki vsebujejo orodja
potrebna za razvoj in razhroščevanje aplikacij, ki so razvita skupaj z
najnovejšo različico operacijskega sistema;
 platforme Android;
 USB gonilniki za Windows;
 testni primeri aplikacij, ki omogočajo razvijalcem lažje učenje, saj
vsebujejo primere skupaj z razvojno kodo;
 dokumentacijo zadnje različice Android API-ja.

Dodatki zunanjih ponudnikov zagotavljajo komponente, ki omogočajo ustvarjanje


razvojnega okolja z uporabo specifičnih Androidovih knjižic, kot so npr. Google API-
ji, ki omogočajo delo z Google Maps.

Prva različica Android SDK, namenjena predogledu, je bila izdana novembra 2007.
Približno eno leto pozneje, avgusta 2008 je izšla prva beta-različica z oznako
Android 0.9 SDK beta. Uporabnikom je ponujala posodobljeno razširjeno različico

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 33


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

API-ja, izboljšana razvojna orodja in posodobljeno zasnovo domačega zaslona.


Septembra 2008 je bila z različnimi popravki izdana nova različica 1.0. Z izdano
različico SDK 1.5 je bil izdan tudi prvi operacijski sistem Android. Različice SDK-ja
so se hitro vrstile druga za drugo. Zadnja je izšla v maju 2016 in nosi oznako
r_25.1.6. Več o SDK-ju in novejših različicah je na voljo na
[https://developer.android.com/studio/releases/sdk-tools.html].

4.2.3. ANDROID EMULATOR

Android SDK (ang. Android Software Development Kit) vsebuje virtualno prenosno
napravo oziroma z drugimi besedami emulator. Android emulator je naprava, ki teče
na našem računalniku. Omogoča, da lahko Android aplikacijo testiramo, ne da bi pri
tem fizično uporabljali prenosne naprave. Emulator lahko posnema vse značilnosti
ter lastnosti prave mobilne naprave, edino česar emulator ne podpira, je
sprejemanje ali opravljanje telefonskih klicev ter še nekaterih drugih funkcij.
Ponuja nam različne navigacijske ter ostale tipke, katere lahko s pomočjo uporabe
tipkovnice ali miške uporabnik aktivira. Prav tako nam emulator omogoča zaslon,
na katerem se aktivna aplikacija prikaže skupaj s katerokoli aplikacijo, ki se
trenutno izvaja.

Za preprostejše preizkušanje aplikacij emulator podpira virtualno napravo Android


(ang. Android Virtual Device, AVD). AVD-ji omogočajo spreminjanje verzije
operacijskega sistema Android, vrste videza emulatorja ter želeno konfiguracijo
strojne opreme naše virtualne naprave. Izbiramo lahko tudi med možnostmi strojne
sestave našega emulatorja.

Emulator prav tako vključuje številne razhroščevalne možnosti, med drugim:


konzolo, s pomočjo katere spremljamo in zaznavamo izhodna sporočila iz jedra
operacijskega sistema Android, simuliramo lahko prekinitev aplikacije, na primer
ob prihodu SMS sporočila ali telefonskih klicev ter preučujemo lahko zapoznele
učinke in napake na podatkovnem kanalu (Android emulator, 2016).

4.2.4. SESTAVA AVD

AVD (angl. Android Virtual Device) omogoča spreminjanje različic operacijskega


sistema in spreminjanje strojne opreme emulatorja, to pomeni, da nam omogoča,
da določimo značilnosti ter karakteristike telefona, tabličnega računalnika ali
Android TV naprav, katere želimo simulirati v emulatorju. Ustvarimo lahko poljubno
število AVD konfiguracij, ki bodo imele tipične sestave vsaka za sebe. Vsak AVD
sestavlja [https://developer.android.com/studio/run/managing-avds.html]:
 profil strojne opreme, ki definira značilnosti emulatorja, lahko nastavimo,
kaj vse naj vsebuje emulator, na primer določimo, da emulator vsebuje
kamero, tipkovnico QWERT, velikost pomnilnika itn.;
 povezava s sistemsko sliko, ki omogoča izbiro verzije operacijskega sistema
Android, katera bo tekla na emulatorju;
 poseben prostor za shranjevanje na računalniku, kamor se shranjujejo
različne nastavitve emulatorja, kot so različni podatki o naloženih
aplikacijah in vsebina emulirane SD kartice;
 nastavitve, kjer nastavljamo videz emulatorja, dimenzije zaslona ter kakšno
SD kartico vsebuje emulator.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 34


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Sestavo AVD-ja omogoča Android Studio skupaj z Android SDK. Sestavimo jih lahko
različno število, med katerimi kasneje izbiramo. Ko ga sestavimo, se nam odpre
okno, na katerem so vidne že prej oblikovane naprave in med katerimi lahko tudi
izbiramo.

4.2.5. XAMPP

XAMPP je paket LAMP, katerega sestava nam omogoča čim hitrejšo inštalacijo
spletnega strežnika na lokalni računalnik. Zamudno zaporedje ukazov, kot so:
configure, make, make install itn., ki nam zgradi aplikacijo iz izvorne kode,
nadomestimo z zagonom XAMPP, s katerim imamo le v nekaj minutah vse
pripravljeno za delo. Za prikaz vsebin je potreben zagon internetnega brskalnika
ter v vrstico vpis »localhost«. XAMPP za GNU/Linux vsebuje vse naslednje: Apache,
PHP, Perl, PHPMyAdmin, SQLite, itn. Od verzije XAMPP 5.5.30 in 5.6.14 naprej,
XAMPP namesto MySQL vsebuje MariaDB. Orodja ter ukazi so pri obeh enaki (XAMPP,
2016).

4.2.6. PHP (PHP Hypertext Predprocessor)

4.2.6.1. Kaj je PHP?


Je razširjen odprtokodni programski jezik, ki se uporablja za razvoj dinamičnih
spletnih vsebin ter strežniške uporabe. Napisan je bil kot skupek CGI-programov,
zapisanih v programskem jeziku C.

Spisal ga je Rasmus Lerdorf, programer dansko-kanadskega rodu, z namenom


prikazati svoj življenjepis, hkrati pa bi zajemal tudi podatke o obiskovalcih svoje
spletne strani. S spisanim PHP-jem je zamenjal nekaj script, s katerimi je upravljal
svojo spletno stran in so bile napisane v Perlu. Rasmus je 8. julija 1995 izdal
“Personal Home Page Tools”, ki ga je kasneje združil z interpretatorjem za spletne
obrazce (PHP/FI) (Zandstra 2004).

Po podatkih na pridobljeni s spletne strani Netcrafta je bil PHP do januarja 2013


uporabljen na približno 244 milijonih internetnih straneh (torej 39 % tistih, ki so bila
vzorčena) in na 2,1 milijona spletnih strežnikih (Netcraft, 2016).

Uradna stran, kjer lahko pridobimo vse informacije o PHP-ju je na spletnem naslovu
http://www.php.net.

4.2.6.2. Kako deluje PHP?


PHP je programska oprema, izdana pod licenčnimi pogoji PHP, ki je brazplačna ter
deluje skoraj na vseh platformah in operacijskih sistemih. Uradna pisna specifikacija
za jezik PHP je bila napisana šele leta 2014, ko jo je sestavilo podjetje PHP Group.

Skriptni programski jezik PHP je kljub svoji splošno namenski uporabnosti zlasti
primeren za razvijanje dinamičnih spletnih strani, kjer je možna interaktivnost.
Štamcar in Klemen (2004) navajata v svoji knjigi, da lahko PHP kodo zapišemo v
kateremkoli jeziku v kombinaciji z drugimi jeziki ali samostojno. PHP je rekurzivni
akronim za PHP: Hypertext Preprocessor (PHP, 2016).

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 35


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Podoben je drugim skriptnim programskim jezikom, kot so Java Server Pages,


mod_perl, ASP.NET. Vsi namreč delujejo za podobne naloge ter na enak princip.
Največkrat gre za dinamično vsebino spletnih strani, kjer obiskovalec strani kot
uporabnik v formo vnese želeni niz, ali pa se stran po že vnaprej podanih parametrih
avtomatično generira (Kimovec, 2015).

Beighley L. in Morrison M. (2008) navajata, da skriptni jezik PHP spletno stran oživi.
PHP skripta pravimo delu skripte, napisanemu v PHP kodi. Tako napisane skripte
lahko zaganjajo ter izvajajo spletni strežniki s PHP podporo. To pomeni, da na
lokalnem računalniku ne moremo zaganjati PHP skript, če nimamo ustrezne
strežniške opreme. Vseeno pa si lahko, tudi če nimamo ustrezne opreme, spletne
strani narejene v PHP kodi, če le-te gostijo na spletnem strežniku podprtem s PHP,
pogledamo v spletnem brskalniku. Spletni strežnik vsebuje preprocesor hiperteksta,
ki s pomočjo interpreterja bere in izvaja ukaze. Interpreter oz. tolmač skripto,
katero odpre ter izvede, vrne v HTML, XML ali XHTML obliki našemu računalniku,
kjer za željeni rezultat poskrbi spletni brskalnik. Zaradi te samodejne pretvorbe
uporabnik nikoli ne more vedeti, ali spletna stran vsebuje tudi PHP kodo ali ne, saj
se mu vedno prikaže le HTML koda (Kimovec, 2015).

V PHP skriptah je zelo pomembno, da ločimo PHP kodo od HTML kode. To storimo z
oznako <?php, ki jo zapišemo na začetku ter končno oznako ?>. Začetni znak sporoči
strežniku, da naj začne z izvajanjem PHP kodiranja. Rezultati se po končanem PHP
kodiranju, kar je napisano z ukazom ?>, izpišejo v spletnem brskalniku uporabnika.
V spletnem brskalniku je viden le končni rezultat, zato uporabnik med kodiranjem
ne ve, če se skripta izvaja ali se ne izvaja. Datoteke s PHP kodo imajo navadno
končnico .php, s katero jo ločimo od ostalih datotek (PHP, 2016).

4.2.7. MySQL

4.2.7.1. Kaj je MySQL?


MySQL je eden izmed sistemov, kateri obstajajo za upravljanje z bazami podatkov.
Drugi sistemi so še dBase, Fox, Oracle, MS SQl Server, … MySQL je odprtokodna
implementacija relacijske baze podatkov, ki s strukturiranim poizvedovalnim
jezikom SQL (Structure Query Language) upravlja s podatki v bazi podatkov. Dr.
Rajkovič V. (2006) pravi, da je MySQL mehanizem, formalno opredeljena,
večuporabniška ter centralno nadzorovana podatkovna baza (zbirka podatkov).
MySQL lahko deluje kot povsem samostojen podatkovni strežnik, lahko pa deluje v
kombinaciji z ostalimi tehnologijami.

Pomembnejše lastnosti MySQL-a so naslednje (Kimovec, 2015):


 spisan v jezikih C in C++;
 deluje na operacijskih sistemih Windows, Linux ter drugih;
 z uporabo GNU Automake, Libtool in Autoconf je prenoslji med operacijskimi
sistemi;
 zaradi različnih vmesnikov za programe (API), in sicer za C, C++, Java, Eiffel,
PHP, Perl, TCL, Python in Ruby, je omogočena široka uporabnost;
 večopravilnost (multi-tasks), ker je sposoben izkoristiti vse centralne
procesne enote, ki so na voljo;
 uporablja izjemno hitre diskovne tabele MyISAM tako, da stiska indekse;
 preizkušanje programske kode se izvaja z aplikacijami Valgrind ter Purify.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 36


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

4.2.7.2. Uporaba MySQL


MySQL deluje na načelu odjemalec-strežnik, kjer pa lahko strežnik namestimo
samostojno, lahko pa namestimo strežnik kot sistem, porazdeljen na več strežnikov.
Do podatkovne zbirke lahko dostopamo s številnimi odjemalci, programskimi
vmesniki ter zbirkami ukazov.

Strežnik MySQL se upravlja na dva načina – z ukazno vrstico in z grafičnim vmesnikom


(MySQL Front, MyAdmin, …). Način z ukazno vrstico je počasnejši, hkrati pa pri
zbirkah podatkov, ki so večje predstavlja nepregledne množice podatkov, iz katerih
težko najdemo želeno. Vendar pa je v praksi zaželeno, da je uporabnik seznanjen z
obema načinoma, ker si le tako lahko lažje razlaga posamičen rezultat poizvedbe.

Zbirka podatkov lahko obstaja brez tabel, nobena tabela pa ne more obstajati brez
vsaj enega stolpca. Tabele v MySQL-ovih zbirkah, katerim lastnosti lahko določamo
sami, imajo natančno določeno obliko.

Vskaemu polju v podatkovni bazi je potrebno določiti tip polja ter lastnost.
Najpogosteje so uporabljeni tipi, prikazani v nadaljevanju:
 INT: standardno celo število, ki ni večje od 4.294.967.295
 VARCHAR(N): znakovno polje spremenljivk z največ N znaki
 CHAR(N): znakovno polje s točno N znaki
 DATE: datum v obliki »LLLL-MM-DD«

Izbiramo lahko med mnogimi ostalimi tipi, ki jih najdemo na spletu (MySQL, 2016).

V MySQL-u lahko določimo vsakemu polju tudi lastnost. V nadaljevanju so prikazane


lastnosti polj, ki so najpogostejše:
 AUTO_INCREMENT: celo število, katero se ob novem vnosu poveča za eno v
kombinaciji z lastnostjo PRIMARY_KEY
 PRIMARY_KEY: primarni, unikaten ključ tabele
 DEFAULT: nastavimo privzeto vrednost polja
 NOT_NULL: vrednosti stolpca ne smejo biti prazne
 NULL: vrednosti stolpca so lahko prazna

Mnogo drugih lastnosti ter njihova uporaba je dostopna na spletni strani:


http://dev.mysql.com/doc/ (Kimovec, 2015).

4.2.8. PHPMyAdmin

Kot že omenjeno je upravljanje MySQL strežnika z ukazno vrstico lahko zelo


nepregledno ter zamudno opravilo. Za uporabnika prijaznejše orodje je
PHPMyAdmin, aplikacija, katere uporabniški vmesnik prikazuje slika 45. To je
skupek PHP skript, ki namesto uporabnika v ozadju zapisujejo ukaze za upravljanje
z bazami podatkov. Z namestitvijo XAMPP smo instalitali tudi PHPMyAdmin. S
programskim orodjem PHPMyAdmin preko spleta upravljamo z MySQL,
administratorji lahko upravljajo s podatkovnimi bazami, tabelami, polji, relacijami,
… Omogoča tudi izvajanje SQL ukazov direktno preko uporabniškega vmesnika,
dostopnega na spletu. Do vmesnika dostopamo s spletnim brskalnikom na naslovu
http:localhost/phpamyadmin.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 37


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Samo upravljanje s bazami podatkov s pomočjo PHPMyAdmina je izjemno


enostavno, saj ni potrebno zapisovati celotnih SQL stavkov, kot je to potrebno, če
pišemo poizvedbe v ukazno vrstico, temveč lahko vse napravimo samo z »enim
klikom«.

Slika 45: PHPMyAdmin

4.2.9. UREJEVALNIK SUBLIME TEXT 3

Sublime Text 3 je zelo popularen večplatformni urejevalnik izvorne kode z bogatimi


lastnostmi in dobro zmogljivostjo. Podpira več različnih programskih in
označevalskih jezikov. Ima veliko vtičnikov, kar uporabniku omogoča spreminjanje
velikosti črk, ozadja, okno je moč razdeli na manjša okna. Vsak uporabnik ga lahko
prilagodi svojim potrebam. Podpira več različnih programskih jezikov za razvijanje
aplikacij (Sublime Text, 2016). V okviru izdelave aplikacije je bil uporabljen za
pisanje kode PHP, JavaScript in CSS.

Primer uporabe urejevalnika Sublime Text 3 vidimo na sliki 46.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 38


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 46: Izgled urejevalnika Sublime Text 3

4.2.10. MOBAXTERM

Program MobaXterm smo uporabili za dostop iz osebnega računalnika.

Na sliki 47 je prikazan program MobaXterm, ki smo ga uporabili za pisanje,


popravljanje in zahanjanje programov ter za ustvarjanje in prenašanje datotek.
Program podpira različne mrežne protokole, kot so SSH, Rsh, Telnet, FTP, SFTP,
VNC. Prednost programa MobaXterm je ta, da možmo imeti odprtih več zavihkov,
različnih povezav ter urejevalnik besedila. Zgoraj je orodna vrstica, desno pod
orodno vrstico so zavihki terminala, levo pod orodno vrstico pa je pregledovalnik
datotek, kateri prikazuje vsebino datoteke (Lapajne, 2015).

Slika 47: MobaXterm

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 39


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

4.2.11. MICROSOFT VISUAL STUDIO COMMUNITY EDITION

Za izvedbo aplikacije za okolje Windows smo uporabljali razvojno okolje podjetja


Microsoft, in sicer berzplačno okolje Visual Studio Community Edition ter ogrodje
.NET Framework, kar smo pridobili z Microsoftovih spletnih strani.

4.2.11.1. Microsoft .NET


Programsko ogrodje Microsoft .Net vsebuje FCL (Framework Class Library), to je
obsežna knjižnica razredov, ki podpira več programskih jezikov, kar omogoča
razvijalcu interoperabilnost programskih jezikov, to pa pomeni, da lahko s pomočjo
knjižnic razredov, ki so implementirana znotraj ogrodja .NET uporabljamo kode
različnih programskih jezikov. Vsi programi napisani v okviru .NET, se izvajajo v
posebnem programu oz. aplikaciji CLR (Common Language Runtime), ki deluje kot
nekakšen navidezni stroj, kot prevajalnik med nivoji kode in inštrukcijami za
računalniški procesor, izvedene v zaključni fazi. CLR prinaša tudi druge pomembne
storitve, kot so upravljanje s pomnilnikom, varnost, preprečevanje tiskarskih napak
in obvladovanje izjem. FCL ter CLR predstavljata ogrodje .NET. FCL zagotavlja
možnosti uporabe storitev, npr. dostop do podatkov, uporabniški vmesnik,
kriptografija, povezovanje z bazo, številčni algoritmi, omrežne komunikacije ter
razvoj spletnih aplikacij. Programreji lahko programsko opremo razvijajo tako, da
kombinirajo svojo kodo z ogrodjem .NET ter drugimi knjižnicami. Ogrodje .NET je
namenjeno predvsem razvoju sodobnih aplikacij, izdelanih za Windows platforme,
saj se s svojim skladom povezanih tehnologij, programov in storitev uvršča med
boljše programske opreme namenjene razvoju spletnih aplikacij (Microsoft .NET
ogrodje, 2016).

Slika 48 prikazuje razvoj komponent ogrodja .NET v časovnem obdobju od leta 2005
do 2012.

Slika 48: Struktura komponent ogrodja .NET (Vir: Microsoft .NET, 2016)

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 40


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

4.2.11.2. Razvojno okolje Microsoft Visual Studio


Microsoft Visual Studio, ki ga je razvil Microsoft, je integrirano razvojno okolje
(angl. Integrated Development Environment). Podpira programske jezike: Visual
Basic .NET, Visual J# .NET, Visual C# .NET in Visual C++ .NET. Uvršča se med
razvojna okolja hitrega programiranja, saj omogoča enostavno, hitro in zanesljivo
programiranje. Orodje razvijalcu ponuja veliko gradnikov, s katerimi se poenostavi
delo (Godbole in Kahate, 2002).

V letu 2002 je pod okriljem Microsoft izšel Visual Studio .NET 2002, prva različica
okolja za razvoj Microsoft Visual Studio .NET, ki je deloval na ogrodju .NET
Framework 1.0 in je podpiral z Visual Basicom tesno povezan programski jezik.
Vsakih nekaj let Microsoft izda novo, izboljšano verzijo razvojnega sistema in
ogrodja. Izboljšave običajno podpirajo nove tehnologije ter vsebujejo večje število
objektov v knjižnicah.

Na voljo je več različic okolja Visual Studio:


 Visual Studio Express Edition
 Visual Studio Professional Edition
 Visual Studio Premium Edition
 Visual Studio Community Edition
 Visual Studio Ultimate Edition

Različice se med seboj razlikujejo po funkcionalnostih ter po cenovni dostopnosti,


kar pomeni, da so nekatere različice brezplačne, druge pa plačljive. V novejših
izdajah se vedno znova podpirajo vedno novejši standardi ter novejše različice
ogrodja .NET.

Okolje Visual Studio vsebuje več orodij, ki so pomembna, vsak na svoj način, ter
koristna med delom s samim programom. Med njimi so:
 urejevalnik ter razčlenjevalnik kode,
 razhroščevalnik,
 prevajalnik,
 oblikovalci (npr. spletni oblikovalec ter oblikovalec grafičnih oblik, kateri je
namenjen razvoju aplikacij z grafičnim vmesnikom).

Urejevalnik ter razčlenjevalnik kode skrbita za lažje delo s kodo, in sicer s


podčrtavanjem napak, z zamiki, z avtomatskim dopolnjevanjem oz. dokončevanjem
itn. Prevajalnik skrbi predvsem za to, da se preko kode, ki mora biti pravilno
napisana, inštrukcije prevedejo do nivoja, na katerem se izvede sam program. Ob
primeru, ko program ne deluje lahko pridemo do rešitve problema s pomočjo
razhroščevalnika. V kolikor so ugotovljene napake oz. pride do napačnega delovanja
programa, lahko z razhroščevalnikom spremljamo korak za korakom izvajanje
programske kode.

Za povečo funkcionalnost na skoraj vseh nivojih lahko v Visual Studio namestimo


tudi mnogo razširitev oz. dodatkov. Pomembna lastnosti Visual Studia je tudi
podpora različnih programskih jezikov. Prav tako omogoča razhroščevalniku ter
urejevalniku kode podporo večini programskih jezikov, v kolikor obstaja konkretna
storitev specifičnega jezika. (Microsoft Visual Studio, 2016).

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 41


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

5. RAZVOJ APLIKACIJE
V tem poglavju bomo predstavili, kako smo ustvarili nov projekt, grafično podobo
in funkcionalnosti izdelane aplikacije ter kako smo aplikacijo napisali.

Aplikacija zaposlene v določenih intervalih obvešča, da je potrebno izvesti vadbo.


Obvestilo prejmejo ali preko mobilnega telefona, ali preko računalnika, ali pa preko
obojega hkrati (mobitel, računalnik), odvisno od tega, kaj zaposleni uporabljajo.

Možnost vnosa podatkov imajo skrbniki aplikacije v posameznem podjetju, to so


največkrat zaposleni v IT oddelku. Ti vnesejo osnovne podatke o uporabniku (ime,
priimek, datum rojstva, spol), katere pridobijo iz različnih baz, s katerimi podjetje
razpolaga. Ostale podatke (teža, višina, …) pa uporabnik (zaposleni) vnese ob prvem
zagonu aplikacije na svojem mobitelu oz. računalniku. Te podatke lahko kasneje
tudi po želji kadarkoli spreminja, tako na mobitelu kot računalniku. Ker ima
aplikacija, izdelana za diplomsko nalogo, nespremenljiv uporabniški id (user_id), je
potrebno za vsakega uporabnika posebej pripraviti aplikacijo, kjer se spremeni
samo uporabniški id, tako da se aplikacija lahko poveže s strežnikom.

5.1. STREŽNIK
Za potrebe izdelave aplikacije je pri ponudniku Aruba Cloud zakupljen lasten
virtualni strežnik, katerega specifikacije so naslednje:
 1 centralna procesna enota,
 1 GB RAM,
 20 GB SSD trdi disk,
 2 TB prenosa podatkov na mesec,
 VMWare virtualizacija,
 Ubuntu Server 14.04 LTS,
 Apache 2.4.7,
 PHP 5.5.9,
 MySQL 5.5.49-0,
 PHPMyAdmin,
 HTOP.

Na strežniku je nameščena skupina tehnologij za razvoj spletnih aplikacij LAMP


(angl. LAMP stack). Sestavljajo jo operacijski sistem Linux, Apache, strežnik HTTP,
podatkovna baza MySQL ter programski jezik PHP.

Ubuntu Server 14.04 LTS je prosto dostopna distribucija Linux, ki temelji na


distribuciji Debian. Različica 14.04 LTS, tako namizna kot strežniška, ima petletno
podporo posodobitev, zaradi česar smo se tudi odločili za njo. Slika 49 prikazuje
časovno podporo posodobite različnih verzij Ubuntu.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 42


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 49: Časovna podpora posodobitev Ubuntu (Vir: Ubuntu, 2016)

Apache je sistem za poganjanje HTTP strežnikov, ki ima ključno vlogo pri izmenjavi
ter usmerjanju podatkov po protokolu HTTP in s tem ključno vlogo pri širjenju
spleta. Predvsem vzdržljivost, prilagodljivost in zanesljivost so glavni razlogi, zakaj
je Apache tako zelo priljubljen ter danes domuje v več kot polovici vseh spletnih
strežnikov na svetu. Prednost Apacha je tudi v tem, da na spletu obstaja mnogo
spletnih mest, namenjenih podpori ter izobraževanju.

Slika 50 prikazuje ER diagram, torej grafično predstavitev entitet in povezav med


njimi, ki prikazuje organizacijo podatkov v bazi podatkov, uporabljeni za aplikacijo.

Slika 50: ER diagram

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 43


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

5.2. PHP SKRIPTA


S PHP skripto, in sicer s pomočjo GET zahtevkov, smo izdelali preprost spletni
aplikacijski programski vmesnik.

GET zahtevek (angl. GET request) je dokaj enostaven koncept, s katerim, v našem
primeru preko url, pošiljamo določene spremenljivke, katere lahko preberemo na
PHP skripti.

http://86.105.54.126/update-limited-user-
data.php?user_id=2&height=1.9&weight=100.2&work_start=08:00:00&work_end=16:00:00

Z zahtevkom skripti pošljemo naslednje podatke: user_id, height, weight,


work_start ter work_end.

V nadaljevanju je prikazana struktura uporabljenih datotek:


 get-user-data.php
 update-user-data.php
 update-limited-user-data.php
 helpers.php
 mysql-connect.php
 user.php
 index.php

Datoteka get-user-data.php
Primer URL: http://86.105.54.126/get-user-data.php?user_id=1 nam vrne podatke o
uporabniku, zapisanem pod uporabniškim ključem 1.

Datoteka require("user.php")
Dodamo PHP skripto user.php, katera vsebuje objekte, ki jih potrebujemo za izpis
JSON podatka (JavaScript Object Notation). JSON je odprtokodni standard
tekstovnih datotek za izmenjavo podatkov v obliki, ki je človeku razumljivejša in je
poleg tega enostaven za strojno razčlenjevanje in generiranje.

Sprejmemo samo zahtevek GET, ki je isti, kot če bi odprli običajno spletno stran,
zato da bi pogledali določene zadeve. Obstajajo tudi drugi zahtevki, kot so POST,
PUT, DELETE, …
if($_SERVER['REQUEST_METHOD'] == "GET"){

Isset preveri, če element, v našem primeru parameter GET, sploh obstaja. Funkcija
valid_int, ki se nahaja v datoteki helpers.php, preveri, če je število user_id večje
od 0 ter če je število celo.
if(isset($_GET['user_id']) && valid_int($_GET['user_id'])){

S pomočjo objekta User, Education, Worktype, ki je deklariran v datoteki


user.php,pokličemo GET metodo, ki nam pošlje nazaj vse podatke tega objekta,
kateri so javni (Public).
$data = (new User())->Get($userId);

$json = array(

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 44


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

'error' => false


);

if(!$data)
$json['error'] = true;
else
$json['user'] = $data;

V primeru, da metoda GET vrne nazaj vrednost napačno (false), prestavimo napako
('error'), katera ima privzeto vrednost napačno (false), na pravilno (true). V
primeru, ko dobimo vrnjeno podatke, pa se v polju (array) kreira uporabnik (User),
kamor se izpišejo vsi podatki iz objekta uporabnik (User).

Če uporabnik z user_id že obstaja, nam vrne enostaven JSON objekt, katerega smo
naredili s pomočjo json_encode v PHP skripti.
{
"error": false,
"user": [
{
"userId": "1",
"educationId": "1",
"worktypeId": "1",
"name": "Simon",
"surname": "Novak",
"gender": "male",
"height": "1.75",
"weight": "73",
"mobilePhone": "040555333",
"worksWithComputer": true,
"glasses": true,
"pcUsed": true,
"workStart": "08:20:00",
"workEnd": "16:00:00",
"birthDate": "2000-05-15",
"created": "2016-05-15 22:26:27",
"ITM": 23.836734693878,
"education": [
{
"educationId": "1",
"educationLevel": "1",
"educationName": "Nedokončana OŠ",
"created": "2016-05-15 21:32:31"
}
],
"worktype": [
{
"worktypeId": "1",
"workName": "IT consultant",
"created": "2016-05-15 21:32:31"
}
]

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 45


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

}
]
}

Datoteka update-user-data.php
Primer URL: http://86.105.54.126/update-user-data.php?
user_id=2&education_id=1&worktype_id=1&name=Goran&surname=Test&gen
der=female&height=1.8&weight=90.2&mobile_phone=0403333444&works_wi
th_computer=1&glasses=1&pc_used=1&work_start=08:00:00&work_end=16:
00:00&birthdate=2000-05-15 00:00:00

Enako, kot pri prejšnji tabeli vzamemo samo parameter GET ter ga uvozimo v
datoteko user.php.
if(User::validateGetParameters($_GET)){

S statično metodo, katero izvedemo, preverimo vse GET parametre, saj skripto
izvedemo le v primeru, če vsi parametri dejansko obstajajo ter če so pravilni.

Za razliko od get-user-data.php, tukaj vrne samo pravilno (true), kajti če se je


zgodila napaka pri uvažanju podatkov, se uporabnik ne izpiše.

Podatke zopet s pomočjo funkcije json_encode spremenimo v JSON objekt.

Datoteka update-limited-user-data.php
Primer URL: http://86.105.54.126/update-limited-user-data.php?
user_id=2&height=1.9&weight=100.2&work_start=08:00:00&work_end=16:
00:00

Deluje podobno kot update-user-data.php, s to razliko, da lahko sprejmemo samo


5 GET parametrov.

Datoteka helpers.php
Tu so spisane funkcije, s katerimi si pomagamo validirati predmete v skriptah.

Datoteka mysql-connect.php
private $host = "127.0.0.1";
private $username = "root";
private $password = "";
private $database = "diplomska";

Vpišemo podatke za povezavo s SQL strežnikom. Nastavitve so narejene za XAMMP,


kjer je uporabniško ime 'root', geslo pa ne obstaja. Spremenljivke imajo lastnost
zasebno (privat), kar pomeni, da niso dosegljive zunaj tega razreda, tudi če jih
podeduje.

Za razliko od privatnih spremenljivk, uporabljamo za db protected (varovane), kar


pomeni, da so spremenljivke dosegljive v tem razredu ter tudi v vseh, ki jih
podeduje (extend).
protected $db;
S spremenljivko zapišemo objekt za MySQL, ki omogoča dostop do MySQL baze. To
bomo klicali naprej v user.php.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 46


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

public function initializeMysql(){


$this->db = new mysqli($this->host,$this->username,$this-
>password,$this->database);
$this->db->set_charset("utf8");
}

Datoteka index.php
Ker ne želimo, da se nam brska po direktoriju ter da si zunanji uporabniki ogledujejo
vse PHP skripte, vstavimo zaščito index.php, ki nam vrne nazaj napako 404, kar za
večino avtomatskih programov na internetu, ki izvajajo skripte za iskanje ('botov'),
pomeni, da stran ne obstaja.
<?php
header("HTTP/1.0 404 Not Found");
?>

Naložimo obe potrebni datoteki, helpers.php ter mysql-connect.php.


Datoteka user.php
require("helpers.php");
require("mysql-connect.php");

Spodnji ukaz pomeni, da razred User podeduje lastnosti MySQLConnect, torej


datoteke mysql-connect.php, tako da lahko uporablja funkcijo initializeMySQL ter
spremenljivko db.
class User extends MySQLConnect{

Spremenljivke, za katere želimo, da so prikazane, so deklarirane. Običajno to ni


najboljša praksa, ker so običajno te spremenljivke privatne ter se do njih dostopa
preko metod GET in SET. Tu se dostopa do spremenljivk v konstruktorju (funkcija
'construct'), ki je prikazan v nadaljevanju.

public $userId;
public $educationId;
public $worktypeId;
public $name;
public $surname;
public $gender;
public $height;

S funkcijo 'construct' si pomagamo zato, ker se izvede, vedno ko želimo poklicati


objekte tega razreda. Konstruktor tudi sprejme parameter $data, ki ima privzeto
vrednost NULL. To uporabimo, da napolnimo podatke z identičnimi podatki, ki so v
bazi. Zato se imenujejo malenkost drugače od spremenljivk, vendar se kljub temu
ujemajo s spremenljivkami v tabelah v bazi.
{
$this->userId = (isset($data->user_id) && valid_int($data-
>user_id) ? $data->user_id : 0);
$this->educationId = (isset($data->education_id) &&
valid_int($data->education_id) ? $data->education_id : 1);
$this->worktypeId = (isset($data->worktype_id) &&

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 47


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

valid_int($data->worktype_id) ? $data->worktype_id : 1);

V ukazu so uporabljeni skrajšani if stavki. Prevod prvega je v drugi obliki lahko


zapisan tako:
Shorthand:
$this->userId = (isset($data->user_id) && valid_int($data->user_id) ? $data-
>user_id : 0);

Običajen zapis if stavka:


if(isset($this->user_id) && valid_int($data->user_id))

$this->userId = $data->user_id;
else
$this->userId = 0;

V nadaljevanju je prikazan preračun ITM (indeksa telesne mase), če sta


spremenljivki višina (height) ter teže (weight) deklarirani ter imata lastnost Valid
double.
if(isset($this->weight) && valid_double($this->weight) &&
isset($this->height) && valid_double($this->height))
$this->ITM = $this->weight/ ($this->height * $this->height);

V tej datoteki imamo še 2 razreda, to sta izobrazba (Education) in način dela


(WorkType), kateri delujeta na podoben način kakor uporabnik (User). V spodnji
kodi najprej preverimo, če je deklariran pravilni user_id in v kolikor je, potem iz
GET funkcij iz drugih dveh tabel poberemo vrednosti in jih vstavimo v to tabelo.
if(isset($this->userId) && valid_int($this->userId)){
$this->education = (new Education())->Get($this->educationId);
$this->worktype = (new WorkType())->Get($this->worktypeId);
}

Funkcija GET za razred User, katera nam vrne podatke iz baze.


public function Get($id){

$user = array();
if(isset($id) && valid_int($id)){
$this->initializeMysql();
$id = mysqli_real_escape_string($this->db,$id);
$query = "SELECT * FROM users WHERE user_id = $id LIMIT 1";
if($result = $this->db->query($query)){
if($result->num_rows == 0)
return false;
while($obj = $result->fetch_object())
array_push($user,new User($obj));
}
}

return $user;
}

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 48


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Funkcija GET napravi sledeče. Deklarira prazno polje (array), v katerega se bodo
shranile vrednosti. Preveri, če je pravilen id. Inicializira spremenljivko
podedovanega razreda $this->db. Ukaz mysqli_real_escape_string zapiše vrednost,
da ne more priti do SQL napada, torej pridobitve podatkov iz SQL podatkovne baze
s strani tretjih oseb. S SQL poizvedbo dobi ven uporabnika. Preveri, ali je pri SQL
poizvedbi prišlo do napake, podatke pa zapiše v $result. Preveri, če je prejel nazaj
kakšne podatke, v nasprotnem primeru vrne napačno (false), tako da lahko na strani
prikaže rezultat error=true. Objekt potisne v tabelo, ki je bila deklarirana na
začetku ter vstavi razred 'User', tako da se izvede konstruktor ter vsi podatki v njem.
Na koncu vrne tabelo.

V nadaljevanju sta prikazani funkciji 'Update' ter 'LimitedUpdate', s pomočjo katerih


uvozimo podatke v bazo. Funkciji delujeta podobno, le da funkcija 'Update'
posodablja objekte z novimi podatki ter običajno, preprosto poizvedbo. Ker v
aplikaciji ne želimo, da uporabnik sam spreminja nekatere podatke, se uporabi
samo 'Limited Update', ki to onemogoča.
public function Update(){
if(isset($this->userId) && valid_int($this->userId)){
$this->initializeMysql();
$query = $this->db->prepare("UPDATE users SET education_id =
?, worktype_id = ?, name = ?, surname = ?, gender = ?, height = ?,
weight = ?, mobile_phone = ?, works_with_computer = ?, glasses
= ?, pc_used = ?, work_start = ?, work_end = ?, birthdate = ?
WHERE user_id = ?");
if(!$query)
return false;
$query->bind_param("iisssddsiiisssi",$this->educationId,
$this->worktypeId, $this->name, $this->surname, $this->gender,
$this->height, $this->weight, $this->mobilePhone, $this-
>worksWithComputer, $this->glasses, $this->pcUsed, $this-
>workStart, $this->workEnd, $this->birthDate, $this->userId);
$query->execute();
if(!$query->affected_rows)
return false;
return true;
}
return false;
}

V nadaljevanju je prikazana statična funkcija (static), s katero si lahko pomagamo,


brez da bi naredili instanco razreda. Tako, da jo lahko kličemo kadarkoli, npr. kot
User:validateGetParameters().
public static function validateGetParameters($getParameters){
$get = (object)$getParameters;
if( isset($get->user_id) && valid_int($get->user_id) &&
isset($get->education_id) && valid_int($get->education_id)
&&
isset($get->worktype_id) && valid_int($get->worktype_id) &&
isset($get->name) && valid_string($get->name) &&
isset($get->surname) && valid_string($get->surname) &&

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 49


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

isset($get->gender) && valid_string($get->gender) &&


isset($get->height) && valid_double($get->height) &&
isset($get->weight) && valid_double($get->weight) &&
isset($get->mobile_phone) && valid_string($get-
>mobile_phone) &&
isset($get->works_with_computer) && valid_int($get-
>works_with_computer) &&
isset($get->glasses) && valid_int($get->glasses) &&
isset($get->pc_used) && valid_int($get->pc_used) &&
isset($get->work_start) && valid_date($get->work_start) &&
isset($get->work_end) && valid_date($get->work_end) &&
isset($get->birthdate) && valid_date($get->birthdate)
){
return true;
}
return false;
}

Tako validateGetParameter () funkcija, kot funkcija


validateLimitedGetPatameters(), vrneta nazaj vrednost napačno (false), če vsebuje
vse potrebne informacije, katere potrebuje. Funkciji sta uporabljeni v datotekah
update-user-data.php ter update-limited-user-data.php.

5.3. ANDROID APLIKACIJA

Delovanje aplikacije:
 aplikacija ima nespremenljiv 'user_id' in je zato vezana na uporabnika;
 s pomočjo PHP skripte ter parametra GET user_id iz strežnika pridobi
informacije;
 aplikacija omogoča spreminjanje nekaterih lastnosti uporabnika (velikost,
teža, začetek dela, konec dela);
 če so lastnosti pravilno vnesene, jih aplikacija ob pritisku na ukazni gumb
pošlje na strežnik;
 ko pritisnemo na obveščanje ob času za izvedbo vaj, nas pošlje na aktivnost
za vaje, kjer se prikaže 5 ali 8 vaj, odvisno od ITM uporabnika;
 pri vajah uporabnik s pritiskom na ukaz naslednja vaja preide na novo vajo,
pri čemer se pri zadnji vaji v seriji ponudi možnost PONOVI VAJO. Z izbiro
tega ukaza, se vaje ponovijo;
 vaje se pri vsaki seriji na novo generirajo;
 pri pogoju, da uporabnik nosi očala ter pri pogoju, da uporabnik večino dela
opravi v sedečem položaju, imajo določene vaje večjo možnost, da se
prikažejo v seriji za izvedbo vaj (možnosti teh določenih vaj so 2-krat večje
kot ostale);
 aplikacija preverja, če obstaja internetna povezava, saj jo potrebuje pri
povezovanju s strežnikom. Preverja tudi, če so podatki o uporabniku pravilni.

Na sliki 51 je prikazan uporabniški vmesnik za prikazano vadbo, uporabniški vmesnik


o uporabniku in njegovih podatkih ter izgled opomnika za opravljanje vadbe.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 50


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 51: Android aplikacija – prikaz vadbe, uporabnika, opozorilo

app/manifests/AndroidManifest.xml

Deklariran XML dokument z UTF-8 kodiranjem ter deklariran 'Namespace', v katerem


se vidijo vsi razredi, ki so deklarirani v njem. UTF-8 kodiranje je eden izmed načinov
kodiranja mednarodnega nabora znakov Unicode, kjer ASCII znaki ostanejo
enozložni, ostali znaki pa lahko zasedejo več zlogov.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.diplomska.gns.diplomska">

Aplikacija pridobi dovoljenje za uporabo interneta.


<uses-permission android:name="android.permission.INTERNET" />

Aplikacija preveri, če je na voljo internet, ali preko Wi-Fi ali preko mobilne
povezave.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

Osnovne nastavitve za temo aplikacije.


<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 51


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

android:theme="@style/AppTheme">

Spodaj je prikazana glavna aktivnost aplikacije (Activity), pri kateri se prikaže


zaslon ob prvem zagonu aplikacije, kjer lahko uporabnik vnese svoje še ne podane
podatke.
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

Aktivnost, ki je prikazana spodaj, prikaže ekran za vaje, onemogoči ležeči način,


tako da je mogoč prikaz samo v pokončnem načinu.
<activity
android:name=".ExcerciseActivity"
android:label="@string/title_activity_excercise"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
</activity>

.AlarmReceiver meri razred z istim imenom, katerega pokliče vsakič, ko poizkuša


izvesti opomnik, tako da dobi navodila, kako in kdaj izvesti opravilo.
<receiver android:name=".AlarmReceiver">
<intent-filter>
<action android:name="android.media.action.DISPLAY_NOTIFICATION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
Tu je definiran tudi neprikaz opomnika, v kolikor trenutno ni delovni dan oziroma
nismo v delovnem času.

app/manifests/MainActivity

Definirane konstante, katere potrebuje aplikacija pri klicu zahtev iz strežnika.


USER_ID se lahko spremeni, če ta v bazi obstaja. V kolikor se v bazi dodajo novi
uporabniki, je potrebno v aplikaciji prilagoditi USER_ID, tako da lahko aplikacija iz
stržnika pridobi točne podatke o uporabniku.
public static String GET_USER_SITE_URL = "http://86.105.54.126/get-userdata.php";
public static String UPDATE_USER_SITE_URL = "http://86.105.54.126/updatelimited-user-
data.php";
//Hardcoded user_id
public static String USER_ID = "1";

Kakor v PHP skripti, je potrebno tudi tukaj deklarirati vse potrebne objekte v
razredu, da postanejo dostopni tudi drugje v razredu.
public ProgressDialog pDialog;
//Textviews
TextView basicInfoText;
TextView heightText;
TextView weightText;
TextView workStartsText;

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 52


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

TextView workEndsText;
//Json Values
public String userIdString;
public String educationString;
public String worktypeString;

@Override povozi prejšnjo metodo, katero vsebuje razred AppCompatActivity, od


koder dedujemo stvari. Ukaz onCreate se zažene vedno, ko prvič zaženemo
aplikacijo.
@Override

protected void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Aplikacija s funkcijo CheckIfInternet preveri, če obstaja internetna povezava, v


nasprotnem primeru se prikaže alert box z obvestilom »Waiting for internet
connection; Please restart the application or check your internet connection«.
if(!CheckIfInternet(getApplicationContext())){

pDialog = new ProgressDialog(MainActivity.this);


pDialog.setMessage("Waiting for internet connection\nPlease restart the
application or check your internet connection");
pDialog.setCancelable(false);
pDialog.show();
return;
}

V spodaj deklarirane spremenljivke se shranijo potrebna tekst polja, katera so


definirana v Layoutu.
basicInfoText = (TextView) findViewById(R.id.basicInfoView);

heightText = (TextView) findViewById(R.id.heightText);


weightText = (TextView) findViewById(R.id.weightText);
workStartsText = (TextView) findViewById(R.id.workStartsText);
workEndsText = (TextView) findViewById(R.id.workEndsText);

Zažene se nova instanca razreda ter funkcija excecute(), ki izvede vse stvari v tej
niti. To smo uporabili zato, ker v glavni niti ne moremo izvajati takšnih stvari,
ampak jih lahko samo v ločeni niti.
new JsonParseAsync().execute();

Besedilo centriramo, tako po vertikali kot horizontali.


heightText.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

Funkcija onStart, s katero instaciramo Alarmmanagerja ter mu dodelimo pravilne


lastnosti, se izvede po koncu izvedbe funkcije onCreate.
@Override

protected void onStart() {


super.onStart();
//Set notification scheduler

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 53


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

AlarmManager alarmManager = (AlarmManager)


getSystemService(Context.ALARM_SERVICE);
Intent notificationIntent = new
Intent("android.media.action.DISPLAY_NOTIFICATION");
notificationIntent.addCategory("android.intent.category.DEFAULT");
PendingIntent broadcast = PendingIntent.getBroadcast(this, 100,
notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);

Za potrebe prikaza aplikacije je čas prikaza vaj nastavljen na 10 sekund oziroma na


5 sekund, če je ITM uporabnika večji od 25. S preprosto nastavitvijo funkcije
Global.setTestTime na false, se vaje izvajajo v dvournih intervalih oziroma v
intervalu ene ure in pol za uporabnike z ITM, večjim od 25. Na koncu se še logira
začetni čas, tako da se lahko v Android monitorju vidi, kdaj se prvič pošlje obvestilo
ter kdaj se prvič sproži.
Global.setTestTime(true);
long firstWarning;
long intervalWarning;
if(Global.isTestTime()){
firstWarning = 0;
intervalWarning = 10*1000;
if(Global.getITM() > 25 || Global.isWorksWithComputer())
intervalWarning = (long)((double)intervalWarning * 0.5);
} else{
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.HOUR,1);
firstWarning = calendar.getTimeInMillis();
intervalWarning = alarmManager.INTERVAL_HOUR * 2;
if(Global.getITM() > 25 || Global.isWorksWithComputer())
intervalWarning = (long)((double)alarmManager.INTERVAL_HOUR * 1.5);
}
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
firstWarning,intervalWarning,broadcast);
Log.e("Notifications started",DateUtils.getCurrentHour());

Funkcija updateUserData je vezana na gumb »POSODOBI UPORABNIK«. Ob pritisku


na gumb pošlje podatke MySQL bazi podatkov, da se le ti posodobijo, ter nato
ponovno zažene celoten Activity.
public void updateUserData(View view){

new JsonUpdateAsync().execute();
finish();
startActivity(getIntent());
}

Privatna funkcija, s katero si aplikacija pomaga graditi besedilo pri opozorilih.


Funkcija .setCancelable(false) omogoča, da odprtega okna z opozorilom ni mogoče
zapreti.
private AlertDialog.Builder ErrorAlert(String errorMsg){

AlertDialog.Builder builder = new AlertDialog.Builder(this);


builder.setMessage("NEKAJ JE ŠLO HUDO NAROBE!\n"+errorMsg)
.setPositiveButton("Zaprite aplikacijo", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 54


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

System.exit(0);
}
});
builder.setCancelable(false);
builder.create();
return builder;
}

Funkcija preveri, ali je na voljo internetna povezava ter v primeru, da povezave ni,
odpre okno z opozorilom. Ker je prvi Activity aplikacije odvisen od internetne
povezave, je nujna vzpostavitev te funkcije, ker se v nasprotnem primeru aplikacija
preneha odzivati.
private boolean CheckIfInternet(Context context){

ConnectivityManager cm =

(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
return isConnected;
}

Funkcija najprej poizkuša napraviti http request z GET parametri, katere navedemo
v HashMap get Params. Nato z njimi v JsonParser razred sestavi celotno povezavo,
katera izgleda tako UPDATE_USER_SITE_URL + “?user_id=1&height=1.8.....”
HashMap<String, String> getParams = new HashMap<>();

getParams.put("user_id", USER_ID);
getParams.put("height", height);
getParams.put("weight", weight);
getParams.put("work_start", workStart);
getParams.put("work_end", workEnd);
JSONObject json = new JsonParser().makeHttpRequest(
UPDATE_USER_SITE_URL, "GET", getParams);

AlarmReceiver.java z razredom AlarmReceiver, kateri se kliče vsakič, kadar


notification poizkuša kaj napraviti.
<receiver android:name=".AlarmReceiver">

<intent-filter>
<action android:name="android.media.action.DISPLAY_NOTIFICATION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>

V onReceive zapišemo našo kodo, s katero je zapisano, da v intervalih preverjamo,


ali je trenutno delovni čas ali delovni dan. V primeru, da ni, se opomniki ne
prikažejo.
public class AlarmReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 55


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Calendar myDate = Calendar.getInstance();


int dow = myDate.get (Calendar.DAY_OF_WEEK);
boolean isWeekday = ((dow >= Calendar.MONDAY) && (dow <=
Calendar.FRIDAY));
boolean isWorkHours =
DateUtils.isHourInInterval(DateUtils.getCurrentHour(),Global.workStart,Global.wo
rkEnd);
if(!isWeekday || !isWorkHours){
return;
}

V nadaljevanju je najprej prikazan vzorec, s katerim se proži vibracija pri


opomniku. Z Notification builderjem je sestavljeno obveščanje v aplikaciji, kateri
vsebuje določeno vibracijo, besedilo, privzeto ikono, omogoča pa tudi, da se
obvestilo s klikom nanj skrije. V trenutno testno spremenljivko se shrani trenutni
čas, da lahko preverjamo, kdaj se izvajajo opomniki.
long[] pattern = {125,75,125,275,200,275,125,75,125,275,200,600,200,600};
Notification notification = builder.setContentTitle("Ne pozabite telovaditi danes")
.setVibrate(pattern)
.setContentText("Čaka vas nova vaja")
.setTicker("Vaša nova vaja vas čaka!")
.setSmallIcon(R.mipmap.ic_launcher)
.setAutoCancel(true)
.setContentIntent(pendingIntent).build();
String testCurrentTime = DateUtils.getCurrentHour();
Log.d("Notification triggered", testCurrentTime.toString());
NotificationManager notificationManager = (NotificationManager)
context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(Global.getNotificationId(), notification);

ExcerciseContent.java
To je več ali manj samo objekt, katerega uporabljamo za zapis slik vaj, opis vaj ter
prioritete pri vaji, če jo le-ta ima. Prioritetne vaje so tiste, ki se opravljajo za
uporabnike, ki nosijo očala oziroma večino dela opravijo sede.

Vzpostavljen je razred ExerciseContent, katerega uporabljamo za gradnjo objektov


za različne vaje. V atributu ResourceId je shranjena lokacija slike, npr.
R.drawable.vaja100, katera se nahaja na direktoriju
app/res/drawavle/vaja100.jpg. Uporabljena sta 2 konstruktorja, prvi sprejme samo
ResourceId ter besedilo in vsakič nastavi prioriteto na false, medtem ko drugi
preveri, ali ima uporabnik očala ali če dela z računalnikom in ob izpolnjenem pogoju
nastavi prioriteto na true.

IsPriority in SetPriority sta primera geterjev in seterjev, torej metod, katere


omogočajo dostop do privatnih podatkov ali te podatke celo spreminjajo.
public class ExcerciseContent {

public int ResourceId;


public String Text;
public boolean Priority;
public ExcerciseContent(int resourceId, String text) {
ResourceId = resourceId;
Text = text;

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 56


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Priority = false;
}
public ExcerciseContent(int resourceId, String text,boolean priorityCheck) {
ResourceId = resourceId;
Text = text;
if(priorityCheck){
if(Global.isHasGlasses() || Global.isWorksWithComputer())
Priority = true;
}
else
Priority = false;
}
public boolean isPriority() {
return Priority;
}
public void setPriority(boolean priority) {
Priority = priority;
}

DateUtils.java
Je razred napolnjen s statičnimi metodami, katere nam pomagajo pri ugotavljanju
pravilnosti datumov, pretvarjajo čase itn.

ExcerciseAtivity.java
V nadaljevanju je prikazan Activity, kateri izvaja prikazovanje vaj.
RandomGenerator je samo generator naključnih številk, tako da lahko to
spremenljivko uporabljamo za polnjenje vaj v serijo vaj.
public class ExcerciseActivity extends AppCompatActivity {

Random randomGenerator = new Random();


List<ExcerciseContent> currentItem;
ImageView imageView;
TextView textView;
Button button;

Vse zadeve inicializiramo ter zapišemo vrednosti.


public Integer slika100 = R.drawable.vaja100;
public Integer slika101 = R.drawable.vaja101;
public String slikaOpis100 = "1. Iztegnite roke, dlani navzdol, upognite zapest"

RandomExerciseContent lista vsebuje vaje, ki se na novo generirajo vsakič, ko


uporabnik odpre vajo. Lista allExcercises pa vsebuje vse možne vaje, iz katerih
dobimo podatke v randomExcerciseContent.
public List<ExcerciseContent> randomExcerciseContent = new
ArrayList<ExcerciseContent>();
public List<ExcerciseContent> allExcercises = new ArrayList<ExcerciseContent>();

OnCreate se zažene takoj, ko zaženemo aplikacijo. FillSeriesData() pokliče funkcijo,


ki je definirana v nadaljevanju in ki samo napolni vse vrednosti z vajami ter generira
naključne vaje. Z excerciseListSize se zapiše število vaj, ki jih je lahko 5 ali 8.
@Override

protected void onCreate(Bundle savedInstanceState) {

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 57


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_excercise);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FillSeriesData();
excerciseListSize = randomExcerciseContent.size();
button = (Button) findViewById(R.id.nextExcerciseButton);
imageView = (ImageView) findViewById(R.id.imageViewExcercise);
imageView.setImageResource(randomExcerciseContent.get(0).getResourceId());
textView = (TextView) findViewById(R.id.excerciseText);
textView.setText(randomExcerciseContent.get(0).getText());
}

Spodaj je prikazan dogodek, ki je vezan na tipko v Activityju, ki samo menja


besedilo ter spreminja števec, tako da gre iz vaje 0->1, 1->2, itn.
public void nextExcercise(View view){

excerciseListCounter++;
if(excerciseListCounter >= excerciseListSize){
excerciseListCounter = 0;
button.setText("Ponovi vajo");
}
else
button.setText("Naslednja vaja");

imageView.setImageResource(randomExcerciseContent.get(excerciseListCounter).getReso
urceId());

textView.setText(randomExcerciseContent.get(excerciseListCounter).getText());
}
Tu se preveri vse vaje in v primeru, da je prioriteta pravilna (Priority true), to
pomeni, da ima uporabnik ali očala ali delo z računalnikom. Ob tem pogoju dodamo
v skupne vaje še enkrat vaje, tako da je možnost za izvedbo teh vaj 2-krat večja.
public void FillSeriesData(){
ExcerciseContent excercise100 = new ExcerciseContent(slika100,slikaOpis100);
ExcerciseContent excercise101 = new ExcerciseContent(slika101,slikaOpis101);

S to funkcijo se polnijo podatki.


int allExcerciseSize = allExcercises.size();
for (int i = 0; i < allExcerciseSize; i++){
ExcerciseContent tempObjectTest = allExcercises.get(i);
if(tempObjectTest.Priority)
allExcercises.add(tempObjectTest);
}

V primeru, ko vrednost ITM presega 25, se števec counterITM nastavi na 8, kar


pomeni, da se v seriji prikaže 8 vaj, namesto običajnih 5.
int counterITM = 5;

if(Global.ITM > 25)


counterITM = 8;

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 58


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

S tem ukazom se napolni lista s podatki, ki se bodo prikazovali v Activityju. Ukaz se


zavrti tolikokrat, kolikršna je vrednost števca counterITM, ki je prikazan zgoraj.
for (int i = 0; i < counterITM; i++) {
int index = randomGenerator.nextInt(allExcercises.size());
if(!
ExcerciseExistsInCollection(randomExcerciseContent,allExcercises.get(index).Reso
urceId)){
randomExcerciseContent.add(allExcercises.get(index));
}
else
i--;
}

Privatna funkcija, ki se uporablja v zanki opisani zgoraj. Funkcija preverja, če je


vaja v Listi slučajno že zapisana in v tem primeru vrne nazaj vrednost true, tako da
se v zanki vrnemo na eno ponovitev ter jo še enkrat izvedemo.
private boolean ExcerciseExistsInCollection(List<ExcerciseContent>
excerciseList,int resourceId){

for (int i = 0; i < excerciseList.size(); i++){


ExcerciseContent tempObject = excerciseList.get(i);
if(tempObject.ResourceId == resourceId)
return true;
}
return false;
}

5.4. WINDOWS APLIKACIJA

Windows aplikacija ima enake lastnosti in funkcionalnosti ter deluje podobno kot
Android aplikacija. S pomočjo PHP skripte ter parametra GET user_id iz strežnika
pridobi informacije. Uporabniku omogoča spreminjanje določenih lastnosti, kot so
velikost, teža, začetek ter konec dela. Če so lastnosti pravilno vnesene, jih
aplikacija ob pritisku na ukazni gumb pošlje na stežnik. Aplikacija informacije o
uporabniku preko nespremenljivega 'user_id', katerega je potrebno zapisati pri vsaki
aplikaciji posebej, pridobiva ter zapisuje na strežnik. Če želimo, da sta tako Android
kot Windows aplikaciji, kateri uporablja ena oseba, na strežniku povezani na istega
uporabnika, je potrebno v obeh aplikacijah zapisati enak 'user_id'. Odvisno od ITM
uporabnika, katerega aplikacija izračuna, se spreminja časovna pogostost
prikazovanja vaj. Večji kot je ITM, večkrat v dnevu se vadba izvede. Pri vajah
uporabnik s pritiskom na ukaz 'Naslednja' preide na novo vajo. Vaje se pri vsaki seriji
na novo generirajo. Aplikacija se izvaja samo v času, katerega uporabnik vnese kot
delovni čas.

Aplikacija, ki je pripravljena za operacijski sistem Windows, je bila razvita s


pomočjo programskega okolja Visual Studio Community Edition 2015. Aplikacijo,
katera ima strukturo, kot je razvidno iz spodnje slike, smo razvijali lokalno. Za
delovanje jo je potrebno vsakemu uporabniku namestiti na njegov računalnik. Ko
odpremo imenik, kjer smo ustvarili našo aplikacijo Vadba, se nam prikaže drevesna
struktura naše končne aplikacije, vidna na sliki 52. Ob pričetku novega projekta
Visual Studio določene datoteke (Properties, References, Program.cs) sam kreira
takoj pri pripravi projekta, ostale pa smo kreirali tekom izdelave aplikacije.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 59


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Drevesna struktura nam prikazuje ter omogoča dostop do vseh datotek znotraj
našega projekta.

Slika 52: Drevesna struktura

Za našo aplikacijo smo med drugim ustvarili naslednje datoteke, katere so


pomembne za delovanje programa:
 Images, kjer so shranjene vse slike uporabljene v programu;
 Form_Uporabnik.cs, lastnosti ter pravila obrazca oz. okno, kjer se prikažejo
podatki o uporabnikih;
 Form_Vadba.cs, lastnosti ter pravila obrazca oz. okno, kjer se prikažejo
podatki o vadbah.

Ko smo v okolju Microsoft Visual 2015 ustvarili nov projekt, se je v oknu Editor
prikazala osnovna zgradba programa v jeziku C#. Kodo za zagon glavnega programa
smo dopolnili tako, da se nam ob zagonu aplikacije v opravilni vrstici prikaže ikona
aplikacije, kot je prikazana na sliki 53. Ikona se pokaže s funkcijo pi.Display().
using System;
using System.Windows.Forms;

namespace SystemTrayApp
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

using (ProcessIcon pi = new ProcessIcon())


{
pi.Display();

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 60


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Application.Run();
}
}
}
}

Slika 53: Ikona aplikacije v orodni vrstici

Ko se v orodni vrstici prikaže ikona, s klikom desnega gumba na miški sprožimo


prikaz okna, kjer so prikazane aktivnosti, katere lahko izberemo. Na voljo se nam
prikažejo trije izbori, in sicer Vadba, Uporabnik ter Izhod.

S klikom na Vadbo se nam izvede funkcija Vadba_Click, katera nam prikaže okence
FormVadba (slika 54), katero nam prikaže niz vadb, ki so na vrsti za izvajanje.
void Vadba_Click(object sender, EventArgs e)
{
if (!FormVadba.isAboutLoaded)
{
FormVadba.isAboutLoaded = true;
FormVadba.ShowDialog();
FormVadba.isAboutLoaded = false;
}
}

Slika 54: Okno FormVadba

Okno FormVadba na levi strani slikovno prikaže vajo, katera je predvidena za


izvedbo. Desno od slike je opisan pravilen postopek izvedbe vaje. S klikom na gumb
Naslednja se nam prikaže naslednja vaja skupaj z opisom. Okno se zapre s klikom
na gumb OK. Preko obrazca lahko, v kolikor uporabnik trenutno nima časa,
preložimo izvajanje vadbe za 30 minut, eno uro, uro in pol ali na naslednji dan.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 61


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Vrstni red prikazanih vaj za izvajanje je naključen, tako da se ob zagonu aplikacije


prikažejo vaje, katere se v predhodni seriji niso izvajale.
private Int32 NaslednjaSerija()
{
Random rnd = new Random();
Int32 iSerija = rnd.Next(1, 10);

if (ZePrikazaneSerije.IndexOf(iSerija.ToString()) == -1)
{
ZePrikazaneSerije = ZePrikazaneSerije + iSerija.ToString();
}
else
if (ZePrikazaneSerije.Length < 9)
iSerija = NaslednjaSerija();

return iSerija;
}

Glede na izračunan ITM vsakega posameznika, se opomniki za izvedbo vaj izvajajo


v različnih časovnih intervalih. V kolikor je indeks telesne mase manjši od 25 se vaje
izvajajo vsaki dve uri, v nasprotnem primeru pa so vaje pogostejše, in sicer je
določeno, da se izvajajo vsako uro in pol.
try
{
float ITM = float.Parse(FormUporabnik.txtITM.Text,
System.Globalization.CultureInfo.InvariantCulture.NumberFormat);

if (ITM < 25)


{
PonovitevUre = 2;
PonovitevMinute = 0;
}
else
{
PonovitevUre = 1;
PonovitevMinute = 30;
}
}
catch

Če iz menija orodne vrstice izberemo Uporabnik, se izvede funkcija


Uporabnik_Click, ki nam prikaže okence FormUporabnik (slika 55), kateri nam
prikaže podatke o uporabniku.
void Uporabnik_Click(object sender, EventArgs e)
{
if (!FormUporabnik.isAboutLoaded)
{
FormUporabnik.isAboutLoaded = true;
FormUporabnik.ShowDialog();
FormUporabnik.isAboutLoaded = false;
}
}

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 62


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 55: Okno Uporabnik

Okno Uporabnik prikazuje podatke o uporabniku aplikacije, katere pridobi iz


strežnika. Nekatere podatke, kot so npr. višina, teža, začetek dela ter konec dela,
je omogočeno preko tega okna speminjati. V kolikor smo spreminjali podatke, se
le-ti s klikom na gumb OK shranijo v bazo na strežniku. Hkrati se s klikom na gumb
OK zapre tudi okno.

Podatki o uporabniku se z zahtevo sRequestUrl pridobijo preko strežnika s php


skripto get-user-data, katera vsebuje objekte, ki jih potrebujemo za izpis JSON
podatka o uporabniku.
public void LoadUporabnik()
{
string sRequestUrl = "http://86.105.54.126/get-user-data.php?user_id=6";

Response JsonResponse = MakeRequest(sRequestUrl);

if (JsonResponse.error == false)
{
if (JsonResponse.user.Length > 0)
{
txtId.Text = JsonResponse.user[0].userId.ToString();
txtIme.Text = JsonResponse.user[0].name.ToString();
txtPriimek.Text = JsonResponse.user[0].surname.ToString();
txtSpol.Text = JsonResponse.user[0].gender.ToString();
txtVisina.Text = JsonResponse.user[0].height.ToString();
txtTeza.Text = JsonResponse.user[0].weight.ToString();
txtMobilniTel.Text = JsonResponse.user[0].mobilePhone.ToString();
txtDeloZRac.Text = JsonResponse.user[0].worksWithComputer.ToString();
txtOcala.Text = JsonResponse.user[0].glasses.ToString();
txtITM.Text = JsonResponse.user[0].ITM.ToString();
txtZacDela.Text = JsonResponse.user[0].workStart.ToString();
txtKonecDela.Text = JsonResponse.user[0].workEnd.ToString();
}
}
}

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 63


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

6. ZAKLJUČEK
V razvitem svetu ljudje vse več časa preživijo v sedečem položaju, česar posledice
se močno kažejo predvsem pri zdravstvenem stanju. Poslabšano zdravstveno stanje
ter povečano tveganje raznoraznih obolenj, kot posledica premalo gibanja, je
pripeljalo do povečanega razmišljanja o tem, kako v vsakdan vključiti čimveč
gibanja. Ena izmed možnosti je spodbujanje aktivnosti med delovnim časom, s
pomočjo aplikacije. Prav razvoj takšne aplikacije je bil namen diplomske naloge.
Razvoj aplikacije je prikazan tekom celotne naloge.

V diplomskem delu smo se v uvodnem delu seznanili z analizo ter samo uporabnostjo
programske rešitve za vadbo na delovnem mestu.

Po uvodnem pregledu stanja so v nadaljevanju opisane poškodbe ter bolezni,


povezane predvsem z neprimerno držo ter neaktivnostjo na delovnem mestu. Prav
tako so v tem delu prikazane ter opisane vse naloge, katere so zajete v izdelanem
programu. Vaje so prikazane po skupinah za posamezne dele telesa.

Tekom priprave na izdelavo aplikacije smo se seznanili s tehnologijo, s katero smo


razvili aplikacijo. Podrobneje smo pregledali najštevilčnejši mobilni operacijski
sistem Android ter tehnologijo, katera omogoča razvoj aplikacij za operacijski
sistem Android. Dejstvo, da je Android Studio po svojem izidu postal primarno okolje
za razvoj na platformi Android ter glede na to, da ima Android Studio tudi že
vključena razvojna orodja Android, je močno pripomoglo k odločitvi, da je bila
aplikacija izdelana v tem okolju.

Poleg orodij za postavitev strežnika, je v nadaljevanju predstavljeno Microsoftovo


razvojno okolje Visual Studio Community Edition, katero smo uporabili za izdelavo
aplikacije za okolje Windows.

Na koncu diplomske naloge je prikaz razvoja same aplikacije. Najprej je bilo


potrebno na osebnem računalniku postaviti lokalni strežnik ter namestiti vse
potrebno za njegovo delovanje. Prav tako smo namestili orodja za izdelavo Android
ter Windows aplikacije. Po definiranju, kako naj bi aplikacija delovala ter izgledala,
smo v okolju Android Studio izdelali aplikacijo za mobilne telefone.

6.1. OCENA UČINKOV


Vse več podjetij v razvitem svetu se odloča za stimuliranje gibanja zaposlenih, tako
se v zadnjem času že pojavljajo trendi, ko podjetja svojim zaposlenim nudijo
skupinske vadbe, tako v delovnem času kot izven njega. Z razvito aplikacijo lahko
podjetja znižajo stroške najema zunanjih izvajalcev, npr. za izvajanje skupinske
vadbe enkrat tedensko. Aplikacijo je samo potrebno namestiti na mobilno napravo
ali namizni računalnik, nato pa je od uporabnika odvisno, ali bo aplikacijo upošteval
ali ne. Redno izvajanje vadb bi se prav gotovo odražalo na izboljšanem
psihofizičnem stanju uporabnika, kar bi na dolgi rok pomenilo boljše počutje, boljše
zdravje in s tem manj bolniških izostankov. Manj bolniških odsotnosti pa za
delodajalca pomeni manj stroškov ter manj organizacijskih težav pri zagotavljanju
nadomeščanj.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 64


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

6.2. POGOJI ZA UVEDBO


Prototip aplikacije trenutno ni pripravljen za samostojne uporabnike, temveč za
podjetja oz. organizacije, kjer se predvideva, da ima večina v današnjem času
poslovanje že podprto z računalniško opremo. Tako se za uvedbo aplikacije
potrebuje strežnik v okviru organizacije ali npr. strežnik v oblaku, mobilni aparat z
operacijskim sistemom Android ter namizni računalnik z operacijskim sistemom
Windows. Za uporabo s strežnikom, torej vnašanje podatkov, ni nujno, da ima
podjetje zaposlenega informatika, saj je uporaba strežnika zelo preprosta, tako da
se lahko določi skrbnika aplikacije ter se ga priuči ravnanja s strežnikom.

6.3. MOŽNOSTI NADALJNJEGA RAZVOJA

Sam razvoj aplikacije bi lahko šel še korak dlje. Ker je aplikacija v okviru
diplomske naloge izdelana za operacijski sistem Android, bi bilo v naslednjem
koraku možno pripraviti aplikacijo tudi za operacijski sistem iOS. Pred tem bi
bilo potrebno v sodelovanju z oblikovalci izboljšati sam izgled aplikacije.

Prototip aplikacije je pripravljen za namen vadbe v okviru orgaizacije, tako da


bi v prihodnosti lahko nadgradili aplikacijo tudi za uporabnika kot posameznika.
Vendar bi za tak korak potrebovali nekoliko boljšo strojno opremo. Z večanjem
števila uporabnikov, se večajo potrebe po količini spomina ter hitrejšem prenosu
podatkov.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 65


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

LITERATURA IN VIRI
Knjige:
Anderson, B., (1998). Raztezanje za računalnikom in pisalno mizo, Mavrica, Celje.
Bilban, M., (1999). Medicina dela, Zavod za varstvo pri delu, Ljubljana.
Bilban, M., (2001). Vidne zahteve pri delu z računalnikom, Varno in zdravo delo,
Združenje za medicine dela, Kranjska gora.
Bilban, M., (2007). Kako razpoznati stres v delovnem okolju? Delo in varnost:
52/2007/1, Razvoj in znanost. Ljubljana.
Beighley, L. in Morrison, M., (2008). Head First PHP & MySQL, O'Reilly Media.
Godbole, A. S., Kahate, A., (2002). Web Technologies: TCP/IP Architecture and
Java Programming, New Delhi: McGrew-Hill Publishing Inc.
Inštitut Prevent, d.o.o., (1999). Ergonomski priročnik zdravje + znanje + varnost =
uspešnost, Inštitut Prevent, d.o.o., Ljubljana.
Krčevski Škvarč N., (2009). Bolečina v križu, Krka, d.d., Nove mesto.
Powell, T., (1999). Kako premagamo stres, Mladinska knjiga, Ljubljana.
Štamcar, M. in Klemen, S., (2004). PhP in MySQL na spletnem strežniku Apache,
Pasadena.
Zandstra, M., (2004). Naučite se PHP v 24 urah, Pasadena.

Diplomska, magistrska in doktorska dela


Fistrovič Klemen, T., (2012). Učinkovitost nevromišičnega polepljenja na
delovnem mestu – sedeči položaj, Diplomsko delo, Fakulteta za organizacijske
vede, Kranj.
Jurko, A., (2008). Stres med zaposlenimi v zdravilišču Laško, Diplomsko delo,
Fakulteta za organizacijske vede, Kranj.
Kimovec, G., (2015). Aplikacija za prijavo in spremljanje odsotnosti zaposlenih,
Diplomsko delo, Fakulteta za organizacijske vede, Kranj.
Lapajne, M., (2015). Ročaj z merilnikom sile prijema in senzorji fizioloških
odzivov, Diplomsko delo, Fakulteta za elektrotehniko, Ljubljana.
Orthaber, S., (2004). Obvladovanje stresa v delovnem okolju. Diplomsko delo,
Ekonomsko-poslovna fakulteta, Maribor.
Velikanje, T., (2007). Zdravo delo v pisarni. Diplomsko delo, B&B Višja strokovna
šola, Kranj.

Članki:
Jug, M., (2008). Delo ob računalniku povzroča kronična poklicna obolenja na
kosteh in mišicah, Informacijska družba IS 2008, Ljubljana.
Lovše, B., (2004). »Stres na delovnem mestu«, Zdravje, 7, strani 4-6.
Simonič, J., (2002). »Za bolečine v križu je krivo tudi sedenje«, Finance
(http://www.finance.si/18853/Za-bolecine-v-krizu-je-krivo-tudi-
sedenje?metered=yes&sid=465530828), 24.2.2016.

Spletne strani:
Android Developers, dostopno na:
http:developer.android.com/tools/studio/index.html, 18.5.2016

Android emulator, dostopno na


http://developer.android.com/guide/developing/tools/emulator.html, 8.4.2016.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 66


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Android Operating System, dostopno na


https://en.wikipedia.org/wiki/Android_(operating_system), 28.3.2016.

Android SDK, dostopno na http://developer.android.com/studio/install.html,


8.4.2016.

Android – FRI, dostopno na http://android.fri.uni-lj.si/index.php/Platforma,


6.4.2016

API, dostopno na http://developer.android.com/guide/appendix/api-levels.html,


28.3.2016.

IDC, dostopno na http://www.idc.com/prodserv/smartphone-os-market-share.jsp,


3.3.2016.

Kaj je Android?, dostopno na http://slo-android.si/prispevki/kaj-je-android.html,


5.4.2016

MySQL, dostopno na: http://dev.mysql.com/doc/refman/5.7/en/data-type-


overview.html, 5.5.2016.

Microsoft .NET ogrodje, dostopno na:


https://sl.wikipedia.org/wiki/Microsoft_.NET, 8.5.2016.

Microsoft Visual Studio, dostopno na:


https://en.wikipedia.org/wiki/Microsoft_Visual_Studio, 9.5.2016.

Netcraft, dostopno na http://news.netcraft.com/archives/2013/01/31/php-just-


grows-grows.html, 5.5.2016.

PHP, dostopno na http://php.net/manual/en/intro-whatis.php, 5.4.2016.

Sublime Text, dostopno na http://sublimetext.com/, 6.6.2016.

Standardmedia, dostopno na http://www.standardmedia.co.ke, 20.1.2016.

Ubuntu, dostopno na http://askubuntu.com/questions/106159/what-are-point-


releases-in-lts-versions, 23.6.2016.

XAMPP, dostopno na https://www.apachefriends.org/index.html, 5.4.2016.

Workplace Gym, dostopno na http://www.bogatirev.net, 15.1.2016.

Zgodovina Android različic, dostopno na


https://en.wikipedia.org/wiki/Android_version_history, 30.3.2016.

http://android.fri.uni-lj.si/index.php/Platforma, 4.4.2016.

http://duos-active.si/vadbe/vadba-na-delovnem-mestu/, 15.2.2016.

http://iri-lj.si/index.php/sl/publikacije/78-nova-publikacija, 22.2.2016.

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 67


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

http://news.netcraft.com/archives/2013/01/31/php-just-grows-grows.html,
5.5.2016.

http://slo-android.si/prispevki/kaj-je-android.html, 6.4.2016.

http://tocka-zdravja.gzs.si/, 17.5.2016.

http://www.openhandsetalliance.com/android_overview.html, 4.4.2016.

http://www.racunalniske-novice.com/novice/mobilna-telefonija/operacijski-
sistemi/android/kaksne-novosti-prinasa-android-
42.html?RSScd0f1cfb02d57ae58bfda63f0ee27df8, 28.3.2016.

http://www.racunalniske-novice.com/triki/android-51-na-voljo-za-vse-naprave-
nexus.html?RSSf9e91798ffa22eef97d3e2a0702bcb1c, 28.3.2016.

http://www.standardmedia.co.ke/business/article/2000181753/research-
exercising-at-work-boosts-happiness-productivity, 18.2.2016.

https://gizzmo.si/blog/novi-android-je-kitkat-4-4/, 30.3.2016.

https://issuu.com/zdravenovice/docs/zn_maj13/59 (Prebil Andreja), 17.5.2016.

http://lopes1.fov.uni-mb.si/, 24.3.2016.

https://osha.europa.eu/sl/tools-and-publications/publications/factsheets/93,
18.2.2016.

https://sites.google.com/site/androidinfsi/home/razlicice-androida, 30.3.2016.

Poročila, interni dokumenti:


KinVital (2016), Kaj vsaki dve uri naredim za svoje zdravje?, plakat za projekt
Točka promocije zdravja.
Rajkovič, V., (2006), Baze podatkov, dosegljivo na: http://lopes1.fov.uni-mb.si/,
28.4.2016.

KAZALO SLIK
Slika 1: Raztezanje zapestij in podlakti (Vir: Anderson, B., 1998) 10
Slika 2: Raztezanje rok, prstov in zapestij (Vir: Anderson, B., 1998) 11
Slika 3: Raztezanje prstov (Vir: Anderson, B., 1998) 11
Slika 4: Raztezanje zapestij (Vir: Anderson, B., 1998) 11
Slika 5: Raztezanje zapestij in podlakti (Vir: Anderson, B., 1998) 12
Slika 6: Izboljševanje krvnega obtoka (Vir: Anderson, B., 1998) 12
Slika 7: Raztezanje zapestij, podlakti in rok (Vir: Anderson, B., 1998) 13
Slika 8: Raztezanje ramen, hrbta, lakti in rok (Vir: Anderson, B., 1998) 13
Slika 9: Raztezanje ramen, lakti, zapestij in prstov (Vir: Anderson, B., 1998) 13
Slika 10: Raztezanje ramen in vratu (Vir: Anderson, B., 1998) 14

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 68


Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

Slika 11: Raztezanje ramen, prsi in zgornjega dela hrbta (Vir: Anderson, B., 1998) 14
Slika 12: Raztezanje ramen, hrbtne strani nadlakti in vratu (Vir: Anderson, B., 1998) 14
Slika 13: Raztezanje lakti, prsi, rok in ramen (Vir: Anderson, B., 1998) 15
Slika 14: Raztezanje hrbta (Vir: Anderson, B., 1998) 15
Slika 15: Raztezanje križa, bokov ob strani in vratu (Vir: Anderson, B., 1998) 16
Slika 16: Raztezanje hrbta in stranskih mišic na trupu in bokih (Vir: Anderson, B., 1998) 16
Slika 17: Raztezanje zadnje stegenske mišice in križa (Vir: Anderson, B., 1998) 16
Slika 18: Raztezanje vratu, ramen, lakti, zgornjega dela hrbta (Vir: Anderson, B., 1998) 17
Slika 19: Raztezanje stranskega dela vratu (Vir: Anderson, B., 1998) 17
Slika 20: Raztezanje vratu (Vir: Anderson, B., 1998) 18
Slika 21: Raztezanje stranskih mišic vratu (Vir: Anderson, B., 1998) 18
Slika 22: Raztezanje gležnjev in izboljšanje prekrvavitve (Vir: Anderson, B., 1998) 19
Slika 23: Raztezanje sprednjega dela stegen, gležnjev in kolen (Vir: Anderson, B., 1998) 19
Slika 24: Raztezanje meč (Vir: Anderson, B., 1998) 20
Slika 25: Raztezanje notranjih stegenskih mišic in dimelj (Vir: Anderson, B., 1998) 20
Slika 26: Pogled v daljavo (Vir: Workplace Gym, 2016) 21
Slika 27: Kroženje z očmi (Vir: Workplace Gym, 2016) 22
Slika 28: Masaža oči (Vir: Workplace Gym, 2016) 22
Slika 29: Sproščanje oči (Vir: Workplace Gym, 2016) 22
Slika 30: Mežikanje (Vir: Workplace Gym, 2016) 23
Slika 31: Pritisk na prsi (Vir: Anderson, B., 1998) 23
Slika 32: Dviganje na nožne prste (Vir: Anderson, B., 1998) 24
Slika 33: Sklece ob pisalni mizi (Vir: Anderson, B., 1998) 24
Slika 34: Četrt počepa (Vir: Anderson, B., 1998) 24
Slika 35: Predklon v počepu (Vir: KinVital, 2016) 25
Slika 36: Razprtje komolcev (Vir: KinVital, 2016) 25
Slika 37: Ramena nazaj(Vir: KinVital, 2016) 25
Slika 38: Počep z oporo (Vir: KinVital, 2016) 26
Slika 39: Dvig na prste (Vir: KinVital, 2016) 26
Slika 40: Razteg zadnje lože v opori na eni nogi (Vir: KinVital, 2016) 26
Slika 41: Počepi (Vir: KinVital, 2016) 27
Slika 42: Priteg lopatic (Vir: KinVital, 2016) 27
Slika 43: Izpadni korak s peto na tleh (Vir: KinVital, 2016) 27
Slika 44: Android Studio 2.1.2 33
Slika 45: PHPMyAdmin 38
Slika 46: Izgled urejevalnika Sublime Text 3 39
Slika 47: MobaXterm 39
Slika 48: Struktura komponent ogrodja .NET (Vir: Microsoft .NET, 2016) 40
Slika 49: Časovna podpora posodobitev Ubuntu (Vir: Ubuntu, 2016) 43
Slika 50: ER diagram 43
Slika 51: Android aplikacija – prikaz vadbe, uporabnika, opozorilo 51
Slika 52: Drevesna struktura 60
Slika 53: Ikona aplikacije v orodni vrtici 61
Slika 54: Okno FormVadba 61
Slika 55: Okno Uporabnik 63

KAZALO TABEL
Tabela 1: Stres na delovnem mestu – pomembni povzročitelji (Bilban, 2007) 8
Tabela 2: Delež operacijskih sistemov (Vir: IDC, Aug 2015) 28

Aleš Petek: Programska rešitev za vadbo na delovnem mestu stran 69

You might also like