Sunteți pe pagina 1din 50

ACADEMIA DE STUDII ECONOMICE-BUCUREȘTI

FACULTATEA DE CIBERNETICĂ STATISTICĂ ȘI INFORMATICĂ ECONOMICĂ


SECȚIA INFORMATICĂ ECONOMICĂ

LUCRARE DE LICENȚĂ
APLICAȚIE INTERACTIVĂ PENTRU M-LEARNING

Coordonator științific: Absolvent:


Prof. Paul Pocatilu Florescu Roxana-Elena

București 2017
Motivație
Progresul din tehnologia informației și comunicării schimbă perspectivele din care privim
procesul educațional, aducând noi metode moderne de învățare adecvate societății prezente, în
care, informația deține un rol foarte important. În ultima perioadă s-a făcut o trecere dinspre
aplicațiile tradiționale de e-learning, către cele care oferă portabilitate și flexibilitate în utilizare.
Acestea din urmă formează o tehnologie numită Mobile Learning.

Conceptul de Mobile Learning oferă posibilitatea oricui să acceseze informația și materialele


pentru învățare de oriunde și la orice moment, astfel utilizatorii au control asupra momentului în
care doresc să studieze și libertatea de a-și alege sursa din care să extragă informațiile.

În sistemul educațional actual, elevii pun mai mult accent pe tehnologie. Astfel ei sunt atrași
spre metodele de învățare care folosesc dispozitivele inteligente pentru a transmite informația.

Tema prezentei lucrări urmărește dezvoltarea unei aplicații de Mobile Learning Interactive
destinată studenților. Aplicația are ca scop ajutarea studenților în procesul de învățare, prin
sintetizarea informației cu ajutorul testelor interactive, astfel aplicația devine un suport pentru
cursurile prezentate în facultate, nu un substitut.

Consider că tehnologia ușurează stilul de viaţă şi este de asemenea un indicator de statut. Cu


cât suntem mai apropiați de tehnologie, cu atât avem acces la mai multe informații și activităţi
care ne fac vizibili. Ideea acestei aplicații a pornit din dorința mea de a aduce mai aproape
tehnologia de procesul de învățare. Dispozitivele mobile au devenit o necesitate și evoluția lor
tehnologică permite dezvoltarea unor aplicații mult mai complexe. Cred că într-o societate bazată
pe informație acestea ar putea avea un rol foarte important în dezvoltarea unei noi metode de
învățare, în care tehnicile autentice să se îmbine cu cele noi, astfel încât studentul să poată
asimila probleme complexe cât mai ușor. Prin această aplicație procesul de învățare va avea parte
de un mediu competitiv, care va instiga studentul în a învăța mai mult.

Lucrarea este împărțită în 6 capitole pe parcursul cărora este descris procesul de dezvoltare
al unei aplicații de mobile learning interactive și se prezintă aplicabilitatea acesteia în mediul
educațional. Primul capitol dezvăluie ideea centrală a lucrării și anume dezvoltarea aplicațiilor de
mobile learning în cadrul învățamântului superior. Cel de-al doi-lea capitol prezintă un studiu
asupra pieței și prezintă evoluția produselor de tip Mobile learning din ultima perioadă.
Capitolele 3,4 și 5 sunt destinate prezentării procesului de analiză, proiectare și implemetare a
aplicației. Ultimele capitole conțin scenarii de utilizare, concluzii și direcții viitoare pentru
dezvoltare.

4
1. Dezvoltarea aplicațiilor de mobile learning în învățământul superior
1.1 Introducere în m-learning

Evoluția din domeniul dispozitivelor mobile determină o creștere a numărului aplicațiilor


mobile care sunt lansate în fiecare zi. Tehnologia la care avem acces permite funcționarea unor
produse software mai complexe și mai rapide.
Impactul acestui fenomen se observă și în domeniul educațional, unde, în ultimii ani au
apărut tot mai multe aplicații destinate învățării la distanță. Sistemele de e-learning tradiționale
dezvoltate pentru laptopuri sau desktopuri se bazau pe sisteme de tip stand-alone care făceau ca
mediul de învățare sa nu fie unul activ pretutindeni. În trecut sistemele de învățare electronică
implementate pe dispozitivele mobile nu făceau față cerințelor, deoarece dispozitivele nu
beneficiau de tehnologia regăsită în laptopurile sau desktopurile de la vremea respectivă, însă,
apariția dispozitivelor mobile de tip 3G(a 3-a generație) a oferit mediul proprice pentru
dezvoltarea aplicațiilor cu caracter educativ, care permit accesul la un mediu de învățare
omniprezent [1].
Acest fenomen de evoluție cât și necesitatea mobilității au dus la apariția noului concept de
mobile learning, care reprezintă o formă de învățare la distanță, folosind platforme multiple,
derivată a conceptului e-learning.
Mobile learning-ul prin folosirea tehnologiei wireless, permite utilizatorilor să acceseze
informația și materialele educative dorite de oriunde și la orice moment de timp. În acest mod,
utilizatorii dețin controlul și își organizează singuri timpul de învățare și sursele din care doresc
să învețe. De asemenea, conceptul de m-learning vine în sprijinul comunităților care nu
beneficiază de prezența unei instituții de învățământ. Prin utilizarea dispozitivelor mobile, toată
lumea are acces la informație, indiferent de cultură, naționalitate sau statut. Acest concept este
mult mai flexibil față de e-learning, iar într-o societate în care mobilitatea este o caracteristică
urmărită de dezvoltatorii de tehnologii noi, se poate observa o trecere de la e-learning spre m-
learning.

Există mai multe definiții[2] pentru mobile learning în literatura de specialitate. Se poate
observa că în funcție de definiție există mai multe categorii de tehnologii de m-learning:
orientate pe tehnologie, orientate pe e-learning, orientate pe locație sau orientate pe
comunicare-interacțiune.
M-learning orientat pe tehnologie este descris ca orice proces de învățare cu ajutorul unui
dispozitiv mobil.
M-learning orientat pe e-learning este prezentat ca o extensie a învățământului e-learning,
dar cu ajutorul dispozitivelor mobile și a conexiunilor de rețea wireless.
M-learning orientat pe locație este descris ca fiind orice proces de învățare, în care
studentul nu se află la o locație prestabilită, indiferent de tipul de învățare ales.
M-learning orientat pe comunicare și interacțiune descrie procesul de învățare ca unul
social și constructiv, informația este preluată de la alți interlocutori prin interemdiul dialogului
facilitat de tehnologia prezentă.

În concluzie, be baza acestor definiții putem spune că mobile learning reprezintă un proces
de învățare la distanță, independent de spațiu în care tehnologia face posibilă comunicarea între
interlocutori și permite accesul la informație.
5
1.2 Avantaje M-learning
Dispozitivele mobile cum ar fi telefoanele inteligente, în general au un cost mai redus față
de calculatoarele de tip desktop sau laptop ceea ce înseamnă că sunt accesibile unui număr mai
mare de oameni, chiar și locuitori ai țărilor slab dezvoltate. Utilizatorii pot purta cu ei
dispozitivele tot timpul deoarece sunt mici și portabile. Durata de viață a bateriei este mult mai
mare față de cea a laptopurilor, ceea ce le face independente de sursa de electricitate. Telefoanele
mobile pot fi pornite și operate aproape instant. Pot fi folosite pentru a colecta, înregistra și stoca
informații folosite în procesul de învățare[3].

1.3 Importanța implementării aplicațiilor de tip M-Learning în educație


