aplikacija mobilni ocenjevalec moodle na … · pametni telefoni so znani tudi kot dlan čniki, ki...

75
APLIKACI MOOD S Bojan Križanec IJA MOBILNI OCENJEV DLE NA OPERACIJSKE SISTEMU ANDROID Diplomsko delo Maribor, julij 2012 VALEC EM

Upload: others

Post on 05-Feb-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

APLIKACIJA MOBILNI OCENJEVALEC

MOODLE

SISTEMU ANDROID

Bojan Križanec

APLIKACIJA MOBILNI OCENJEVALEC

MOODLE NA OPERACIJSKEM

SISTEMU ANDROID

Diplomsko delo

Maribor, julij 2012

APLIKACIJA MOBILNI OCENJEVALEC

NA OPERACIJSKEM

Page 2: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

APLIKACIJA MOBILNI OCENJEVALEC

MOODLE NA OPERACIJSKEM

SISTEMU ANDROID

Diplomsko delo

Študent: Bojan Križanec

Študijski program: Fakulteta za elektrotehniko računalništvo in informatiko –

FERI RI – VS

Smer: Logika in sistemi

Mentor prof. dr. Janez Brest

Somentor: doc. dr. Iztok Fister

Lektor: Primož Gmeiner, univ. dipl. prev. in tolm. za ang. jez. ter prof.

slovenščine

Page 3: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

i

Page 4: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

ii

ZAHVALA

Mentorju se zahvaljujem za pomoč in nasvete pri

pripravi diplomskega dela, prav tako pa se

zahvaljujem somentorju.

Hvala tudi podjetju Raiffeisen Banka d. d. za

financiranje študija ter sodelavcem za podporo in

pomoč pri študiju. Zlasti pa se zahvaljujem Mihu

Gaberšku za pomoč pri izvedbi diplomskega dela

in podjetju Telekom d. d., ki mi je posodilo mobilni

telefon za preskušanje.

Posebna zahvala gre družini in prijateljem, ki so mi

stali ob strani in me spodbujali v težkih trenutkih

študija.

Page 5: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

iii

Mobilni ocenjevalec Moodle na operacijskem

sistemu Android

Ključne besede: Android, mobilna platforma, mobilna omrežja, razvoj programske

opreme, Moodle.

UDK: 004.42:004.77(043.2)

Povzetek

V tem diplomskem delu predstavljamo rešitev mobilnega ocenjevanja študentov v učnem

sistemu Moodle na mobilnih napravah Android. Podajamo tudi kratek zgodovinski razvoj

mobilne telefonije in nekaterih pomembnejših mobilnih operacijskih sistemov. Podrobneje

opisujemo sistem Android, podatkovno zbirko SQLite, mobilne komunikacije, spletne

storitve in učni sistem Moodle. Na koncu je predstavljena še uporaba mobilne aplikacije.

Page 6: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

iv

Moodle mobile-grader application on Android

Key words: Android, mobile platform, mobile networks, software development,

Moodle.

UDK: 004.42:004.77(043.2)

Abstract

In this thesis, we have demonstrated a solution how to implement a mobile assessment of

students in learning system Moodle on Android mobile devices. We have presented a

brief historical development of mobile telephony and some of the major mobile operating

systems. The Android system, SQLite database, mobile communications, internet

services and learning system Moodle are described in detail. At the end, we have

demonstrated the use of the given mobile application.

Page 7: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

v

KAZALO VSEBINE

1 UVOD .............................................................................................................. 1

1.1 CILJI IN TEZE DIPLOMSKEGA DELA ................................................................................. 1

1.2 PREDPOSTAVKE IN OMEJITVE DIPLOMSKEGA DELA ................................................... 1

1.3 PREDVIDENE METODE DIPLOMSKEGA DELA ................................................................. 1

2 MOBILNO IN VSEPRISOTNO RAČUNALNIŠTVO ........................................ 2

2.1 MOBILNE NAPRAVE ............................................................................................................ 3

2.1.1 Pametni telefoni .............................................................................................................. 4

2.2 MOBILNA OMREŽJA ............................................................................................................ 5

2.3 MOBILNE PLATFORME ....................................................................................................... 8

2.3.1 Android ........................................................................................................................... 8

2.3.2 Podatkovna zbirka SQLite ............................................................................................ 11

2.4 MOBILNE APLIKACIJE ...................................................................................................... 14

2.4.1 Razvoj mobilnih aplikacij .............................................................................................. 16

2.5 SPLETNE STORITVE .......................................................................................................... 18

2.5.1 Storitveno usmerjena arhitektura ................................................................................. 18

2.5.2 Spletna storitev Moodle ................................................................................................ 22

3 MOBILNI OCENJEVALEC ............................................................................ 25

3.1 OPIS ZAHTEVE ................................................................................................................... 25

3.2 KONCEPT REŠITVE............................................................................................................ 26

3.2.1 Pregled arhitekture ....................................................................................................... 26

3.2.2 Pregled funkcionalnosti ................................................................................................ 27

3.3 RAZVOJ REŠITVE............................................................................................................... 30

3.3.1 Logični pregled ............................................................................................................. 30

3.3.2 Uporabniški vmesnik .................................................................................................... 31

3.3.3 Podatkovna zbirka ........................................................................................................ 40

3.3.4 Komunikacijski modul ................................................................................................... 41

Page 8: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

vi

4 DELOVANJE APLIKACIJE ........................................................................... 42

4.1 UPORABNIŠKI VMESNIK ................................................................................................... 42

4.1.1 Zagon in prijava v aplikacijo ......................................................................................... 42

4.1.2 Nastavitev parametrov aplikacije .................................................................................. 43

4.1.3 Prenos podatkov ........................................................................................................... 44

4.1.4 Ocenjevanje .................................................................................................................. 44

4.1.5 Reševanje konfliktov ..................................................................................................... 45

4.2 PRESKUS DELOVANJA ..................................................................................................... 46

4.2.1 Preskusno okolje .......................................................................................................... 46

4.2.2 Preskusni podatki ......................................................................................................... 48

4.2.3 Scenariji uporabe .......................................................................................................... 49

4.3 REZULTATI .......................................................................................................................... 52

5 SKLEP ........................................................................................................... 53

6 VIRI ................................................................................................................ 54

7 PRILOGE .......................................................................................................... I

A. LASTNOSTI PROGRAMSKE OPREME .................................................................................... I

B. NAMESTITEV ........................................................................................................................... III

C. OSEBNI PODATKI.................................................................................................................... IV

Page 9: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

vii

KAZALO SLIK

SLIKA 2.1: HTC DREAM ...................................................................................................................................... 8

SLIKA 2.2: SISTEMSKA ARHITEKTURA ANDROID (VIR: [4].) .............................................................................. 11

SLIKA 2.3: SQLITE, VSTAVLJENA V GOSTUJOČE PROCESE (VIR: [25].) .............................................................. 12

SLIKA 2.4: ARHITEKTURA SQLITE (VIR: [25].) ................................................................................................... 13

SLIKA 2.5: ŽIVLJENJSKI CIKEL APLIKACIJE ANDROID (VIR: [26].)....................................................................... 15

SLIKA 2.6: RAZVOJNO OKOLJE ECLIPSE ............................................................................................................ 17

SLIKA 2.7: PRIMER ZGRADBE XML (VIR: [30].) ................................................................................................. 19

SLIKA 2.8: PREGLED ZAHTEV SOA (VIR: [29].) .................................................................................................. 20

SLIKA 2.9: FORMAT JSON (VIR: [34].) .............................................................................................................. 22

SLIKA 3.1: ARHITEKTURA ODJEMALCA/STREŽNIKA ......................................................................................... 26

SLIKA 3.2: DIAGRAM UPORABE ....................................................................................................................... 27

SLIKA 3.3: DIAGRAM PREHAJANJA STANJ OCENE V ODJEMALCU ................................................................... 28

SLIKA 3.4: MOODLE TABELE............................................................................................................................. 29

SLIKA 3.5: ZGRADBA ODJEMALCA ................................................................................................................... 30

SLIKA 3.6: POVEZAVA AKTIVNOSTI .................................................................................................................. 31

SLIKA 3.7: DIAGRAM POTEKA AKTIVNOSTI LOGIN .......................................................................................... 32

SLIKA 3.8: DIAGRAM POTEKA AKTIVNOSTI MENU .......................................................................................... 33

SLIKA 3.9: DIAGRAM POTEKA AKTIVNOSTI SETUP ........................................................................................... 34

SLIKA 3.10: DIAGRAM POTEKA AKTIVNOSTI GRADE........................................................................................ 36

SLIKA 3.11: DIAGRAM POTEKA AKTIVNOSTI DATA .......................................................................................... 37

SLIKA 3.12: DIAGRAM POTEKA AKTIVNOSTI CONFLICT ................................................................................... 39

SLIKA 3.13: PODATKOVNA ZBIRKA OCENJEVALCA .......................................................................................... 40

SLIKA 4.1: UPORABNIŠKI VMESNIK LOGIN ....................................................................................................... 42

SLIKA 4.2: UPORABNIŠKI VMESNIK MENU....................................................................................................... 43

SLIKA 4.3: UPORABNIŠKI VMESNIK SETUP ....................................................................................................... 43

SLIKA 4.4: UPORABNIŠKI VMESNIK DATA ........................................................................................................ 44

SLIKA 4.5: UPORABNIŠKI VMESNIK GRADE ...................................................................................................... 45

SLIKA 4.6: UPORABNIŠKI VMESNIK CONFLICT ................................................................................................. 46

SLIKA 4.7: PRESKUSNO OKOLJE (EMULATOR ANDROID IN TELEFON) ............................................................. 47

SLIKA 4.8: PRESKUSNO OKOLJE (POVEZAVA WLAN-WLAN) ............................................................................ 47

SLIKA 4.9: PRESKUSNO OKOLJE (POVEZAVA WLAN-LAN) ................................................................................ 48

SLIKA 4.10: UPORABNIKI NA STREŽNIKU MOODLE ......................................................................................... 48

SLIKA 4.11: NALOGE PREDMETA NA STREŽNIKU MOODLE ............................................................................. 48

Page 10: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

viii

SLIKA 4.12: VNOS NASLOVA STREŽNIKA .......................................................................................................... 49

SLIKA 4.13: PRENOS PODATKOV ...................................................................................................................... 49

SLIKA 4.14: IZBIRA OCENJEVALCA IN OCENJEVANJE ....................................................................................... 50

SLIKA 4.15: PRISOTNOST KONFLIKTOV IN NJIHOVO REŠEVANJE ..................................................................... 50

KAZALO TABEL

TABELA 2.1: DELEŽ MOBILNIH PLATFORM ........................................................................................................ 5

TABELA 2.2: RAZLIČICE OPERACIJSKEGA SISTEMA ANDROID .......................................................................... 10

Page 11: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

ix

UPORABLJENE KRATICE

AES – Advanced Encryption Standard

CCMP – Cipher Block Chaining Message Authentication Code Protocol

EAP – Extensible Authentication Protocol

EDGE – Enhanced Data rates for Global Evolution

GPS – Global Positioning System

GPRS – General Packet Radio Service

GSM – Global System for Mobile communications

HDTV – High-definition television

HSPA+ – High-speed Packet Access

HSDPA – High Speed Downlink Packet Access

HTTP – HyperText Transfer Protocol

HTTPS – HyperText Transfer Protocol Secure

IrDA – Infrared Data Association

JSON – JavaScript Object Notation

LAN – Local Area Network

LTE – Long term Evolution

MIME – Multipurpose Internet Mail Extensions

MMS – Multimedia Messaging Service

MOODLE – Modular Object-Oriented Dynamic Learning Environment

NMT – Nordic Mobile Telephone

NTT – Nippon Telegraph and Telephone

PSK – Pre-shared Key

RADIUS – Remote Authentication Dial In User Service

REST – Representational State Transfer

RFID – Radio-frequency identification

RPC – Remote Procedure Call

SMS – Short Message Service

SOA – Service Oriented Architecture

SOAP – Simple Object Access Protocol

SSL – Secure Socket Layer

TKIP – Temporal Key Integrity Protocol

TLS – Transport Layer Security

UDDI – Universal Description, Discovery and Integration

Page 12: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

x

UID – User identifier

UMTS – Universal Mobile Telecommunications System

VoIP – Voice over Internet Protocol

WAP – Wireless Application Protocol

WEP – Wired Equivalent Privacy

Wi-Fi – Wireless Fidelity

WiMAX – Worldwide Interoperability for Microwave Access

WLAN – Wireless Local Area Network

WPA/WPA2 – Wi-Fi Protected Access

WSDL – Web Services Description Language

WWW – World Wide Web

XML – Extensible Markup Language

Page 13: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

1

1 UVOD

V diplomskem delu želimo izdelati aplikacijo mobilni ocenjevalec Moodle in prikazati njeno

delovanje na mobilnem telefonu z odprtokodnim operacijskim sistemom Android.

1.1 CILJI IN TEZE DIPLOMSKEGA DELA

V nalogi želimo doseči naslednje cilje:

– preučiti operacijski sistem Android za mobilne telefone, arhitekturo mobilnih

aplikacij in načine povezovanja mobilnih naprav v spletno omrežje prek mobilnega

lokalnega omrežja WLAN,

– preučiti storitveno usmerjeno arhitekturo (angl. Service Oriented Architecture,

krajše SOA) skupaj s komunikacijskimi protokoli XML, SOAP, UDDI in WDSL,

– seznaniti se s programskimi orodji za razvoj vseprisotnih aplikacij (Eclipse JDT,

Android SDK),

– izdelati mobilno aplikacijo za operacijski sistem Android v razvojnem okolju

Eclipse JDT in jo preskusiti v praksi.

1.2 PREDPOSTAVKE IN OMEJITVE DIPLOMSKEGA

DELA

Diplomsko delo je omejeno samo na mobilne telefone z operacijskim sistemom Android in