Joburile de astăzi necesită oameni cu o gândire logică și creativă care să rezolve problemele
și să decidă împreună cu echipa din care fac parte. Pentru a pregăti astfel de oameni, încă din
facultate, studenții trebuie antrenați să-și dezvolte aceste abilități și să fie puși în contact cu
tehnologia folosită de viitoarele companii angajatoare, astfel bariera dintre mediul academic și
mediul de afaceri nu va mai exista.
Bunăstarea economică a unei țări pe termen lung depinde de investițiile făcute în domeniul
educațional pentru studenți. Astfel în mediul academic se observă necesitatea implementării tot
mai multor aplicații care vor mări flexibilitatea studenților, le vor antrena abilitătile de decizie și
gândirea analitică, pentru a fi pregătiți pentru joburile viitoare sau pentru dezvoltarea unor
afacerii proprii.[4]
M-learning încurajează învățarea pe baza rezolvării problemelor. Se prezintă inițial
problema, iar apoi incremental se prezintă informații pentru rezolvarea problemei, astfel studenții
învață teoria pe care o implementează în practică imediat, astfel se eficientizează procesul de
învățare.
Cu mai mult de 2,32[5] miliarde de conexiuni mobile în lume, există o oportunitate
extraordinară pentru a transforma sistemul educațional al secolului 21 prin exploatarea celei mai
mari platforme de comunicare și informare din lume. Mereu pornite și interconectate,
dispozitivele mobile din mâinile studenților pot îmbunătăți rezultatele acestora prin furnizarea
unui mediu omniprezent de studiu care oferă posibilitatea colaborării cu profesori sau traineri
atât în cadrul mediului academic cât și în afara acestuia. Tehnologia mobilă permite livrarea unei
curricule personalizate, încurajează studenții să devină mentori, să se ajute unii pe alții și crește
nivelul de interes al acestora pentru materia studiată. Mobile learning joacă un rol important în
pregătirea studenților pentru viitoarele joburi.

6
2. Stadiul actual al cunoașterii
2.1. Aplicații existente pe piață

În ultima perioadă aplicațiile mobile, inclusiv cele de m-learning au crescut ca număr, ca


urmare a dezvoltării intense din domeniul tehnologiei mobile. În momentul actual pe piața
aplicațiilor mobile educative există mai multe categorii de aplicații cum ar fi cele specializate pe
un anumit domeniu din IT, dar și aplicații care conțin o colecție mare de resurse din toate
domeniile IT.
Unele dintre cele mai cunoscute aplicații de m-learning din domeniul IT sunt:

Khan Academy este o aplicație disponibilă atât pentru android cât și pentru dispozitivele
care folosesc iOS, însă a pornit de la o platformă web. Aplicația permite utilizatorilor accesul la
o colecție de cursuri impresionantă din mai multe domenii de interes, IT, fizică sau economie.
Este o aplicație gratuită pentru toate categoriile de utilizatori.

Coursera este o aplicație asemănătoare celei prezentate mai sus, însă colecția de cursuri este
mai mare, iar accesul la anumite cursuri se face prin plată online. Această aplicație permite
înscrierea la cursuri independente(“self-paced”) sau la cursuri care se desfășoară într-o anumită
perioadă de timp sub îndrumarea unui trainer. Unele cursuri oferă certificate de participare
verificate, acestea fiind un plus pentru programatorii care doresc să învețe tehnologii noi și să
aibă la final și o certificare verificată.

Udemy este o bibliotecă de cursuri în care utilizatorii se pot abona la un anumit curs prin
cumpărarea lui. Colecția de cursuri este variată, de la cele de programare și învățarea anumitor
produse software din suita Adobe sau Microsoft, până la cursuri pentru soft-skills. Cursurile sunt
bazate pe conținut video cu caracter instructiv.

O categorie de aplicații cu succes în rândul tinerilor o reprezintă aplicații de tip „Quiz” sau
teste interactive, majoritatea având ca principale categorii de întrebări cultura generală. Unele din
cele mai cunoscute aplicații de tip „Quiz/Trivia” disponibile pe android sunt:
QuizUp un joc online, în care jucătorii joacă în competiție directă. Întrebărrile sunt de
cultură generală din diferite domenii(film, literatură, muzică, etc). Un minus al acestui joc este
acela că nu se poate juca offline, necesită conexiune la internet. Pentru a juca, utilizatorul trebuie
să își facă un cont sau să folosească autentificare prin Facebook, apoi poate să provoace alți
utilizatori din lista de prieteni pentru a juca. Fiecare joc constă într-o serie de 15 întrebări, fiecare
cu un timp limitat de răspundere. Jucătorul care răspunde corect și mai repede primește puncte în
plus.

LogoQuiz este un joc asemănător celui de mai sus însă întrebările sunt înlocuite de iconițe
care reprezintă logo-urile unor companii celebre, din care lipsesc anumite elemente. Utilizatorul
trebuie să aleaga varianta care prezintă numele companiei căruia îi aparține logo-ul. Asemeni
jocului de mai sus, utilizatorul trebuie să se autentifice fie printr-un con de utilizator fie folosind
Facebook, iar pentru a juca acesta trebuie să provoace un alt utilizator din lista de prieteni. Pentru
a juca este necesara conexiunea la internet.
După cum se observă aplicațiile de tip Trivia/Quiz nu sunt personalizabile, utilizatorul nu își
poate crea singur teste prin care să-și verifice anumite cunoștințe. Aplicația pe care doresc să o
dezvolt va combina facilitățile unei aplicații de mobile learning în care vor fi disponibile o serie
de cursuri și interactivitatea oferită de jocurile de tip „quiz” care va permite utilizatorilor
posibilitatea de a-și sintetiza cursurile prin intermediul testelor concepute de ei.Scopul aplicației
este acela de a ajuta utilizatorul în procesul de învățare folosind metoda întrebărilor, în care
utilizatorul trebuie să conceapă atât întrebarea cât și variantele de răspuns pentru aceasta.

2.2 Analiza tehnologiei preferate pe piață


Atât pe piața internațională cât și pe cea locală majoritatea utilizatorilor de smartphone aleg
tehnologia Android în detrimentul iOS. La nivel mondial conform analizelor furnizate de cei de
la IDC(International Data Corporation) procentul device-urilor care rulează un sistem de operare
Android este de 81,2%din numărul total de telefoane smart, iar cele care rulează un sistem de
operare iOS este de doar 15,8%.(procente din începutul anului 2016). În România 75%[6] din
utilizatori preferă Android și doar 15% preferă dispozitivele iOS. Luând în calcul aceste
statistici, pentru un prim model al aplicației voi alege tehnologia Android deoarece aplicația va
avea acces la un număr mai mare de utilizatori. Alte avantaje importante în dezvoltarea unei
aplicații Android sunt reprezentate de faptul că acest mediu de dezvoltare este open source și are
foarte mulți adepți, este foarte bine documentat și nu implică costuri foarte mari în dezvoltarea
unei aplicații.

8
3. Analiza cerințelor sistemului informatic
Aplicația prezentată în lucrarea de față, denumită „Challenge IT” își propune să ofere
utilizatorului un instrument util pentru învățare și evaluare a cunoștințelor de IT prin intermediul
testelor interactive. Utilizatorul are posibilitatea de a-și vizualiza datele din contul de utilizator,
de a accesa cursurile din baza de date încărcate anterior în sistem și de a accesa teste predefinite,
sau crearea unor noi teste care se vor salva in baza de date la care va avea acces imediat după ce
se va finaliza procesul de salvare.
În acest capitol se va detalia procesul de anliză care are rolul de a scoate în evidență cerințele
funcționale pe care sistemul trebuie să le îndeplinească pentru ca acesta să-și atingă obiectivele
menționate anterior.

3.1 Descrierea cerințelor sistemului informatic


În condițiile unui mediu informatic în continuă dezvoltare și pe un stil de viață al studenților
din ce în ce mai dinamic, se observă necesitatea de flexibilitate a procesului de învățare.
Studenții au nevoie de un mediu mobil, flexibil și ușor de utilizat în care să găsească informația
necesară. Astfel aplicația prezentă, le va permite studenților din cadrul facultății de Informatică
Economică să acceseze cursurile de care au nevoie în orice moment. În prezent aplicația este
destinată studenților din cadrul facultății de Informatică Economică, iar cursurile disponibile vor
fi din domeniul programării cum ar fi programare orientată obiect, Java, programarea aplicațiilor
Windows, structuri de date și altele.

Aplicația avută în vedere oferă posibilitatea utilizatorilor să acceseze cursuri familiare pentru
ei, prezente în curricula de la facultate, permite evaluarea cunoștințelor prin intermediul testelor
predefinite sau personalizarea acestora în funcție de nevoile utilizatorului.

Aplicația va stoca într-o bază de date informațiile oferite în cadrul cursurilor online, dar și o
serie de teste predefinite. Va fi permisă introducerea de informații noi în baza de date de către
utilizator pentru personalizarea propriilor teste. Aplicația trebuie să permită modificarea testelor
personalizate. Toate aceste activități vor fi accesibile prin intermediul contului de utilizator.

Un utilizator care dorește să acceseze aplicația va avea nevoie de un cont de utilizator pentru
care va trebui să specifice un nume și o parolă sistemului. O dată ce s-a autentificat acesta are
posibilitatea să aleagă cursuri deja existente în baza de date prin selectarea categoriei care
prezintă interes pentru el. Acesta poate alege să-și evalueaze cunoștințele fie prin intermediul
unui test predefinit din sistem, fie prin crearea unui test personalizat în care utilizatorul își scrie
singur întrebările cu variante de răspuns.
Aplicația va permite utilizatorilor să caute teste în baza de date după un anumit nume, astfel
toate testele din baza de date sunt disponibile tuturor utilizatorilor.

Aplicația permite vizualizarea unor statistici care evidențiază cele mai accesate teste pentru ca
un utilizator să își dea seama care teste sunt mai populare.

3.2 Diagrame UML


Pentru a avea o imagine de ansamblu asupra arhitecturii și comportamentului aplicației
prezentate, se vor reprezenta mai multe tipuri de diagrame folosind limbajul de modelare UML.
În acest subcapitol vor fi prezentate unele dintre cele mai importante tipuri de diagrame
construite în etapa de analiză a aplicației.

3.2.1 Diagrama generală a cazurilor de utilizare


Diagrama generală a cazurilor de utilizare are rolul de a reprezenta posibilitățile unui
utilizator(actor) de a interacționa cu sistemul care este prezentat în această lucrare.

Diagrama generală a cazurilor de utilizare reprezentată în figura 3.1, prezintă toate opțiunile
pe care le are actorul (utilizatorul) pentru folosirea aplicației. Se idetifică două tipuri de actori:
vizitatorul, cel care are acces la funcționalități limitate ale aplicației. Dacă acesta alege să își facă
un cont de utilizator, va trece în categoria a 2 a de actori, utilizatorii, cei care au acces la toate
funcționalitățile dezvoltate de aplicație.

După cum se poate observa în figura 3.1 prezentată mai jos, după autentificare un utilizator
poate alege una din cele 3 categorii de actvități: vizualizare informații cont, accesare cursuri și
evaluare.
Pe ramura de vizualizare a informațiilor de profil, utilizatorul are posibilitatea de a-și
vizualiza anumite date de profil.
Pe ramura de accesare cursuri, utilizatorul va putea alege dintr-o lista de categorii predefinte,
cea de care este interesat. Fiecare categorie de cursuri disponibilă, prezintă o listă de cursuri,
preluate din baza de date și care vor fi afișate sub format pdf din aplicație.
Pe ramura de evaluare, utilizatorul are la dispoziție testele predefinte pe care le poate parcurge
sau își poate crea singur testul prin intermediul activității de personalizare teste. Utilizatorul
poate căuta un test în baza de date folosindu-se de numele acestuia. Utilizatorului îi mai este
permisă și vizionarea de statistici.

După cum se observă, diagrama generală a cazurilor de utilizare reprezintă o bază pentru
stabilirea funcționalităților de bază ale aplicației.

10
Figura 3.1- Diagrama generală a cazurilor de utilizare

11
3.2.2 Descrierea detaliată a cazurilor de utilizare

După cum se observă din tableul 3.1, pentru cazul de utilizare Creare Cont este necesar
accesul la rețea deoarece această activitate folosește o conexiune la o bază de date aflată pe un
server extern. Atâta timp cât conexiunea nu este întreruptă, utilizatorul își poate introduce datele
în baza de date prin intermediul aplicației. Pentru ca fiecare utilizator să aibă o identitate unică,
acesta trebuie să specifice un nume de utilizator unic. În caz contrar datele nu vor fi introduse în
baza de date, iar acesta va fi nevoit să introducă alt nume de utilizator.

Tabel 3.1- Descrierea detaliată a cazului de utilizare creare cont

Pentru cazul de utilizare Autentificare, descris în tabelul 3.2, se obeservă că pentru a putea
accesa această funcționalitate, utilizatorul trebuie să aibă atât conexiune la internet, cât și un cont
de utilizator înregistrat în prealabil. După ce utilizatorul va introduce numele de utilizator și
parola, sistemul va verifica corectitudinea acestora în baza de date și în functie de mesajul primit
de la server, de succes sau eroare, utilizatorul va putea sau nu să intre în aplicație și să aibă acces
la toate funcționalitățile acesteia.

12
Tabel 3.2- Descrierea detaliată a cazului de utilizare autentificare

Element al Descriere
cazului de
utilizare
Cod CU02
Stare Schiță
Nume Autentificare
Actor Utilizator
principal
Descriere Presupune posibilitatea utilizatorului de a accesa funcționalitătile
aplicației prin intermediul contului de utilizator.
Precondiții Utilizatorul trebuie să aibă conexiune la internet pentru a se realiza
conxiunea cu baza de date, anterior acesta trebuie să-și fi creat un cont de
utilizator.
Postcondiții Informații completate să se regăsească în baza de date
Flux de bază 1. Utilizatorul dorește să acceseze aplicația
2. Completează câmpurile pentru logare
3. Sistemul va verifica datele introduce în baza de date.
4. În cazul în care căutarea este reușită utilizatorul va ajunge în
pagina principală a aplicației, altfe va primi un mesaj de eroare
Frecvența Des- de fiecare data când va dori să acceseze funcționalitățile aplicației.
utilizării

Următoarele cazuri de utilizare vor fi accesibile doar după ce utilizatorul s-a autentificat cu
succes în contul de utilizator și există o conexiune la internet pentru a se realiza comunicarea cu
baza de date. Pentru simplificarea diagramelor vom considera că utilizatorul s-a autentificat cu
succes.

În tabelul 3.3 este descris cazul de utilizare vizualizare informații cont. Este o activitate a
cărei frecvență depinde strict de necesitățile utilizatorului. Acesta are posibilitatea de a-și
vizualiza informațiile de cont.

13
Tabel 3.3- Descrierea detaliată a cazului vizualizare informații cont

Cazul de utilizare accesare cursuri prezentat în tabelul 3.4, descrie felul în care un utilizator
poate accesa materialele de învățare. După ce a ales categoria pentru care prezintă interes, acesta
va putea selecta un curs din acea categorie care va fi afișat ca și pdf. Frecvența acestei activități
este crescută deoarece este una dintre funcționalitățile principale, care dau și tematica aplicației.

Tabel 3.4 - Descrierea detaliată a cazului accesare cursuri