programskim okoljem Java.

1.3 PREDVIDENE METODE DIPLOMSKEGA DELA

Pri pripravi diplomskega dela uporabimo deskriptivne in komparativne metode s

preučitvijo domače in tuje literature. Na podlagi pridobljenega znanja izdelamo realno

aplikacijo in analiziramo njeno delovanje v praksi.

Page 14: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

2

2 MOBILNO IN VSEPRISOTNO RAČUNALNIŠTVO

Mobilno in vseprisotno računalništvo sta pojma, s katerima se srečujemo vsakodnevno na

vseh področjih in ki nas dejansko spremljata na vsakem koraku (doma, v službi, trgovini,

avtomobilu, javnem prevozu, pri športnih dejavnostih in zabavi itd.).

Idejni oče vseprisotnega (angl. Ubiquitous) računalništva je ameriški znanstvenik Mark

Weiser, ki je leta 1991 izpostavil njegova osnovna načela:

– namen računalnika je, da vam pomaga narediti nekaj drugega;

– najboljši računalnik je tihi, nevidni služabnik;

– več kot lahko narediš z intuicijo, pametnejši si – računalnik bi moral razširiti svojo

nezavednost;

– tehnologija bi morala ustvariti mir, kar pomeni, da bi računalnik moral biti tisti, ki

obvešča, vendar ne zahteva naše pozornosti.

Vseprisotno računalništvo pomeni tretji val v računalništvu, ki se začenja zdaj. Najprej so

bili veliki računalniki, ki si jih je delilo veliko ljudi. Zdaj smo v dobi osebnega računalništva,

ko imamo vsak svoj računalnik. Sledi vseprisotno računalništvo ali doba mirne tehnologije,

ki se izgubi v našem družbenem okolju [1].

Zamisli tega računalništva so:

– izginjajoča strojna oprema (angl. Disappearing Hardware),

– razširjena in navidezna resničnost (angl. Augmented Reality, Virtual Reality),

– interakcija človek – računalnik (angl. Human-Computer Interaction, krajše HCI),

– brezžična komunikacija (angl. Wireless Communication),

– satelitska navigacija (angl. Global Positioning System, krajše GPS),

– pametne kartice (angl. Smart-Cards) in radiofrekvenčna identifikacija (angl. Radio-

Frequency Identification, krajše RFID),

– odkrivanje varnostnih storitev (angl. Security Service Discovery).

Vseprisotno računalništvo temelji na mobilnih napravah. Mobilne naprave, povezane na

splet prek mobilnih omrežij, tvorijo zapleten ekosistem, katerega deli delujejo v simbiozi.

Mobilni ekosistem sestavljajo naslednji elementi:

– mobilne naprave,

– mobilna omrežja,

Page 15: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

3

– mobilne platforme,

– mobilne aplikacije in

– spletne storitve.

Navedeni elementi so podrobneje predstavljeni v nadaljevanju.

2.1 MOBILNE NAPRAVE

Z razvojem elektronike in računalniškega programiranja je nastalo veliko število naprav, ki

jih uporabljamo vsakodnevno. Takšne vseprisotne naprave delimo glede na namen

uporabe na:

– naprave za dostop do informacijskih storitev (angl. Information access services), ki

jih zastopajo pametni telefoni in inteligentne naprave (angl. Intelligent appliances),

kot je GPS,

– naprave za nadzor (angl. Smart control), ki vključujejo različne senzorje, pametne

kartice, sisteme za radijska identifikacijo (RFID),

– naprave za zabavo (angl. Entertainment system), kot so kamere, spletna televizija

(angl. Internet Protocol Television, krajše IPTV) ter glasbeni in video predvajalniki.

Te naprave se z drugimi napravami v lokalnem omrežju povezujejo prek žičnih (USB,

LAN) ali brezžičnih (IrDA, Bluetooth, WLAN) omrežij, na splet se povezujejo prek

brezžičnih (WLAN) ali mobilnih omrežij (GSM, GPRS, EDGE, UMTS), nekatere pa se

povezujejo tudi v sisteme GPS. Od navedenih mobilnih naprav se najpogosteje

uporabljajo pametni telefoni, ki se jim bomo povsem posvetili v nadaljevanju. Ti so dovolj

majhni za prenašanje in zmogljivi, saj nam z vgrajenimi moduli (fotoaparat, GPS, WLAN,

Bluetooth, radio itd.) in naloženimi aplikacijami omogočajo najrazličnejše dejavnosti, kot

so:

– brskanje po spletu in dostop do družabnih omrežij,

– navigacija z vgrajenimi sprejemniki GPS in naloženimi zemljevidi,

– fotografiranje in snemanje videov,

– poslušanje radia in predvajanje glasbenih datotek,

– gledanje videoposnetkov in televizije,

– igranje iger,

– snemanje zvokov,

– pisanje zapiskov,

– branje dokumentov, elektronskih knjig in revij,

Page 16: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

4

– pošiljanje in branje sporočil SMS in MMS ter e-pošte in

– telefoniranje.

Poleg zgoraj naštetih funkcionalnosti so v vseh mobilnih operacijskih sistemih nameščeni

še različni pripomočki (računalo, koledar, pretvorniki valut itd.). Prav tako se nenehno

daljša seznam različnih aplikacij, ki jih lahko naložimo na telefon bodisi brezplačno bodisi

za plačilo že od nekaj evrov naprej.

2.1.1 Pametni telefoni

Pametni telefon je mobilni telefon, ki ponuja naprednejše računalniške zmogljivosti in

povezljivost kot sodobni osnovnofunkcijski telefoni. Pametni telefoni so znani tudi kot

dlančniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so

zmožni poganjati aplikacije, ki so razvite na platformi Java, mikro izdaja (angl. Micro

Edition, krajše ME). Pametni telefoni uporabniku dopuščajo, da sam naloži in zaganja

zahtevnejše aplikacije ter poganjajo platforme, ki so narejene v prid razvijalcem aplikacij.

Lahko jih štejemo za osebne žepne računalnike z dodanimi funkcijami mobilnega telefona,

saj so ti telefoni navadni računalniki, vendar veliko manjši.

Rast povpraševanja po pametnih telefonih z zmogljivim procesorjem, veliko spomina,

velikimi zasloni in odprtim operacijskim sistemom je trg povprečnih telefonov prehitela za

več let [2]. Glede na študijo podjetja ComScore [3] je bilo v letu 2011 več kot 97,9 milijona

ljudi v ZDA, starejših od 13 let, lastnikov pametnih telefonov.

V današnjem času imamo na tržišču veliko proizvajalcev pametnih telefonov in

operacijskih sistemov. Med najbolj razširjenimi so naslednji operacijski sistemi, ki smo jih

razvrstili po abecednem redu in jim pripisali nekaj večjih proizvajalcev mobilnih naprav, ki

jih uporabljajo:

– Android (Acer, HTC, LG, Motorola, Samsung, Sony) [4],

– BlackBerry (RIM) [5],

– iOS (Apple) [6],

– Symbian (Motorola, Nokia, Panasonic, Samsung, Sony Ericsson) [7],

– Windows Phone (Acer, Dell, Fujitsu, HTC, LG, Nokia, ZTE) [8].

Android je postal najbolj razširjen mobilni OS v letu 2010, kot kaže tabela 2.1.

Page 17: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

5

Tabela 2.1: Delež mobilnih platform

2.2 MOBILNA OMREŽJA

Prvo komercialno celično omrežje je leta 1979 v Tokiu postavilo japonsko telegrafsko in

telefonsko podjetje Nippon Telegraph and Telephone (NTT), pri čemer je šlo za mestno

omrežje. V naslednjih petih letih se je razširilo in pokrilo območje celotne Japonske in tako

postalo prvo nacionalno omrežje 1G. Leta 1981 je nastal podoben sistem NMT tudi v

skandinavskih državah, ki je bil edino mobilno omrežje z možnostjo mednarodnega

gostovanja [9]. Prvo generacijo 1G predstavljajo standardi, katerih značilnost so analogni

radijski signali za povezavo do radijskih anten. V naslednjih letih se je razvoj na področju

mobilnih komunikacij neprestano širil in izpopolnjeval z uporabo digitalne tehnologije.

Vsaka naslednja generacija je prinesla številne izboljšave in večje hitrosti prenosa

podatkov. Pomembnejše od njih so:

1. Generacija 2G: objavljena leta 1991, digitalna tehnologija: – standard:

• globalni sistem za mobilne komunikacije (angl. Global Sistem for Mobile Communication, krajše GSM),

– storitve: • besedilna sporočila (angl. Short Message System, krajše SMS) in • elektronska pošta.

2. Generacija 2.5G: – standardi:

• splošna paketna radijska storitev (angl. General Packet Radio Service, krajše GPRS),

Page 18: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

6

• brezžični aplikacijski protokol (angl. Wireless Application Protocol, krajše WAP),

– storitve: • večpredstavnostna sporočila (angl. Multimedia Messaging Service,

krajše MMS) in • internetne storitve (angl. World Wide Web, krajše WWW).

3. Generacija 2.75G: – tehnologija:

• nadgrajene podatkovne hitrosti v razvoju GSM (angl. Enhanced Data rates for GSM Evolution, krajše EDGE) [10].

4. Generacija 3G: objavljena leta 2001: – tehnologije:

• univerzalni mobilni telekomunikacijski sistem (angl. Universal Mobile Telecommunications System, krajše UMTS),

• visokohitrostni paketni dostop (angl. High Speed Packet Access, krajše HSPA+),