14
În tabelul 3.5 este prezentat cazul de utilizare evaluare. Acesta este un caz mai complex
deoarece utilizatorul are mai multe posibilități. Acesta poate să aleagă unul dintre testele
predefinite ale aplicației, sau poate alege să-și personalizeze singur un test prin introducerea de
întrebări și răspunsuri. Pentru a realiza această activitate utilizatorul trebuie să intre în meniul de
evaluare și să aleagă metoda de testare dorită. În cazul în care va alege teste predefinite, acesta
va putea alege dintr-o listă de teste. În cazul în care acesta va alege personalizare test, va trebui
să își construiasca singur testul, care va fi salvat în baza de date, și va apărea apoi în lista cu
testele personalizate ale utilizatorului. Utilizatorul poate în cadrul acestui caz de utilizare să
vizualizeze diferite statistici referitoare la teste, cum ar fi cele mai populare teste în funcție de
numărul de accesări.

Tabel 3.5- Descrierea detaliată a cazului de utilizare evaluare

15
3.2.3 Diagrame de activitate
Diagrama de activitate are rolul de a reprezenta vizual acțiunile necesare pentru a ajunge la
un anumit rezultat.[7]

Figura 3.4- Diagrama de activitate a cazului creare cont

În figura 3.4 este reprezentată diagrama de activitate pentru cazul de utilizare creare cont.
Activitatea începe în momentul în care un utilizator decide să își creeze un cont. Pentru a se
înregistra acesta trebuie să introducă un nume de utilizator și o parolă. Sistemul va verifica datele
introduse pentru a asigura unicitatea numelui de utilizator. Dacă numele de utilizator este unic
atunci, datele vor fi salvate în baza de date și contul de utilizator va fi creat Dacă numele există
deja în baza de date, utilizatorul va trebui să introducă alte date pentru autentificare. Activitatea
se termină atunci când datele sunt salvate în baza de date.

16
Figura 3.5 Diagrama de activitate a cazului de utilizare accesare cursuri

Conform figurii 3.5 care prezintă diagrama de activitate a cazului de accesare a unui curs, se
observă că pentru a realiza acest lucru, utilizatorul trebuie să selecteze o categorie din cele
disponibile. După ce a selectat o categorie, sistemul va prelua toate cursurile asociate din baza de
date și le va afișa într-o listă. După ce utilizatorul alege cursul dorit, sistemul îl va afișa în format
pdf pe ecranul telefonului. Fluxul de activitate se termină abia după ce cursul este afișat.

17
Figura 3.6 Diagrama de activitate a cazului de utilizare evaluare

Pentru cazul în care utilizatorul dorește să acceseze un test(Figura 3.6), inițial acesta
trebuie să aleagă dacă dorește să acceseze un test predefinit sau unul creat. În cazul în care acesta
alege opțiunea de teste predefinite, sistemul va face o listă cu toate testele predefinite din baza de
date dintre care utilizatorul va avea posibilitatea de a alege unul. Dacă utilizatorul alege opțiunea
de teste personalizate, se va verifica în baza de date dacă există teste care să aparțină de numele
său de utilizator. Dacă există teste, se va face o listă cu toate testele, dacă nu există utilizatorul
are posibilitatea de a începe crearea unui test personalizat. Fluxul de activitate se va termina doar
atunci când utilizatorul va selecta un test.

18
3.2.4 Diagrame de stări
Diagrama de stare are rolul de a reprezenta stările dinamice ale unui obiect specific din
sistemul informatic, în anumite momente de timp. În diagrama de stare a unui test sunt
prezentate stările prin care trece o instanță a clasei Test.

Figura 3.7. Diagrama de stare a unui test

Din figura 3.7 se poate observa că, un test personalizat de utilizator are starea de test nou și
este în curs de creare în momentul în care utilizatorul adaugă întrebările. Starea testului se va
schimba de la în curs de creare la salvat atunci când utilizatorul a terminat de adăugat
întrebările, iar testul este salvat în baza de date. Abia după acesta poate fi accesat de utilizatori.
Dacă testul este selectat, acesta va intra în starea accesat, iar în funcție de câte întrebări a parcurs
utilizatorul, testul poate fi în curs de efectuare, sau finalizat. Starea finală a testului este aceea de
evaluat, moment în care se calculează procentajul de întrebări corecte.

19
4. Proiectarea sistemului informatic
4.1. Proiectarea bazei de date
În cadrul acestei etape se va modela baza de date cu ajutorul informațiilor reieșite din etapa de
analiză asupra sistemului.

Figura 4.1 Schema conceptuală a bazei de date

Aplicația folosește o bază de date compusă din 7 tabele: Utilizatori, Teste, Întrebări,
Răspunsuri, Vizualizări, Cursuri și Categorii.

Tabela Utilizatori este flosită pentru a gestiona conturile de utilizator folosite pentru a accesa
aplicația. Cheia primară a tabelei este constituită din câmpurile id și username care sunt folosite
pentru a identifica în mod unic un utilizator. Câmpurile nume, prenume, email și parolă sunt date
furnizate de utilizator la înregistrare. Pentru procesul de autentificare vor fi folosite doar
câmpurile username și parolă.

Tabela Teste este utilizată pentru managerierea tuturor testelor din aplicație, atât cele
predefinite, cât și cele personalizate și conține câmpurile idTest, nume și username. Diferența
dintre cele două tipuri de teste constă în valoarea pe care o va lua câmpul username din tabelă.
Dacă pentru o înregistrare, valoarea câmpului va fi nulă, atunci testul este predefinit, dacă are o
valoare diferită de cea nulă, atunci testul a fost creat de un utilizator. Cheia primară a tabelei este
20
reprezentată de câmpul idTest. Legătura cu tabelul utilizatori se face prin intermediul coloanei
username. Relația dintre tabela Utilizatori și Teste este de tip unu-la-mai-mulți, un utilizator
poate avea mai multe teste, însă un test aparține de un singur utilizator.

Tabela Intrebări este utilizată pentru a gestiona întrebările care aparțin testelor. Prezintă
câmpurile: idÎntrebare, conținut și idTest. Cheia primară a tabelei este reprezentată de câmpul
idÎntrebare. Coloana idTest face legătura cu tabela de teste printr-o relație de tip unu-la-mai-
mulți. O întrebare aparține de un singur test, iar un test poate avea mai mute întrebări. Se observă
că pentru a putea insera o întrebare în baza de date trebuie specificat un test de care trebuie să
aparțină, astfel, tabela întrebări este dependentă de tabela teste.

Tabela Răspunsuri este folosită pentru a stoca răspunsurile care aparțin întrebărilor. Prezintă
câmpurile id, răspuns, isCorrect și idÎntrebare. Pentru fiecare răspuns se va înregistra prin
intermediul câmpului isCorrect care reprezintă o valoare de tip boolean, dacă este corect sau nu.
Se observă că există o relație de tip unu-la-mai-mulți între tabelele întrebări și răspunsuri.
Câmpul care leagă cele două tabele este idIntrebre. Un răspuns aparține unei singure întrebări,
însă o întrebare poate avea mai multe răspunsuri.

Tabela Vizualizări este folosită pentru a manageria numărul de accesări pentru fiecare test,
astfel utilizatorii își vor putea da seama care teste sunt mai populare în rândul utilizatorilor.

Tabela Cursuri este utilizată pentru a gestiona totalitatea cursurilor la care au acces utilizatorii
prin intermediul aplicației. Cheia primară este reprezentată de câmpul id, care identifică în mod
unic fiecare curs. Pentru fiecare înregistrare se va specifica numele cursului, adresa url la care se
poate găsi cursul și categoria din care face parte. Ultimul câmp face leg,ătura cu tabela
categorii,în care sunt gestionate toate categoriile posibile. Pentru a fi adăugat, uncurs trebuie să
aparțină de o categorie existentă deja în baza de date.

4.2. Diagrama detaliată a claselor


Diagrama de clase detaliată are rolul de a reprezenta arhitectura sistemului informatic prin
abstractizarea obiectelor prin intermediul claselor și reprezentarea modului în care acestea
comunică între ele prin descrierea relațiilor care le leagă.

Deoarece aplicația conține multe clase care comunică între ele, vor fi reprezentate
diagramele de clase pentru cele mai importante cazuri de utilizare

21
Figura 4.2 Diagrama de clase pentru activitatea de vizualizare Cursuri

În diagrama prezentată în figura 3.2 se pot observa toate clasele implicate în realizarea
activității de vizualizare a cursurilor. Clasa CursPdf abstractizeză un obiect de tip curs, pentru
care se reține numele acestuia și url-ul de pe server. Prin intermediul clasei GetCursuriPdf se va
prelua lista de cursuri specifice unei categorii, din baza de date și va fi transpusă într-un obiect de
tip ListView. Din clasa CursuriActivity. În momentul în care utilizatorul va selecta un curs din
această listă, cursul va fi afișat în format PDF

22
Figura 4.3 Diagrama de clase pentru activitatea de sustinere test

În figura 3.3 este descrisă diagrama de clase pentru activitatea de susținere a unui test.
Inițial vor fi preluate testele din baza de date și vor fi afișate într-un list view în activitatea
TestePredefinite. În funcție de id-ul testului care a fost selectat, vor fi preluate din baza de date
intrebările aferente testului și apoi pentru fiecare întrebare vor fi preluate răspunsurile din baza
de date.

4.3. Proiectarea interfețelor sistemului


Proiectarea interfețelor sistemului are rolul de a crea o bază pentru dezvoltarea interfeței
grafice. Prin diagrama interfețelor se poate observa ușor cum comunică diferite ferestre între ele
și ce butoane ar trebui să conțină aceste ferestre.

23
Figura 4.4 Arhitectura interfețelor cu utilizatorul

Din figura 4.4 se poate observa o arhitectură generală a interfețelor cu utilizatorul. Primul
ecran cu care ar trebui să interacționeze utilizatorul este cel de autentificare. Dacă utilizatorul nu
are cont, apăsând pe butonul de creare cont, îi va fi afișat formularul de introducere a datelor
pentru un nou cont de utilizator. Când va apăsa pe butonul de creare cont, va fi trimis înapoi în
pagina de autentificare. Atunci când se va autentifica, uitilizatorului îi va apărea ecranul care
conține meniul principal. Atunci când utilizatorul alege opțiunea accesare cursuri, va apărea
ecranul care conține lista de cursuri. În funcție de cursul ales, acesta va fi afișat în format pdf.
Dacă utilizatorul va alege opțiunea de teste, va apărea ecranul cu meniul pentru teste, care va
conține următoarele butoane: teste predefinite, testele mele, personalizare test și statistici. Acest
ecran conține și un câmp de introducere a textului, prin care un utilizator poate să caute teste
după un nume introdus. În funcție de rezultat utilizatorului îi vor fi afișate într-o listă toate testele
găsite în baza de date care au în componența numelui, datele introduse de utilizator.În momentul
24
în care un utilizator accesează un test din listă acesta va fi trimis în formularul pentru suținerea
testului. Dacă utilizatorul alege opțiunea de personalizare test, acestuia îi va fi afișat formularul
de introducere a unui test în baza de date.

25
5. Impementarea sistemului informatic
5.1. Descrierea tehnologiilor informatice utilizate
5.1.1. Android
Android rulează pe milioane de telefoane smartphone, fiind disponibil în mai bine de 190
de țări. Este cea mai răspândită platformă de software mobil din lume și înregistrează o creștere
rapidă, în fiecare zi milioane de utilizatori aleg un smartphone care folosește Android ca sistem
de operare.
Android este un sistem open source, construit folosindu-se nucleul Linux și limbajul celor
de la Sun/Oracle- JAVA. Flexibilitatea limbajului și orientarea acestuia spre evoluție, a atras atât
utilizatorii cât și dezvoltatorii, astfel numărul de aplicații construite pentru Android crește de la o
zi la alta. Împreună cu partenerii săi, Android împinge limitele hardware și software înainte
pentru a aduce noi capabilități atât pentru utilizatori cât și pentru informaticieni. Pentru
dezvoltatori, Android încurajaează inovația, platforma pune mereu la dispoziție cele mai noi
tehnologii.
Structura platformei Android este împărțită în mai multe straturi, fiecare având o funcție
specifică și responsabilități clare.
 Aplicație - este reprezentat de serviciul Google Play. Platforma unde sunt
publicate toate aplicațiile. Accesibilitatea acesteia, încurajează dezvoltatorii să-și publice
aplicațiile și să le monetizeze cum doresc. Nu există restricții foarte mari. Un dezavantaj ar
prezenta utilizatorii rău voiți, care pot introduce aplicații care să conțină cod de tip malware.
 Framework- reprezintă o parte intergrată a platformei și a SDK-ului. Acesta oferă
o serie deAPI-uri pentru a facilita interacțiunea de nivel înalt cu sistemul de operare.
 Bibliotecile intermediare- reprezintă o colecție de componente care fac legătura
dintre sistemul de operare și aplicații.
 Sistemul de operare: reprezintă nucleul, este bazat pe sistemul de operare Linux.

O caracteristică importantă a Androidului este că folosește limbajul Java. Tocmai


caracteristica open-source oferă versatilitatea necesară unui astfel de sistem de operare. Diferența
între aplicațiile Java și cele android, este aceea că cele din urmă nu rulează în mașina virtuală
java clasică, ci pe Dalvik Virtual Machine, un înlocuitor construit de cei de la google pentru a
simula terminalele mobile[8][9].

5.1.2. Limbajul PHP


PHP este un limbaj de scripting orientat pe partea de server. Este foarte ușor de folosit
pentru a programa comunicarea dintre un server și baza de date. Inițial, PHP era acronimul
„Personal Home Page” însă a fost schimbat în PHP Hypertext Preprocessor de către GNU.
Programarea utilizând limbajul PHP aduce multe beneficii utilizatorilor, unele dintre ele ar fi:
 Performanța: PHP este foarte eficient și printr-o sintaxă simplă un server poate fi
optimizat foarte ușor.

26
 Integrarea bazelor de date: limbajul PHP are o conexiune nativă cu multe tipuri
de baze de date, dintre acestea, cea mai importantă este MySQL.
 Biblioteci incluse: deoarece PHP este cel mai des utilizat în programarea web,
acesta are numeroase biblioteci incluse în mod implicit, care ajută dezvoltatorul îń
procesul de implementare a funcționalităților unei aplicații.
 Open-Source: este gratuit și există o comunitate activă de dezvoltatori care
postează cod sursă, ceea ce ajută dezvoltatorii începători sau pe cei care nu au mai
utilizat niciodată PHP. [10]

5.1.3. MySQL
MySQL este un sistem foarte rapid și robust de manageriere a bazelor de date relaționale.
Serverul MySQL permite accesul mai multor utilizatori în același timp la baza de date. Acesta
verifică dacă utilizatorii au autorizația necesară pentru accesarea datelor, permite un acces rapid
la baza de date și optimizează lucrul cu baza de date. Pentru lucrul cu baza de date, serverul
MySQL folosește limbajul structurat SQL(Structured Query Language), care reprezintă un
limbaj standard de lucru cu baza de date în lume. Unele din avantajele utilizării MySQL sunt:
 Performanța ridicată: serverul MySQL este foarte rapid și ușor de utilizat,
principalul său competior fiind serverul ORACLE.
 Costuri reduse: deoarece poate fi folosit atât gratuit, dar și sub licență,
implementarea unei soluții care folosește MySQL nu produce costuri majore
proiectului.
 Portabilitatea: Este foarte ușor de implementat o soluție MySQL, indiferent de
sistemul de operarea, deoarece acesta este compatibil cu majoritatea sistemelor de
operare[10]

5.2. Implementarea sistemului informatic


Implementarea fiecărei funcționalități a sistemului informatic prezentat în cadrul acestei
lucrări s-a realizat prin intermediul a trei etape de dezvoltare:
 Crearea unei tabele în baza de date pentru aplicație
 Crearea scripturilor php necesare pentru a realiza conexiunea aplicației cu baza de