• visokohitrostni paketni prenos (angl. High Speed Downlink Packet Access, krajše HSDPA,

– storitve: • videokonferenca, • prenos video- in TV-vsebin [11].

5. Generacija 4G: objavljena leta 2011: – standardi:

• dolgoročni razvoj (angl. Long term evolution, krajše LTE), • brezžični širokopasovni prenos podatkov (angl. Worldwide

Interoperability for Microwave Access, krajše WiMAX), – storitve:

• prenos govora prek internetnega protokola (angl. Voice over Internet Protocol, krajše VoIP),

• televizija visoke ločljivosti (angl. High-definition television, krajše HDTV),

• 3D-televizija [12]. 6. Generacija 5G: v razvoju.

Za mobilno komunikacijo se šteje komunikacija, ki jo uporabljamo za brezžično povezavo

mobilnih naprav v omrežja. Med najpogosteje uporabljanimi so že omenjeni UMTS (3G)

[12], Bluetooth [13] in Wi-Fi [14], ki ga uporabljamo v naši aplikaciji.

Brezžično omrežje Wi-Fi (angl. Wireless Fidelity) deluje v dveh frekvenčnih območjih

(standard 802.11a – 5 GHz ter standarda 802.11b in 802.11g – 2,4 GHz) z hitrostjo do

54 Mbit/s, novejši standard 802.11n pa naj bi dosegal hitrost do 540 Mbit/s. Značilne

Page 19: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

7

dostopne točke (angl. access point) do brezžičnega omrežja uporabljajo standard 802.11b

ali 802.11g. Njihov doseg je do 32 m v zaprtih prostorih oziroma do 95 m na prostem.

Uporablja se za dostop mobilnih naprav do interneta ali lokalnega omrežja prek dostopnih

točk WLAN (zasebna domača in poslovna omrežja, javna omrežja univerz, hotelov,

različnih informacijskih točk ipd.) [14].

Za varnejše povezovanje v brezžično omrežje uporabljamo naslednje standarde šifriranja:

– standard zasebnosti kot v žičnem omrežju (angl. Wired Equivalent Privacy, krajše

WEP) je izviren standard šifriranja brezžičnih omrežij. Kot kaže ime, je bil njegov

namen vzpostaviti raven varnosti brezžičnih omrežij na raven navadnih. Vendar

mu to žal ni uspelo, saj so bile napake hitro odkrite in izkoriščene. Na voljo je

precej odprtokodnih programov, ki jih napadalci uporabljajo za vlom z iskanjem

vzorcev v šifriranju. WEP delimo glede na velikost ključev. Pogosti dolžini sta 128

in 256 bitov. Daljši kot je ključ, boljša je varnost pred napadalci [15].

– standard zaščitenega brezžičnega dostopa (angl. Wi-Fi protected access, krajše

WPA) [16] je zgodnja različica varnostnega standarda 802.11i, ki ga je za

nadomestitev WEP razvila organizacija Wi-Fi Alliance. Šifrirni protokol za

zagotavljanje začasne integritete (angl. Temporal Key Integrity Protocol, krajše

TKIP) je bil razvit kot izboljšava za WEP, ki bi se lahko kot strojna oprema naložila

tudi na sedanje naprave 802.11 [17]. WPA prav tako ponuja omejeno podporo za

napredni standard šifriranja (angl. Advanced Encryption Standard, krajše AES)

[18], za katerega obstajata dve različici:

• WPA Enterprise je narejen za poslovna omrežja in zahteva

avtentikacijski strežnik RADIUS. To zahteva bolj zapleteno postavitev,

hkrati pa zagotavlja dodatno varnost (npr. zaščita pred napadi iz slovarja

na kratkih geslih). Za avtentikacijo uporablja razširljiv avtentikacijski

protokol (angl. Extensible Authentication Protocol, krajše EAP) [19].

• WPA Personal je namenjen za uporabo v domačih ali manjših poslovnih

omrežjih. Za varno povezavo uporablja deljeni zasebni ključ (angl. Pre-

shared Key, krajše PSK) [20]. Vsaka naprava v brezžičnem omrežju

dostopne točke uporablja isti 256-bitni ključ, ki je ustvarjen iz gesla ali

fraze, vpisane na dostopni točki.

Standard WPA2 je ime za dokončan standard 802.11i. Glavna razlika med WPA2 in WPA

je polna podpora algoritmu AES-CCMP [21]. Oba standarda – WPA in WPA2 – podpirata

avtentikacijske metode EAP, ki uporabljajo strežnike RADIUS in ključe PSK.

Page 20: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

8

2.3 MOBILNE PLATFORME

Mobilna platforma zajema vrsto arhitekture, operacijski sistem, razvojno in izvajalno

okolje, ki je prilagojeno za mobilne naprave. Danes je v uporabi nekaj različnih mobilnih

platform, ki smo jih že navedli v poglavju 2.1:

– Android, – Blackberry, – iOS, – Symbian in – Windows Phone.

V nadaljevanju obravnavamo samo mobilno platformo Android, saj je naša aplikacija

napisana zanjo.

2.3.1 Android

Android je izšel leta 2008 ter je odprtokodni (temelji na odprtokodnem operacijskem

sistemu Linux) operacijski sistem za pametne telefone in ostale prenosne naprave.

Proizvedlo ga je podjetje Google, in sicer skupaj z drugimi proizvajalci strojne in

programske opreme (npr. Intel, HTC, ARM, Motorola, Samsung).

Prvi pametni telefon s sistemom Android je bil HTC Dream (slika 2.1), znan tudi kot T-

Mobile G1. Programska oprema je vsebovala tudi Googlove aplikacije, kot so zemljevid,

koledar, Gmail in brskalnik.

Slika 2.1: HTC Dream

Za razvoj operacijskega sistema Android je najzaslužnejše podjetje Google, ki je zaradi

tega ustanovilo poslovno združenje več podjetij, imenovano Open Handset Alliance

(OHA), ter pod svoje okrilje vzelo hitro rastoče podjetje Android Inc. Poslovno združenje

so ustanovili oziroma predstavili javnosti 5. novembra 2007, s prizadevanjem skupnega

Page 21: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

9

razvoja odprtih standardov na področju telefonije in ostalih prenosnih naprav, saj poslovno

združenje teži k razvoju inovacij na področju mobilne telefonije in prenosnih naprav, prav

tako pa želi te telefone približati uporabnikom z vedno cenejšimi in boljšimi pametnimi

telefoni ter prenosnimi napravami.

Prednost uporabe platforme Android je v tem, da je odprtokodna, kar omogoča cenejše in

lažje razvijanje programov. Precejšnjo prednost občutijo tudi uporabniki, saj so programi

za ta operacijski sistem večinoma brezplačni in dosegljivi prek spletne aplikacije Google

Play (prvotno Android Market), ki vsebuje že več kot 500.000 aplikacij. Poleg te je še

veliko drugih strani, s katerih je mogoče prenašati aplikacije za operacijski sistem Android.

Vse to omogoča cenejši in lažji razvoj pametnih telefonov (proizvajalcem ni treba več

razvijati operacijskih sistemov, lahko pa razvijajo posamezne komponente sistema).

Operacijski sistem Android je enostaven, odziven, omogoča večopravilnost in se

samodejno sinhronizira z Googlovimi storitvami [4].

Imena različic so poimenovana po sladicah, ki si sledijo po abecednem redu. Trenutno je

uradna najnovejša različica 4.0.3 (marec 2012). Njihove pomembnejše izboljšave smo

prikazali v tabeli 2.2 [22 in 23] V pripravi pa je tudi nova različica 5.0 z imenom Jelly Bean,

ki naj bi izšla jeseni 2012. Med novostmi, ki naj bi bile vgrajene v novi različici, se

omenjajo:

– raziskovalec (angl. File Manager): za organizacijo datotek,

– spletni brskalnik Google Chrome: trenutno deluje kot samostojna aplikacija,

– izboljšana učinkovitost baterij in nadzor nad porabo energije [24].

RAZLIČICA

Android

IME

API nivo

DATUM

IZIDA

NOVE POMEMBNEJŠE FUNKCIJE

1.0/1.1 1/2 9. 2. 2009 – budilka, kamera, računalo, glasba, slike, – preskusna različica uporabniškega vmesnika, – pregledovalnik za internet, e-pošta, – SMS, kontakti, zemljevidi (StreetView).

1.5

popravek

Cupcake

3

maj 2009 – dodajanje medijskih datotek na internet, – dodana večjezična podpora, – povezava Bluetooth, – zaslonske animacije, večzaslonska podpora, – pospeševalnik (angl. Accelometer) za menjavanje

aplikacij, – zaslonska (angl. On-screen) tipkovnica, – stereo podpora Bluetooth.

1.6

popravek

Donut

4

15. 9. 2009 – izboljšana podpora za razvijalce (SDK, AVD), – nov Android Market.

Page 22: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

10

2.0/2.1

popravek

Eclair

7

26. 10. 2009 – hitrejši in bolj odzivni operacijski sistem, – novi uporabniški vmesniki, – Bluetooth 2.1.

2.2

popravek

Froyo

8

– nameščanje programov na spominsko kartico, – vizualno popravljen in spremenjen uporabniški

vmesnik, – spremenjen Android Market z možnostjo samodejne

posodobitve aplikacij.

2.3

popravek

Gingerbread

9 in 10

6. 12. 2010 – novi senzorji (giroskop, barometer), – orodja za kopiranje in lepljenje datotek, – podpora za širše ločljivosti zaslona (XVGA in večji), – VoIP, – komunikacija v bližnjem polju (angl. Near Field

Communication) za prenos vsebin med dvema napravama.

3.0–3.2

prenovljen OS

Honeycomb

11–13

začetek 2011 – izboljšan za naprave z večjimi zasloni (tablet), – nova virtualna in holografska podoba uporabniškega

vmesnika, – izboljšana 2D- in 3D-grafika, – bogata večpredstavnost, – sistemsko odlagališče (angl. ClipBoard) za kopiranje

vsebin (copy-paste), – večjedrne procesorske arhitekture, – USB-podpora.

4.0–4.03

popravek

Ice cream

sandwich

14 in 15

2011/2012

– izboljšana večopravilnost, – izboljšan besedilni vnos in preverjanje črkovanja, – dodan nov glasovni vnos, – boljša galerija in obdelava slik, brskalnik Chrome, – inovacija sistemov za izmenjava aplikacij, kontaktov,

glasbe, videa, zdravstvenega stanja itd. (Android Beam, Wi-Fi direct, Bluetooth HDP),

– prepoznava obraza (Face Unlock) za varovanje naprav.

Tabela 2.2: Različice operacijskega sistema Android

Zgradba operacijskega sistema

Operacijski sistem Android je sestavljen iz petih elementov (slika 2.2):

– aplikacij,

– aplikacijskega ogrodja,

– knjižnic, prevajalnika in

– jedra Linux (angl. kernel).

Page 23: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

11

Slika 2.2: Sistemska arhitektura Android (Vir: [4].)

V aplikacijskem ogrodju se nahajajo vse sistemske aplikacije, ki se uporabljajo za

koordiniranje aplikacij.

Knjižnice so temeljni del operacijskega sistema Android. Navaden uporabnik

operacijskega sistema ne more dostopati do njih. Uporabljajo jih razvijalci za dostop do

strojnih komponent naprave. Operacijski sistem Android za prevajanje kod aplikacij

uporablja sprotni prevajalnik (angl. Just In Time compiler, krajše JIT). Ta omogoča prenos

aplikacij na več različnih prenosnih naprav, in to brez ponovnega pisanja izvorne kode.

Jedro Linux vsebuje gonilnike za vso podprto strojno opremo (zaslon, tipkovnica, kamera,

modul Wi-Fi, audio modul ipd.).

2.3.2 Podatkovna zbirka SQLite

SQLite je odprtokodna relacijska podatkovna zbirka. Objavljena je bila leta 2000 in

ustvarjena zato, da aplikacijam omogoči urejanje podatkov brez nepotrebnega

upravljanja. Za razliko od večine drugih relacijskih zbirk nima ločenega strežniškega

procesa. SQLite bere in piše neposredno v običajne datoteke. Je zgoščena, ker je celotna

Page 24: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

12

zbirka z vsemi tabelami in vključenimi lastnostmi shranjena v eni datoteki na disku, in je

lahko manjša od 350KB, kar je odvisno od uporabljene platforme in izboljšav prevajalnika.

Datotečni format zbirke je prenosljiv med različnimi platformami in ga lahko prosto

prenašamo med 32- in 64-bitnimi sistemi ali različnimi arhitekturami. Zaradi teh lastnosti je

zelo primerna za mobilne naprave, kar potrjuje uporaba te zbirke v številnih aplikacijah.

Vgrajena je tudi v operacijski sistem Android.

SQLite je vstavljena (angl. embedded) podatkovna zbirka, kar pomeni, da se ne izvaja kot

samostojen proces, ampak se sočasno izvaja znotraj aplikacije v njenem procesorskem

prostoru. Prednost obstoja podatkovnega strežnika znotraj aplikacije je v tem, da ni

potrebna nobena dodatna omrežna konfiguracija ali upravljanje. Odjemalec in strežnik se

izvajata sočasno v istem procesu, kar zmanjša upravljanje mrežnih klicev, poenostavi

upravljanje zbirke in olajša izvajanje aplikacije. Slika 2.3 kaže sinergijo SQLite z različnimi

procesi.

Slika 2.3: SQLite, vstavljena v gostujoče procese (Vir: [25].)

SQLite ima elegantno, modularno arhitekturo, ki uporablja nekatere precej edinstvene

pristope k upravljanju relacijskih podatkovnih zbirk. Sestavljena je iz osmih ločenih

modulov v skupinah znotraj treh glavnih podsistemov (slika 2.4).

Page 25: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

13

Slika 2.4: Arhitektura SQLite (Vir: [25].)

Ti moduli razdelijo povpraševalne procese v diskretne naloge, ki se izvajajo kot tekoči

trak. Vrh sklada sestavi ukaz, sredinski del ga izvede, spodnji del pa obravnava

skladiščenje in povezavo z operacijskim sistemom. Kljub svoji majhnosti podpira velik del

nabora znakov ANSI SQL92. Konfiguracija in upravljanje zbirke sta preprosti in minimalni.

Deluje v vsakem okolju, njegova prenosljivost med platformami pa omogoča uporabo

zbirke, ustvarjene npr. v sistemu SUN, na računalnikih Apple Macintosh, v sistemih

Windows ali celo na mobilnih telefonih brez pretvorb in sprememb.

Modularna arhitektura omogoča inovativen pristop in enostavnost kode. Je prilagodljiva in

prosto dostopna za uporabo ter omogoča vstavljanje zunanjih zbirk. Delovanje zbirke je v

primerjavi z ostalimi zbirkami načeloma hitro in odzivno. Primerna je za uporabo v majhnih

in srednje velikih aplikacijah. Njene omejitve se kažejo v sočasnosti branja zbirke in

pisanja vanjo. Dovoljuje hkratno branje več bralcev in samo enega pisatelja. Pisatelj

izključno zaklene zbirko pri pisanju in takrat nihče ne more brati podatkov. Težava se

pojavi pri pogostem pisanju v zbirko, pri čemer lahko pride do zastoja.

Prav tako je zbirka omejena glede na velikost. Kljub temu da lahko obsega do 2 TB, je

lahko glavni pomnilnik (RAM), potreben za izvedbo transakcij, kritičen. Za vsak MB zbirke

je rezerviranih 256 bajtov za izvedbo (npr. za zbirko, veliko 100 GB, je rezerviranih

25 MB), kar je lahko za velike zbirke pomemben dejavnik. Praktična omejitev velikosti

zbirke je nekaj 10 GB. Pri skupni rabi zbirke SQLite prek omrežnih datotečnih sistemov

lahko latenca teh sistemov povzroči težave v odzivnosti podatkovne zbirke [25].

Page 26: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

14

2.4 MOBILNE APLIKACIJE

Aplikacije za mobilne naprave Android so večinoma napisane v programskem jeziku Java.

Poleg Jave lahko za izdelavo aplikacij uporabljamo tudi jezik XML. Izvajalne aplikacije

sestavimo v paket Android s končnico .apk.

Vsaka aplikacija se zažene v svojem procesu. Operacijski sistem ustvari proces šele, ko

mu pošljemo zahtevo za izvajanje aplikacije. Ko z izvajanjem aplikacije zaključimo, se

proces zapre. To omogoča uporabo pomnilnika tudi drugim aplikacijam. Vsak posamezen

proces se prevede posebej, kar omogoči osamitev aplikacij, da delujejo neodvisno druga

od druge. Vsaki aplikaciji se ob zagonu dodeli identifikacijska koda (angl. User identifier,

krajše UID), ki se ji nato dodajo pravice za uporabo strojne opreme [26].

Gradniki aplikacij Android so naslednji:

– aktivnosti (angl. Activities): aplikacija Android je zbirka nalog oziroma aktivnosti.

Vsaka aktivnost je odgovorna za shranjevanje in obnovitev stanja;

– namere (angl. Intents): asinhroni sporočilni mehanizem, ki ga lahko zahteva

določena aktivnost (npr. pošlji e-sporočilo);

– storitve (angl. Services): tečejo v ozadju brez interakcije z uporabnikom (npr.

predvajalnik glasbe);

– ponudnik vsebine (angl. Content Provider): namenjen porazdelitvi globalnih

podatkov med aplikacijami (npr. imenik).

Celotni življenjski cikel aktivnosti (slika 2.5) se začne s klicem funkcije onCreate(Bundle),

pri čemer se sprožijo vse potrebne globalne spremenljivke in komponente. Končajo se s

klicem onDestroy(), ki sprosti vse zasedene vire in ustavi niti.

Page 27: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

15

Slika 2.5: Življenjski cikel aplikacije Android (Vir: [26].)

Vidni čas aplikacije, v katerem vidimo njeno delovanje, se začne s funkcijo onStart() in

konča s funkcijo onStop(). V tem času uporabnik vidi aktivnost na zaslonu, čeprav lahko

teče v ozadju in ne komunicira z uporabnikom. Med tema metodama se vzdržujejo

sredstva, ki so potrebna za delovanje aktivnosti. Metodi se lahko kličeta večkrat, ko

aktivnost postane vidna ali skrita za uporabnika. Aktivnost po klicu funkcije onResume()

preide v ospredje pred ostalimi aplikacijami in omogoči komunikacijo z uporabnikom,

dokler ne gre v čakajoče stanje po klicu funkcije onPaused(). Aktivnost lahko večkrat

menja stanje [26].

Page 28: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

16

Vire aplikacij Android, ki jih obravnava prevajalnik virov (ang. resource compiler), so

naslednje:

– lokalizirani nizi znakov,

– bitne zbirke (bitmap) in

– ostale nekodirane informacije (v obliki AVI, PDF ipd.).

Viri se nahajajo v naslednjih mapah projekta:

– res/drawable: grafične datoteke PNG, JPG (slike ozadja, gumbov ipd.),

– res/layout: datoteke XML (opis zunanje podobe zaslona aktivnosti),

– res/values: datoteke .XML (besedilni opisi, ki jih lahko prevedemo v ustrezen jezik

za prikaz v aplikaciji).

Prevedeni in izboljšani viri tvorijo razred R, ki ga aplikacija uporablja pri izvajanju.

Varnost aplikacij je urejena tako, da:

– vsaka aplikacija teče v svojem procesu,

– ima vsaka aplikacija pridružen določen UID,

– je dostop do kritičnih operacij omejen,

– dostope reguliramo v datoteki AndroidManifest.xml [27].

Navajamo nekaj primerov

• INTERNET: dostop do spletnega omrežja,

• READ_CONTACTS: dostop do branja imenika,

• WRITE_CONTACTS: dostop do pisanja v imenik,

• ACCESS_COARSE_LOCATION: dostop do mest z brezžično povezavo,

• ACCESS_FINE_LOCATION: dostop do mest GPS,

• CHANGE_WIFI_STATE: dovoljeno spreminjanje stanja brezžične povezave.

2.4.1 Razvoj mobilnih aplikacij

Za razvoj mobilne aplikacije smo na računalnik namestili naslednja orodja:

– Java JDK 6 (angl. Java Development ToolKit): okolje, namenjeno razvoju

programov v programskem jeziku Java. Vsebuje Java Run Time Environment

(vmesnik za zagon programov Java), knjižnice, prevajalnik in potrebne datoteke za

pisanje aplikacij;

– Eclipse SDK 3.6.2: razvojno okolje za pisanje programov (slika 2.6);

Page 29: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

17

Slika 2.6: Razvojno okolje Eclipse

– Android SDK (angl. Software Development Kit): celovit paket razvijalskih orodij za

platforme Android. Vsebuje knjižnice, SQLite, razhroščevalnik, emulator za

mobilnike, dokumentacijo, primere in navodila za razvoj aplikacij;

– vtičnik za Eclipse ADT (angl. Android Development Tools): vmesnik za okolje

Eclipse, ki ustvari zmogljivo integrirano okolje, v katerem lahko razvijamo aplikacije

Android. V tem okolju ustvarjamo nove projekte, izdelujemo uporabniške

vmesnike, urejamo datoteke XML, razhroščamo programe itd.;

– gonilnik za mobilni telefon Samsung (preskusno okolje);

– SQLite Database Browser v2.0: raziskovalec za pregledovanje vsebine zbirke v

operacijskem sistemu Android;

– MySQL WorkBench v5.2: orodje za preskušanje povezave do Moodle zbirke in

pregled ter ažuriranje vsebine tabel zbirke;

– Moodle 2.0: za namestitev preskusnega strežnika Moodle smo na računalnik

prenesli najnovejšo različico Moodle 2.0 iz spletne strani razvijalca;

– podatkovno zbirko SQLite;

– MS Visio 2007: orodje za risanje skic in diagramov;

– digitalni fotoaparat Canon.

Page 30: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

18

2.5 SPLETNE STORITVE

Mobilne aplikacije uporabljajo spletne storitve (angl. Web Service) za prenos podatkov

med odjemalcem in strežnikom ter so ena od proizvodov storitveno usmerjene arhitekture

(angl. Service Oriented Architecture, krajše SOA). Ta je zdaj precej razširjena in jo zato

podrobneje obravnavamo v nadaljevanju tega poglavja.

2.5.1 Storitveno usmerjena arhitektura

Storitveno usmerjena arhitektura temelji na ločevanju poslov v module ali storitve, ki

komunicirajo med seboj. Sestavljajo jo naslednji protokoli:

– protokol za dostop do preprostih objektov (angl. Simple Object Access Protocol,

krajše SOAP),

– razširljivi označevalni jezik (angl. Extensible Markup Language, krajše XML),

– protokol za iskanje storitev prek spleta (angl. Universal, Discovery and Integration,

krajše UDDI) in

– opisni jezik spletnih storitev (angl. Web Services Description Language, krajše

WSDL).

SOAP je protokol za izmenjavo sporočil spletnih storitev (angl. Web Servisov) v

decentraliziranem, porazdeljenem okolju, ki je zasnovan v jeziku XML in pogosto

uporabljen v spletnih storitvah. Spada v aplikacijsko raven spletnega nabora protokolov.

Tehnologijo, ki omogoča uspešno izvajanje oddaljenih metod (programska koda) prek

spleta, imenujemo klic za oddaljeni postopek (angl. Remote Procedure Call, krajše RPC).

Takšnih tehnologij je več in SOAP je ena od tehnologij RPC. Zasnovan je tako, da z

uporabo protokola HTTP in standarda XML omogoča uspešno izvajanje take kode z

minimalnim naborom omejitev prek mreže. SOAP lahko uporabljamo tudi prek drugih

protokolov za prenos (SMTP, TCP in HTTPS), saj omogoča izvajanje metod med izvorom

in ponorom prek protokola HTTP. SOAP je sestavljen iz treh delov:

– ovojnice, ki določa okvir (framework) za opisovanje tega, kar je v sporočilu, in

določitev, kdo naj upravlja z njim in ali je to izbirno ali pomembno,

– množice pravil kodiranja, ki jih opredeli mehanizem, ki se lahko uporabi za

izmenjavo primerkov podatkovnih tipov, ki jih določajo aplikacije, in

– dogovora za predstavitev oddaljenih klicev postopkov in njihovih odgovorov [28 in

29].

Page 31: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

19

XML je razširljivi označevalni jezik, ki ga pogosto srečujemo na spletu. Gre za preprosti

računalniški jezik, podoben označevalnemu jeziku HTML, ki omogoča format za

opisovanje strukturiranih podatkov ali arhitekturo za prenos podatkov in njihovo izmenjavo

med več omrežji. XML spreminja mnogo vidikov računalništva, zlasti na področju

komunikacije med aplikacijami in strežniki. Prav tako pa ga je mogoče razširiti, saj ponuja

možnost, da si lahko sami izmislimo imena oznak (angl. TAG), kot je npr. <quiz> na sliki

2.7.

Slika 2.7: Primer zgradbe XML (Vir: [30].)

Zelo je uporaben za komunikacije, saj ima zelo preprosto in pregledno zgradbo. XML je

sestavljen iz treh delov:

– podatkovnega: vanj shranimo podatke v določeni obliki z želenimi oznakami,

– deklarativnega: skrbi za to, da lahko pri dodajanju novih podatkov vidimo, kaj

označuje določena oznaka,

– predstavitvenega: z njim oblikujemo izpis podatkov [30].

UDDI je neodvisni protokol za opisovanje, iskanje in integracijo poslovnih storitev prek

omrežja. Prvotno je bil predlagan kot jedro standarda spletnih storitev. Zasnovan je tako,

da posluša sporočila SOAP in jim s potrebnimi protokoli in obliko, opisano v dokumentih

WSDL, zagotovi dostop do spletnih storitev, navedenih v njegovem imeniku [31].

WSDL je jezik za opis spletnih storitev, ki določa, kako kličemo storitev, kakšne parametre

ta pričakuje in kakšne podatkovne strukture vrne kot rezultat [32].

Page 32: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

20

Slika 2.8: Pregled zahtev SOA (Vir: [29].)

Slika 2.8 kaže več odjemalcev, ki zahtevajo odziv storitev. Ponudniki storitev so lahko

hkrati prosilci in izvajalci storitev. To omogoča združevanje več storitev, s katerimi lahko,

če so združene, rešimo zahtevnejše naloge.

Arhitektura SOA temelji na načelu ločevanja opravil, ločenih kot moduli storitev, ki med

seboj komunicirajo s sporočili. Platforme SOA podpirajo samo nekatere od sporočilnih

protokolov. Ti protokoli so naslednji:

– protokol za prenos hiperteksta (angl. HyperText Transfer Protocol, krajše HTTP),

– objektni zapis JavaScript (angl. JavaScript Object Notation, krajše JSON) in

– predstavitveni prenos stanj (angl. Representational State Transfer, krajše REST)

HTTP je komunikacijski protokol med odjemalci in strežniki. Odjemalec HTTP, kot je na

primer spletni brskalnik, navadno začne zahtevo tako, da skozi določena vrata (angl. Port)

z oddaljenim gostiteljem vzpostavi povezavo TCP. Privzeta številka vrat za protokol HTTP

je 80. Strežnik HTTP na privzetih vratih „posluša“, ali je prišlo do novega zahtevka:

– CONNECT: zahtevek za vzpostavitev tunela SSL,

– DELETE: zahtevek za izbris izbrane datoteke s strežnika,

– GET: zahtevek za pridobitev vsebine datoteke,

– HEAD: zahtevek za pridobitev metaoznak,

– OPTIONS: zahtevek, ki vrne seznam zahtevkov HTTP, ki so na voljo na strežniku,

– POST: zahtevek za pridobitev vsebine datoteke, ki vsebuje informacije za strežnik,

Page 33: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

21

– PUT: v zahtevku se strežniku sporoči, da je treba nanj prenesti določeno datoteko,

ali

– TRACE: zahtevek, ki od strežnika zahteva, da mu vrne zahtevek (tako lahko

ugotovimo, ali so vmesni strežniki spremenili zahtevek).

Zahtevku sledi sporočilo, kot večnamenska razširitev za elektronsko pošto (angl.

Multipurpose Internet Mail Extensions, krajše MIME), ki vsebuje sklop obveznih in

neobveznih podatkov za obveščanje strežnika (podatek o gostitelju „Host“ je na primer

obvezen), čemur lahko sledi neobvezno polje naključnih podatkov. Ko strežnik prejme tak

zahtevek in morebitno sporočilo, na to odgovori na primer z „200 OK“ in lastnim

sporočilom, katerega vsebina je na primer zahtevana datoteka, sporočilo o napaki ali

kakšna druga informacija.

Zavarovana različica HTTP oziroma varni protokol za prenos hiperteksta (angl. HyperText

Transfer Protocol Secure, krajše HTTPS) uporablja sloj varnih vtičnic (angl. Secure

Socket Layer, krajše SSL) in varnost transportnega sloja (angl. Transport Layer Security,

krajše TLS), da zakodira promet in ga tako zaščiti pred vmesnimi opazovalci. Ta

komunikacijski protokol navadno uporablja privzeto številko vrat 443 [33].

JSON je preprosti jezikovno neodvisni besedilni format za izmenjavo podatkov, ki ga je

lahko brati in pisati, zato je uporabljan v mnogo programskih jezikih. Zasnovan je v

objektnem zapisu JavaScript in narejen v dveh strukturah, tj. kot:

– zbirka parov imen/vrednosti: v različnih jezikih je realiziran kot objekt, zapis,

struktura, imenik, zgoščevalna tabela, seznam ali niz ter

– urejen seznam vrednosti: niz, vektor, seznam ali sekvenca.

Na sliki 2.9 je prikazana zgradba JSON, ki jo sestavljajo objekti, nizi in vrednosti:

– objekt je neurejena zbirka parov imen/vrednosti. Začne se z levim zavitim

oklepajem ({) in konča z desnim (}). Vsakemu imenu sledi dvopičje in njegova

vrednost, pari pa so med seboj ločeni z vejico;

– niz je urejena zbirka vrednosti, ki se začne z levim oglatim oklepajem ([) in konča z

desnim (]). Vrednosti so med seboj ločene z vejico;

Page 34: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

22

– vrednost je lahko niz med dvojnim narekovajem, število, logična vrednost, objekt

ali niz. Te strukture se lahko gnezdijo [34].

Platforma Android ima vgrajeno podporo JSON, ki omogoča pretvorbo objektov Java v

objekte JSON in obratno [34]

Arhitektura REST [26] je bila razvita na osnovi protokola HTTP/1.0 in uporablja njegove

značilnosti. Sestoji iz odjemalca in strežnika. Odjemalec odda zahtevo strežniku, ki

zahtevo obdela in vrne ustrezen odgovor [35]

2.5.2 Spletna storitev Moodle

Modularno objektno usmerjeno dinamično učno okolje (angl. Modular Object-Oriented

Dynamic Learning Environment, krajše Moodle) je odprtokodni učni sistem (angl. Course

Management System, krajše CMS), ki se uporablja za različna spletna izobraževanja

(univerze, šole, podjetja, individualno poučevanje ipd.).

Slika 2.9: Format JSON (Vir: [34].)

Page 35: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

23

Moodle je leta 1999 (prvi prototip) ustvaril Martin Dougiamas, računalniški znanstvenik in

izobraževalec, ki se je na univerzi v Perthu (Avstralija) ukvarjal s podporo študijskega

sistema. Napisan je v jeziku PHP. Kot izvajalno okolje potrebuje spletni strežnik Apache,

njegove vsebine pa so tako kot spletne storitve dostopne prek odjemalcev HTML.

Osnovna struktura sistema Moodle je organizirana okrog tečajev, ki so osnovne strani ali

področja znotraj sistema, v katerem učitelji svojim študentom predstavljajo različne učne

vsebine. Tečaji lahko vsebujejo vsebine za leta učenja, samostojne seje ali ustrezne

kombinacije, kar je odvisno od učiteljev ali ustanove, uporablja pa jih lahko samo en učitelj

ali skupina učiteljev. Razdeljeni so v kategorije, ki lahko vsebujejo različna področja. Na

primer v kategorijo „Znanost“ so lahko vključeni tečaji iz biologije, kemije in fizike [36].

V tečaje lahko vključujemo različne aktivnosti, dodajamo učne vsebine, določamo vloge

posameznikom, dodajamo bloke na straneh, kar je odvisno od namena tečaja in vloge

uporabnika [36 in 37]. Aktivnosti, ki jih lahko določimo znotraj strani ali predmeta, so

naslednje:

– naloga,

– klepet,

– podatkovna zbirka,

– imenik,

– forum,

– slovar,

– kviz,

– anketa,

– delavnica,

– osebe.

Vloge, ki jih določi skrbnik (administrator) strani, so lahko:

– skrbnik: lahko dostopa do predmetov in jih spreminja,

– izvajalec: lahko počne kar koli v predmetu, spremlja aktivnosti in ocenjuje

udeležence.

– izvajalec brez pravic urejanja: lahko poučuje in ocenjuje udeležence pri predmetu,

ne more pa spreminjati aktivnosti.

– udeleženec: nima posebnih pravic pri predmetu. V glavnem lahko samo sodeluje

in dostopa do učnih vsebin.

Page 36: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

24

Nekateri bloki, ki jih lahko vključimo, so naslednji:

– aktivnosti,

– spletni dnevniki,

– koledar,

– komentarji,

– dogodki,

– seznam predmetov,

– navigacija,

– novice,

– družabne aktivnosti,

– zaznamki,

– YouTube.

Page 37: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

25

3 MOBILNI OCENJEVALEC

Mobilni ocenjevalec je aplikacija, postavljena na arhitekturo odjemalca/strežnika. Pri tem

je naloga strežnika zagotoviti spletne storitve, do katerih lahko dostopamo z odjemalcem

HTTP, in dostop do podatkovne zbirke. Odjemalec poskrbi za uporabniški vmesnik, s

katerim komunicira z uporabnikom, in funkcije za dostop do spletnih storitev strežnika. V

nadaljevanju poglavja najprej opisujemo zastavljene zahteve, nato predstavimo zamisel

za rešitev in na koncu to rešitev še opišemo.

3.1 OPIS ZAHTEVE

Potrebujemo aplikacijo, ki deluje na mobilnem telefonu z operacijskim sistemom Android

in se uporablja za ocenjevanje študentov učnega sistema Moodle na terenu (v učilnici, na

vajah, doma, ipd.) v povezanem (povezan z omrežjem sistema Moodle) ali nepovezanem

(ni povezave s sistemom Moodle) načinu. Med telefonom in strežnikom Moodle

prenašamo podatke o študentih, nalogah in njihovih ocenah prek dosegljivega

brezžičnega omrežja.

Osnovne zahteve funkcionalnosti aplikacije so:

– prenos podatkov o študentih in nalogah s strežnika Moodle v lokalno zbirko

telefona,

– omogočiti ocenjevalcu izbiro sedanjih študentov in dodajanje podatkov o novih (po

potrebi),

– omogočiti ocenjevalcu izbiro prenesenih nalog,

– vpisovanje ocen študentov,

– lokalno shranjevanje podatkov v zbirko na telefonu,

– prenos ocen na strežnik Moodle,

– reševanje morebitnih konfliktov (npr. podvojene ocene za določeno nalogo).

Poleg naštetih zahtev je treba omogočiti še nastavitev osnovnih parametrov za delovanje

aplikacije (npr. naslov strežnika Moodle in podatki o ocenjevalcu).

Page 38: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

26

3.2 KONCEPT REŠITVE

Koncept rešitve, ki jo opisujemo v tem poglavju, predstavlja uporabljeno arhitekturo

aplikacije in vrste funkcionalnosti odjemalca.

3.2.1 Pregled arhitekture

Arhitektura aplikacije, kot je prikazana slika 3.1, je sestavljena iz odjemalca in strežnika s

podatkovno zbirko. Komunikacija med odjemalcem in spletnimi storitvami na strežniku

poteka prek brezžičnega omrežja po protokolu REST.

omrežje Wifi

JSON

odjemalec strežnik HTTP

podatki

spletne storitve

SQL

HTTP / REST

Slika 3.1: Arhitektura odjemalec/strežnik

Prenos podatkov od strežnika do odjemalca poteka tako, da odjemalec z oddaljenim

strežnikom najprej vzpostavi povezavo TCP prek določenih vrat (privzeto 80), na katerih

strežnik posluša, če prihaja do zahtev. Ko je povezava vzpostavljena, odjemalec pošlje

zahtevo HTTP POST na spletno storitev strežnika, ta pa zahtevo posreduje podatkovni

zbirki strežnika kot poizvedbo SQL. Rezultat poizvedbe spletna storitev pretvori v obliko

JSON in ga kot niz pošlje odjemalcu. Ta ga pretvori v ustrezno obliko in vpiše podatke v

lokalno podatkovno zbirko. Prenos ponovimo za vsako od tabel v zbirki posebej in poteka

po naslednjih korakih:

– pripravimo podatke za povezavo:

• vpišemo naslov strežnika,

• oblikujemo ukazni niz za povezavo v obliki „URL=protokol+naslov

strežnika+pot do spletne storitve+uporabnik+format“;

– preverimo povezavo, tj.:

• dostopnost brezžičnega omrežja in vzpostavitev povezave,

• dosegljivost strežnika (status HTTP);

Page 39: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

27

– pošljemo zahtevo HTTP Post do spletne storitve:

• spletna storitev se poveže z zbirko strežnika ali drugače:

� pošljemo poizvedbo SQL v zbirko strežnika,

� preberemo rezultat poizvedbe,

� oblikujemo rezultat v niz formata JSON;

– sprejmemo poslane podatke od spletne storitve (HTTP Get);

– preoblikujemo sprejete podatke in jih vpišemo v lokalno zbirko.

V nasprotni smeri poteka prenos podatkov od odjemalca do strežnika tako, da odjemalec

najprej oblikuje podatke iz zbirke v format JSON, nato pošlje zahtevo HTTP Post spletni

storitvi strežnika, ki zahtevo za vpis podatkov posreduje v podatkovno zbirko strežnika kot

poizvedbo SQL.

3.2.2 Pregled funkcionalnosti

Spletna storitev „Moodle offline grader“ z debelim odjemalcem (večina podatkov se obdela

v odjemalcu) za operacijski sistem Android. Aplikacija nadomešča dosedanje ročno

zapisovanje ocen. Omogoča hitro in učinkovito ocenjevanje študentov na vajah v

povezanem in nepovezanem načinu. To pomeni, da bosta morala odjemalec in storitev

izvajati dvosmerno sinhronizacijo podatkov in olajšati reševanje konfliktov v podatkih.

Slika 3.2: Diagram uporabe

Diagram uporabe na sliki 3.2 kaže, kako smo razširili veljavni sistem Moodle. Naša

aplikacija deluje kot posrednik med sistemom in ocenjevalcem. Naloge ocenjevalca so, da

podeli oceno ter reši morebitne konflikte v ocenah, ki se pojavijo, če je ocena naloge za

določenega študenta že vpisana v sistem Moodle, do česar bo po našem mnenju prihajalo

zelo redko. Odjemalec v operacijskem sistemu Android shranjuje trenutne ocene, s

Page 40: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

podatki iz sistema Moodle

je bil rešen, lahko odjemalec uveljavi oceno

ko bo vzpostavljena povezava

Slika 3.3:

Diagram na sliki 3.3 kaže

ocene. Vsaka naloga in študent predstavljata dvojico, ki

Dokler je ocena shranjena

prenosu podatkov se vse ocene (tudi stanje neocenjen

stanjem na strežniku. Če je usklajevanje uspešno,

Pri konfliktu pa se ocena postavi

lahko poteka tako, da se ocen

ocene je prav tako lahko neuspešno. V tem primeru ocena ostane v vrsti konflikt

Podatkovno zbirko na strežniku

medsebojnih povezav. Za d

tabele:

– mdl_user: s podatki– mdl_assignments: z nalogami– mdl_assignment_submission

pa bo reševal morebitne konflikte v ocenah.

lahko odjemalec uveljavi oceno v sistemu Moodle takoj, ko bo

tavljena povezava [38].

: Diagram prehajanja stanj ocene v odjemalcu

prehajanje stanj (usklajeno, neusklajeno, konflikt)

. Vsaka naloga in študent predstavljata dvojico, ki prepozna posamezno oceno.

shranjena v odjemalcu, je neusklajena s stanjem na strežniku.

vse ocene (tudi stanje neocenjeno se šteje za ocen

je usklajevanje uspešno, se ocena odstrani iz vrste

a postavi v vrsto ocen, ki jih mora ocenjevalec uskladiti ro

ocena zavrže, vsili ali pusti v čakalni vrsti konfliktov.

lahko neuspešno. V tem primeru ocena ostane v vrsti konflikt

na strežniku Moodle sestavlja množica tabel (okrog

. Za delovanje naše mobilne aplikacije potrebujemo

s podatki o udeležencih (študentih), z nalogami in

mdl_assignment_submission: z vpisanimi ocenami.

28

bo reševal morebitne konflikte v ocenah. Če konflikta ni ali

ko bo to mogoče in

odjemalcu

(usklajeno, neusklajeno, konflikt) posamezne

posamezno oceno.

je neusklajena s stanjem na strežniku. Ob

oceno) usklajujejo s

odstrani iz vrste za obdelavo.

v vrsto ocen, ki jih mora ocenjevalec uskladiti ročno. To

akalni vrsti konfliktov. Vsiljevanje

lahko neuspešno. V tem primeru ocena ostane v vrsti konfliktov [34].

okrog 200) in njihovih

ujemo samo naslednje

Page 41: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

29

Slika 3.4: Moodle tabele

Slika 3.4 kaže tabele strežnika Moodle, ki jih uporabljamo za prenos podatkov v lokalno

zbirko SQLite na mobilni napravi prek spletnih storitev:

• ws_read_us: vrne podatke o študentih iz tabele mdl_user,

• ws_read_as: vrne podatke o nalogah iz tabele mdl_assignment,

• ws_read_sb: vrne podatke o ocenjenih nalogah študentov na strežniku iz tabele

mdl_assignment_submission,

• ws_write: vpiše naše ocene v tabelo mdl_assignment_submission in

• ws_delete_s: izbriše izbrane ocene iz tabele mdl_assignment_submission.

Puščice kažejo smer pretoka podatkov (branje ali pisanje). Zase prenašamo vsebine

samo določenih polj tabel iz zbirke sistema Moodle v lokalno zbirko in obratno.

Page 42: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

30

3.3 RAZVOJ REŠITVE

V tem poglavju predstavljamo rešitev, ki smo jo uporabili pri razvoju naše aplikacije, ter

zgradbo in opis delovanja posameznih modulov.

3.3.1 Logični pregled

Aplikacija mobilni ocenjevalec Moodle je zgrajena modularno, kot kaže slika 3.5,

sestavljajo pa jo naslednji moduli, ki jih bomo podrobneje opisali v nadaljevanju poglavja:

– uporabniški vmesnik, sestavljen iz več aktivnosti, ki omogočajo:

• prijavo v aplikacijo: aktivnost Login,

• izbiro posameznih aktivnosti: aktivnost Menu,

• vnos naslova strežnika in izbiro ocenjevalca: aktivnost Setup,

• izbiro nalog, študentov in vnos ocen: aktivnost Grade,

• prenos podatkov: aktivnost Data in

• reševanje konfliktov: aktivnost Conflict;

– podatkovna zbirka, namenjena lokalnemu shranjevanje podatkov o študentih,

nalogah, ocenah in nastavitvah, ter

– komunikacijski modul, ki omogoča povezovanje do strežnika Moodle in prenos

podatkov med lokalno zbirko in strežnikom prek brezžičnega omrežja.

Slika 3.5: Zgradba odjemalca

Page 43: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

31

3.3.2 Uporabniški vmesnik

Uporabniški vmesnik naše aplikacije je sestavljen iz več aktivnosti (posamezni sklopi

aplikacije, ki opravljajo določeno funkcijo), kot kaže slika 3.6, ki jih bomo opisali v

nadaljevanju.

Slika 3.6: Povezava aktivnosti

Vsaka od teh aktivnosti je namenjena izvajanju določenih opravil, kot so:

– LOGIN: za prijavo v aplikacijo,

– MENU: za izbiro posameznih aktivnosti,

– SETUP: za vnos nastavitev strežnika, izbiro ocenjevalca, dodajanje novih

študentov ali brisanje določenih tabel,

– GRADE: za vnos ocen študentov,

– DATA: za prenos podatkov na strežnik Moodle in z njega,

– CONFLICT: za reševanje konfliktov ocen.

Podatki, ki jih z uporabniškim vmesnikom uporabljamo in obdelujemo, se zapisujejo in

posodabljajo v lokalni podatkovni zbirki MoodleDB, ki jo podrobneje predstavljamo v

nadaljevanju in je vgrajena v aplikacijo. Prav tako so vse slike ozadja in gumbov, njihova

velikost in razporeditev v uporabniškem vmesniku, vgrajene v aplikacijo in določene v

ustreznih datotekah XML za vsako aktivnost posebej. Za besedilne opise vnosnih polj in

napisov skrbi datoteka strings.xml, ki se lahko prevede v ustrezen jezik, ki ga naprava, na

kateri uporabljamo aplikacijo, podpira in ki ga izberemo na sami napravi. Ta različica

aplikacije omogoča nastavitev angleškega ali slovenskega jezika za uporabniški vmesnik.

Page 44: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

32

3.3.2.1 Login

Pri zagonu aplikacije začnemo v aktivnosti LOGIN, ki zahteva veljavno uporabniško ime in

geslo. Lahko uporabimo programsko določeno (običajno ob prvi prijavi) ali pa veljavno

geslo trenutnega ocenjevalca, ki je vpisano v sistem Moodle.

Slika 3.7: Diagram poteka aktivnosti LOGIN

Diagram na sliki 3.7 kaže potek dogodkov ob prijavi. Ko vpišemo uporabniško ime in geslo

ter pritisnemo gumb za prijavo, se iz lokalne zbirke s funkcijo readData() preberejo podatki

ocenjevalca iz tabele TEACHER in podatki uporabnika iz tabele STUDENTS. Vneseni

podatki se primerjajo s prebranimi, in če ne ustrezajo, se prijava zavrne (prikažemo

obvestilo), pri čemer se vrnemo na začetek. Pri uspešni prijavi pa se odpre aktivnost

MENU in tako lahko začnemo uporabljati aplikacijo.

3.3.2.2 Menu

Aktivnost MENU se prikaže po uspešni prijavi v aplikacijo in je namenjena izbiranju

posameznih aktivnosti. Na diagramu (slika 3.8) so prikazane funkcije aktivnosti, ki se

izvajajo ob določenih dogodkih.

Page 45: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

33

Slika 3.8: Diagram poteka aktivnosti MENU

Pri nastanku aktivnosti, ki se začne s funkcijo onCreate(), najprej s funkcijo getOCid() iz

lokalne zbirke MoodleDB preberemo identifikacijsko oznako (id) ocenjevalca iz tabele

TEACHER, s funkcijo getConfNum() pa preberemo število konfliktov iz tabele

CONFLICTS. Če ocenjevalec ne obstaja (npr. ko prvič naložimo aplikacijo ali še nismo

prenesli seznama uporabnikov s strežnika), onemogočimo prikaz gumba za ocenjevanje.

Enako velja za gumb konflikti, kadar nimamo nobenega konflikta ocen ali kadar ocen

nismo prenesli na strežnik.

Ostale gumbe prikažemo in lahko s klikom nanje (funkcija onClick()) sprožimo zagon

aktivnosti SETUP (za vnos nastavitev strežnika), DATA (za prenos podatkov) ali aktivnost

LOGIN za izhod iz aplikacije. Poleg teh je še gumb za informacije, s katerim ob kliku nanj

iz lokalne datoteke strings.xml preberemo informacije o aplikaciji (ime, različico, avtorja in

datum izdelave) in jih prikažemo na zaslonu.

3.3.2.3 Nastavitve

Aktivnost omogoča vnos in izbiro ocenjevalca, dodajanje študenta in nastavitev naslova

strežnika. Mogoči scenariji so:

– obvezen vnos ocenjevalca ob prvi uporabi aplikacije,

– zamenjava ocenjevalca (npr. če isti mobilni telefon uporablja več ocenjevalcev, v

meniju izberemo drugega),

Page 46: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

34

– vnos študenta, ki ga nimamo v zbirki in bo pristopil k izpitu,

– sprememba naslova IP strežnika Moodle.

Diagram na sliki 3.9 kaže pomembnejše funkcije in pretok podatkov v uporabniškem

vmesniku.

Slika 3.9: Diagram poteka aktivnosti SETUP

Pri zagonu aktivnosti iz lokalne datoteke strings.xml najprej preberemo besedilne zapise,

ki jih uporabljamo v glavnem izbirnem meniju SpinnerSetup, s funkcijo getDataST() pa

preberemo podatke o študentih iz tabele STUDENTS, ki jih kasneje prikažemo v izbirnem

meniju SpinnerSetUser. Glede na izbiro glavnega menija se ustrezno spreminjajo opisi

vnosnih polj, ki jih preberemo iz datoteke strings.xml, in vsebina vnosnih polj ocenjevalca,

ki jih preberemo iz tabel TEACHER, ter tistih od strežnika, ki jih preberemo iz tabele DB.

Te podatke lahko spreminjamo ali jih pustimo nespremenjene.

Izbrani ali vneseni podatki se s pritiskom na gumb „Shrani“ shranijo v izbrano tabelo v

lokalni podatkovni zbirki SQLite na telefonu:

– podatki ocenjevalca se prepišejo z vnesenimi podatki v tabelo TEACHER,

Page 47: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

35

– podatki študenta se sočasno dodajo v tabelo STUDENTS in NEWSTUDENTS,

– podatki strežnika se prepišejo z vnesenimi podatki v tabelo DB.

Pri vnosu se preverja (dolžina niza – min. 2 znaka, razen vpisne številke – 1 znak) vnos

praznih polj, pri čemer vpis v zbirko ni mogoč, dokler niso izpolnjena vsa polja, ker so vsi

podatki obvezni.

Gumb „Briši“ omogoča ročno brisanje vseh vnosov v poljih izbrane tabele in ga

uporabimo:

– če predamo telefon drugemu ocenjevalcu in ne želimo, da vidi naše shranjene

podatke ocenjevalca ali strežnika – izbrišemo vnose v tabeli TEACHER ali DB,

– če smo dodajali nove študente in jih ne potrebujemo več – izbrišemo vnose v

tabelo NEWSTUDENTS.

Ostalih tabel ne moremo brisati ročno, ampak se ob določenih pogojih, ki jih bomo opisali

v naslednjih aktivnostih, izbrišejo samodejno.

3.3.2.4 Ocenjevanje

Diagram na sliki 3.10 kaže funkcionalnost aktivnosti za ocenjevanje. Ob zagonu aktivnosti

najprej preberemo podatke iz tabel STUDENTS in ASSIGNMENTS, dopolnjenih pri

prenosu podatkov s strežnika Moodle, ki jih vpišemo v spustne menije spinnerST in

spinnerAS, ter identifikacijsko oznako ocenjevalca.

V spustnih menijih izberemo študenta in nalogo, ki jo ocenjujemo, poleg tega pa vnesemo

še oceno izbranega študenta in dodamo ustrezen komentar. Ko vnesene podatke

potrdimo z gumbom, s funkcijo showTime() najprej preberemo trenutni sistemski datum in

čas telefona, nato pa v funkciji writeData() preberemo še identifikacijsko oznako izbrane

naloge iz tabele ASSIGNMENTS (funkcija getidN()) in vse skupaj vpišemo v tabelo

GRADE. V pojavnem oknu prikažemo seznam ocenjenih študentov, ki jih s funkcijo

getOcenjeni() preberemo iz tabele GRADE, in število nalog, ki smo jih že ocenili (število

ocenjenih/število prijavljenih študentov × število nalog).

Page 48: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

Slika

Ocenjevanje ni mogoče, če nismo najprej izbrali ocenjevalca v

3.3.2.5 Prenos podatkov

Je aktivnost za prenos podatkov med

na sliki 3.11. Na začetku s funkcijo getDBhost()

tabele TEACHER in naslov strežnika iz tabele DB ter preverimo

povezave ni, se aktivnost zaklju

območju znanega omrežja

samodejno povezal v omrežje,

povezani v omrežje, znotraj katerega

možnostma:

– gumb : prenos podatkov (študentov

– gumb : prenos podatkov (vpisanih ocen študentov) na strežnik.

Slika 3.10: Diagram poteka aktivnosti GRADE

če nismo najprej izbrali ocenjevalca v aktivnost

za prenos podatkov med telefonom in strežnikom Moodle, ki ga

s funkcijo getDBhost() najprej preberemo podatke ocenjevalca iz

tabele TEACHER in naslov strežnika iz tabele DB ter preverimo brezžič

zaključi, v nasprotnem primeru se prikaže ikona

omrežja WLAN in imamo vključeno samodejno povezavo, se bo telefon

povezal v omrežje, v nasprotnem primeru moramo to storiti ro

povezani v omrežje, znotraj katerega je strežnik Moodle, lahko izbiramo med dvema

prenos podatkov (študentov in nalog) s strežnika na telefon

prenos podatkov (vpisanih ocen študentov) na strežnik.

36

aktivnosti SETUP.

, ki ga kaže diagram

najprej preberemo podatke ocenjevalca iz

brezžično povezavo. Če

se prikaže ikona . Če smo v

eno samodejno povezavo, se bo telefon

moramo to storiti ročno. Ko smo

strežnik Moodle, lahko izbiramo med dvema

strežnika na telefon,

prenos podatkov (vpisanih ocen študentov) na strežnik.

Page 49: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

37

Slika 3.11: Diagram poteka aktivnosti DATA

Prenos podatkov s strežnika na telefon (gumb ) poteka tako, da se telefon prek

brezžične povezave poveže s strežnikom, katerega naslov smo vnesli v aktivnosti

SETUP. Če je povezava uspešna, se najprej pobrišejo podatki v tabelah STUDENTS in

ASSIGNMENTS. Nato pa se s strežnika Moodle prek spletnih storitev ws_read_us in

ws_read_as prenesejo novi podatki o študentih in nalogah v zbirko telefona.

Page 50: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

38

Pri prenosu podatkov s telefona na strežnik (gumb ) se telefon prek brezžične

povezave poveže s strežnikom, katerega naslov smo vnesli v aktivnosti SETUP. Če je

povezava uspešna, najprej pobrišemo tabeli CONFLICTS in SUBMISSION, nato pa s

strežnika prek spletne storitve ws_read_sb prenesemo vnesene ocene v tabelo

SUBMISSION (funkcija loadSubmission()). S funkcijo loadData() preberemo ocene iz

tabele GRADE in vsako posebej primerjamo z ocenami iz tabele SUBMISSION, ki so že

bile vpisane. Če sta oceni enaki ali če gre pri naši oceni za dodanega študenta, se

identifikacijski oznaki ocen vpišeta v tabelo CONFLICTS, v nasprotnem primeru se naša

ocena prek spletne storitve ws_write vpiše v tabelo assignment_submission na strežniku

Moodle in izbriše iz tabele GRADE.

Pri prenosu grafično prikažemo potek prenesenih podatkov v odstotkih in obvestilo o

uspešnem prenosu podatkov.

3.3.2.6 Seznam konfliktov

Pri zagonu aktivnosti (onCreate()) v funkciji getData() najprej preberemo podatke iz tabele

CONFLICTS (identifikacijska oznaka naše ocene in identifikacijska oznaka vpisane

ocene). Kot kaže diagram na sliki 3.12, se na podlagi teh podatkov iz tabel STUDENTS,

SUBMISSIONS in GRADE zberejo še ostali podatki, ki se prikažejo v ListView. Ti so

naslednji:

– naziv naloge,

– ime in priimek študenta,

– identifikacijska oznaka vnosa v ocene,

– ime in priimek ocenjevalca,

– vpisana ocena,

– datum in čas vpisa ocene ocenjevalca in komentar,

– identifikacijska oznaka vnosa v ocene na strežniku,

– ime in priimek ocenjevalca,

– datum in čas prenosa na strežnik in komentar.

Page 51: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

39

Slika 3.12: Diagram poteka aktivnosti CONFLICT

Vsak konflikt na seznamu (ListView) lahko označimo in izberemo ustrezno rešitev:

– uveljavi: pomeni, da se NE strinjamo z vpisano oceno in želimo prenesti svojo

oceno. S to rešitvijo poženemo funkcijo delData(), ki izbriše trenutno oceno na

strežniku prek spletne storitve ws_delete_sb in iz tabele CONFLICT;

– zavrzi: pomeni, da se strinjamo z vpisano oceno in bomo svojo izbrisali iz tabele.

To opravi funkcija getGradeID(), ki izbriše našo oceno iz tabele GRADE in vse

zapise z identifikacijsko oznako te ocene iz tabele CONFLICTS;

– odloži: pomeni, da se trenutno ne moremo odločiti, katera ocena naj se obdrži in

bomo to storili prihodnjič. V tem primeru ocene ostanejo nespremenjene in se

vrnemo nazaj v aktivnost MENU.

Za prenos uveljavljenih ocen se vrnemo v aktivnost DATA, od koder pošljemo ocene na

strežnik.

Page 52: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

40

3.3.3 Podatkovna zbirka

Za shranjevanje podatkov smo na telefonu z operacijskim sistemom Android uporabili

podatkovno zbirko SQLite, katere strukturo in relacijski model kaže slika 3.13.

Slika 3.13: Podatkovna zbirka ocenjevalca

1. Tabeli STUDENTS in ASSIGNMENTS se prek aktivnosti DATA dopolnita s podatki

iz podatkovne zbirke strežnika Moodle iz tabel mdl_user in mdl_assignments. V

tabelo STUDENTS lahko dodajamo študente tudi z ročnim vnosom v aktivnosti

SETUP. Dodani študenti se vpišejo tudi v tabelo NEWSTUDENTS.

2. Tabeli DB in TEACHER se dopolnita samo ročno v aktivnosti SETUP, in sicer

preden začnete uporabljati aplikacijo.

3. Tabela GRADE se dopolni v aktivnosti GRADE iz tabel STUDENTS (userID, user)

in TEACHER (teacherid) ter z ročnim vnosom ocene, datum in čas pa se vneseta

samodejno (sistemski čas telefona) v obliki DD.MM.LLLL HH:MM:SS (datetime) in

v zapisu UNIX – sekunde od leta 1970 (timemod).

4. Podatki iz tabele GRADE se prek aktivnosti DATA prenesejo na strežnik Moodle v

tabelo mdl_assignments_submission.

Page 53: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

41

3.3.4 Komunikacijski modul

Sestavljen je iz programskega dela odjemalca in strojnega dela mobilne naprave.

Programski del je skrit znotraj aktivnosti DATA in predstavlja funkcije za prenos podatkov

s strežnika ali nanj prek spletnih storitev in modula Wi-Fi naprave. Ker so si funkcije

večinoma podobne, bomo predstavili samo funkcijo (Algoritem 1) za prenos uporabniških

podatkov (ocenjevalcev in študentov) sistema Moodle.

Algoritem 1: Prenos podatkov o študentih

Page 54: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

42

4 DELOVANJE APLIKACIJE

V tem poglavju predstavljamo delovanje aplikacije s ponazoritvijo zunanje podobe in

funkcionalnosti uporabniškega vmesnika, opisujemo preskusno okolje, v katerem smo

preskušali delovanje aplikacije v različnih scenarijih uporabe, in navajamo preskusne

podatke.

4.1 UPORABNIŠKI VMESNIK

Pri prvi uporabi aplikacije in za prenos podatkov s strežnika Moodle in nanj se je treba

prek brezžične povezave povezati v omrežje z dostopom do strežnika Moodle.

Uporabniški vmesnik je sestavljen iz več aktivnosti, katerih funkcionalnost smo že

podrobneje opisali v poglavju 3.3.2. V nadaljevanju pa predstavljamo uporabo aplikacije.

4.1.1 Zagon in prijava v aplikacijo

Po zagonu aplikacije se odpre aktivnost LOGIN (slika 4.1), kjer se prijavimo s svojim

uporabniškim imenom in geslom, ki je nastavljeno na strežniku Moodle.

Slika 4.1: Uporabniški vmesnik LOGIN

Če še nimamo uporabniških podatkov na napravi (npr. ob prvi prijavi), se moramo prijaviti

s programsko določenim uporabniškim imenom „ocenjevalec“ in geslom „mobilni“, s

katerim lahko vnesemo naslov strežnika, prenesemo podatke z njega in izberemo

ocenjevalca. Ker s tem uporabniškim imenom ne moremo ocenjevati študentov in prenesti

podatkov na strežnik Moodle, se moramo ponovno prijaviti v aplikacijo z uporabniškim

imenom izbranega ocenjevalca.

Page 55: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

43

Po uspešni prijavi se odpre aktivnost MENU (slika 4.2), kjer izbiramo posamezne

aktivnosti z nameščenimi gumbi.

Slika 4.2: Uporabniški vmesnik MENU

4.1.2 Nastavitev parametrov aplikacije

Parametre aplikacije nastavljamo v aktivnosti SETUP, kjer je mogoče izbrati:

– strežnik: vpišemo naslov IP strežnika;

– ocenjevalca: s seznama izberemo ocenjevalca, s čimer dopolnimo polja ime,

priimek in osebna številka. Če je seznam prazen, moramo pred tem prenesti

podatke s strežnika;

– študenta: v polja vpišemo vpisno številko, ime in priimek.

Slika 4.3: Uporabniški vmesnik SETUP

Page 56: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

44

Slika 4.3 kaže vse mogoče izbire nastavitev. Pred prvim prenosom podatkov moramo

najprej vpisati naslov IP strežnika Moodle (izbira strežnik) in ga shraniti v lokalno zbirko

(gumb za shranjevanje). Po uspešnem prenosu podatkov s strežnika izberemo še

ocenjevalca (izbira ocenjevalec). Nove študente dodajamo pred ocenjevanjem.

4.1.3 Prenos podatkov

Za prenos podatkov se je treba najprej povezati v omrežje. V aktivnosti MENU (slika 4.2)

poženemo aktivnost DATA (slika 4.4), s katero s strežnika prenesemo podatke o

uporabnikih in nalogah v lokalno zbirko telefona (gumb ).

Slika 4.4: Uporabniški vmesnik DATA

Po uspešnem prenosu lahko študente ocenjujemo na terenu, kar opravimo v aktivnosti

GRADE (slika 4.5). Ko končamo ocenjevanje, se ponovno povežemo z omrežjem, vrnemo

v aktivnost DATA in prenesemo ocene na strežnik (gumb ).

4.1.4 Ocenjevanje

Ocenjevanje poteka v aktivnosti GRADE (slika 4.5), kjer izberemo študenta in nalogo,

vpišemo oceno in komentar ter potrdimo vnesene podatke. To ponovimo za vse študente

in naloge. Vpisane ocene se nam prikažejo v oknu znotraj aktivnosti. Ko končamo

ocenjevanje, lahko vpisane ocene prenesemo na strežnik. Če imamo aktivno brezžično

povezavo in dostop do strežnika, lahko to storimo takoj.

Page 57: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

45

Slika 4.5: Uporabniški vmesnik GRADE

4.1.5 Reševanje konfliktov

Prenos ocen na strežnik poteka dvosmerno. Ko z gumbom poženemo prenos v

aktivnosti DATA (slika 4.4), se s strežnika najprej v lokalno zbirko prenesejo vnesene

ocene. Nato se vsaka naša ocena primerja z vnesenimi, ki smo jih prenesli. Pri primerjavi

uporabljamo več kriterijev:

– če že obstaja zapis z enakim študentom in nalogo, se v tabelo konfliktov vpišeta

številka identifikacijske oznake vpisa v tabelo ocen in identifikacijska oznaka vpisa

prenesenih ocen. Vpisana ocena se ne briše;

– če ocena za študenta in nalogo ne obstaja, se ocena vpiše med vpisane ocene na

strežniku;

– če smo med ocenjevanjem dodajali študente, ki še niso vpisani na strežniku, se

ocena za te študente vpiše v tabelo konfliktov.

Zadnja faza ocenjevanja je reševanje konfliktov. Če obstajajo konflikti (neusklajene ocene

– diagram na sliki 3.3), se aktivira gumb „Konflikti“ v aktivnosti MENU (slika 4.2), s katerim

pridemo do seznama konfliktov (slika 4.6). S seznama izberemo konflikte (lahko več

hkrati), ki jih lahko rešimo na dva načina:

– uveljavi: v tem primeru se vpisane ocene izbrišejo s strežnika in se nanj vpišejo

naše ocene. Hkrati se iz tabel CONFLICTS in GRADE izbrišejo vsi zapisi s temi

ocenami. Tako je ocena usklajena;

– zavrzi: naše neusklajene ocene se v tem primeru izbrišejo iz tabele ocen in

konfliktov. Ostanejo samo ocene, vpisane na strežniku.

Page 58: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

46

Slika 4.6: Uporabniški vmesnik CONFLICT

Kadar se ne moremo odločiti za določeno oceno, jo lahko pustimo neusklajeno do

prihodnjič in izberemo gumb „Odloži“, s katerim zapustimo aktivnost konfliktov. Ocena

ostane vpisana v naši zbirki do naslednjega prenosa, ko se lahko ponovno odločimo, kaj

bomo storili z njo.

4.2 PRESKUS DELOVANJA

Aplikacija je bila razvita z razvojnim orodjem Eclipse SDK različice 3.6.2 na prenosnem

računalniku HP EliteBook 8540p s pomnilnikom RAM 4 GB v operacijskem sistemu

Windows 7 Professional 32-bit, v katerem je bil nameščen tudi preskusni strežnik Moodle.

4.2.1 Preskusno okolje

Preskušanje delovanja aplikacije je potekalo v preskusnem okolju (slika 4.7) z navidezno

napravo Android (angl. Android Virtual Device, krajše AVD) na platformi Android 2.1-

update 1 ob uporabi emulatorja z lokalno povezavo in mobilnega telefona Samsung

GALAXY Apolo GT-I5800 prek domačega brezžičnega omrežja za preskus izmenjave

podatkov s strežnikom Moodle.

Page 59: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

47

Slika 4.7: Preskusno okolje (emulator Android in telefon)

Prenos podatkov med odjemalcem in strežnikom, ki smo ga izvajali na naslednja dva

načina:

– popolnoma brezžično (WLAN-WLAN): pri katerem sta bila strežnik in telefon

povezana prek brezžičnega usmerjevalnika (slika 4.8);

– brezžično-žično (WLAN-LAN): v tem primeru je bil strežnik neposredno priključen

na domače lokalno omrežje, do katerega smo dostopali s telefonom prek

brezžičnega usmerjevalnika (slika 4.9).

Slika 4.8: Preskusno okolje (povezava WLAN-WLAN)

Page 60: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

48

Slika 4.9: Preskusno okolje (povezava WLAN-LAN)

4.2.2 Preskusni podatki

Preskusni podatki študentov so bili ročno vneseni v lokalno nameščen strežnik Moodle.

Imena študentov so imena izmišljenih oseb ali prepoznavnih likov iz različnih medijev

(stripi, risani filmi, komiki, filmi ipd.). Nekaj od teh kaže slika 4.10. Dodanih je tudi nekaj

nalog (slika 4.11).

Slika 4.10: Uporabniki na strežniku Moodle

Slika 4.11: Naloge predmeta na strežniku Moodle

Page 61: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

49

4.2.3 Scenariji uporabe

Pri uporabi aplikacije je mogočih več scenarijev uporabe, ki smo jih preskusili v praksi.

4.2.3.1 Scenarij 1

Ta scenarij predstavlja običajno uporabo aplikacije s pričakovanim najpogostejšim tokom

dogodkov:

– uporabnik prenese podatke o študentih, oddajah in ocenah v lokalno hrambo v

odjemalcu;

– ocenjevalec z odjemalcem ocenjuje študente „na terenu“ in dodaja ocene;

– ko je ocenjevalec v dosegu omrežja, odjemalec pridobi trenutno stanje podatkov;

– če se podatki na strežniku v tem času niso spremenili, obvelja ustrezna ocena, v

nasprotnem primeru pa se od ocenjevalca zahteva rešitev konflikta;

– ocenjevalec lahko pri ugotovljenem konfliktu zavrže svojo oceno, jo vsili ali odloži

reševanje konflikta za kasneje;

– med uveljavljanjem ocene spletna storitev sistema Moodle ponovno ugotavlja

konflikt podatkov. Pri konfliktu se ocena zavrne, odjemalec pa ocenjevalcu ponudi

reševanje konflikta [34].

V nastavitvah aplikacije (slika 4.3, izbira strežnika) smo najprej vnesli naslov IP

računalnika z nameščenim strežnikom Moodle (slika 4.12), od koder smo uspešno

prenesli podatke o študentih in nalogah v aktivnosti DATA (slika 4.13) .

Slika 4.12: Vnos naslova strežnika

Slika 4.13: Prenos podatkov

Page 62: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

50

Nato smo v nastavitvah izbrali ocenjevalca s seznama prenesenih uporabnikov. Izbrane

študente smo ocenili in dodali komentarje k ocenam v aktivnosti GRADE (slika 4.14).

Slika 4.14: Izbira ocenjevalca in ocenjevanje

Po končanem ocenjevanju smo podatke o ocenah prenesli nazaj na strežnik. Med

prenosom na strežnik so se ocene preverjale z vpisanimi. Ker je bilo nekaj ocen že

vpisanih, so se pojavili konflikti, na uporabniškem vmesniku aktivnosti MENU pa se je

pojavil gumb za prikaz konfliktov, s katerim smo odprli seznam (slika 4.15).

Slika 4.15: Prisotnost konfliktov in njihovo reševanje

Page 63: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

51

Na seznamu konfliktov smo izbrali prvo oceno in jo uveljavili. Stara ocena se je na

strežniku izbrisala, nova pa se je prenesla nanj in izbrisala s seznama konfliktov in ocen.

Drugo oceno smo zavrgli in jo tako izbrisali s seznama ocen in konfliktov. Ker je bil

seznam prazen, se je pri vrnitvi v aktivnost MENU skril gumb za prikaz konfliktov.

4.2.3.2 Scenarij 2

Ta scenarij opisuje prisotnost neznanega študenta (predvidoma zelo redek dogodek):

– med ocenjevanjem ali uveljavljanjem ocene se lahko zgodi, da v podatkovni zbirki

nimamo podatkov o študentu (izbris, izmenjava študentov, študent brez statusa

ipd.);

– v tem primeru se v odjemalcu ocena shrani kot konflikt, ki ga je treba rešiti;

– konflikt lahko rešimo tako, da zavržemo svojo oceno ali odložimo reševanje za

kasneje;

– kasneje lahko, če bomo v sistem Moodle dodali novega študenta, izbiramo med

tremi možnostmi: vsili oceno, zavrzi oceno ali odloži reševanje konflikta [34].

V nastavitvah (SETUP, slika 4.3) smo dodali novega študenta in mu vpisali oceno. Pri

prenosu ocen na strežnik je prišlo do konflikta, ker študenta ni bilo v zbirki.

4.2.3.3 Scenarij 3

Scenarij obravnava pojav neznanega ali spremenjenega predmeta ali naloge (predvidoma

zelo redek primer):

– med ocenjevanjem ali uveljavljanjem ocene se lahko zgodi, da podatki o predmetu

ali nalogi niso več veljavni. Tudi v tem primeru se v odjemalcu ocena shrani kot

konflikt;

– če je še vedno mogoče podeliti oceno, nam odjemalec ponudi možnost vsiljevanja

naše ocene, v nasprotnem primeru pa nam ponudi samo možnost, da zavržemo

oceno ali odložimo reševanje konflikta za kasneje [34].

Page 64: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

52

4.3 REZULTATI

Aplikacijo Mobilni ocenjevalec smo preskušali v lokalnem omrežju z brezžično povezavo s

strežnikom po scenarijih 1 in 2, opisanih v poglavju 4.2.3. Nismo pa preskušali scenarija

3, ker v aplikaciji ne preverjamo časovnih omejitev nalog.

Pri prvem vnosu nastavitev naslova IP strežnika je treba najprej izbrisati vnosno polje z

gumbom in šele nato vnesti novo, v nasprotnem primeru se vneseni podatki ne

shranijo. Prenos podatkov s strežnika ali nanj deluje samo, če imamo vključeno brezžično

povezavo in smo v omrežje povezani zaradi varnosti, ker se pri prenosu s strežnika

najprej pobrišejo tabele s podatki o študentih in nalogah oziroma konfliktih in nato

ponovno napolnijo z novimi podatki. Prenos podatkov poteka brez težav in ga je mogoče

ponoviti večkrat brez podvajanja podatkov. Najprej v nastavitvah izberemo ocenjevalca, s

katerim se prijavimo v aplikacijo, da lahko ocenjujemo študente. Pri ocenjevanju izbiramo

študente (ne izberemo pa uporabnika, ki smo ga izbrali za ocenjevalca) in naloge s

seznama, ki se ustvari iz prenesenih podatkov.

Preverjanje konfliktov je potekalo tako, da smo najprej s strežnika prenesli vpisane ocene

in jih pred oddajo na strežnik primerjali z ocenami v ocenjevalcu. Če sta bila študent in

naloga pri obeh ocenah enaka, se je ustvaril konflikt, ki se je vpisal v seznam. Prav tako

se je konflikt ustvaril pri ročno dodanih študentih in takrat, ko smo enega od njih izbrisali iz

zbirke na strežniku. Pri reševanju konfliktov se je določen zapis, pri katerem smo uveljavili

svojo oceno, uspešno izbrisal iz zbirke na strežniku in s seznama konfliktov. Pri zavrnitvi

ocene pa se je izbrisal iz lokalne zbirke in s seznama.

Preskus smo ponovili večkrat, pri čemer ni prihajalo do napak. Rezultati delovanja

aplikacije so bili v skladu s pričakovanimi.

Page 65: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

53

5 SKLEP

V tem diplomskem delu smo predstavili izdelano aplikacijo za mobilno ocenjevanje

študentov v sistemu Moodle v operacijskem sistemu Android. Rezultati preskušanja so

pokazali dosežene vrste funkcionalnosti, ki smo si jih zastavili v poglavju 3.1.

Aplikacija uporablja aplikacijsko arhitekturo odjemalec/strežnik, sestavljeno iz dveh

nivojev. Prvi nivo predstavlja uporabniški vmesnik v odjemalcu, ki ga lahko namestimo na

mobilni telefon ali tablični računalnik. Drugi nivo predstavljajo spletne storitve, ki so

nameščene na strežniku Moodle in skrbijo za prenos podatkov med odjemalcem,

strežnikom in njegovo podatkovno zbirko. Z vmesnikom upravljamo podatke, ki smo jih

prenesli s strežnika in jih prenašamo nazaj.

Prenos podatkov o študentih in ocenah smo zaradi varstva podatkov omejili na lokalno

omrežje WLAN za dostop do strežnika Moodle, saj je prenos mogoč le v aktivni povezavi

z omrežjem. Ocene so shranjene na telefonu v lokalni zbirki, dokler se uspešno ne

prenesejo na strežnik, in se pobrišejo šele, ko so usklajene (niso v konfliktu). Zagotovljeno

je sprotno osveževanje podatkov, ker pri vsakem prenosu s strežnika najprej prenesemo

vpisane ocene v lokalno zbirko in jih sproti primerjamo s svojimi, ki jih pošiljamo nazaj na

strežnik.

Aplikacija je napisana v angleškem in slovenskem jeziku, s čimer je dosežena zahtevana

lokalizacija, prav tako pa jo je mogoče še dodatno razširiti v ustrezne jezike. Izbira jezika

aplikacije se izvede z izbiro lokalnih nastavitev telefona.

Razširjanje sistema z dodatnimi vrstami funkcionalnosti ne pomeni nobenih bistvenih

tehničnih ovir. Smiselno bi bilo nadgraditi sedanjo aplikacijo z možnostjo dodajanja

študentov v zbirko strežnika ali izdelati novo aplikacijo, s katero bi se lahko študenti

povezovali na strežnik Moodle prek brezžične ali mobilne povezave in pregledovali svoje

ocene ali dodane vsebine. Vendar analiza uporabe ni pokazala bistvenih pridobitev pri

nadgrajevanju odjemalca.

V prihodnje bo morda smiselno analizirati možnost uporabe samodejnega ocenjevalca, ki

bi znal samodejno izvajati preskuse oddanih nalog in predlagati ocene.

Page 66: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

54

6 VIRI

[1] Weiser Mark, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/Mark_Weiser [maj 2012].

[2] Pametni telefoni, wikipedia. Dostopno na:

http://sl.wikipedia.org/wiki/Pametni_telefon [december 2011].

[3] Študija podjetja Comshore. Dostopno na:

http://www.comscore.com/Press_Events/Press_Releases/2012/2/comScore_Reports_De

cember_2011_U.S._Mobile_Subscriber_Market_Share [januar 2012].

[4] Operacijski sistem Android, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/Android_(operating_system) [marec 2012].

[5] Operacijski sistem BlackBerry, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/BlackBerry [marec 2012].

[6] Operacijski sistem iOS, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/IOS [marec 2012].

[7] Operacijski sistem Symbian, wikipedia.Dostopno na:

http://en.wikipedia.org/wiki/Symbian [marec 2012].

[8] Operacijski sistem Windows Phone, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/Windows_Phone [marec 2012].

[9] Prva generacija mobilnih komunikacij, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/1G [december 2011].

[10] Druga generacija mobilnih komunikacij, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/2G [december 2011].

[11] Tretja generacija mobilnih komunikacij, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/3G [december 2011].

[12] Četrta generacija mobilnih komunikacij, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/4G [december 2011].

[13] Standard brezžične komunikacije Bluetooth, wikipedia. Dostopno na:

http://sl.wikipedia.org/wiki/Bluetooth [januar 2012].

[14] Standard brezžične komunikacije WI-FI. Dostopno na:

http://en.wikipedia.org/wiki/Wifi [januar 2012].

[15] Standard WEP, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/Wired_Equivalent_Privacy [april 2012].

[16] Standard WPA, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/Wi-Fi_Protected_Access [april 2012].

Page 67: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

55

[17] Protokol TKIP, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/Temporal_Key_Integrity_Protocol [april 2012].

[18] Standard AES, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/Advanced_Encryption_Standard [april 2012].

[19] Protokol EAP, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/Extensible_Authentication_Protocol [april 2012].

[20] Privatni ključ PSK, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/Pre-shared_key [april 2012].

[21] Algoritem AES-CCMP. Dostopno na:

http://msdn.microsoft.com/enus/library/windows/hardware/ff543742.aspx [april 2012].

[22] Različice operacijskega sistema Android, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/Android_version_history [december 2011].

[23] Razvojno okolje Android SDK. Dostopno na:

http://developer.android.com/sdk/index.html [april 2012].

[24] Maity, P. Android 5.0 Jelly Bean. – What We Know So Far, 29.3.2012. Dostopno na:

http://www.ibtimes.com/articles/321251/20120329/android-5-0-jelly-bean-features-

release.htm [maj 2012].

[25] Podatkovna zbirka SQLite. Dostopno na:

http://www.sqlite.org [december 2011].

[26] Android developer. Življenjski cikel aplikacije. Dostopno na:

http://developer.android.com/reference/android/app/Activity.html [januar 2012].

[27] Android Manifest Permission. Dostopno na:

http://www.androidjavadoc.com/1.0_r1/android/Manifest.permission.html [januar 2012].

[28] Kaj je SOAP. Presentia d.o.o, 4.5.2010. Dostopno na:

http://www.presentia.si/baza-znanja-helpdesk/2010/kaj-je-soap/ [junij 2012].

[29] Knutsen, J. Web Services on Mobile Android Devices. NTNU 2009, str. 10–12.

[30] Označevalni jezik XML, wikipedia. Dostopno na:

http://sl.wikipedia.org/wiki/XML [maj 2012].

[31] Protokol UDDI, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration [maj 2012].

[32] Opisni jezik spletnih storitev WSDL, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/Wsdl [maj 2012].

[33] Protokol HTTP, wikipedia. Dostopno na:

http://sl.wikipedia.org/wiki/HTTP [december 2011].

Page 68: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

56

[34] Objektni JavaScript zapis JSON. Dostopno na:

http://www.json.org/ [december 2011].

[35] Protokol REST, wikipedia. Dostopno na:

http://en.wikipedia.org/wiki/REST [december 2011].

[36] Cole, J., Foster, H. Using Moodle: Teaching with the popular Open Source

management system (2nd Edition). O'Reilly Media Inc. Sebastopol, 2008.

[37] Učni sistem Moodle. Dostopno na:

http://Moodle.org [december 2011].

[38] Tutek, S.: FURPS Za projekt Moodle offline grader, Fakulteta za elektrotehniko,

računalništvo in informatiko, Univerza v Mariboru, 2010.

Page 69: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

I

7 PRILOGE

A. LASTNOSTI PROGRAMSKE OPREME

Zahteve za strojno in programsko opremo

Naša razširitev sistema Moodle z dodatno spletno storitvijo ne bo bistveno povečala

obremenjenosti strežnika, kar pomeni, da zahteve po strojni opremi ostanejo primerljive s

sistemom Moodle.

Odjemalec bo zahteval strojno opremo (ali emulator), na katerem teče operacijski sistem

Android 2.1 (API level 7) ali novejši z vsaj 10 Mbit prostega pomnilnika.

Za komunikacijo med strežnikom in odjemalcem bo poskrbela brezžična povezava.

Priporočena je uporaba brezžične povezave WLAN zaradi stroškov in varnosti prenosa

podatkov.

Zanesljivost

S podano razširitvijo se zanesljivost sistema ne bo bistveno spremenila. Pri izpadu

odjemalca se lahko vedno vrnemo na ročno ocenjevanje. Če sistem Moodle na strežniku

ne deluje, podatki ostanejo shranjeni na mobilni napravi.

Prenosljivost spletne storitve

Programski paket, ki smo ga izdelali, je razširitev sedanjega sistema Moodle.

Prenosljivost med platformami je torej zagotovljena s prenosljivostjo tolmača oziroma

prevajalnika PHP in podatkovne zbirke.

Prenosljivost odjemalca

Težava v zvezi s prenosljivostjo odjemalca je veliko večja, saj je trg mobilnih naprav zelo

razdrobljen. Poslovna logika odjemalca in uporabniški vmesnik sta napisana v

programskem jeziku Java, kar zagotavlja visoko stopnjo prenosljivosti, žal pa so knjižnice

za uporabniški vmesnik omejene na platformo Android. Razširljivost na ostale platforme ni

težavna, zahteva pa dodatno delo in vire.

Kot izvajalci smo se čim bolj potrudili, da izdelamo kar najbolj prenosljiv kod. Za

doseganje visoke prenosljivosti smo uporabili veliko visokonivojskih metod, ki so že del

Page 70: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

II

sistema Moodle, in se čim bolj izognili nizkonivojskim posegom v podatkovno zbirko ter

razvijanju lastne logike. Naša spletna storitev se izvaja kot samostojni modul ali razširitev

sistema Moodle, kar je tudi zmanjšalo soodvisnosti programskega koda.

Prenosljivost odjemalca

Ker smo odjemalca v celoti razvili z javanskimi tehnologijami in ker so javanske aplikacije

znane po zelo visoki stopnji prenosljivosti, večjih težav ne pričakujemo. Tudi knjižnice za

izdelavo grafičnega vmesnika je razvilo veliko in zanesljivo podjetje, kar nam daje visoko

stopnjo zaupanja v stabilno in prenosljivo delovanje odjemalca med različnimi različicami

platforme.

Lokalizacija

Aplikacija za odjemalca je napisana v angleškem in slovenskem jeziku. Uporabili smo

standardni javanski pristop i18n z uporabo javanskih paketov „Resource Bundle“. Nizi so

našteti v datotekah lastnosti v kodnem naboru UTF-8. Kar pomeni, da je celotno aplikacijo

zelo enostavno prevesti v ustrezen jezik.

Varnost

Vse varnostne mehanizme smo povzeli po sistemu Moodle. Uporabniško ime in geslo je

povzeto s sistema Moodle. Pogoj za uporabo odjemalca je vsaj ena uspešna prijava v

sistem Moodle, saj odjemalec brez podatkov o predmetih, študentih, nalogah in oddajah

ne bo uporaben.

Za višjo raven varnosti priporočamo ustrezno zaščito sistema Moodle z uporabo

šifriranega protokola HTTPS in ustrezno nastavljen požarni zid.

Razširljivost

Pravne omejitve – razviti programski paket smo objavili v skladu z eno od licenc

brezplačne programske opreme, kar strankam omogoča višjo stopnjo neodvisnosti in

nadzora stroškov vzdrževanja in nadgrajevanja.

Page 71: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

III

B. NAMESTITEV

Namestitev spletne storitve

– datoteko ZIP razširite v podmapo webservice v sistemu Moodle,

– v vseh novih datotekah je treba podatke za povezavo v vrstici

$link = mysql_connect('server','username','password') ustrezno spremeniti v

podatke, ki veljajo za lokalni strežnik.

Namestitev odjemalca v operacijskem sistemu Android

Najlažji način:

– v spletni trgovini Android Market (Google Play) poiščite aplikacijo „Moodle offline

grader“ in jo namestite.

Drugi način:

– namestite si Android Software Development Kit (SDK),

– poženite ukazno lupino (npr. terminal za Linux ali cmd za Windows),

– postavite se v mapo tools nameščene programske opreme SDK,

– na mobilni napravi vključite možnost USB debugging,

– mobilno napravo povežite z računalnikom,

– poženite ukaz adb z argumentoma install in potjo do datoteke APK

(primer: adb install c:\tmp\grader.apk).

Page 72: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni

IV

C. OSEBNI PODATKI

Naslov študenta

Bojan Križanec

Kočno ob Ložnici 31A

2318 Laporje

e-pošta: [email protected]

Kratek življenjepis

Rojen sem 23.2.1966 v Mariboru

Šolanje:

– Osnovna šola Gustava Šiliha Laporje – Srednja elektro-računalniška šola (SERŠ) Maribor, smer Elektrotehnik-elektronik – Fakulteta za elektrotehniko, računalništvo in informatiko Maribor, VS študijski

program Računalništvo in informatika, smer Logika in sistemi

Page 73: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni
Page 74: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni
Page 75: APLIKACIJA MOBILNI OCENJEVALEC MOODLE NA … · Pametni telefoni so znani tudi kot dlan čniki, ki imajo vgrajen mobilni telefon. Za osnovnofunkcijske telefone se šteje, da so zmožni