date
 Crearea funcționalităților aplicației folosind Android Studio

Pentru a crea baza de date am utilizat interafața grafică phpMyAdmin(figura 5.1), unde
interfața ușor de utilizat mi-a oferit toate instrumentele necesare pentru a crea tabelele și
legăturile dintre ele. Toate tabelele au fost construite conform instrucțiunilor reieșite din etapa de
proiectare a sistemului informatic.

27
Figura 5. 1 Crearea bazei de date cu ajutorul phpMyAdmin

Pentru a asigura comunicarea cu baza de date aflată pe un server extern am utilizat


scripturi php prin intermediul cărora se realizează anumite operații pe baza de date și care
returnează aplicației rezultate într-un format compatibil cu abordarea orientată obiect, prin
serializarea în format JSON.
Scripturile php au fost apoi încărcate pe server de unde vor fi accesate de aplicație în
funcție de cazul de utilizare, astfel fiecare funcționalitate a aplicatiei va avea și un scrip php
corespondent pe server.

5.2.1. Autentificarea și înregistrarea


În cadrul acestei activități utilizatorul are posibilitatea de a-și crea un cont de utilizator prin
completarea unui formular din aplicație. Datele introduse de utilizator în cadrul aplicației vor fi
parametri de intrare ai unui script php care va insera valorile în tabela utilizatori.

28
Figura 5.2 Scriptul php pentru activitatea de înregistrare a unui cont

În figura 5.2 este prezentat scriptul php aferent activității de înregistrare a unui cont. Scriptul
primește ca parametri username(numele de utilizator), numele, prenumele, emailul și parola pe
care utilizatorul le specifică în cadrul aplicației, apoi prin intermediul unei expresii SQL va
insera acestea valori în tabela utilizatori. Înainte de a se produce inserarea în baza de date, va fi
verificată unicitatea username-ului prin itermediul funcției usernameAvailable(). Dacă acesta
este unic se apelează funcția registerUser() în care este criptată parola și sunt inserate datele în
baaza de date. Pentru criptarea parolei am folosit o bibliotecă externă php, password.php și am
folosit algoritmul de criptare implicit al bibliotecii.

29
În cadrul aplicației android, pentru a accesa scriptul php de pe server am folosit biblioteca
Volley. Această bibliotecă este specializată în operațiile care necesită acces la internet. Aceasta
face ca apelurile de rețea să fie mult mai ușor de implementat, mai rapide și optimizate. În mod
implicit apelurile de rețea volley sunt asincrone, ceea ce înseamnă că nu mai trebuie să
implementăm Asynctask .
Pentru a transfera datele introduse de utilizator scriptului php, am creat o clasă
RegisterRequest care extinde clasa StrigRequest din biblioteca volley.

Figura 5.3 Clasa Register Request

Ca atribute ale clasei avem un șir de caractere care este folosit pentru adresa pe care o vom
accesa și o structură de date de tip Map în care se vor introduce parametrii. Constructorul clasei
va primi ca parametri toate datele pe care utilizatorul le introduce în câmpurile formularului, dar
și un obiect de tip Response.Listener. Acest obiect va fi folosit pentru a primi răspunsul
serverului în urma cererii inițiate de aplicație. În interiorul constructorului se va apela metoda din
clasa părinte Volley.StringRequest care primește ca parametri, tipul metodei de apel, în acest caz
POST ceea ce înseamnă că vom trimite parametri scriptului aflat la url-ul specificat, adresa url ce
va fi accesată, obiectul de tip listener, null, care substituie un obiect de tip Error Listener, utilizat
în cazul unei erori la conexiune. Pentru a trimite parametrii introduși de utilizator, vom crea un
HashMap în care vom introduce datele furnizate de utilizator. Este important ca cheia specificată
să fie aceeași ca și numele parametrului specificat în scriptul php. Metoda getParams este
folosită pentru ca Volley să aibă acces la parametrii introduși în cadrul constructorului.

30
Figura 5.4 Metoda de creare a contului de utilizator

În figura 5.4 este prezentată implementarea metodei onClickListener pentru butonul de


înregistrare. Atunci când butonul este apăsat toate datele introduse în câmpurile de tip edit text
vor fi trimise prin intermediul unui obiect de tip RegisterRequest serverului. În obiectul de tip
ResponseListener se implementează metoda onResponse în care se specifică comportamentul
aplicației în funcție de răspunsul primit în urma cererii. Un lucru important la biblioteca Volley
este că aceasta folosește coada de prioritate pentru cereri, ceea ce înseamnă că o cerere nu va fi
executată decât dacă este inserată într-o astfel de coadă.
Este folosit același concept și pentru funcționalitatea de autentificare.

31
5.2.2. Accesarea cursurilor sau testelor
Pentru acesarea cursurilor sau testelor am folosit următorul script php :

Figura 5.5 Script php pentru accesarea cursurilor

Acest script va accesa baza de date și va face un SELECT pe tabela cursuri în funcție de
categoria specificată. Rezultatele obținute vor fi apoi serializate într-un obiect de tip JSON.
În aplicația android, pentru a accesa aceste obiecte am implementat o nouă clasă numită
Connector folosită pentru a accesa o adresa specificată prin intermediul unui obiect de tip
HttpURLConnection.

Figura 5.6 Clasa connector

32
Figura 5.7 Clasa GetCursuri

În clasa GetCursuri prezentată în figura 5.7, care extinde clasa AsyncTask prin intermediul
metodei downloadData care folosește o instanță de tipul Connector se va prelua rezultatul primit
și se va memora într-un atribut numit jsonData sub formă de șir de caractere. Metoda se va apela
în cadrul metodei doInBackground, specifică claselor AsyncTask. În metoda onPostExecute, în
funcție de răspunsul primit în cadrul metodei downloadData, va fi afișat un mesaj de eraore sau
vor fi preluate cursurile din obiectul JSON și vor fi afișate într-un List View cu ajutorul clasei
ParseCursuri prezentată în figura 5.8.

33
Figura 5.8 Metode din clasa ParseCursuri

În clasa ParseCursuri prezentată în figura 5.8 vor fi preluate obiectele din cadrul JSON-ului
și vor fi adăugate în vectorul cu obiecte de tip curs, care va fi afișat într-un List View adaptat.
Metoda parseData care este apelată în cadrul metodei suprascrise doInBackground are rolul de a
transforma șirul de caractere primit ca răspuns în obiecte de tip curs.
În cadrul metodei onPostExecute, cursurile din vector vor fi afișate în cadrul unui listView
adaptat și se tratează evenimentul de selecție a unui obiect din listă, astfel în momentul în care
utilizatorul selectează un curs din listă acesta va fi afișat în format PDF.

5.2.3. Vizualizarea cursurilor


Pentru funcționalitatea de vizualizare a cursurilor am folosit o bibliotecă opensource PDF-
Viewer. Astfel, cu ajutorul acesteia, clasa RetrievePDFStream poate accesa adresa la care se
găsește cursul și îl poate afișa în aplicație într-un obiect de tip pdfView, specific bibliotecii.

34
Figura 5.9 Activitatea de vizualizare a unui curs

Din figura 5.9 se observă că în clasa RetrievePDFStream care extinde AsyncTask, în


cadrul metodei doInBackground vom accesa adresa la care se găsește cursul prin intermediul
unui obiect de tip HttpURLConnection. În cadrul metodei onPostExecute, răspunsul primit în
urma accesării adresei, va fi afișat în cadrul unui container de tip PDFView

5.2.4. Personalizarea unui test


Pentru a implementa funcționalitatea de personalizare a unui test am folosit biblioteca
Volley pentru a putea accesa serverul. Pentru a crea un test, utilizatorul trebuie să specifice
numele testului. Numele testului, dar și id-ul utilizatorului curent al aplicației vor fi trimise
serverului prin intermediul unei cereri adaptate, pentru obiectele de tip Test, reprezentată în
figura 5.10.

35
Figura 5.10- Clasa Test Request

În scriptul php prezentat în figura 5.11 se va verifica dacă testul există deja în baza de
date prin apelarea funcției nameAvailable, care returnează true în cazul în care numele testului
nu există și false în cazul în care testul există. În cazul în care functia returnează true, datele
specifice testului vor fi inserate în baza de date. La final, prin intermediul unui SELECT din baza
de date va fi returnat id-ul testului personalizat, necesar în procesul de inserare al întrebărilor.

36
Figura 5.11 Scriptul php pentru introducereaunui test personalizat

În metoda prezentată în figura 5.12, responseListener așteaptă rezultatul trimis de server,


id-ul testului. În cazul în care json-ul primit conține variabila success setată pe true, se va crea
un obiect static de tip test care prmește id-ul și numele de la server. Acest obiect este necesar mai
departe în activvitatea de inserare a întrebărilor.

37
Figura 5.12 Metoda setOnClickListener pentru butonul de personalizare test

După specificarea numelui și preluarea testului din baza de date, utilizatorul va avea
acces la activitatea de inserare a întrebărilor și a răspunsurilor. Pentru inserare am utilizat o altă
cerere personalizată în care se specifică conținutul întrebării, id-ul testului de care aparține
întrebarea și răspunsurile aferente întrebării (figura 5.13).

Figura 5.13 Cerere pentru evenimentul de inserare al întrebării

38
În evenimentul de onClick prezentat în figura 5.14 se construiesc obiectele necesare
cererii pe baza informațiilor specificate în formular de către utilizator. Aceste obiecte vor fi
trimise cererii, care le va trimite spre server pentru a fi inserate în baza de date. Va fi afișată o
fereastră de dialog, prin intermediul căreia se alege dacă se continuă inserarea de întrebări sau se
dorește salvarea testului.

Figura 5.14 Evenimentul de onClik pentru adăugrea de întrebări


Un aspect foarte important în această activitate este că dacă utilizatorul specifică un nume
al unui test deja existent în lista proprie de teste personalizate, întrebările introduse vor fi
adăugate testului deja existent.

5.2.5. Accesarea unui test


După ce utilizatorul a ales un test din lista de teste, va fi afișată activitatea StartTest
prezentată în figura 5.15. În momentul în care este ales un test din listă, vor fi preluate din baza
de date și introduse într-un vector static toate întrebările are aparțin de id-ul testului ales. Pentru
prima întrebare se preiau din baza de date răspunsurile, prin intermediul unei cereri Volley de tip

39
StringRequest care accesează un php în care se face un SELECT pe baza de date folosindu-se id-
ul întrebării. În activitatea StartTest se calculează punctajul fiecărei întrebări prin împărțirea
unui scor maxim de 100 de puncte la numărul de întrebări care există în vector. Se inițializează
variabila statică scor și se începe activitatea Susținere test în care este prezentată prima întrebare
și răspunsurile aferente.

Figura 5.15 Activitatea Start Test


În figura 5.16 este prezentată activitatea SusținereTest. Variabila statică nrÎntrebare,
reprezintă un contor pentru a gestiona dacă mai sunt întrebări în vector care trebuie afișate. În
metoda onClick pentru următoarea întrebare se va incrementa variabila nrÎntrebare și se va
verifica dacă răspunsul ales de utilizator este cel corect prin intrmediul funcției de verificare.
Dacă mai există întrebări neparcurse în vector, vor fi preluate din baza de date răspunsurile
pentru următoarea întrebare și îi va fi afișată utilizatorului prin reutilizarea activității. Dacă
utilizatorul a ajuns la ultima întrebare, prin funcția calcul scor se decide în ce fel va fi afișat
punctajul obținut. Dacă punctajul obținut este mai mare de 50%, testul este trecut și se afișează
activitatea ScorTrecere, dacă scorul este mai mic de 50% va fi afișată activitatea de
ScorRespingere.

5.2.6. Vizualizarea unor statictici


Pentru ca utilizatorul să poată vizualiza numărul de accesări ale testelor, am preluat prin
intermediul unui script PHP toate datele din tabela specifică vizualizărilor. Pentru a reda
informația preluată într-un mod mai dinamic am folosit o bibliotecă open-source specifică pentru
realizarea graficelor.
40
Figura 5.16
În figura 5.16 este prezentată metoda onClick specifică butonului de statistici din meniul
de evaluare în cadrul căreia am preluat datele din baza de date cu ajutorul unui StringRequest.
Vectorul de obiecte obținut l-am inserat în vectorul de vizualizări al aplicației, care va servi drept
set de date pentru graficul afișat în cadrul activității Statistici.

41
Figura 5.17 Activitatea de vizualizare a statisticilor
În figura 5.17 este prezentată activitatea în care sunt reprezentate statisticile. Utilizând
vectorul de vizualizări preluat din baza de date vom crea intrări pentru setul de date pe baza
căruia se va construi graficul de tip „PieChart”. În metoda setUpPieChart se personalizează
graficul rezultat, prin setarea unei palete de culori și adăugarea unei descrieri. Folosind funcția
.animateY(1000), am animat încărcarea graficului în pagină.

42
6. Scenarii de utilizare
La deschiderea aplicației, utilizatorul va vedea activitea de autentificare. Dacă utilizatorul are
cont acesta poate completa câmpurile specifice pentru numele de utilizator și parolă și poate bifa
opțiunea „Remember me”, care îl va menține autentificat. Astfel următoarea dată când va accesa
aplicația primul ecran care îi va apărea va fi cel cu meniul principal. Dacă utilizatorul nu are un
cont activ, acesta are opțiunea de a-și crea unul, accesând activitatea de înregistrare prin apăsarea
butonului de înregistrare.

Figura 6.1 Activitatea de autentificare

43
Figura 6.2 Activitatea de înregistrare în cazul unui nume de utilizator care nu este unic

În activitatea de înregistrare prezentată în ecranul din stânga din figura 6.2, utilizatorul
trebuie să completeze toate câmpurile formularului. În momentul în care apasă butonul de
înregistrare, se verifică în baza de date unicitatea numelui de utilizator. Dacă numele specificat
este unic, atunci datele vor fi salvate în baza de date și
utilizatorul va fi trimis la pagina de autentificare. Dacă numele
există deja, va apărea o fereastră de dialog asemenea ecranului
din dreapta din figura 6.2, în care i se specifică utilizatorului că
este necesar să introducă un alt nume.

După ce utilizatorul s-a autentificat cu succes, va avea acces


la meniul principal al aplicației care este prezentat în figura
alăturată. Acesta prezintă 4 opțiuni: Cursuri, Teste, Despre și
Contul meu

44
Figura 6.3 Meniul Principal

Figura 6.4 Fereastra de dialog „Despre Aplicație”

Dacă utilizatorul alege opțiunea Despre, în cadrul aceleiași activități îi va fi afișată o


fereastră modală de tip dialog box, în care sunt afișate informații despre aplicație, cum ar fi:
motivul pentru care a fost creată aplicația.

Figura 6.5
Secvența de
ecrane în cazul
activității de
accesare cursuri

45
În figura 6.5 este reprezentată secvența de ecrane prin care va trece un utilizator dacă alege
secțiunea cursuri din meniul principal. Inițial va fi afișat ecranul în care utilizatorul trebuie să
aleagă o categorie de cursuri dintre cele predefinite. În funcție de categoria aleasă, va fi afișată o
listă în care sunt prezentate cursurile disponibile în baza de date. În momentul în care utilizatorul
va alege un curs din listă, acesta va fi afișat în format PDF.

Figura 6.6 Meniul de evaluare

Dacă utilizatorul alege opțiunea Teste din meniul principal, acesta va fi trimis automat în
activitatea care prezintă meniul de evaluare(figura 6.6). În cadrul acestui meniu utilizatorul poate
alege din mai multe opțiuni: Teste predefinite, Testele mele, Personalizare și Statistici. Tot în
această activitate, utilizatorul are posibilitatea să caute un test pe baza numelui acestuia. În
funcție de rezultat, testele găsite vor fi afișate în cadrul unei liste.

46
Figura 6.7 Lista de teste

Atât pentru opțiunea de teste predefinite, cât și pentru opțiunea de testele mele, va fi afișată o
listă cu toate testele selectate din baza de date (figura 6.7).

Figura 6.7 Secvența de ecrane pentru susținearea unui test

47
În figura 6.7 este prezentată secvența de ecrane în cazul în care utilizatorul selectează un test
din lista prezentată în figura 6.6. Ecranul prezentat în stânga figurii, va apărea o singură dată, la
începutul testului și conține regulile testului. Ecranul din dreapta, reprezintă un formular care va
fi afișat pentru fiec are întrebare din cadrul testului. Acesta conține întrebare și variantele de
răspuns. După ce utilizatorul a selectat varianta pe care o consideră ca fiind răspunsul corect,
prin apăsarea butonului Verifică, îi va fi afișat în cadrul unui dialog box, rezultatul, dacă a
răspuns corect sau în cazul în care răspunsul este greșit, îi va fi indicat răspunsul corect.

Figura 6.8 Modalități de afișare a scorului

În figura 6.8 sunt prezentate cele două modalități de afișare a scorului obținut de utilizator.
Dacă scorul este de minim 50%, va fi afișat ecranul prezentat în partea stângă a figurii 6.8, iar
dacă scorul nu depășește 50%, testul se consideră nepromovat și va fi afișat ecranul din partea
dreaptă a figurii 6.8. Pentru a ajunge înapoi în meniul de evaluare, utilizatorul trebuie să apese
tasta « Înapoi ».

48
Figura 6.9 Secvența ecranelor în cazul activiății de Personalizare a unui test

În figura 6.10 este reprezentată secvența de ecrane pentru cazul în care utilizatorul alege să
personalizeze un test. Inițial, acestuia îi va apărea un prim formular în cadrul căreia trebuie să
specifice numele testului. După ce a specificat un nume și a apăsat pe butonul „Creare” acestuia
îi va apărea un formular repetitiv, în care trebuie să introducă: o întrebare, variantele acesteia de
răspuns și să specifice care variantă de răspuns este cea corectă. În momentul în care utilizatorul
apasă butonul de „Adaugă Întrebare” o fereastră de tip dialog box va apărea pe ecran. În cadrul
acestei ferestre, utilizatorul are două opțiuni, fie să mai adauge o întrebare, caz în care se va
reafișa formularul de adăugare întrebări, fie să salveze testul, caz în care va fi trimis în activitatea
cu meniul de evaluare.

49
Figura 6.10 Afișarea de statistici

În cadrul meniului de evaluare , utilizatorul are posibilitatea ca prin selectarea butonului


Statistici, să vadă sum sunt repartizate vizualizările pe teste, astfel își poate da ușor seama care
teste sunt cel mai frecvent accesate de către alți utilizatori. În figura 6.10 este prezentat outputul
graficului realizat cu date din tabela Vizualizări a aplicației.

50
Concluzii
După cum se observă, societatea în care trăim este în continuă schimbare, iar cei mai
deschiși spre aceast fenomen sunt tinerii, care nu ezită în a-și schimba stilul de viață pentru a-l
sincroniza cu evoluția tehnologiei. Astfel, tinerii, nu se dau înapoi când vine vorba de învățarea
prin metode mai puțin autentice. Ideea aplicației prezentate a pornit de la ideea mea de a îmbina
utilul cu plăcutul și de a face activitatea de învățare mai plăcută. Aplicația „Challenge IT” își
propune să sprijine studenții din cadrul facultății de Informatică Economică în procesul de
învățare, aducându-le resursele didactice mai aproape, disponibile oricând. Testele predefinite își
propun să ajute utilizatorii să fixeze informațiile studiate, iar personalizarea propriilor teste,
reprezintă posibilitatea studenților de a-și verifica singuri cunoștințele în funcție de nevoile
fiecăruia. Pentru a dezvolta un prim prototip al aplicației au fost necesare atât timp cât și
cunoștințe în domeniul programării și nu numai. Urmând etapele de proiectare a unui sistem
informatic: analiză, proiectare și implementare, a fost mai ușor să obțin un rezultat palpabil.
Etapa de implementare s-a bazat foarte mult pe rezeultatele etapelor anterioare, deoarece în etapa
de impelementare am umărit atingerea cerințelor reieșite din cele două etape, iar implemntarea
arhitecturii funcționale, a avut la bază arhitectura reieșită din etapa de proiectare.

În prezent aplicația este într-o primă versiune a ei. Consider că cele mai atractive
funcționalități ale acestei aplicații sunt reprezentate de: interfața grafică ușor de utilizat, modul
interactiv de primire a informației de către utilizatori, posibilitatea acestora de a-și personaliza
testele în funcție de necesități, și faptul că materialele didactice prezentate se întâlnesc în
curricula de la facultate, făcând astfel aplicația un ajutor în aprofundarea cursurilor. Posibilitatea
accesării tuturor testelor, chiar și a celor personalizate prin intermediul căutării după nume,
permite utilizarea acestei aplicații chiar și de către profesori, astfel la finalul cursurilor, un
profesor poate să aibă pregătit un test personalizat încărcat în baza de date și le poate propune
studenților o scurtă probă de verificare în care înteebările să fixeze materia ce a fost recent
discutată.

Deoarece este o aplicație nouă, încă la prima versiune, aceasta poate fi ușor îmbunătățită.În
viitor aplicația ar putea permite utilizatorilor să-și trimită teste între ei și să comunice unii cu
ceilalți, aducând un plus de socializare în cadrul procesului de învățare. Utilizatorii ar putea avea
acces la mai multe tipuri de statistici cum ar fi cele privind activitatea lor în cadrul aplicației, sau
clasamente cu utilizatorii care au obținut ceel mai mari punctaje la teste. Interfața grafică ar putea
deveni mult mai dinamică și mai modernă. Experiența utilizatorilor poate fi îmbunătățită prin
adăugarea de caracteristici cum ar fi socializarea sau competitivitatea, care sunt elemente cheie
în componența unui mediu propice dezvoltării.

Așadar, deși aplicația nu reprezintă o inovație în tehnologie, consider că reprezintă o


soluție software utilă atât studenților cât și profesorilor, prin caracterul de noutate adus și prin
posibilitățile de extindere a funcționalităților oferite de acesta.
51
BIBLIOGRAFIE

[1]Mohamed Ally -Mobile Learning Transforming the Delivery of Education and Training ISBN
978-1-897425-44-2

[2] Conform ” From E-Learning to M-Learning – The Use of Mixed Reality Games as a New
Educational Paradigm”

[3] Conform “Mobile Learning Basics”;

[4] Conform “Modernizing Education and Preparing Tomorrow’s Workforce through Mobile
Technology”

[5] Conform: https://www.statista.com/statistics/330695/number-of-smartphone-users-


worldwide/

[6] Conform: http://www.mobzine.ro/2015/10/statistici-utilizare-smartphone-in-romania-unul-


din-noi-romani-au-smartphone-3-din-4-au-android/

[7]- Ion Lungu- Sisteme informatice executive ISBN 978-9-735946-90-6

[8] Conform : „ http://ctrl-d.ro/inspiratie/introducere-in-android/”

[9] Conform:”https://developer.android.com/about/android.html”

[10] Luke Welling &Laura Thomson PHP and MySQL Web Development ISBN 978-0-672-
32916-6

52

S-ar putea să vă placă și