75
FACULTATEA DE AUTOMATIC ˘ SI CALCULATOARE DEPARTAMENTUL CALCULATOARE MoodGuide - Sistem Android bazat pe realitate augmentat˘ a pentru persoanele cu tulbur˘ ari psihice LUCRARE DE LICEN ¸ T ˘ A Absolvent: Luiza-M˘ ad˘ alina BUBATU Conduc˘ ator ¸ stiin¸ tific: Asis. ing. Cosmina IVAN 2018

FACULTATEA DE AUTOMATICA SI˘ CALCULATOARE …users.utcluj.ro/~civan/thesis_files/2018_BubatuLuiza.pdfFACULTATEA DE AUTOMATICA SI˘ CALCULATOARE DEPARTAMENTUL CALCULATOARE DECAN, DIRECTOR

  • Upload
    others

  • View
    37

  • Download
    0

Embed Size (px)

Citation preview

FACULTATEA DE AUTOMATICA SI CALCULATOAREDEPARTAMENTUL CALCULATOARE

MoodGuide - Sistem Android bazat pe realitate augmentatapentru persoanele cu tulburari psihice

LUCRARE DE LICENTA

Absolvent: Luiza-Madalina BUBATUConducator stiintific: Asis. ing. Cosmina IVAN

2018

FACULTATEA DE AUTOMATICA SI CALCULATOAREDEPARTAMENTUL CALCULATOARE

DECAN, DIRECTOR DEPARTAMENT,Prof. dr. ing. Liviu MICLEA Prof. dr. ing. Rodica POTOLEA

Absolvent: Luiza-Madalina BUBATU

MoodGuide - Sistem Android bazat pe realitate augmentatapentru persoanele cu tulburari psihice

1. Enuntul temei: Acest proiect are ca scop definirea, proiectarea s, i implementareaunui sistem mobil cu componente bazate pe realitate augmentata, destinat utilizato-rilor ce sufera de depresie, stres sau anxietate s, i care va permite comunicarea dintrepersoanele care sufera de aceste tulburari psihice s, i medicii de specialitate. Sistemulva oferi s, i alte funct, ionalitat, i de interes pentru diferitele tipuri de utilizatori.

2. Continutul lucrarii: Pagina de prezentare, Introducere, Obiectivele proiectului,Studiu bibliografic, Analiza s, i fundamentare teoretica, Proiectare de detaliu s, i imple-mentare, Testare s, i validare, Manual de instalare s, i utilizare, Concluzii, Bibliografie,Anexe.

3. Locul documentarii: Universitatea Tehnica din Cluj-Napoca, Departamentul Cal-culatoare

4. Consultanti: asis. ing. Cosmina-Daniela IVAN

5. Data emiterii temei: 1 Noiembrie 2018

6. Data predarii: 9 Iulie 2018

Absolvent:

Coordonator stiintific:

FACULTATEA DE AUTOMATICA SI CALCULATOAREDEPARTAMENTUL CALCULATOARE

Declaratie pe proprie raspundere privindautenticitatea lucrarii de licenta

Subsemnatul(a), legiti-

mat(a) cu seria nr.CNP , autorul lucrarii

elaborata ın vederea sustinerii examenului de finalizare a studiilor de licenta la Facul-tatea de Automatica si Calculatoare, Specializareadin cadrul Universitatii Tehnice din Cluj-Napoca, sesiunea a an-ului universitar , declar pe proprie raspundere, ca aceasta lucrare esterezultatul propriei activitati intelectuale, pe baza cercetarilor mele si pe baza informatiilorobtinute din surse care au fost citate, ın textul lucrarii si ın bibliografie.

Declar, ca aceasta lucrare nu contine portiuni plagiate, iar sursele bibliografice aufost folosite cu respectarea legislatiei rom ne si a conventiilor internationale privind drep-turile de autor.

Declar, de asemenea, ca aceasta lucrare nu a mai fost prezentata ın fata unei altecomisii de examen de licenta.

In cazul constatarii ulterioare a unor declaratii false, voi suporta sanctiunile admin-istrative, respectiv, anularea examenului de licenta.

Data Nume, Prenume

Semnatura

De citit ınainte (aceasta pagina se va elimina din versiunea finala):

1. Cele trei pagini anterioare (foaie de capat, foaie sumar, declaratie) se vor lista pe foiseparate (nu fata-verso), fiind incluse ın lucrarea listata. Foaia de sumar (a doua)necesita semnatura absolventului, respectiv a coordonatorului. Pe declaratie se trecedata cand se preda lucrarea la secretarii de comisie.

2. Pe foaia de capat, se va trece corect titulatura cadrului didactic ındrumator, ınengleza (consultati pagina de unde ati descarcat acest document pentru lista cadrelordidactice cu titulaturile lor).

3. Documentul curent nu a fost creat ın MS Office. E posibil sa fie mici diferente deformatare.

4. Cuprinsul ıncepe pe pagina noua, impara (daca se face listare fata-verso), primapagina din capitolul Introducere tot asa, fiind numerotata cu 1.

5. Vizualizati (recomandabil si ın timpul editarii) acest document

6. Fiecare capitol ıncepe pe pagina noua.

7. Folositi stilurile predefinite (Headings, Figure, Table, Normal, etc.)

8. Marginile la pagini nu se modifica.

9. Respectati restul instructiunilor din fiecare capitol.

Cuprins

Capitolul 1 Introducere 11.1 Contextul general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Contextul proiectului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Cont, inutul lucrarii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Capitolul 2 Obiectivele proiectului 42.1 Obiectivul general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Obiective specifice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Capitolul 3 Studiu bibliografic 63.1 Sanatatea mintala s, i aplicat, iile mobile . . . . . . . . . . . . . . . . . . . . 63.2 Realitatea augmentata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.3 Aplicat, ii similare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.3.1 What's Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3.2 TrackYourself . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.3.3 MoodSwings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.3.4 MoodMission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.3.5 PokemonGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3.6 Medici | Doctor - Communicate With Your Patients . . . . . . . . . 133.3.7 Comparat, ie aplicat, ii similare cu sistemul propus . . . . . . . . . . . 14

3.4 Concluzie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Capitolul 4 Analiza si Fundamentare Teoretica 174.1 Cerint,ele sistemului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.1.1 Cerint,e funct, ionale . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.1.2 Cerint,e non-funct, ionale . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2 Modelul cazurilor de utilizare . . . . . . . . . . . . . . . . . . . . . . . . . 194.2.1 Diagrama cazurilor de utilizare . . . . . . . . . . . . . . . . . . . . 194.2.2 Cazuri de utilizare aplicat, ie pacient/utilizator obis,nuit . . . . . . . 214.2.3 Cazuri de utilizare aplicat, ie doctor . . . . . . . . . . . . . . . . . . 26

4.3 Proiectarea arhitecturii conceptuale a sistemului . . . . . . . . . . . . . . . 294.3.1 Arhitectura conceptuala . . . . . . . . . . . . . . . . . . . . . . . . 29

4.3.2 Componente principale . . . . . . . . . . . . . . . . . . . . . . . . . 294.4 Resurse necesare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.4.1 Resurse dezvoltator . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.4.2 Resurse utilizator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Capitolul 5 Proiectare de detaliusi implementare 355.1 Schema generala a sistemului . . . . . . . . . . . . . . . . . . . . . . . . . 355.2 Proiectarea aplicat, iei utilizator/pacient . . . . . . . . . . . . . . . . . . . . 37

5.2.1 Schit, a init, iala de design . . . . . . . . . . . . . . . . . . . . . . . . 375.2.2 S, ablon arhitectural . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.2.3 Diagrama de clase s, i activitat, i . . . . . . . . . . . . . . . . . . . . . 395.2.4 Diagrama de pachete . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.3 Proiectarea aplicat, iei doctor . . . . . . . . . . . . . . . . . . . . . . . . . . 445.3.1 Diagrama de clase s, i activitat, i . . . . . . . . . . . . . . . . . . . . . 445.3.2 Diagrama de pachete . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.4 Modelul de date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Capitolul 6 Testare si validare 506.1 Cazuri de testare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6.1.1 Cazuri de testare aplicat, ie pacient . . . . . . . . . . . . . . . . . . . 506.1.2 Cazuri de testare aplicat, ie doctor . . . . . . . . . . . . . . . . . . . 52

6.2 Android Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536.3 Validarea aplicat, iei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Capitolul 7 Manual de instalare si utilizare 557.1 Resurse necesare pentru instalare . . . . . . . . . . . . . . . . . . . . . . . 557.2 Manual de utilizare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Capitolul 8 Concluzii 618.1 Contribut, ie personala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618.2 Rezultate obt, inute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618.3 Dezvoltari ulterioare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Bibliografie 64

Anexa ALista figurilor din lucrare 66

Anexa BLista tabelelor din lucrare 68

Capitolul 1

Introducere

1.1 Contextul general

In contextul actual al societat, ii moderne, tulburarile psihice de tip stres, anxietate s, idepresie sunt ıntalnite tot mai frecvent. Acestea pot afecta persoane indiferent de varsta,etnie sau sex.

Stresul a devenit parte din viat,a cotidiana a omului contemporan, ınsa amprentape care o lasa asupra sanatat, ii este din ce ın ce mai mare. Acesta poate afecta capacitateade concentrare, poate scadea randamentul la locul de munca s, i poate afecta calitatea viet, iipersoanei. Printre sursele stresului se pot ıncadra: locul de munca, lipsa unei situat, iifinanciare bune, probleme de sanatate etc.

Depresia este o alta tulburare psihica care devine tot mai frecventa pe zi ce trece.Aceasta nu este doar o stare proasta temporara, ci este o boala care trebuie recunoscutas, i tratata. Depresia se manifesta prin oboseala, greutate ın ducerea la bun sfars, it a celormai simple act, iuni, stare de

”gol” interior, dar apar s, i simptome fizice, precum dureri de

spate, modificari de apetit etc.

Anxietatea se defines,te ca o stare accentuata de nelinis,te, o situat, ie ın care per-soana se as,teapta sa i se ıntample ceva rau. Aceasta stare este resimt, ita ınsa ın tot corpulprin batai accelerate ale inimii, transpirat, ie, respirat, ie ıngreunata, mus,chi ıncordat, i etc.Anxietatea nu este la baza o emot, ie nefireasca, ea ajutandu-ne sa prevedem situat, ii pericu-loase sau amenint, atoare, ınsa o forma excesiva a acesteia poate pune ın pericol sanatateapersoanei.

Toate aceste tulburari psihice se recomanda a fi tratate prin vizita unui medicspecialist care poate prescrie un tratament corespunzator. Totus, i, daca aceste tulburarinu sunt ın stare avansata s, i nu constituie un pericol pentru persoane, exista cateva metodede ameliorare s, i de vindecare, ın timp, a manifestarilor acestora.

1

1.2 Contextul proiectului

Subiectul acestei lucrari este reprezentat de oferirea unei solut, ii accesibile de a ame-liora simptomele acestor tulburari psihice (depresie, stres, anxietate), dar s, i de a oferi omodalitate de comunicare s, i monitorizare doctor-pacient.

Telefoanele mobile sau”smartphone-urile” nu mai reprezinta de mult timp doar o

modalitate de comunicare, ci au devenit dispozitive complexe s, i indispensabile ın viat,afiecaruia. Ele sunt utilizate pentru sarcini diverse, precum: aflarea s,tirilor, fotografiere s, iınregistrare, muzica, jocuri s, i chiar s, i tranzact, ii bancare.

Odata cu evolut, ia tehnologica a telefoanelor mobile, dezvoltarea de aplicat, ii des-tinate acestui tip de dispozitive a cunoscut s, i ea o cres,tere semnificativa. Toate acesteaplicat, ii au la baza nevoile utilizatorilor s, i au ca scop facilitarea activitat, ilor zilnice s, irelaxarea acestora.

In ultimii ani, aplicat, iile mobile au fost extinse pe toate planurile, inclusiv pe celce atinge problema sanatat, ii mintale. Pentru persoanele ce sufera de tulburari psihiceeste important ca afect, iunea sa fie descoperita, ınt,eleasa s, i tratata. Unul din avantajeleacestui tip de aplicat, ie este ca poate oferi un prim pas accesibil ın aceasta direct, ie. Printr-oaplicat, ie mobila, utilizatorul nu se simte stigmatizat sau stingherit s, i nu depunde un efortatat de mare ın adresarea problemei, cum ar face prin vizita unui medic psiholog/psihiatru.

Totus, i, nu trebuie neglijata nici implicarea specialis,tilor ın dezvoltarea unei astfelde aplicat, ii, deoarece ei sunt cei mai ın masura sa trateze aceste tulburari psihice s, i saprevina agravarea lor.

Din acest motiv, sistemul propus se adreseaza atat primei categorii de utilizatori,cei care nu au neaparat un diagnostic stabilit de un medic specialist, dar care simt caau nevoie s, i cauta ajutor ın aceasta direct, ie, cat s, i pacient, ilor diagnosticat, i cu o astfelde tulburare. Aplicat, ia are s, i o parte destinata medicilor specialis,ti prin care pot urmaristarea pacient, ilor s, i pot comunica mai us,or cu aces,tia.

Aplicat, ia MoodGuide ofera posibilitatea utilizatorilor de a-s, i ımbunatat, i starea despirit prin diferite activitat, i, precum ascultarea de melodii relaxante, scrierea ıntr-un jurnalvirtual sau accesarea unei sect, iuni de joc. Aceasta sect, iune este partea cea mai impor-tanta a aplicat, iei s, i furnizeaza un mod de relaxare a utilizatorului prin ındemnarea luiın a ies, i ın aer liber sau a desfas,ura diferite activitat, i specifice ımbunatat, irii unei anu-mite tulburari psihice pe care o manifesta. Impulsionarea lui spre aceste activitat, i serealizeaza prin diferite misiuni ce ofera recompense virtuale, misiuni care pot implica s, ideplasarea ın lumea reala, persoana realizand ın acelas, i timp mis,carea ın lumea virtu-ala. Funct, ionalitatea aceasta se bazeaza pe funct, iile de localizare ale dispozitivului mobil.Lumea virtuala, pe care o parcurge utilizatorul, implica s, i realitatea augmentata pentru astarni curiozitatea acestuia s, i a-l determina s, i mai mult sa participe la aceste activitat, i.

Pentru oricare dintre cele trei tulburari psihice (stres, anxietate, depresie), esteimportant ca persoana sa ınt,eleaga ca nu este singura. Din acest motiv, MoodGuideofera posibilitatea de comunicare ıntre utilizatori prin intermediul unui chat sau forum.Persoanele care au vizitat un specialist pot pastra legatura cu acesta prin intermediul

2

aplicat, iei, iar medicul poate monitoriza us,or pacientul.

1.3 Cont, inutul lucrarii

Primul capitol,”Introducere”, prezinta contextul general al temei proiectului,

acela al celor mai frecvente tulburari psihice ıntalnite ın zilele noastre s, i felul ın care elene afecteaza viat,a. Tot ın acest capitol se prezinta s, i contexul proiectului, cel al utilizariidispozitivelor mobile ın domeniul medical s, i evolut, ia acestora.

Capitolul doi,”Obiectivele proiectului”, cont, ine scopul general al proiectului

dezvoltat, precum s, i obiectivele specifice prin care se prezinta o imagine de ansambluasupra funct, ionalitat, ilor solut, iei alese.

Al treilea capitol descrie studiul bibliografic efectuat ınaintea ınceperii imple-mentarii proiectului. Se prezinta cele trei aspecte importante legate de tema aplicat, iei,s, i anume detalii legate de sanatatea mintala, studii privind realitatea augmentata s, i ceimplica ea, precum s, i cele mai importante aplicat, ii similare din acest domeniu.

”Analiza s, i fundamentare teoretica” reprezinta capitolul patru al lucrarii s, i

prezinta aspectele legate de cerint,ele funct, ionale s, i non-funct, ionale, cazurile de utilizare,precum s, i tehnologiile s, i resursele necesare dezvoltarii proiectului.

Capitolul cinci,”Proiectare de detaliu s, i implementare”, cuprinde pas, ii parcurs, i

ın realizarea solut, iei finale a proiectului. Se descriu etapele din proiectarea s, i dezvoltareasistemului, atat pentru aplicat, ia destinata pacient, ilor, cat s, i cea pentru medicii specialis,ti.

Al s,aselea capitol,”Testare s, i validare”, cuprinde tehnicile de testare s, i validare

folosite, precum s, i rezultatele acestora cu privire la aplicat, ie.Capitolul s,apte,

”Manual de instalare s, i utilizare”, cont, ine informat, ii despre

cerint,ele sistemului Android necesar pentru rulare, precum s, i pas, ii parcurs, i pentru instalares, i utilizare.

Capitolul final,”Concluzii”, prezinta observat, iile finale cu privire la obiectivele

atinse de proiect, precum s, i posibilitat, ile de dezvoltare ulterioara existente.

3

Capitolul 2

Obiectivele proiectului

2.1 Obiectivul general

Proiectul propus are ca obiectiv principal dezvoltarea unui sistem Android ce seva adresa persoanelor care sufera de anxietate, depresie sau stres. Aplicat, ia va includefunct, ionalitat, i diverse s, i un joc bazat pe realitatea augmentata, ıncercand sa le ofereajutor persoanelor care sufera de afect, iunile mai sus ment, ionate, dar putand fi folositas, i de orice utilizator care cauta o metoda interactiva de relaxare s, i de petrecere ın modplacut a timpului liber.

Se va dezvolta s, i o aplicat, ie destinata cadrelor medicale din acest domeniu prin caresa poata pastra legatura cu pacient, ii s, i sa fie informat, i de parcursul acestora.

2.2 Obiective specifice

Sistemul va fi compus din doua aplicat, ii diferite, una fiind destinata pacient, ilor sauutilizatorilor obis,nuit, i, iar a doua venind ın completarea primei s, i fiind destinata cadrelormedicale.

Aplicat, ia destinata utilizatorilor/pacient, ilor are urmatoarele obiective specifice:

• dezvoltarea unui joc ce integreaza realitatea augmentata bazata pe locat, ieca mijloc de motivare a utilizatorului pentru a petrece mai mult timp ın aer liber s, ide a interact, iona mai mult cu lumea exterioara;

• furnizarea unor misiuni/task-uri personalizate pentru fiecare utilizator, ınfunct, ie de starea acestuia la accesarea sect, iunii de joc; misiunile au ca scop amelio-rarea simptomelor utilizatorului, iar prin ındeplinirea cu succes a acestora se va oferio recompensa virtuala ce va ajuta la progresarea ın joc;

• implementarea unor mini-jocuri interactive;

4

• posibilitatea de a interact, iona cu alte persoane ce ımpartas,esc probleme similare prinintermediul unui forum/chat; ın cazul ın care cel care utilizeaza aplicat, ia este unpacient ce are asignat un doctor, el va putea accesa un chat special ce ıi va permitecomunicarea cu medicul specialist care ıl trateaza;

• oferirea unui jurnal virtual ın care utilizatorul ıs, i poate face ınsemnari personale;

• prezentarea unui citat motivat, ional diferit ın fiecare zi, la deschiderea aplicat, iei;

Aplicat, ia proiectata pentru medicii psihologi/psihiatri include facilitat, i menite sa leus,ureze munca s, i are urmatoarele obiective specifice acestei lucrari:

• prezentarea datelor s, i informat, iilor personale ale fiecarui pacient care seafla sub tratamentul sau supravegherea doctorului;

• oferirea unui mod de gestionare a pacient, ilor (operat, ii de tip adaugare, s,tergere,actualizare informat, ii etc.);

• oferirea unui mijloc de comunicare rapid cu pacient, ii (prin intermediul chat-ului);

5

Capitolul 3

Studiu bibliografic

3.1 Sanatatea mintala s, i aplicat, iile mobile

Tot mai multe studii atesta faptul ca tulburarile psihice devin o problema din ce ınce mai frecventa ın zilele noastre, iar tendint,a spre aplicat, iile mobile destinate sanatat, iimintale este ın cres,tere.

Potrivit statisticilor publicate pe site-ul Comisiei Europene, ın anul 2014 aproxima-tiv 6,8% din populat, ia adulta din Europa a declarat ca prezinta simptome de depresie1.Nu mai put, in de 16 milioane de adult, i (persoane cu varsta de peste 18 ani) sunt afectat, is, i ın Statele Unite de catre aceasta problema, reprezentand aproximativ 7% din populat, iat, arii2.

La nivel global, Organizat, ia Mondiala a Sanatat, ii declara ın anul 2017 ca mai multde 300 de milioane de oameni sufera de depresie3, un numar ıngrijorator de mare deoarecedepresia poate avea consecint,e grave asupra sanatat, ii s, i poate duce chiar la suicid.

In ceea ce prives,te manifestarile de anxietate, cercetarile arata ca ın anul 2013 auexistat 8.2 milioane de cazuri ınregistrate de anxietate ın Marea Britanie4. Anxietateaeste o boala psihica us,or de tratat, ınsa statisticile arata ca doar 36.9% din persoanele caresufera de aceasta afect, iune primesc s, i tratament2. O aplicat, ie pentru telefoanele mobilecare sa depisteze boala s, i sa faca legatura cu un specialist ar putea ajuta la cres,terea aces-tui procent.

Odata cu progresul tehnologic, dispozitivele mobile au ınceput sa fie utilizate ın toatedomeniile. Astfel, dezvoltarea aplicat, iilor de acest tip pentru rezolvarea unor probleme desanatate nu mai este de mult timp o noutate. Chiar din anul 2012, sistemul medicaldin Marea Britanie a ınceput sa ıncurajeze doctorii sa le prescrie pacient, ilor aplicat, iismartphone[7]. In ce prives,te sanatatea mintala, utilizarea aplicat, iilor mobile aduce din ce

1http://ec.europa.eu/eurostat/web/products-eurostat-news/-/DDN-20170324-12https://adaa.org/about-adaa/press-room/facts-statistics#3http://www.who.int/campaigns/world-health-day/2017/en/4https://www.nopanic.org.uk/anxiety-statistics/

6

ın ce mai multe rezultate pozitive, conform unui studiu asupra beneficiilor unei aplicat, iimobile ımpotriva anxietat, ii[11].

Totus, i, este important ca o aplicat, ie destinata sanatat, ii sa fie, ın primul rand, deıncredere s, i sa nu afecteze negativ utilizatorii. Astfel, s-a ıncercat stabilirea gradului defolosint, a s, i eficient, a pentru acest tip de aplicat, ie s, i cum ar trebui sa fie construita pentrua ajuta cu adevarat pacient, ii. Unele sugestii pentru a asigura ca o aplicat, ie de acest tipnu va face mai mult rau decat bine presupun implicarea unui specialist ın dezvoltare s, itratare, precum s, i oferirea unor statistici utilizatorilor cu privire la beneficiile aduse[9]. Totdin acest articol s-a stabilit ca, datorita listelor de as,teptare mari pentru a consulta unspecialist s, i a altor inconveniente ce pot aparea (lipsa timpului, stigmatizarea etc.), tot maimult, i pacient, i ıs, i ındreapta atent, ia spre surse alternative de suport, cum ar fi aplicat, iile deacest tip. Din aceste motive s-a decis s, i implementarea unei aplicat, ii pentru monitorizareapacient, ilor care sa fie destinata doctorilor de specialitate ın domeniul sanatat, ii mintale.

3.2 Realitatea augmentata

Realitatea augmentata (prescurtata AR - Augmented Reality) face parte din sferarealitat, ii mediate de calculator, termen introdus de Steve Mann pentru a descrie un amestecde informat, ie virtuala cu informat, ie vizuala ce apart, ine lumii reale5. Conform acestuia,realitatea mediata de calculator are structura prezentata ın figura 3.1.

Figura 3.1: Realitatea mediata de calculator

Realitatea augmentata este o tehnica ce presupune ımbinarea lumii virtuale cu ceareala. Aceasta tehnologie a devenit tot mai populara, aducand posibilitat, i noi ın domeniiprecum operat, iile medicale, inspect, ia mediului ınconjurator sau inginerie[14]. Populari-tatea ei a ınceput sa creasca ın special ın ultimii ani datorita avansului tehnologic carepermite o mai buna exploatare a acesteia. La conferint,a dezvoltatorilor DevCon6 din anul

5http://cyborganthropology.com/Mediated Reality6https://www.slideshare.net/Autodesk/forge-devcon-2017-darmstadt-germany-forge-arvrmr-

experiments

7

2017, compania Forge a abordat subiectul realitat, ii augmentate s, i a estimat ca pana ınanul 2020 aceasta va constitui baza viitoarelor aplicat, ii, dupa cum se poate observa s, i ınfigura 3.2.

Figura 3.2: O noua era a tehnologiei

Termenul de”augmentat” se refera la o adaugare, la o ımbunatat, ire adusa elementu-

lui init, ial. Astfel, realitatea augmentata poate fi ınt,eleasa ca o forma de realitate virtualaın care lumea reala este extinsa prin utilizarea unor elemente virtuale.

Scopul sistemelor bazate pe realitate augmentata este, de cele mai multe ori, supra-punerea obiectelor virtuale peste obiectele fizice pentru a crea iluzia ca sunt ın acelas, ispat, iu. Astfel, spre deosebire de realitatea virtuala, nu simuleaza o ıntreaga experient, a, cifolosesc doar cateva aspecte virtuale ce se amesteca cu realitatea.

Dispozitivele utilizate ın AR au un afis,aj, un dispozitiv de intrare, un senzor s, i unprocesor. In aceasta categorie pot intra telefoanele mobile de tip smartphone, lentilele decontact, consolele de jocuri etc.

Exista mai multe tipuri de realitate augmentata[3]:

• Realitate augmentata bazata pe marcatori

• Realitate augmentata fara marcatori

• Realitate augmentata de tip proiect, ie

• Realitate augmentata bazata pe suprapunere

Realitatea augmentata fara marcatori se mai numes,te si realitate augmentata bazatape locat, ie sau pe GPS. Aceasta este singurul tip de tehnologie AR care nu utilizeaza sis-teme de recunoas,tere a unor marcatori speciali pentru a determina obiectele vizualizate,ci se foloses,te de locat, ie sau pozit, ie, determinate cu ajutorul serviciilor de localizare de tipGPS, busola sau accelerometru.

Tehnica realitat, ii augmentate este din ce ın ce mai utilizata s, i sta la baza multoraplicat, ii care se doresc lansate ın viitor, aplicat, ii care ar promite de la vizualizarea virtualaa unei canapele ın casa ınainte de a o cumpara s, i pana la redarea vederii persoanelornevazatoare[5].

8

3.3 Aplicat, ii similare

Acest subcapitol prezinta principalele aplicat, ii ce includ funct, ionalitat, i similare cucele propuse pentru proiectul nostru. Pentru a lua ın considerare doar cele mai buneaplicat, ii existente, s-a folosit un studiu[12] realizat de site-ul psycom.net ce prezinta celemai bune aplicat, ii pentru dispozitivele mobile adresate persoanelor ce sufera de tulburaripsihice de diferite tipuri s, i care poate nu ıs, i permit o s,edint, a de terapie.

3.3.1 What's Up

What's Up este o aplicat, ie gratuita, dezvoltata atat pentru iOS, cat s, i pentru An-droid, ceea ce constituie un avantaj fat,t, a de aplicat, ia dezvoltata ın cadrul acestei lucrari,care va putea fi utilizata doar pe sisteme Android.

Figura 3.3: Aplicat, ia What's Up

Aplicat, ia foloses,te metode ale terapiei cognitiv-comportamentale (CBT) s, i ale ter-apiei acceptarii s, i angajamentului (ACT) pentru a ajuta utilizatorii sa faca fat, a depresiei,anxietat, ii, stresului s, i altor afect, iuni.

Printre funct, ionalitat, ile oferite de aceasta aplicat, ie se numara s, i cateva similare cuaplicat, ia MoodGuide, cum ar fi jurnalul virtual sau citatele motivat, ionale, dupa cum sepoate observa s, i ın figura 3.3. Aceasta nu include ınsa s, i funct, ionalitat, ile de relaxare bazatepe joc.

9

3.3.2 TrackYourself

O alta aplicat, ie asemanatoare ce se axeaza ınsa pe tulburarea de personalitate bor-derline7 este descrisa ın lucrarea[8]. Proiectul a fost dezvoltat ın cadrul unei lucrari delicent, a de catre doua studente ale Universitat, ii din Halmstad. Proiectul a implicat studiiclinice s, i contactul direct cu pacient, i ce sufera de boli psihice, precum s, i cu specialis,ti dindomeniul sanatat, ii mintale.

Figura 3.4: Aplicat, ia TrackYourself

Aplicat, ia dezvoltata se numes,te TrackYourself s, i ofera funct, ionalitat, i precum creareaunui profil, contactarea unui terapeut sau chiar apelarea directa a serviciului de urgent, a911. De asemenea, utilizatorul trebuie sa ıs, i prezinte starea emot, ionala la intrarea ınaplicat, ie, poate sa ıs, i faca anumite ınsemnari ın calendar s, i sa consulte statistici. Utiliza-torul mai poate primi informat, ii despre ce sa faca ın cazul unei urgent,e. Funct, ionalitat, ilede generare a statisticilor s, i selectare a starii curente sunt evident, iate ın figura 3.4.

Limitarile acestei aplicat, ii t, in de limba folosita (doar engleza), securitatea datelorpacient, ilor, portabilitate (dezvoltata doar pentru Android) s, i adresarea doar a unei prob-leme din sfera sanatat, ii mintale, s, i anume tulburarea de personalitate borderline.

Contactarea unui specialist s, i crearea unui cont de pacient vor fi funct, ionalitat, i cese vor regasi s, i ın aplicat, ia noastra, ınsa terapeutul va avea s, i el o aplicat, ie prin care leva putea raspunde utilizatorilor s, i prin care ıs, i va monitoriza pacient, ii lui. De asemenea,se va ıncerca acoperirea a cat mai multe limitari pe care le are aceasta aplicat, ie, pentru aoferi un produs cat mai bun.

7tulburarea de personalitate borderline = o afect, iune psihica caracterizata prin modificari aledispozit, iei, comportamentului s, i a capacitat, ilor relat, ionalehttp://www.romedic.ro/sindromul-borderline

10

3.3.3 MoodSwings

Aplicat, ia MoodSwings[4] ofera, printre altele, o interfat, a grafica sugestiva pen-tru descrierea felului ın care se simte utilizatorul la intrarea ın aplicat, ie, precum s, i ungraf al starilor acestuia (prezentate ın figura 3.5). Sistemul propus va implementa acestefunct, ionalitat, i, ınsa va t, ine cont de starea utilizatorului pentru sugerarea unor activitat, i(sub forma unor misiuni din joc) care sa-l ajute la ımbunatat, irea ei.

Figura 3.5: Aplicat, ia MoodSwings

Spre deosebire de aplicat, ia propusa, MoodSwings colecteaza mai multe informat, iireferitoare la starea ın care se afla utilizatorul. Pe langa sentimentele propriu-zise, sistemulcolecteaza activitat, i, locat, ii, persoane care au legatura cu mediul ın care se afla utilizatoruls, i care sunt apoi puse ın legatura cu starea efectiva a acestuia.

De asemenea, o alta diferent, a fat, a de aplicat, ia propusa este faptul ca sistemulacestui joc include existent,a notificarilor utilizatorilor pentru a ıncuraja utilizarea regulataa aplicat, iei s, i ınregistrarea constanta a starilor utilizatorului.

In actualizarea starii, utilizatorul poate scrie informat, ii ıntr-un jurnal, unde poateadauga poze s, i capturi de ecran. Spre deosebire de MoodSwings, aplicat, ia propusa cont, inedoar posibilitatea completarii text a unui jurnal s, i nu solicita aceasta ca parte a monitor-izarii starii pacientului.

3.3.4 MoodMission

MoodMission ajuta utilizatorul sa ınvet,e noi metode de a face fat, a stresului, starilorproaste, depresiei s, i anxietat, ii.

11

Figura 3.6 prezinta funct, ionalitat, ile generale ale aplicat, iei. Aceasta ıi cere utiliza-torului sa ıs, i precizeze starea ın care se afla, dupa care ıi ofera o lista de cinci misiuni princare se poate simt, i mai bine. Misiunile pot include exercit, ii fizice, exercit, ii de meditat, iesau alte activitat, i bazate pe teoria cognitiv-comportamentala.

Figura 3.6: Aplicat, ia Mood Mission

Conceptul de misiuni va fi preluat s, i ın aplicat, ia MoodGuide, ınsa va fi combinatcu activitat, i ce includ celelalte funct, ionalitat, i ale aplicat, iei, precum deplasarea ın hartavirtuala sau scrierea ın jurna.

3.3.5 PokemonGO

Jocul de mobil Pokemon GO, lansat ın anul 2016, a devenit una dintre cele maidescarcate aplicat, ii din lume. Acesta a fost dezvoltat atat pentru Android cat s, i pentruiOS s, i este bazat pe realitatea augmentata de tip location-based.

Se poate spune ca jocul este asemanator unei cautari de comori. Dupa descarcareaaplicat, iei, avand serviciile de localizare ale telefonul active, precum s, i conexiunea la inter-net, utilizatorii pot folosi coordonatele geolocatiei ın care se afla si camera foto a telefonuluipentru a captura monstrii virtuali care apar ın locurile reale din ımprejurimi. De exemplu,se stie ca monstrii traiesc langa rauri, lacuri sau oceane. Monstrii capturati pot fi folositiın bataliile cu alti utilizatori.

In figura 3.7 este prezentata maparea hart, ii virtuale peste locat, ia reala a utilizatoru-lui (stanga), precum s, i descoperirea mons,trilor virtuali cu ajutorul realitat, ii augmentate(dreapta).

12

Figura 3.7: Aplicat, ia PokemonGO

Au existat s, i efecte negative ale acestei aplicat, ii, deoarece utilizatorii erau atat decaptat, i de joc ıncat nu mai acordau atent, ie lumii exterioare s, i puteau ajunge ın situat, iipericuloase (accidente, jafuri etc.). Din acest motiv, dezvoltatorii aplicat, iei au ıncercatsa furnizeze cat mai multe avertizari cu privire la acest aspect ın timpul rularii aplicat, ieipentru a feri utilizatorii de pericole.

Intr-un studiu realizat de Texas A&M Health Science Center[13], jocul Pokemon Go,care este bazat pe realitatea augmentata fara marcatori, a avut un imens succes ın ceea ceprives,te ımbunatat, irea starii fizice s, i a celei mintale a utilizatorilor, atat prin ıncurajareamersului pe jos distant,e considerabile, cat s, i prin stimularea socializarii cu alt, i jucatori sauoameni ıntalnit, i pe traseu.

Un alt studiu[6], prezentat la APA 2018 (ıntalnirea anuala a psihiatrilor americani),a concluzionat ca jocul Pokemon Go a fost asociat cu o cres,tere a activitat, ii fizice s, i oımbunatat, ire a comportamentului social al utilizatorilor, precum s, i oferirea unui sentimentde bine. Aces,tia au subliniat potent, ialul acestui tip de aplicat, ie de a fi folosit ın tratareaafect, iunilor legate de sanatatea mintala.

Din aceste motive, am ales integrarea acestor funct, ionalitat, i s, i ın aplicat, ia MoodGuide,care va cuprinde cautarea unor

”comori” ın harta virtuala prin deplasarea ın lumea reala.

Descoperirea acestor obiective are ca scop avansarea ın joc s, i reducerea simptomelor deanxietate, stres, depresie. De asemenea, se va lua ın considerare sigurant,a utilizatorilor,prezentand informat, ii de avertizare cu privire la atent, ia oferita lumii exterioare.

3.3.6 Medici | Doctor - Communicate With Your Patients

Medici for Doctors este prezentata ın figura 3.8 s, i reprezinta o aplicat, ie care lepermite cadrelor medicale sa se conecteze cu pacient, ii prin mesaje scrise, apeluri telefonicesau video. Avantajele acestei aplicat, ii includ: facilitarea comunicarii dintre doctor s, ipacient, posibilitatea de a fi platit de catre pacient, i prin intermediul aplicat, iei etc.

Sistemul destinat doctorilor din cadrul MoodGuide ıs, i propune sa permita comuni-carea dintre medic s, i pacient prin intermediul unui chat s, i sa ofere o evident, a a informat, iilor

13

pacient, ilor (istoric medical, tratament, simptome etc.).

Figura 3.8: Aplicat, ia Medici

3.3.7 Comparat, ie aplicat, ii similare cu sistemul propus

Dupa cum se poate observa, exista deja o serie de aplicat, ii ce au un scop comuncu proiectul propus ın aceasta lucrare, ınsa fiecare atinge doar o parte din funct, ionalitat, i.Pentru a analiza acest aspect, precum s, i utilitatea sistemului dezvoltat, s-a realizat ocomparat, ie a sistemului MoodGuide cu aplicat, iile similare descrise anterior, din punct devedere al funct, ionalitat, ilor oferite. Aceasta comparat, ie se poate observa ın tabelul 3.1.

Tabelul a fost divizat conform celor doua aplicat, ii diferite ale sistemului - cea pentruutilizatori s, i cea pentru doctori.

Se poate observa ca aplicat, iile similare cu componenta principala Mood Guide,cea destinata pacient, ilor sau utilizatorilor obis,nuit, i, au doar o parte din funct, ionalitat, ileaplicat, iei propuse, neexistand un sistem similar la fel de complex. Cea mai apropiataaplicat, ie de cea dezvoltata ın aceasta lucrare este What's Up, o aplicat, ie axata ınsa maimult pe funct, ionalitat, i multiple s, i simple destinate ımbunatat, irii sanatat, ii mintale.

Aplicat, ia Pokemon GO este cea care a inspirat implementarea unui joc bazat perealitate augmentata fara marcatori (sau bazata pe locat, ie), observandu-se benefiicle adusede aceasta ın ımbunatat, irea sanatat, ii mintale.

Aplicat, ia Medici este asemanatoare cu ideea de a construi doua aplicat, ii diferite,prin care un medic de specialitate (ın cazul acesta, psiholog sau psihiatru) sa poata lualegatura us,or cu pacient, ii sai s, i sa aiba o metoda de monitorizare a acestora.

14

Funct, ionalitat, igenerale

WhatsUp

TrackYourself

MoodSwings

MoodMission

PokemonGo

MediciMoodGuide

Mini-jocuri Da Nu Nu Nu Nu Nu DaJoc bazat pe

ARNu Nu Nu Nu Da Nu Da

Misiunipentru

ameliorareastarilor

Nu Nu Nu Da Nu Nu Da

Citatemotivat, ionale

Da Nu Nu Nu Nu Nu Da

Analizareastarilor

Da Da Da Da Nu Nu Da

Jurnal virtual Da Da Da Nu Nu Nu DaChat Nu Nu Nu Nu Da Da Da

Contactaremedic

specialistNu Da Nu Nu Nu Da Da

Gestionarepacient, i

Nu Nu Nu Nu Nu Da Da

Comunicarecu pacient, i

Nu Nu Nu Nu Nu Da Da

Tabelul 3.1: Comparat, ie ıntre MoodGuide s, i aplicat, iile similare

In tabel s-au evaluat doar funct,ionalitat,ile dezvoltate ın aceasta lucrare, nu s, i celepropuse pentru ıntregul sistem.

15

3.4 Concluzie

Studiul bibliografic efectuat a ajutat la o mai buna ınt,elegere a subiectului abordat,precum s, i la analizarea avantajelor s, i dezavantajelor sistemelor similare deja existente.

Atent, ia acordata tulburarilor psihice de tip stres, anxietate, depresie este ın cres,teres, i, odata cu ea, au aparut recent s, i numeroase aplicat, ii mobile bazate pe terapiile devindecare prescrise de medicii specialis,ti din acest domeniu. Aplicat, iile de acest tip oferafunct, ionlitat, ile generale demonstrate utile ın acest context, ınsa nu ın forma completa pecare lucrarea de fat, a o propune s, i fara integrarea componentei de realitate augmentata.

Aplicat, ia care a avut un succes foarte mare s, i a readus realitatea augmentata ınprim-plan este Pokemon GO. Des, i aplicat, ia nu are legatura cu tema tulburarilor psihice,folosirea ei s-a demonstrat benefica ın ıncurajarea utilizatorilor de a face mis,care s, i de a lecres,te buna dispozit, ie.

Astfel, la momentul documentarii, nu exista nicio aplicat, ie care sa exploateze avanta-jele oferite de realitatea augmentata ın scopul ameliorarii simptomelor tulburarilor psihicede tip stres, anxietate, depresie. Beneficiile aduse ın acest domeniu de realitatea augmen-tata au fost observate abia recent s, i se preconizeaza o cres,tere a aplicat, iilor pe aceastatema ın urmatorii ani.

16

Capitolul 4

Analiza si Fundamentare Teoretica

4.1 Cerint,ele sistemului

Acest capitol prezinta descrierea detaliata a funct, iilor sistemului, serviciile oferites, i constrangerile operat, ionale ale acestuia.

Este important sa acordam o atent, ie sporita cerint,elor, deoarece acestea ajuta laorganizarea dezvoltarii unui sistem s, i diminuaza riscul ca proiectul sa es,ueze pe parcurs.Intr-o firma, odata identificate s, i scrise, ele vor constitui contractul cu clientul, care poatesa ıs, i dea acordul sau sa sesizeze modificarile care trebuie aduse. De asemenea, ele potconstitui baza negocierilor pentru un contract.

Cerint,ele sistemului pot fi grupate ın doua categorii: cerint,e funct, ionale s, i cerint,enon-funct, ionale.

4.1.1 Cerint,e funct, ionale

Cerint,ele funct, ionale reprezinta descrierea completa a ceea ce face sistemul din per-spectiva utilizatorilor, la act, iunile pe care aplicat, ia le realizeaza ın anumite circumstant,e.

Principalele cerint,e funct, ionale ale sistemului dezvoltat sunt prezentate ın Tabelul 4.1.Acestea au fost ımpart, ite ın trei categorii, ın funct, ie de rolul pe care ıl ındeplinesc ın cadrulaplicat, iei. Ele pot astfel apart, ine de gestiunea utilizatorilor, de sistemul pacient sau desistemul destinat doctorilor.

Cerint,ele din categoria gestiunii utilizatorilor se refera la activitat, ile ce t, in de ad-ministrarea conturilor s, i de navigare ın aplicat, ie.

In categoria cerint,elor funct, ionale ce t, in de sistemul destinat utilizatorilor obis,nuit, isau pacient, ilor ce sufera de tulburari psihice de tipul stres, anxietate, depresie, intrafunct, ionalitat, ile ce t, in de relaxarea prin jocuri interactive, comunicare sau exprimareasentimentelor prin jurnalul virtual.

Sistemul propus pentru doctori ofera funct, ionalitat, i ce t, in de gestiunea pacient, ilors, i comunicarea cu aces,tia.

17

Categorie Identificator Descriere

Gestiuneutilizatori

CF1 Logare/Delogare utilizator

CF2 Inregistrare utilizatorCF3 Recuperare parola prin emailCF4 Navigarea ın interiorul aplicat, iei utilizand con-

troalele specifice

Sistemutilizator/pacient

CF5 Accesare meniu de jocCF5.1 Sa permita utilizatorilor sa acceseze sect, iunea de joc a

aplicat, iei s, i sa selecteze un mini-game pe care sa ıl joace.CF5.2 Sa permita utilizatorului navigarea ıntr-o harta virtuala

utilizand sistemul de localizare GPS al telefonului mobils, i sa prezinte punctele de interes de pe harta utilizandrealitatea augmentata.

CF5.3 Sa ofere utilizatorului un set de misiuni/task-uri pecare acesta le poate ındeplini pentru ameliorarea simp-tomelor pe care acesta le resimte s, i avansarea acestuiaın joc.

CF5.4 Sa ıi ceara utilizatorului sa ıs, i prezinte starea de spiritınainte de intrarea ın joc s, i sa selecteze misiunile conformacesteia.

CF6 Sa permita utilizatorului sa-s, i faca notari ıntr-un jurnal s, i sa poata vizualiza toate ınsemnarileprecedente

CF7 Sa-i permita utilizatorului sa comunice cu alt, iutilizatori prin intermediul unui chat, iar pacien-tului sa comunice s, i cu doctorul lor.

CF8 Sa prezinte un citat motivat, ional diferit ın fiecarezi, la intrarea utilizatorului ın aplicat, ie.

Sistemdoctor

CF9 Vizualizarea informat, iilor despre pacient, iiasignat, i lui.

CF10 Posibilitatea de a raspunde la ıntrebarile puse deutilizatori sau de pacient, i.

Tabelul 4.1: Cerint,ele funct, ionale ale proiectului

4.1.2 Cerint,e non-funct, ionale

Cerint,ele non-funct, ionale reprezinta proprietat, i s, i constrangeri aduse sistemului,reguli impuse care trebuie respectate. Exista numeroase cerint,e non-funct, ionale, ınsa celemai importante ın cadrul acestui proiect sunt: utilizabilitatea, disponibilitatea, securitateas, i performant,a.

18

Utilizabilitatea reprezinta us,urint,a cu care sistemul este ınvat,at s, i utilizat. Uti-lizatorul va reus, i sa foloseasca mai eficient sistemul daca acesta respecta anumite standardeutilizate ın majoritatea aplicat, iilor Android.

Sistemul trebuie din acest punct de vedere sa asigure o interfat,a prietenoasa s, isugestiva, cu elementele importante evident, iate s, i cu o logica us,or de ınt,eles a fluxuluide utilizare. Sistemul trebuie sa permita utilizatorilor neexperimentat, i sa instaleze s, i saruleze aplicat, ia.

Disponibilitatea este redata de obicei ın procente s, i masoara timpul ın care sis-temul poate fi folosit. Sistemul este utilizabil 24 de ore din 24, ınsa pentru funct, ionalitat, ileprincipale este necesara conexiunea la internet s, i accesul la locat, ie.

Securitatea reprezinta gradul de protect, ie adus ımpotriva posibilelor amenint, ariale sistemului. Aceasta impune constrangerile referitoare la limitarea accesului pentruuserii care nu sunt autentificat, i, astfel ıncat informat, iile utilizatorilor nu sunt compromise.

De la datele personale pana la starile s, i simptomele pe care le au pacient, ii, informat, iilememorate ın aplicat, ie vor ramane confident, iale s, i vor putea fi accesate doar de pacient, i s, ide doctorii la care sunt asignat, i pe parcurs.

Performant,a unui sistem reprezinta masurarea criteriilor care analizeaza eficient,asistemului, cum ar fi timpul de raspuns, rata de procesare sau memoria utilizata deaplicat, ie. Fluxul act, iunilor ıntreprinse pentru realizarea numitor sarcini este logic s, i us,orde urmarit, ceea ce aduce rapiditate ın execut, ie.

4.2 Modelul cazurilor de utilizare

Un caz de utilizare reprezinta o colect, ie de scenarii posibile, referitoare la comuni-carea ıntre sistem s, i actorii externi, caracterizate de anumite scopuri. Aceste scenarii suntdefinite ca secvent,e de pas, i carora le pot corespunde cazuri de utilizare de nivel inferior.Cazurile de utilizare arata ce trebuie sa faca sistemul s, i nu cum.

4.2.1 Diagrama cazurilor de utilizare

Diagrama cazurilor de utilizare reprezinta o colect, ie de cazui de utilizare s, i actoricare:

• furnizeaza o descriere generala asupra modului ın care va fi utilizat sistemul;

• ofera o imagine de ansamblu a funct, ionalitat, ilor ce se doresc a fi oferite de catresistemul ce urmeaza sa fie dezvoltat;

• arata interact, iunea sistemului cu unul sau mai mult, i actori;

• asigura faptul ca proiectul va produce ceea ce s-a dorit.

19

In cazul de fat, a, sistemul dezvoltat va avea trei tipuri de actori: Utilizator obis,nuit(reprezentat de o persoana ce descarca aplicat, ia fara recomandarea unui medic), Pacien-tul (persoana care are contact cu un medic specialist care ıi cunoas,te cazul) s, i Mediculspecialist (cel care utilizeaza aplicat, ia destinata cadrelor medicale de tip psiholog/psihi-atru.

Figura 4.1: Diagrama cazuri de utilizare aplicat, ie pacient

20

Figura 4.2: Diagrama cazuri de utilizare aplicat, ie medic psiholog/psihiatru

4.2.2 Cazuri de utilizare aplicat, ie pacient/utilizator obis,nuit

Sistemul dezvoltat ın aceasta lucrare este format din doua aplicat, ii Android diferite,prima fiind destinata utilizatorilor simpli ce descarca aplicat, ia dorind sa o foloseasca fararecomandarea unui medic, precum s, i pacient, ilor diagnosticat, i cu o tulburare de tip stres,anxietate, depresie ce au contact s, i cu un medic specialist ın domeniu.

Cazurile de utilizare principale identificate ın cadrul aplicat, iei pacient/utilizatorobis,nuit sunt analizate mai jos:

21

Cazul de utilizare I

Acest caz de utilizare are loc atunci cand un utilizator dores,te sa completeze omisiune (ce implica deplasarea pe harta) pentru a progresa ın joc sau pentru a-s, i ameliorasimptomele de stres, anxietate, depresie.

Figura 4.3: Flux evenimente CU1: Indeplinire misiune ın harta virtuala

22

Numele cazului de utilizare: Indeplinire misiune ın harta virtualaActori: utilizator obis,nuit, pacientPart, i interesate (Stakeholders): Persoana ce sufera de tulburari psihice precum

stres, anxietate, depresie – actor principal al acestui caz de utilizare, el este interesat ına avea o interfat, a placuta la navigarea ın aplicat, ie, dar s, i ın harta virtuala care mapeazalumea reala; de asemenea, descrierea misiunii trebuie sa fie succinta s, i us,or de ınt,elespentru a putea sa o ındeplineasca cu succes. La fel, este important ca deplasarea ın hartavirtuala sa fie cat mai exacta s, i sa corespunda cu mis,carile reale ale utilizatorului.

Medicul specialist – este interesat ın a li se oferi utilizatorilor misiuni care sa ame-lioreze simptomele de stres, anxietate, depresie s, i sa ajute la vindecarea lor ın timp. Eldores,te ca informat, iile oferite prin intermediul acestei aplicat, ii sa nu fie eronate sau inefi-ciente, deoarece ar putea afecta negativ starea utilizatorilor.

Precondt, ii:

• Actorul este autentificat ın sistem.

• Conexiunea la internet a telefonului este activata.

• Serviciile de localizare a telefonului sunt activate.

Postcondit, ii:

• Statusul misiunii finalizate trebuie sa fie actualizat cu succes.

• Recompensa colectata ın urma finalizarii misiunii trebuie ınregistrata cu succes.

• Starea jocului nu trebuie sa se modifice daca utilizatorul nu a atins obiectivul misi-unii.

Scenariul principal (de succes):

1. Actorul pornes,te categoria de joc a aplicat, iei.

2. Actorul transmite starea psihica ın care se afla.

3. Actorul acceseaza categoria de misiuni din cadrul meniului de joc s, i vizualizeazamisiunile generate conform starii sale.

4. Utilizatorul accepta o misiunea ce presupune atingerea unui obiectiv de pe harta.

5. Actorul acceseaza categoria”Harta virtuala”.

6. Actorul ıncepe deplasarea ın lumea reala, urmarind ın acelas, i timp progresul pe hartavirtuala din aplicat, ie.

7. Utilizatorul atinge obiectivul specificat de pe harta.

8. Utilizatorul colecteaza recompensa oferita pentru ındeplinirea cu succes a misiunii.

23

9. Sistemul redirect, ioneaza utilizatorul spre meniul principal al jocului.

Scenarii alternative

1. Utilizatorul ıs, i prezinta starea (alternativa pentru 2):

(a) Daca utilizatorul nu a mai accesat sect, iunea de joc a aplicat, iei ın ultimele douasaptamani, efectueaza testul standard DASS.

(b) Daca utilizatorul a mai efectuat testul DASS ın ultimele doua saptamani ıs, i vaprezenta doar starea actuala.

2. Nu exista nicio misiune activa ce implica deplasarea ın harta virtuala (alternativapentru 4):

(a) Utilizatorul refuza misiuni pentru a genera altele noi.

(b) Utilizatorul finalizeaza alte misiuni pentru a genera unele noi.

3. Obiectivul misiunii nu este atins (alternativa pentru 7):

(a) Misiunea mai ramane activa timp de 24h, dupa care se genereaza una noua.

4. Operat, ie es,uata din diferite motive (conexiune slaba la internet, lipsa semnal GPSetc.):

(a) Sistemul afis,eaza un mesaj corespunzator.

(b) Starea sistemului nu se modifica.

Cazul de utilizare II

Numele cazului de utilizare: Scriere ın jurnalActori: utilizator obis,nuit, pacientPart, i interesate (Stakeholders): Persoana ce sufera de tulburari psihice precum

stres, anxietate, depresie - utilizator simplu sau pacient, acesta dores,te sa faca catevaınsemnari personale legate de starea sa ın cadrul aplicat, iei.

Precondt, ii:

• Actorul este autentificat ın sistem.

• Conexiunea la internet a telefonului este activata.

24

Postcondit, ii:

• Se adauga cu succes o noua ınregistrare ın jurnalul virtual.

Scenariul principal (de succes):

1. Utilizatorul acceseaza jurnalul virtual din meniul aplicat, iei.

2. Utilizatorul selecteaza opt, iunea de adaugare a unei noi ınsemnari ın jurnal.

3. Sistemul creeaza o noua intrare ın jurnal, corespunzatoare datei curente.

4. Utilizatorul introduce ınsemnarile dorite.

5. La final, se apasa butonul de finalizare, iar ınsemnarile sunt salvate ın baza de date.

6. Utilizatorul va putea vizualiza, s,terge sau edita ınregistrarea nou adaugata.

Scenarii alternative

1. Exista deja o ınsemnare ın jurnal corespunzatoare datei curente:

(a) Utilizatorul este ıns,tiint,at despre existent,a acesteia.

(b) Utilizatorul are opt, iunea de a adauga informat, ii la ınsemnarile existente sau dea renunt,a.

2. Operat, ie es,uata:

(a) Sistemul afis,eaza un mesaj corespunzator.

(b) Starea sistemului nu se modifica.

Cazul de utilizare III

Numele cazului de utilizare: Comunicare cu alt, i utilizatori prin chatActori: utilizator obis,nuit, pacientPart, i interesate (Stakeholders): Persoana ce sufera de tulburari psihice precum

stres, anxietate, depresie - utilizator simplu sau pacient, acesta dores,te sa comunice cu

25

persoane ce ıntampina situat, ii s, i experient,e similare, ceea ce diminueaza sentimentul desinguratate.

Precondt, ii:

• Actorul este autentificat ın sistem.

• Conexiunea la internet a telefonului este activata.

Postcondit, ii:

• Mesajele s-au transmis cu succes ıntre participant, ii la conversat, ie.

Scenariul principal (de succes):

1. Utilizatorul autentificat acceseaza sect, iunea de chat din meniul aplicat, iei.

2. Actorul selecteaza o persoana din lista de utilizatori cu care sa intre ın contact.

3. Sistemul afis,eaza interfat,a de chat dintre cei doi utilizatori.

4. Utilizatorul introduce mesajul dorit s, i apasa butonul de trimitere.

5. Sistemul expediaza mesajul, afis, andu-l ambilor utilizatori.

Scenarii alternative

1. Trimiterea mesajului es,ueaza:

(a) Utilizatorul este ıns,tiint,at despre es,ecul expedierii mesajului.

(b) Utilizatorului ıi este prezentata opt, iunea de a re-trimite mesajul.

4.2.3 Cazuri de utilizare aplicat, ie doctor

Principalele cazuri de utilizare ale aplicat, iei destinate medicilor specialis,ti din dome-niul sanatat, ii mintale sunt:

Cazul de utilizare I

26

Numele cazului de utilizare: Vizualizare fis,e pacient, i

Actor: medic specialist de tip psiholog/psihiatru

Part, i interesate (Stakeholders):

Medicul specialist - actorul principal al acestui caz de utilizare, este interesat cainformat, iile pacient, ilor sa fie prezentate organizat, eficient s, i corect s, i sa fie cat mai acce-sibile.

Pacient,ii - persoanele a caror informat, ii sunt prezentate ın aplicat, ie s, i care dorescsa nu existe erori sau gres,eli ın reprezentarea acestora.

Precondt, ii:

• Actorul este autentificat ın sistem cu un cont de doctor.

• Dispozitivul este conectat la internet.

Postcondit, ii:

• Medicul specialist a aflat informat, iile dorite.

Scenariul principal (de succes):

1. Medicul autentificat ın contul corespunzator acceseaza sect, iunea informat, iilor desprepacient, i din cadrul aplicat, iei.

2. Sistemul afis,eaza lista completa de pacient, i pe care ıi are ınregistrat, i doctorul ıncadrul aplicat, iei.

3. Medicul selecteaza o persoana din lista acestuia de pacient, i s, i ıi vizualizeaza informat, iiledin fis, a.

Scenarii alternative

1. Nu exista niciun pacient ın lista de pacient, i a doctorului:

(a) Sistemul afis,eaza un mesaj corespunzator lipsei de pacient, i asignat, i s, i sugereazaposibilitatea adaugarii acestora.

2. Operat, ie es,uata:

(a) Sistemul afis,eaza un mesaj corespunzator.

(b) Starea sistemului nu se modifica.

27

Cazul de utilizare II

Numele cazului de utilizare: Comunicare cu pacient prin chatActor: medicul specialistPart, i interesate (Stakeholders):Medicul specialist - actorul principal al acestui caz de utilizare, este interesat sa aiba

o metoda de comunicare accesibila, rapida s, i sigura cu pacient, ii sai.Pacient,ii - persoanele ce sufera de tulburari psihice s, i necesita un ajutor rapid de

la medicii lor.Precondt, ii:

• Medicul specialist este autentificat ın sistem.

• Conexiunea la internet a telefonului este activata.

Postcondit, ii:

• Mesajele s-au transmis cu succes ıntre terapeut s, i pacient, i.

Scenariul principal (de succes):

1. Medicul specialist autentificat ın aplicat, ie acceseaza sect, iunea de chat din meniu.

2. Medicul selecteaza o persoana din lista de pacient, i sau o conversat, ie anterioara.

3. Sistemul afis,eaza interfat,a de chat dintre cei doi utilizatori.

4. Medicul introduce mesajul dorit s, i apasa butonul de trimitere.

5. Sistemul expediaza mesajul, afis, andu-l ambilor utilizatori.

Scenarii alternative

1. Trimiterea mesajului es,ueaza:

(a) Medicul este ıns,tiint,at despre es,ecul expedierii mesajului.

(b) Utilizatorului ıi este prezentata opt, iunea de a re-trimite mesajul.

28

4.3 Proiectarea arhitecturii conceptuale a sistemului

4.3.1 Arhitectura conceptuala

Pentru a oferi o vedere de ansamblu asupra componentelor care vor fi necesare pen-tru realizarea s, i buna funct, ionare a proiectului propus s-a realizat o arhitectura conceptualaa ıntregului sistem, prezentata ın figura 4.4.

Figura 4.4: Arhitectura conceptuala a sistemului

Din diagrama conceptuala se pot observa tipurile de utilizatori, precum s, i prin-cipalele componente care stabilesc interact, iunea dintre aces,tia. Atat UserApp, cat s, iDoctorApp, necesita o conexiune stabila la internet pentru a putea accesa datele dinbaza de date s, i a comunica ıntre ei. Pacient, ii s, i utilizatorii obis,nuit, i necesita s, i serviciide localizare de tip GPS pentru a avea acces la toate funct, ionalitat, ile oferite de aplicat, ie.Datele persistente sunt stocate ıntr-o baza de date ın timp real Firebase.

4.3.2 Componente principale

Pe langa cele doua aplicat, ii Android dezvoltate, sistemul necesita s, i utilizarea unorcomponente externe pentru ındeplinirea funct, ionalitat, ilor propuse.

Mapbox

Mapbox reprezinta o platforma de mapare pentru dezvoltatori ce permite utilizareaunor API-uri pentru construirea de hart, i virtuale s, i aplicat, ii. Accesul la resursele oferitede Mapbox se realizeaza printr-un token unic primit de fiecare client ınregistrat.

29

In figura 4.5, sunt ilustrate principalele tipuri de hart, i care pot fi folosite de dez-voltatori ın proiectele lor. Este s, i posibilitatea de a-t, i particulariza propriul model deharta.

Figura 4.5: Tipurile de hart, i oferite de Mapbox

Mapbox, prin posibilitat, ile de navigare, locat, ie s, i hart, i virtuale, ofera o baza foartebuna pentru dezvoltarea part, ii din joc ce implica atingerea de obiective ıntr-o harta virtualaprin deplasarea ın lumea reala. Astfel, dupa cum se poate observa s, i ın figura 4.4, cuajutorul unei conexiuni la internet s, i a serviciilor de localizare ale telefonului mobil sepoate obt, ine maparea ın timp real a locat, iei.

Firebase

Google ofera, prin platforma Firebase, toate funct, ionalitat, ile de backend necesarepentru crearea de aplicat, ii mobile (sau aplicat, ii web) precum: opt, iuni de stocare pe server,autentificare, notificari, mesaje s, i multe altele. Lista de beneficii aduse de Firebase poatefi observata ın figura 4.6:

Figura 4.6: Baza de date Firebase

30

In realizarea proiectului propus se vor utiliza atat baza de date ın timp real pentrustocarea datelor fiecarui utilizator, cat s, i autentificarea s, i mesageria cloud.

Firebase Realitime Database este o baza de date ın timp real de tip cloud NoSQL.Datele sunt stocate ca JSON s, i sincronizate ın timp real cu fiecare client conectat, careprimes,te automat actualizari cu cele mai noi date. In aceasta baza de date vor putea fistocate datele utilizatorilor, precum s, i informat, iile legate de ınsemnarile din jurnal, stari,citate, misiuni (pentru aplicat, ia utilizator) s, i datele pacient, ilor (pentru aplicat, ia doctor).

Firebase Authentication ofera o metoda simpla s, i sigura pentru gestionarea utiliza-torilor s, i ofera securitate datelor furnizate de aces,tia ın cadrul aplicat, iei. Autentificarease poate face prin metode multiple: parola, numar de telefon sau servicii precum Google,Facebook, Twitter etc.

Firebase Cloud Messaging permite livrarea mesajelor ıntre diferite platforme saudispozitive. Aplicat, iile vor fi notificate cand sunt disponibile noi date pentru sincronizare.Pentru funcs, ionalitat, i de tip mesaje instant, se specifica o ıncarcatura a mesajului trans-ferat de maxim 4KB. Acest serviciu va fi utilizat pentru implementarea funct, ionalitat, ii dechat dintre doctor s, i pacient, dar s, i ıntre utilizatori.

4.4 Resurse necesare

In cele ce urmeaza se vor analiza toate resursele necesare pentru proiectarea, imple-mentarea s, i rularea proiectului. Se vor lua ın considerare atat mediile de dezvoltare, cats, i caracteristicile dispozitivelor pentru care este destinata aplicat, ia finala.

4.4.1 Resurse dezvoltator

Proiectul va fi implementat pe un sistem bazat pe arhitectura x64, cu o memorieRAM de 8GB, ceea ce va permite obt, inerea unei performant,e bune de la programeleutilizate pentru dezvoltare.

Dupa o analiza a principalelor tehnologii s, i tool-uri disponibile care pot oferi resurselenecesare dezvoltarii proiectului propus, s-au stabilit urmatoarele: Android Studio, Unity,Microsoft Visual Studio, Unity Remote 5.

Rezultatul final al sistemului descris ın aceasta lucrare va fi reprezentat de o aplicat, ieAndroid (ce include o componenta pentru doctori s, i una pentru pacient, i). Din acest motiv,dezvoltarea de baza a proiectului va fi realizata cu ajutorul software-ului Android Studio.

Aplicat, ia pentru utilizatori cuprinde o componenta de joc ce include misiuni bazatepe starile utilizatorului, mini-jocuri s, i harta virtuala ımbinata cu realitatea augmentata.Aceasta componenta va fi dezvoltata utilizand Unity 5 s, i Unity Remote 5 s, i va fi integrataapoi ın Android Studio, rezultand aplicat, ia finala. In figura 4.7 se prezinta o imaginesugestiva a acestei operat, iuni.

31

Figura 4.7: Combinarea mediilor de dezvoltare Android Studio s, i Unity

Android Studio va fi utilizat pentru realizarea funct, ionalitat, ilor legate de jurnalulvirtual, chat-ul ıntre pacient s, i doctor, citate, aplicat, ia pentru doctori, precum s, i realizareasistemului integral. Motivele principale pentru care a fost ales Android Studio s, i nu unalt software care permite dezvoltarea de aplicat, ii mobile (precum Eclipse IDE) au fostfurnizarea unoi emulator multifunct, ional s, i permiterea modelarii pe diferite configurat, iiale dispozitivelor Android.

Unity este un game-engine pentru jocuri 3D (ınsa poate fi folosit s, i pentru creareade jocuri 2D) scris ın C s, i C++ s, i lansat init, ial ın anul 2005. Acesta integreaza foarte bines, i funct, ionalitat, i legate de realitatea augmentata s, i de realitatea virtuala.

Software-ul a devenit foarte popular ın ultima perioada, oferind avantaje precumdezvoltarea aplicat, iilor atat 2D cat s, i 3D s, i rularea acestora pe un numar mare de platforme(Windows, Linux, Mac, Android, iOS, Xbox, Play Station, Nintendo etc.). Un alt avantajal Unity este us,urint,a de ınvat,are s, i faptul ca este, ın mare parte, gratuit.

Unity Remote este o aplicat, ie mobila ce vine ın ajutorul dezvoltatorilor pentruAndroid, iOS s, i tvOS. Aplicat, ia se conecteaza la programul Unity cat timp este ın modulPlay s, i permite vizualizarea progresului pe ecranul telefonului, interact, iunea cu programultestat putand fi observata ın programul ce ruleaza ın Unity pe dispozitivul de dezvoltare.Acesta ofera astfel o imagine reala asupra felului ın care arata cu adevarat jocul pe dis-pozitivul t, inta, fara a fi necesar un build al programului de fiecare data cand se dores,tetestarea unei funct, ionalitat, i.

Assets reprezinta un alt aspect esent, ial care contribuie la experient,a dezvoltariiın Unity. Asset Store este o platforma de cumparare a unor assets create ın majoritatea

32

timpului de catre comunitate, avand s, i cateva gratuite. Un asset poate fi un grup demodele, sunete, scripturi, texturi etc. ce formeaza un tot unitar ce poate fi importat cuus,urint, a ıntr-o aplicat, ie Unity personala. Acest lucru face dezvoltarea mai us,oara pentrucei ce nu au suficient timp sa investeasca ın crearea unor modele de la zero sau a unorpart, i grafice standard (iconit,e de meniu, de sunet etc.).

Toate avantajele de mai sus au contribuit la alegerea Unity ca mediu principal dedezvoltare a componentei de joc a proiectului, permit, and integrarea cu celelalte moduledezvoltate ın Android Studio.

4.4.2 Resurse utilizator

Dezvoltarea aplicat, iilor Android necesita o atent, ie mai mare asupra dispozitivelorfinale pe care vor rula aplicat, iile, acestea avand specificat, ii s, i dimensiuni foarte diferiteıntre ele.

Astfel, proiectul final va putea fi rulat pe orice dispozitiv mobil ce dispune de unsistem de operare Android (versiune minima 5.0). Aceasta versiune acopera un procent de71,3% dintre utilizatorii de dispozitive Android, conform figurii 4.8.

Figura 4.8: Distribut, ia folosirii versiunilor de Android printre utilizatori (2018)

Restrict, ionarea la un nivel al sistemului Android de minim 5.0 a fost fixata datoritaavantajelor aduse de aceasta versiune, fiind totodata accesibila unui numar destul de mare

33

de utilizatori. O alta constrangere la nivel de dispozitiv utilizator este rezolut, ia preferatade 720x1280 pixeli, rezolut, ia de dezvoltare a aplicat, iei.

Pentru a beneficia de toate funct, ionalitat, ile oferite de proiectul propus, utilizatoriivor mai necesita o conexiune stabila la internet (Wi-Fi, 3G, 4G), precum s, i servicii delocalizare s, i GPS ( doar pentru aplicat, ia destinata utilizatorilor obis,nuit, i s, i pacient, ilor).

34

Capitolul 5

Proiectare de detaliusi implementare

5.1 Schema generala a sistemului

Sistemul propus este alcatuit din doua aplicat, ii Android, User Application s, iDoctor Application, care comunica prin intermediul unei baze de date ın timp real detip Firebase. Principalele module ale fiecarei aplicat, ii, precum s, i interact, iunea dintreacestea, sunt ilustrate ın figura 5.1.

Figura 5.1: Schema generala a sistemului

35

User Application

Aceasta componenta reprezinta aplicat, ia destinata pacient, ilor diagnosticat, i cu tul-burari psihice sau persoanelor care constata ca sufera de afect, iuni precum stres, anxietate,depresie. Acesta aplicat, ie le ofera metode de ameliorare a simptomelor acestor tulburari,dar s, i de testare a gravitat, ii acestora. Modulele din cadrul acestei aplicat, ii sunt: Game,Mood Tracker, Quotes, Diary s, i Chat.

Modulul Game este implementat ın Unity s, i reprezinta sect, iunea de joc a aplicat, ieice include alte trei module: Virtual Map, Missions s, i Minigames.

Virtual Map prezinta o harta virtuala ce se mapeaza la locat, ia utilizatorului ıntimp real prin apelul la un API denumit Mapbox. Utilizatorul este reprezentat pe aceastaharta sub forma unui caracter animat de tip pisica. Scopul deplasarii este atingerea unorobiective specifice de pe harta, deplasarea fizica pana la acestea ajutandu-l sa se relaxezes, i ıncurajandu-l sa petreaca mai mult timp ın aer liber.

Missions este un sub-modul ce se ocupa cu gestionarea unor activitat, i pe careutilizatorul le poate ındeplini cu scopul de a-s, i ameliora simptomele de stres, anxietate saudepresie. Aceste activitat, i pot include, de exemplu, sugestii de exercit, ii fizice sau activitat, ipe care sa le desfas,oare ın cadrul aplicat, iei.

Minigames este o parte a modulului Game ce ofera o serie de jocuri simple menitesa relaxeze utilizatorii s, i sa ıi distraga de la problemele zilnice. Un astfel de joc este Rollthe Ball, a carui scop este colectarea de obiecte cu ajutorul unei mingi ce se rotes,te ınfunct, ie de pozit, ia ecranului.

Mood Tracker se ocupa cu starile utilizatorului. Acestuia i se cere selectareasentimentelor curente dintr-o lista la fiecare accesare a modulului de joc pentru ca misiuniledin cadrul jocului sa fie particularizate conform starii sale curente.

Modulul Quotes ofera utilizatorului posibilitatea de a vizualiza zilnic cate un citatmotivat, ional prin intermediul aplicat, iei. Acesta se schimba la fiecare accesare a aplicat, iei.

Aplicat, ia ofera de asemenea posibilitatea de a face ınsemnari ıntr-un jurnal vir-tual s, i de a gestiona aceste notit,e prin operat, ii de tip s,tergere, actualizare etc. Acestefunct, ionalitat, i sunt implementate ın modulul Diary.

Chat-ul permite comunicarea ıntre utilizatorii aplicat, iei, precum s, i cea ıntre pa-cient s, i terapeutul sau

Doctor Application

Aplicat, ia proiectata pentru doctorii psihologi sau psihiatri are ca scop oferirea unorfunct, ionalitat, i simple prin care medicii sa poata gestiona mai us,or pacient, ii s, i sa comu-nice ıntr-un mod rapid cu aces,tia. Modulele implementate de Doctor Application includPatient management s, i Chat with patient.

Primul modul integreaza datele personale despre tot, i pacient, ii pe care doctorul s, ii-a asignat pentru a avea o evident, a clara a acestora, precum s, i date legate de tulburarile

36

psihice pe care le manifesta. Medicul poate decide adaugarea sau s,tergerea unui pacient,precum s, i actualizarea datelor acestora.

Al doilea modul va reprezenta o posibilitate pentru medicul specialist de a comunicarapid s, i sigur cu pacient, ii de care se ocupa.

5.2 Proiectarea aplicat, iei utilizator/pacient

5.2.1 Schit, a init, iala de design

Avand ın vedere faptul ca aplicat, iile Android sunt centrate ın jurul utilizatorilor,s-a acordat o atent, ie mare la utilizabilitatea sistemului pentru a oferi o solut, ie cat maiaccesibila s, i us,or de folosit. Pentru acest lucru s-a realizat o prototipizare pe hartie (denivel scazut) a aplicat, iei generale, prezentata ın figura 5.2.

Figura 5.2: Schit, a init, iala de design a aplicat, iei utilizator

Realizarea acestei schit,e a permis descoperirea eventualelor gres,eli ın fluxul deexecut, ie al aplicat, iei sau erori de design care ar putea duce la schimbari inutile pe parcur-sul avansarii proiectului. Oferind o imagine de ansamblu asupra design-ului aplicat, iei sestabiles,te s, i o baza pentru ınceperea implementarii propriu-zise.

37

5.2.2 S, ablon arhitectural

Aplicat, ia Android este organizata ın jurul s,ablonului arhitectural MVC (Model-View-Controller). Cele trei componente interact, ioneaza conform diagramei de secvent, ailustrate ın figura 5.3.

Figura 5.3: Diagrama de secvent, a a MVC

Controller-ul este cel care gestioneaza cererile utilizatorilor, cum ar fi apasarea debutoane sau atingerea ecranului. In partea de model intra reprezentarile datelor reale ıncadrul aplicat, iei, iar View se ocupa cu redarea informat, iilor grafice pe ecran.

In cazul particular al acestei aplicat, ii, componentele MVC sunt reprezentate astfel:

• Model - are ca responsabilitat, i act, iunile s, i operat, iile asupra datelor, integrarea di-verselor clase ce permit procesarea informat, iilor din baza de date. Din aceastacomponenta fac parte clasele care se ocupa cu modelarea obiectelor, precum Note,Quote, NoteList etc., dar s, i componentele individuale s, i controale (butoane, listeetc.);

• View - este partea care se ocupa de afis,area datelor, de modul ın care vede utilizatorulinformat, ia procesata de Controller. Aceasta componenta include fis, ierele XML (deexemplu, single note layout.xml) s, i layout managerii, interfet,ele de tip Listener.Tot ın aceasta parte sunt definite s, i elementele grafice (de exemplu, gradientul pentruculoarea de fundal), dar s, i adaptoaele care ajuta la redarea listelor definite ın cadrulaplicat, iei;

• Controller - face legatura ıntre Model s, i View, ıntre act, iunile utilizatorului s, i partealogica a aplicat, iei. El apeleaza metodele specifice, ın funct, ie de nevoile utilizatorului.In aceatsa componenta sunt definite clasele care se ocupa de partea logica a aplicat, iei,

38

precum MainActivity, MenuActivity (mai exact metodele de tip Listener (deexemplu, OnClickListener) s, i clasele de evenimente);

5.2.3 Diagrama de clase s, i activitat, i

Android Studio

In figura sunt prezentate cele mai importante clase ale aplicat, iei pentru utilizatoriobis,nuit, i sau pacient, i cu tulburari psihice, dezvoltata ın Android Studio.

Figura 5.4: Diagrama claselor principale a aplicat, iei pacient

Activitatea principala, MainActivity, reprezinta punctul de pornire al aplicat, iei s, ise prezinta sub forma ecranului de login ın aplicat, ie. Aici este definita metoda pentru log-area utilizatorului folosind email-ul s, i parola. Utilizand procedura de autentificare oferitade Firebase s-a asigurat o metoda simpla, dar sigura pentru autentificare s, i ınregistrareautilizatorilor. Autentificarea se face printr-o instant, a la FirebaseAuth care ofera metodasignInWithEmailAndPassword(username, password), ilustrata mai jos:

1 . . .2 p r i v a t e FirebaseAuth fAuth ;3 . . .4 p r i v a t e void l o g i n ( S t r ing username , S t r ing password ) {5 f i n a l Progres sDia log prog r e s sD ia l og = new Progres sDia log ( t h i s ) ;6 prog re s sD ia l og . setMessage ( ”Logging in , p l e a s e wait . . . ”) ;7 prog re s sD ia l og . show ( ) ;8

9 fAuth . signInWithEmailAndPassword ( username , password ) .addOnCompleteListener (new OnCompleteListener<AuthResult >() {

10 @Override

39

11 pub l i c void onComplete ( @NonNull Task<AuthResult> task ) {12 prog re s sD ia l og . d i sm i s s ( ) ;13 i f ( task . i s S u c c e s s f u l ( ) ) {14 In tent menuIntent = new Intent ( MainActivity . th i s ,

MenuActivity . c l a s s ) ;15 s t a r t A c t i v i t y ( menuIntent ) ;16 f i n i s h ( ) ;17

18 Toast . makeText ( MainActivity . th i s , ”Sign in s u c c e s s f u l ” ,Toast .LENGTH SHORT) . show ( ) ;

19 } e l s e {20 Toast . makeText ( MainActivity . th i s , ”ERROR ”+task .

getExcept ion ( ) . getMessage ( ) , Toast .LENGTH SHORT) . show ( ) ;21 }} }) ;

Listing 5.1: Metoda de logare ın aplicat, ie

La fiecare pornire a aplicat, iei s, i logare un nou citat este extras random din cele aflateın baza de date s, i este afis,at utilizatorului. Secvent,a de cod prin care se realizeaza acestlucru este prezentata mai jos, s, i se afla ın metoda OnCreate() a activitat, ii MenuActivity.Se observa crearea unei instant,e a bazei de date s, i modul de apelare a citatului selectat.

1 mFirebaseDatabase = FirebaseDatabase . g e t In s tance ( ) ;2 Random random = new Random( ) ;3 i n t num = random . next Int (30) ;4 i f (num==0) num=1;5 myRef = mFirebaseDatabase . ge tRe fe rence ( ) . c h i l d ( ”Quotes ”) . c h i l d (

I n t e g e r . t oS t r i ng (num) ) ;

Listing 5.2: Extragerea unui citat aleator din baza de date

GameActivity este activitatea prin care se apeleaza aplicat, ia Android creata ınUnity. Integrarea celor doua aplicat, ii s-a realizat prin exportarea proiectului din Unity cas, i Gradle s, i importarea fis, ierului .aar rezultat ın aplicat, ia dezvoltata ın Android Studio.Structura acestei activitat, i este urmatoarea:

1 pub l i c c l a s s GameActivity extends AppCompatActivity {2

3 pub l i c void c a l l u n i t y ( ) {4

5 In tent i n t e n t = new Intent ( th i s , com . Licenta . MoodGuide .Uni tyPlayerAct iv i ty . c l a s s ) ;

6 s t a r t A c t i v i t y ( i n t e n t ) ;7 }8 @Override9 protec ted void onCreate ( Bundle savedIns tanceState ) {

10 super . onCreate ( savedIns tanceSta te ) ;11 setContentView (R. layout . ac t iv i ty game ) ;12 c a l l u n i t y ( ) ;13 }}

Listing 5.3: Metoda ce realizeaza conexiunea la aplicat, ia creata ın Unity

40

Dupa apelarea acestei activitat, i, metoda callunity() va porni aplicat, ia ce cont, inejocul principal. Fiind creata ın Unity, aceasta parte nu mai este organizata sub formade activitat, i s, i fis, iere XML, iar codul scris pentru interact, iunea dintre elemente este C#,Unity bazandu-s, i funct, ionalitatea pe script-uri atas,ate obiectelor din scena.

Unity

Realizarea componentei de joc a fost efectuata integral ın mediul de dezvoltareUnity, ceea ce a presupus crearea unor scene s, i descrierea interact, iunii dintre obiecte prinintermediul unor script-uri sau prin specificarea comportamentului direct din interfat,agrafica a Unity. In figura 5.5 se observa principalul flux al scenelor, precum s, i principalelescript-uri atas,ate unor obiecte aflate ın acestea.

Figura 5.5: Scenele din Unity s, i principalele script-uri atas,ate

O parte importanta a part, ii dezvoltate ın Unity o constituie maparea hart, ii virtualepeste locat, ia reala a utilizatorului. Aceasta funct, ionalitate a fost implementata cu ajutorulunui serviciu extern oferit de Mapbox. Prin crearea unui cont pe platforma Mapbox, a

41

fost furnizat un token personal prin care sa poata fi accesate serviciile acestora. Prin acesttoken s-a creat apelul la serviciul lor de hart, i virtuale ın timp real care furnizeaza texturacorespunzatoare locat, iei curente a utilizatorului. Aceste operat, ii s-au realizat astfel:

1 pub l i c IEnumerator l o a d T i l e s ( i n t zoom)2 {3 i n t s i z e = s e t t i n g s . s i z e ;4 s t r i n g key = s e t t i n g s . key ;5 s t r i n g s t y l e = s e t t i n g s . s t y l e ;6

7 l a t = Input . l o c a t i o n . la s tData . l a t i t u d e ;8 lon = Input . l o c a t i o n . la s tData . l ong i tude ;9

10 s t r i n g u r l = St r ing . Format ( ”https : // api . mapbox . com/v4/mapbox.{5}/{0} ,{1} ,{2}/{3}x{3}@2x . png? acc e s s t oken ={4}” , lon , l a t , zoom , s i z e ,key , s t y l e ) ;

11

12 WWW www = new WWW( u r l ) ;13 y i e l d re turn www;14

15 t ex ture = www. tex ture ;16 i f ( t i l e == n u l l )17 {18 t i l e = GameObject . CreatePr imi t ive ( PrimitiveType . Plane ) ;19 t i l e . name = ”Ti l e ” + l a t + ”” + lon ;20 t i l e . t rans form . l o c a l S c a l e = Vector3 . one ∗ s e t t i n g s . s c a l e ;21 t i l e . GetComponent<Renderer >() . mate r i a l = s e t t i n g s . mate r i a l ;22 t i l e . t rans form . parent = trans form ;23 }24 . . .25 t i l e . GetComponent<Renderer >() . mate r i a l . mainTexture = texture ;

Listing 5.4: Maparea hart, ii virtuale la locat, ia utilizatorului

La interact, iunea cu un obiectiv de pe harta virtuala, utilizatorului i se va porniautomat camera foto a dispozitivului de pe care init, iaza aceasta act, iune, daca permisiuneaaceasta a fost acordata la intrarea ın aplicat, ie. Metoda prin care se realizeaza setareaimaginii captate de camera ca imagine de fundal pentru aplicat, ie este urmatoarea:

1 p r i v a t e RawImage image ;2 p r i v a t e WebCamTexture cam ;3 p r i v a t e AspectRat ioF i t t e r a r f ;4 void Star t ( ) {5 a r f = GetComponent<AspectRat ioFi t ter >() ;6

7 image = GetComponent<RawImage>() ;8 cam = new WebCamTexture( Screen . width , Screen . he ight ) ;9 image . t ex ture = cam ;

10 cam . Play ( ) ;11 }

Listing 5.5: Utilizarea camerei foto a dispozitivului

42

5.2.4 Diagrama de pachete

Diagrama de pachete corespunzatoare aplicat, iei destinata pacient, ilor este ilustrataın figura 5.6. La fiecare dintre cele patru pachet au fost specificate activitat, ile asociate.

Figura 5.6: Diagrama de pachete a aplicat, iei pacient

In pachetul users login se afla activitat, ile init, iale, cele legate de logarea utiliza-torilor ın aplicat, ie sau de ınregistrare, precum s, i cele ce se ocupa de meniul principal alaplicat, iei. Deoarece ın acest pachet se afla activitat, ile de baza ale aplicat, iei, se poateobserva ca pachetul users login interact, ioneaza cu toate celelalte trei pachete.

Pachetul diary cont, ine activitat, ile legate de jurnal s, i se ocupa cu gestionarea notelorfacute de fiecare utilizator ın jurnalul virtual.

In pachetul de chat se afla activitat, ile care permit utilizatorului sa comunice cuceilalt, i pacient, i sau cu terapeutul care se ocupa de tratamentul lor, daca un doctor i-aasignat ca pacient, i ai lui ın prealabil, prin intermediul aplicat, iei doctor.

Pachetul game se ocupa cu evident,a starilor utilizatorilor prin activitatea Mood-TrackerActivity, pe baza acestei evident,e generandu-se misiunile din cadrul jocului. Game-Activity init, iaza meniul principal al componentei de joc, dezvoltata ın Unity. Aceastacomponenta de joc este practic o alta aplicat, ie de tip Android, ınsa integrata separat ınaplicat, ia finala, ca s, i librarie. In aceasta componenta se afla funct, ionalitat, ile bazate perealitate augmentata s, i harta virtuala, precum s, i minijocuri cu care utilizatorul se poaterelaxa.

43

5.3 Proiectarea aplicat, iei doctor

Pe langa aplicat, ia destinata pacient, ilor, s-a propus s, i dezvoltarea unei aplicat, iiseparate pentru medicii specialis,ti din domeniul sanatat, ii mintale. Partea acestei aplicat, ii,dezvoltata ın lucrarea fat, a, este ilustrata ın sect, iunile urmatoare.

5.3.1 Diagrama de clase s, i activitat, i

Aplicat, ia proiectata pentru doctorii de tip psiholog sau psihiatru, care se ocupa cutratarea persoanelor ce sufera de tulburari psihice precum stres, anxietate, depresie, arediagrama de clase prezentata ın figura 5.7.

Figura 5.7: Diagrama claselor principale a aplicat, iei doctor

PatientsActivity se ocupa cu gestionarea pacient, ilor pe care ıi are doctorul. Acestaıi ofera posibilitatea medicului de a face operat, ii precum: asignare utilizator ca s, i pacient,s,tergere sau actualizare date pacient, vizualizare informat, ii pacient, i. Pacient, ii pe careacesta ıi are deja asignat, i sunt salvat, i ın baza de date s, i preluat, i ın activitatea Patients-Activity prin crearea unei instant,e la baza de date Firebase s, i utilizarea unui FirebaseRe-cyclerAdapter pentru a plasa modelele fiecarei fis,e a pacient, ilor ın pozit, ia corespunzatoaredin PatientViewHolder.

1 p r i v a t e void loadData ( ) {2

3 FirebaseRecyc lerAdapter<ChartModel , ChartViewHolder>f i r eba s eRecyc l e rAdapte r = new FirebaseRecyc lerAdapter<ChartModel ,ChartViewHolder>(

4 PatientModel . c l a s s ,5 R. layout . s i n g l e c h a r t l a y o u t ,6 ChartViewHolder . c l a s s ,7 fNotesDatabase

44

8 ) {9 @Override

10 protec ted void populateViewHolder ( f i n a l ChartViewHolderviewHolder , ChartModel model , i n t p o s i t i o n ) {

11 f i n a l S t r ing chart Id = getRef ( p o s i t i o n ) . getKey ( ) ;12

13 fNotesDatabase . c h i l d ( char t Id ) . addValueEventListener (newValueEventListener ( ) {

14 @Override15 pub l i c void onDataChange ( DataSnapshot dataSnapshot ) {16 i f ( dataSnapshot . hasChi ld ( ” f i r s tname ”) &&

dataSnapshot . hasChi ld ( ”lastname ”) . . . ) {17 . . .18 mChartsList . setAdapter ( f i r eba s eRecyc l e rAdapte r ) ;

Listing 5.6: Obt, inerea listei pacient, ilor

Tot ın aceasta activitate se afla metoda prin care se actualizeaza informat, iile unuipacient. Aceasta metoda verifica mai ıntai ca utilizatorul sa fie logat ın aplicat, ie printestarea unei instant,e a FirebaseAuthentication. Apoi se verifica daca pacientul asupracaruia vor sa se faca modificari exista cu adevarat ın baza de date. Acest lucru se realizeazaın prealabil prin intermediul unei variabile boolene exists.

Pentru actualizarea datelor se foloses,te o structura de date de tip Map. Metodacare se ocupa efectiv de actualizarea datelor este updateChildren(updateMap).

1 i f ( fAuth . getCurrentUser ( ) != n u l l ) {2 i f ( e x i s t s ) {3 // update e x i s t i n g pa t i en t4 Map updateMap = new HashMap ( ) ;5 updateMap . put ( ”name” , t i t l e ) ;6 updateMap . put ( ”content ” , content ) ;7 updateMap . put ( ” s t a t e ” , s t a t e ) ;8 fChartsDatabase . c h i l d ( pat ientID ) . updateChi ldren ( updateMap ) ;9

10 Toast . makeText ( th i s , ”Pat ient updated ” , Toast .LENGTH SHORT) .show ( ) ;

11 }

Listing 5.7: Actualizarea datelor unui pacient

Tot ın secvent,a de cod prezentata mai sus se poate observa ca utilizatorul va fianunt,at daca operat, iunea de actualizare se efectueaza cu succes, prin intermediul unuiToast. Astfel, se semnaleaza starea curenta a sistemului. Acesta este un aspect importantdin punct de vedere al dezvoltarii interfet,elor grafice utilizator, aspect ce s-a ıncercat sa fieluat ın calcul pe tot parcursul dezvoltarii aplicat, iei, dorind sa se obt, ina o interfat, a graficaintuitiva s, i interactiva.

45

5.3.2 Diagrama de pachete

Aplicat, ia pentru doctorii de specialitate este structurata sub forma a trei pachete:user login, patient management s, i chat. Prezentarea aplicat, iei, din punct de vedere alstructurii pachetelor, este ilustrata ın figura 5.8.

Figura 5.8: Diagrama de pachete a aplicat, iei doctor

Aplicat, ia se ocupa cu doua module de baza: gestionarea pacient, ilor s, i comunicareacu pacient, ii. Acestea sunt reprezentate de pachetele cu acelas, i nume. Pachetul chat arefunct, ionalitate aproape similara cu cea din aplicat, ia pentru pacient, i. Activitat, ile din acestpachet furnizeaza un mijloc de comunicare ıntre medicul specialist care are sub tratamentmai mult, i pacient, i de care se ocupa la un moment dat. Chat-ul faciliteaza comunicareadintre aces,tia s, i poate fi de folos ın situat, ii ın care persoanele nu pot avea o discut, ietelefonica din diverse motive.

In pachetul patient management se prezinta doctorului pacient, ii pe care acesta ıitrateaza, datele lor personale, precum s, i afect, iunea de care sufera. El poate face ınsemnarilegate de aces,ti pacient, i, poate adauga sau s,terge pacient, i.

Prin pachetul users login se realizeaza activitatea de logare a doctorului ın aplicat, ie.Se poate observa ca activitatea de ınregistrare a unui cont nou nu mai este posibila,deoarece aplicat, ia destinata acestui tip de utilizator necesita o verificare mai amanunt, itaa identitat, ii persoanei. Daca s-ar permite crearea de conturi de doctori pentru orice per-soana ce are acces la aplicat, ie s-ar putea ajunge la situat, ii periculoase pentru utilizatoriicare urmeaza sfaturile prezentate de medicii specialis,ti.

46

5.4 Modelul de date

Baza de date utilizata ın cadrul dezvoltarii aplicat, iei prezentate ın aceasta lucrareeste de tip cloud Firebase. Aceasta ramane sincronizata cu tot, i client, ii conectat, i ın timpreal s, i ramane disponibila atunci cand aplicat, ia se deconecteaza.

Datele sunt stocate ıntr-o structura arborescenta JSON s, i nu ıntr-o tabela, conformfigurii 5.9, eliminand astfel nevoia de interogari SQL complexe.

Figura 5.9: Structura arborescenta a bazei de date cloud Firebase

Se poate observa ın figura ca elementul radacina al bazei de date este android-787f4. Acesta reprezinta identificatorul unic al bazei de date utilizate ın acest proiect.

Pentru a exemplifica modul de stocare a datelor ıntr-o baza de date de tip Firebasese discuta exemplul din figura 5.9.

Nodurile copil ale elementului radacina sunt reprezentate de entitat, ile bazei de date(de exemplu, Notes, care reprezinta o ınsemnare facuta de un utilizator ın jurnalul virtual.

Pe urmatorul nivel se afla cheia unica a utilizatorului care a facut acea nota ın jurnal,cheie care va permite crearea corespondet,ei dintre entitat, ile Notes s, i Users. Urmatorul nodreprezinta identificatorul unic al fiecarei note de jurnal adaugata de catre utilizator.

Nodurile finale corespund atributelor unei entitat, i de tip Notes, s, i anume: cont, inutulınsemnarii (textul introdus de utilizator), titlul notei, precum s, i o valoare de tip timestampcare reprezinta momentul ın care a fost adaugata nota sau doar actualizata.

Pentru celelalte entitat, i necesare dezvoltarii proiectului propus structura este, ınmare parte, similara.

47

In figura 5.10 s-a realizat o reprezentare a datelor sub forma clasica tabelara.Aceasta nu reprezinta forma ın care sunt stocate real datele ın baza de date Firebase,forma reala fiind arborescenta. Acest lucru se datoreaza faptului ca formatul ın care sestocheaza datele este de tip JSON.

Figura 5.10: Reprezentarea tabelara a modelului bazei de date NoSQL

Tabelul Quote stocheaza citatele furnizate utilizatorului ın fereastra de meniua aplicat, iei. Tabelul cont, ine trei campuri: quoteID, author s, i quote. Campul quoteIDret, ine identificatorul fiecarui citat ın parte, campul author memoreaza autorul citatului,iar campul quote stocheaza citatul propriu-zis.

Tabelul Missions stocheaza misiunile furnizate utilizatorului ın jocul aplicat, iei.Tabelul cont, ine patru campuri: userID, missionID, state s, i status. Campul userID ret, ineidentificatorul fiecarui utilizator ın parte, campul missionID memoreaza identificatorulmisiunii, campul status ret, ine starea misiunii(ne comunica daca misiunea este acceptatade utilizator, daca este refuzata sau daca este ındeplinita), iar campul state memoreazastarea asociata acestei misiuni.

State este tabela care ret, ine starile pacient, ilor la un anumit moment. Aceastacont, ine campurile: userID, state s, i timestamp. Campul userID memoreaza ID-ul pacien-tului, campul state memoreaza starea pacientului, iar timestamp ret, ine timpul exact lacare pacientul a declarat starea respectiva.

Tabelul Pacients memoreaza tot, i utilizatorii sistemului s, i cont, ine urmatoarele cam-puri: doctorID, patientID, firstname, lastname, problem, details s, i dateAdded. CampuldoctorID ret, ine identificatorul doctorului la care este asignat pacientul. Campul patien-tID memoreaza identificatorul pacientului ın cauza. Campul firstname ret, ine prenumelepacientului, iar lastname ret, ine numele de familie al pacientului. Campul problem sem-

48

nifica diagnosticul pus de medic pacientului. Campul details aduce informat, ii cu privire lastarea generala a pacientului, iar campul dateAdded memoreaza data la care a fost adaugatpacientul ın sistem.

Tabelul Notes memoreaza notit,ele salvate de utilizator ın modulul Diary s, i cont, ineurmatoarele campuri: userID, noteID, title, content, state s, i timestamp. Campul userIDmemoreaza idntificatorul userului, campul noteID memoreaza identificatorul notei, campultitle ret, ine titlul notei, campul content memoreaza cont, inutul notei, campul state ret, inestarea utilizatorului ın momentul scrierii notit,ei, iar campul timestamp memoreaza timpulla care a fost salvata ınsemnarea ın jurnal.

Tabelul Doctors salveaza medicii specialis,ti conectat, i ın sistem s, i prezinta cam-purile: doctorID, displayName, email s, i password. Campul doctorID memoreaza identifi-catorul doctorului, iar campul displayName memoreaza numele pe care doctorul dores,tesa ıl afis,eze ın cadrul chat-ului.

Tabelul Users reprezinta tabela ce ret, ine utilizatorii sistemului, memorand identi-ficatoul pentru fiecare user, numele de utilizare a aplicat, iei, email-ul utilizatorului, parolas, i tipul acestuia.

49

Capitolul 6

Testare si validare

6.1 Cazuri de testare

Acest capitol urmares,te cazurile de testare ale sistemului propus s, i validarea rezul-tatelor obt, inute la efectuarea diverselor operat, ii asupra sistemului.

Pentru testarea funct, ionalitat, ilor implementate avem ın vedere urmatoarele ele-mente:

• Cazul de testare – reprezinta funct, ionalitatea aleasa pentru a fi testata ın cadrulsistemului;

• Precondit, ii – reprezinta afirmat, iile valabile despre starea sistemului ınainte de apli-carea cazului de testare;

• Act, iuni – ilustreaza pas, ii realizat, i de utilizator pentru aplicarea cazului de testare asistemului;

• Rezultat as,teptat – comportamentul as,teptat din partea sistemului dupa fiecareact, iune ıntreprinsa.

Pentru testarea sistemului vor fi luate ın vedere urmatoarele cazuri de testare: ın-deplinire misiune ın harta virtuala, adaugarea unei notit,e ın jurnal (pentru aplicat, ia utiliza-tor/pacient) s, i vizualizare fis, a pacient, comunicare cu pacient prin chat (pentru aplicat, iadoctorilor) .

6.1.1 Cazuri de testare aplicat, ie pacient

CT1 (Caz de testare 1)Nume: Indeplinire misiune ın harta virtualaPrecondit, ii: actorul este autentificat ın sistem, conexiunea la internet a telefonului

este activata iar serviciile de localizare a telefonului sunt s, i ele activate.

50

Act, iune Rezultat as,teptat

Selectarea butonului GameRedirect, ionarea aplicat, iei catre ecranul ce solicita

actualizarea starilor utilizatoruluiSelectarea starilor s, i apasarea butonului

PlayAplicat, ia solicita acceptul utilizarii locat, iei

Acceptarea sau refuzarea utilizarii locat, iei Aplicat, ia solicita acceptul utilizarii camerei fotoAcceptarea sau refuzarea utilizarii camerei

fotoDirect, ionarea aplicat, iei catre pagina principala a

joculuiSelectarea butonului Missions din ecranul

principal al joculuiDirect, ionarea la categoria de misiuni unde sunt

afis,ate misiunile actualeAcceptarea unei misiuni de deplasare peharta virtuala prin apasarea butonului

Accept din dreptul acesteiaSchimbarea statusului misiunii ın acceptata

Revenirea la meniul principal prinselectarea butonului sageata dreapta din

partea dreapta-sus a ecranuluiRevenirea la pagina principala a jocului

Apasarea butonului Navigate MapDirect, ionarea ecranului catre harta virtuala unde

este afis,at s, i personajul mapat pe harta

Deplasarea ın lumea reala a utilizatoruluiModificarea pozit, iei pe harta a personajului ın

concordant, a cu mis,carea realaIntrarea ın raza obiectivului cautat Aparit, ia obiectivului pe harta virtuala

Selectarea obiectului specificatPornirea automata a camerei foto ın care se poateinteract, iona cu elementele realitat, ii augmentate

Realizarea interact, iunii dintre elementeleilustrate ın spectrul vizual al camerei

Finalizarea cu succes a misiunii s, i ilustrarearecompensei primite

Colectarea recompensei prin apasareabutonului Collect

Inregistrarea progresului s, i revenirea la ecranulprincipal al jocului

Tabelul 6.1: CT1: Indeplinire misiune ın harta virtuala

CT2 (Caz de testare 2)Nume: Adaugare nota ın jurnalPrecondit, ii: actorul este autentificat ın sistem ın aplicat, ia pacientului, conexiunea

la internet a telefonului este activata.

51

Act, iune Rezultat as,teptat

Selectarea butonului My Diary al meniuluiprincipal

Redirect, ionarea aplicat, iei catre ecranul ceafis,eaza notit,ele precedente ın funct, ie de data la

care au fost createSelectarea butonului + din partea

dreapta-sus a ecranuluiRedirect, ionare user catre activitatea de

introducere a datelor pentru notit, a

Introducerea informat, iilor asociate noii notes, i apasarea butonului din josul paginii

Aparit, ia unui mesaj de confirmare s, iredirect, ionarea catre ecranul cu note unde se va

putea observa s, i noua nota adaugata

Tabelul 6.2: CT2: Adaugare nota ın jurnal

In ambele cazuri rezultatele obt, inute au fost cele as,teptate, act, iunile fiind ındeplinitecu succes.

6.1.2 Cazuri de testare aplicat, ie doctor

CT1 (Caz de testare 1)Nume: Comunicare cu pacient prin chatPrecondit, ii: actorul este autentificat ın sistem cu contul de doctor, conexiunea la

internet a telefonului este activata.

Act, iune Rezultat as,teptatSelectarea butonului Chat din fereastra

principalaDirect, ionarea aplicat, iei catre ecranul ce afis,eaza

lista cu ultimele conversat, ii cu pacient, ii

Selectarea numelui pacientului doritDirect, ionarea catre conversat, ia cu pacientul

selectatSelectarea spat, iului destinat scrierii

mesajuluiAparit, ia tastaturii ın partea de jos a ecranului

Introducerea mesajului s, i selectareabutonului Send

Trimiterea mesajului s, i afis,area lui ın conversat, iadeschisa

Tabelul 6.3: CT1 - Aplicat, ie doctor: Comunicare cu pacient prin chat

CT2 (Caz de testare 2)Nume: Vizualizare fis, a pacientPrecondit, ii: actorul este autentificat ın sistem cu contul de doctor, conexiunea la

internet a telefonului este activata.In ambele cazuri rezultatele obt, inute au fost cele as,teptate, act, iunile fiind ındeplinite

cu succes.

52

Act, iune Rezultat as,teptatSelectarea butonului My Patients din

fereastra principalaDirect, ionarea aplicat, iei catre ecranul ce afis,eaza

lista cu pacient, ii assignat, i doctorului logatIntroducerea numelui pacientului cautat ın

sect, iunea din partea de sus a ecranuluiReturnarea unei liste cu pacient, i care corespund

informat, iilor introduseIdentificarea s, i selectarea pacientului cautat Deschiderea fis,ei cu informat, ii ale pacientului

Tabelul 6.4: CT2 - Aplicat, ie doctor: Vizualizare fis, a pacient

6.2 Android Profiler

Performant,a sistemului este masurata cu ajutorului tool-ului Android Profiler.Vederea principala a Profiler-ului prezinta o cronologie unificata ce ilustreaza graficeleutilizarii UCP, a memoriei s, i a ret,elei ın timp real de catre utilizator. Tool-ul marcheazaevenimentele importante din cadrul aplicat, iei cum sunt intrarile utilizator, tranzit, ia ıntreactivitat, i s, i rotat, iile telefonului, furnizand o imagine mai clara despre execut, ia sistemului.Pentru a testa aplicat, ia destinata pacient, ilor s-a utilizat un model de telefon Google Nexus5X s, i s-a navigat printre activitat, ile aplicat, iei, urmarindu-se valorile ınregistrate.

Figura 6.1: Android Profiler - activitat, i init, iale

Dupa cum se poate observa ın figura 6.1, resursele pentru navigarea de la ecranulprincipal la meniu s, i apoi la activitatea de evaluare a starii curente (ce precede activitateade joc) nu sunt mari. Utilizarea procesorului, cat s, i a memoriei este la valori mici s, i nusuprasolicita sistemul. Se mai observa ca ret,eaua este utilizata la intrarea ın meniu, pentruafis,area citatului care se preia din baza de date.

53

In figura 6.2 se poate observa cres,terea utilizarii memoriei la momentul accesariimeniului principal al jocului, ınsa nu la valori foarte mari.

Figura 6.2: Android Profiler - activitat, i din partea de joc

Dupa testarea aplicat, iei folosind Android Profiler, unealta integrata ın mediul dedezvoltare Android Studio, s-a stabilit ca performant,a aplicat, iei respecta cerint,ele impusede un astfel de sistem.

6.3 Validarea aplicat, iei

Pentru validarea aplicat, iei sunt verificate datele introduse de utilizator ın interfat, a.Daca datele introduse sunt invalide, sistemul va semnala acest lucru printr-un mesaj deeroare ıntr-o casut, a de pop-up s, i va ımpiedica terminarea operat, iei daca datele introdusenu sunt corecte.

Pentru act, iunea de Log in, de exemplu, casut,ele sunt verificate pentru a nu fi goale,apoi datele introduse(username s, i parola) sunt cautate ın baza de date s, i este permisaccesul numai utilizatorilor regasit, i ın datele sistemului.

Sistemul va avea o tolerant, a la erori ridicata prin recunoas,terea, diagnoza s, irevenirea din erori. Interfat,a prezinta proceduri de recuperare din situat, iile de eroares, i face act, iunile utilizatorilor reversibile. De exemplu, daca utilizatorul accepta o misiunedin lista de misiuni s, i apoi se razgandes,te, el va putea anula activarea misiunii.

54

Capitolul 7

Manual de instalare si utilizare

Manualul de instalare s, i utilizare prezinta modul ın care aplicat, ia trebuie instalatape dispozitivele mobile, precum s, i pas, ii ce trebuie efectuat, i ın utilizarea acesteia.

7.1 Resurse necesare pentru instalare

Inainte de instalare este important sa se asigure ca specificat, iile dispozitivului mobilcorespund cu cele ale aplicat, iei MoodGuide. Astfel, pentru a rula aplicat, ia MoodGuide s, i abeneficia de toate serviciile oferite de aceasta este nevoie de urmatoarele resurse hardwares, i software:

• dispozitiv ce ruleaza sistemul de operare Android;

• versiune Android ıncepand de la 5.0;

• rezolut, ie preferata de 720x1280 pixeli;

• spat, iu de memorie liber de cel put, in 70MB;

• conexiune stabila la o ret,ea de internet (Wi-Fi, 3G, 4G);

• servicii de localizare de tip GPS.

Dupa ce au fost verificate resursele necesare, pasul urmator este instalarea aplicat, iei.Pentru acest lucru este nevoie ca fis, ierul .apk (APK - Android Package Kit) sa fie descarcatpe dispozitivul mobil. Acesta va permite instalarea s, i rularea aplicat, iei daca specificat, iilecorespund cu cele ale smartphone-ului.

Pentru a rula aplicat, ia aceasta trebuie cautata ın lista de aplicat, ii a dispozitivuluimobil s, i selectata prin simpla atingere a logo-ului acesteia, cu numele MoodGuide.

55

7.2 Manual de utilizare

Aceasta aplicat, ie este destinata persoanelor ce sufera de tulburari psihice precumstres, anxietate, depresie sau care doresc doar o forma de relaxare s, i petrecere ıntr-un modplacut a timpului liber.

Inregistrarea s, i logarea ın aplicat, ie

Dupa selectarea aplicat, iei pe ecran se va deschide fereastra de logare ilustrata ınfigura 7.1 (stanga). Acesta necesita introducerea unui cont valid pentru a putea accesafunct, ionalitat, ile. Logarea se face prin adresa de email s, i parola. Pentru utilizatorii noi,crearea unui cont se poate face apasand pe butonul Register here, evident, iat ın figura.Acesta ıl va redirect, iona la ecranul de creare a unui cont nou unde va fi ıntampinat cu unmesaj de mult,umire pentru ca dores,te sa se alature comunitat, ii MoodGuide, precum s, i oexplicat, ie a pas, ilor pe care trebuie sa ıi urmeze (Please fill in the information below...).Utilizatorul va trebui sa introduca numele care dores,te sa ıi fie afis,at ın cadrul aplicat, iei,o adresa de email valida s, i o parola care vor fi folosite la logarea ın aplicat, ie.

Figura 7.1: Ecranul de logare (stanga) s, i ecranul de ınregistrare (dreapta)

56

Daca operat, iunea de ınregistrare are succes s, i nu exista alte erori, utilizatorul esteanunt,at ca i-a fost creat un nou cont s, i este redirect, ionat la pagina de logare unde ıs, i poateintroduce datele contului s, i poate apasa butonul Login. Daca datele nu sunt corecte, esteavertizat printr-un mesaj sugestiv, exemplificat ın figura 7.2.

Figura 7.2: Posibila eroare la pasul de logare

Daca operat, iunea este efectuata cu succes se prezinta un mesaj de tipul Sign insuccesful s, i utilizatorul este redirect, ionat catre meniul principal al aplicat, iei, prezentat ınfigura 7.3.

Meniul aplicat, iei

Meniul prezinta principalele butoane care redirect, ioneaza utilizatorul spre fiecaresect, iune a aplicat, iei. In partea de jos a ecranului este prezentat un citat motivat, ional s, iautorul acestuia. Utilizatorul poate alege sa ımpartas,easca acest citat s, i cu alte persoaneprin intermediul unui serviciu extern, prin apasarea butonului Share the quote din josulecranului (figura 7.3).

57

Figura 7.3: Meniul aplicat, iei utilizator

Jurnalul virtual

Ecranul reprezentat ın figura 7.4 afis,eaza notit,ele introduse ın sect, iunea de Diarya aplicat, iei, ordonate descrescator dupa data s, i ora la care au fost create. Notit,ele suntafis,ate ın numar de trei pe fiecare rand, ilustrand titlul notei introduse s, i numarul de zilecare a trecut de la introducerea ei.

Figura 7.4: Activitat, ile jurnalului virtual

Dand click pe butonul + din partea dreapta-sus a aplicat, iei, o noua fereastra sedeschide, pentru introducerea unei noi notit,e. Informat, iile introduse vor fi: titlul notit,eis, i descrierea acesteia. In partea de jos a ecranului din dreapta se poate observa un mesaj

58

de eroare ın caz ca datele introduse sunt gres, ite (Fill empty fields).

Sect, iunea de joc

Ecranul ce solicita starile actuale ale utilizatorului este prezentat ın figura 7.5. Elilustreaza aceste stari printr-o imagine cu o pisica ce urmares,te emot, ia respectiva s, i unchenar de culoare corai care denumes,te exact starea. Daca utilizatorul dores,te sa sarapeste aceasta etapa, el poate face acest lucru prin selectarea butonului Skip din partea dedreapta-sus a ecranului.

Exista 30 de stari introduse ın acest modul, iar ın partea de jos a ecranului, dupaselectarea starilor relevante, exista butonul Play ce salveaza starile s, i direct, ioneaza utiliza-torul catre jocul propriu-zis.

Figura 7.5: Selectarea starilor ınainte de intrarea ın sect, iunea de joc

Dupa ecranul de selectare al starilor, se va deschide meniul principal al sect, iunii dejoc (figura 7.6), de unde vor putea fi selectate categoriile de activitat, i dorite. De exemplu,daca se va apasa pe butonul Navigate Map, pe ecran se va plasa caracterul deasupraunei hart, i. Pozit, ia caracterului de pe harta va corespunde cu cea a utilizatorului s, i se vamodifica conform acesteia.

59

Figura 7.6: Meniul jocului (stanga) s, i navigarea ın harta virtuala (dreapta)

O alta opt, iune pe care utilizatorul o are este sa selecteze butonul de Mini gamess, i apoi sa selecteze unul dintre jocurile disponibile (figura 7.7). Acesta are la dispozit, ie unmeniu de ajutor ın partea de sus a ecranului, precum s, i opt, iunea de ıntoarcere la meniu.

Meniul de ajutor consta ın opt, iunea semnalata cu Help, care reprezinta funct, ionalitateade ajutor ce furnizeaza informat, iile despre scopul jocului s, i despre cum se poate deplasamingea pe ecran. Dupa opt, iunea de Help, exista cea de Home, reprezentata printr-o casut, a,care direct, ioneaza utilizatorul catre meniul principal al jocului.

Figura 7.7: Mini-jocul Roll the Ball

60

Capitolul 8

Concluzii

8.1 Contribut, ie personala

Elementele ce constituie contribut, iile personale sunt ideile de baza de la care apornit aplicat, ia, precum s, i viziunea de proiectare s, i de implementare a sistemului.

Ideea unei aplicat, ii ce rezolva problemele legate de tulburarile psihice a venit cuscopul de a crea ceva nou s, i de actualitate. Luand pe parcurs ın calcul scopul joculuis, i impactul acestuia, am ales sa abordam metodele urmarite de aplicat, ia Pokemon GO,deoarece aceasta s-a dovedit a avea un impact favorabil ın direct, ia sanatat, ii mintale. Astfel,am ales sa implementam un joc bazat pe realitate augmentata s, i pe navigarea ıntr-o hartavirtuala.

Dupa un studiu bibliografic ındelungat, am ales sa adaugam elemente prezente ınmajoritatea aplicat, iilor destinate sanatat, ii mintale sau ımbunatat, irii starii utilizatorilor,astfel adaugand funct, ionalitat, ile de jurnal, chat, citate.

De asemenea, ideea introducerii aplicat, iei de doctor este un plus adus din proprieinit, iativa, pentru a putea monitoriza parcursul pacient, ilor ındeaproape s, i mai eficient.

8.2 Rezultate obt, inute

Sistemul obt, inut ındeplines,te majoritatea funct, ionalitat, ilor propuse init, ial ca obiec-tive s, i reus,es,te sa raspunda cerint,elor utilizatorilor stabilite ın faza de proiectare.

Utilizarea sistemului se realizeaza cu us,urint, a, iar jocurile propuse au fost imple-mentate cu succes s, i ofera o experient, a unica s, i interesanta.

Aplicat, ia implementeaza majoritatea funct, ionalitat, ilor aplicat, iilor similare existentepe piat, a, ınsa perspectiva acestor funct, ionalitat, i este pusa ın concordant, a cu funct, ionalitat, ilenoi introduse, cu scopul de a crea un sistem unic, complet s, i eficient.

Deschiderea sistemului spre noi ımbunatat, iri este semnificativa, deoarece se pot facemodificari s, i se pot adauga funct, ionalitat, i atat pe partea de pacient, cat s, i pe partea dedoctor.

61

Aplicat, ia reprezinta un sistem ce poate fi folosit nu numai cu scop de relaxare s, idivertisment s, i, ın acelas, i timp, un sistem utilizat de medici ın tratarea pacient, ilor sai,cu scop de monitorizare s, i urmarire a evolut, iei pacient, ilor pe baza starilor declarate s, i aındeplinirii misiunilor propuse.

8.3 Dezvoltari ulterioare

Sistemul propus implementeaza mai multe modalitat, i de relaxare s, i abordeaza in-clusiv componenta sociala prin utilizarea Chat-ului s, i a Forum-ului. Obiectivele propuseinit, ial au fost ındeplinite ın mare masura, ınsa sistemul a fost implementat pentru a puteafi us,or extins mai departe.

Printre ımbunatat, irile care pot fi aduse sistemului se numara:

• Personajul prezentat ın cadrul jocului poate fi particularizat astfel ıncat sa reflectestarea utilizatorului atat la intrarea ın joc cat s, i pe parcursul ındeplinirii misiunilor;

• Des, i exista mai mult, i utilizatori, aces,tia nu pot interact, iona ın cadrul jocului pen-tru aplicat, ia implementata, astfel ıncat, o alta ımbunatat, ire poate fi dezvoltareainteract, iunii dintre aces,tia pe harta virtuala s, i chiar ın ındeplinirea misiunilor (omisiune poate cere interact, iunea cu alt utilizator);

• O alta dezvoltare ulterioara poate fi reprezentata de introducerea unui istoric alobiectivelor atinse de utilizator pe harta virtuala;

• Starea virtuala a utilizatorului sa poata fi influent,ata nu numai de realizarea cu succesa misiunilor, ci s, i de avansarea s, i deblocarea mini-jocurilor din cadrul aplicat, iei;

• Pentru sect, iunea mini-jocurilor, se poate adauga opt, iunea de High-score, care estecalculat luand ın considerare tot, i utilizatorii aplicat, iei pacient;

• Pe langa cele patru mini-jocuri, se pot adauga s, i altele de acest gen;

• Dezvoltarea jurnalului poate aduce posibilitatea introducerii de poze ın notele create,pe langa informat, ia de tip text;

• In cadrul Chat-ului, se pot aduce ımbunatat, iri ale funct, iilor acestuia(trimiterea deemoticoane, GIF-uri, poze sau chiar fis, iere);

• In cadrul modulului de evaluare a starilor, pe langa selectarea emot, iilor afis,ate, sepoate aduce posibilitatea de a evalua gradul de intensitate al starii alese;

• Tot la evaluarea starilor, se pot colecta s, i informat, ii cu privire la mediul ın care seafla utilizatorul, persoanele din jur, locat, ie etc.

62

• Pentru modulul Quotes se pot implementa funct, ionalitat, i suplimentare precum:adaugare citat ın sistem, adaugare citat existent la favorite, vizualizare citate fa-vorite, eliminare de la favorite;

• Pentru comunicarea doctorului cu pacientul se pot adauga alte metode de comunicarepe langa Chat-ul implementat, de exemplu telefonic sau prin apel video;

• Parcursul pacientului ın joc, misiunile ındeplinite s, i traseul parcurs pot fi s, i acesteaprezentate medicului pentru o ınt,elegere mai buna a starii pacientului sau;

• Imbunatat, irea interfet,ei grafice s, i a elementelor de design este o alta dezvoltare cepoate fi adusa sistemului propus;

• Includerea unor tutoriale interactive ın cadrul aplicat, iei, momentan acestea fiind doarstatice.

Majoritatea aplicat, iilor Android sunt actualizate constant de catre dezvoltatori,astfel ıncat s, i sistemul propus va putea fi modificat s, i ımbunatat, it, iar schimbarile realizatevor putea s, i livrate clientului us,or, printr-o modalitate cunoscuta acestuia.

63

Bibliografie

[1] S. Bhandari, Exercise and Depression, februarie 2018, disponibil online:https://www.webmd.com/depression/guide/exercise-depression#1

[2] M. Curtin, Neuroscience says listening to this songs reduces anxiety by up to 65percent, 30 mai 2017, disponibil online:https://www.inc.com/melanie-curtin/neuroscience-says-listening-to-this-

one-song-reduces-anxiety-by-up-to-65-percent.html

[3] T. Fisher, What is Augmented Reality, 2 decembrie 2017, disponibil online:https://www.lifewire.com/augmented-reality-ar-definition-4155104

[4] Y. Gershfeld, Mood Swings, An application to track, understand and share emotionsfor people who need to control mood swings, Teza de master, Tilburg University, Tilburg,iunie 2014, disponibil online:http://arno.uvt.nl/show.cgi?fid=134709

[5] A. Griffin, Apple’s Tim Cook on Iphones, augmented reality, and how he plans tochange the world, The Independent, octombrie 2017, disponibil online:https://www.independent.co.uk/life-style/gadgets-and-tech/features/

apple-iphone-tim-cook-interview-features-new-augmented-reality-ar-

arkit-a7993566.html

[6] M. Hoffman, Could Pokemon GO, Augmented Reality Apps be Used for Mental HealthTherapy?, American Psychiatric Association’s annual meeting, mai 2018, disponibilonline:https://www.mdmag.com/conference-coverage/apa-2018/could-pokemon-go-

augmented-reality-apps-be-used-for-mental-health-therapy

[7] P. Hyek, M. Postings and others, Mobile technology poised to enable a new era in healthcare, 2012, disponibil online:http://www.ictliteracy.info/rf.pdf/mHealth%20Report_Final.pdf

[8] H. Larsson, L. Mageramova, Development of Application for Health Statistics, Target-ing Mental Health, Lucrare de licent, a, Halmstad University, 2017, disponibil online:http://www.diva-portal.org/smash/get/diva2:1084827/FULLTEXT02

64

[9] M. Nemko Ph. D. Top Apps For Your Mental Health, 27 octombrie 2015, disponibilonline:https://www.psychologytoday.com/blog/how-do-life/201510/top-apps-your-

mental-health

[10] E. Reynolds, How effective are mental health apps?, mai 2017, disponibil online:http://www.wired.co.uk/article/mental-health-apps

[11] J. T. Schwob, A smartphone application for the treatment of generalized anxietydisorder, Teza de master, University of Dayton, 2016, disponibil online:https://etd.ohiolink.edu/!etd.send_file?accession=dayton1461176493&

disposition=inline

[12] J. Shelton, Top 25 Best Mental Health Apps: An Effective Alternative for When YouCan't Afford Therapy?, 2018, disponibil online:https://www.psycom.net/25-best-mental-health-apps

[13] Texas A&M University, Health benefits of Pokemon Go, Science Daily, iulie 2016,disponibil online:www.sciencedaily.com/releases/2016/07/160715181715.htm

[14] S. Zlatanova, Augmented Reality Technology, decembrie 2002, disponibil online:https://3d.bk.tudelft.nl/szlatanova/thesis/html/refer/ps/GIST17.pdf

65

Anexa ALista figurilor din lucrare

3.1 Realitatea mediata de calculator . . . . . . . . . . . . . . . . . . . . . . . . 73.2 O noua era a tehnologiei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.3 Aplicat, ia What's Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.4 Aplicat, ia TrackYourself . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.5 Aplicat, ia MoodSwings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.6 Aplicat, ia Mood Mission . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.7 Aplicat, ia PokemonGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.8 Aplicat, ia Medici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.1 Diagrama cazuri de utilizare aplicat, ie pacient . . . . . . . . . . . . . . . . 204.2 Diagrama cazuri de utilizare aplicat, ie medic psiholog/psihiatru . . . . . . . 214.3 Flux evenimente CU1: Indeplinire misiune ın harta virtuala . . . . . . . . 224.4 Arhitectura conceptuala a sistemului . . . . . . . . . . . . . . . . . . . . . 294.5 Tipurile de hart, i oferite de Mapbox . . . . . . . . . . . . . . . . . . . . . . 304.6 Baza de date Firebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.7 Combinarea mediilor de dezvoltare Android Studio s, i Unity . . . . . . . . . 324.8 Distribut, ia folosirii versiunilor de Android printre utilizatori (2018) . . . . 33

5.1 Schema generala a sistemului . . . . . . . . . . . . . . . . . . . . . . . . . 355.2 Schit, a init, iala de design a aplicat, iei utilizator . . . . . . . . . . . . . . . . 375.3 Diagrama de secvent, a a MVC . . . . . . . . . . . . . . . . . . . . . . . . . 385.4 Diagrama claselor principale a aplicat, iei pacient . . . . . . . . . . . . . . . 395.5 Scenele din Unity s, i principalele script-uri atas,ate . . . . . . . . . . . . . . 415.6 Diagrama de pachete a aplicat, iei pacient . . . . . . . . . . . . . . . . . . . 435.7 Diagrama claselor principale a aplicat, iei doctor . . . . . . . . . . . . . . . 445.8 Diagrama de pachete a aplicat, iei doctor . . . . . . . . . . . . . . . . . . . 465.9 Structura arborescenta a bazei de date cloud Firebase . . . . . . . . . . . . 475.10 Reprezentarea tabelara a modelului bazei de date NoSQL . . . . . . . . . 48

6.1 Android Profiler - activitat, i init, iale . . . . . . . . . . . . . . . . . . . . . . 536.2 Android Profiler - activitat, i din partea de joc . . . . . . . . . . . . . . . . 54

66

7.1 Ecranul de logare (stanga) s, i ecranul de ınregistrare (dreapta) . . . . . . . 567.2 Posibila eroare la pasul de logare . . . . . . . . . . . . . . . . . . . . . . . 577.3 Meniul aplicat, iei utilizator . . . . . . . . . . . . . . . . . . . . . . . . . . . 587.4 Activitat, ile jurnalului virtual . . . . . . . . . . . . . . . . . . . . . . . . . 587.5 Selectarea starilor ınainte de intrarea ın sect, iunea de joc . . . . . . . . . . 597.6 Meniul jocului (stanga) s, i navigarea ın harta virtuala (dreapta) . . . . . . 607.7 Mini-jocul Roll the Ball . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

67

Anexa BLista tabelelor din lucrare

3.1 Comparat, ie ıntre MoodGuide s, i aplicat, iile similare . . . . . . . . . . . . . 15

4.1 Cerint,ele funct, ionale ale proiectului . . . . . . . . . . . . . . . . . . . . . . 18

6.1 CT1: Indeplinire misiune ın harta virtuala . . . . . . . . . . . . . . . . . . 516.2 CT2: Adaugare nota ın jurnal . . . . . . . . . . . . . . . . . . . . . . . . . 526.3 CT1 - Aplicat, ie doctor: Comunicare cu pacient prin chat . . . . . . . . . . 526.4 CT2 - Aplicat, ie doctor: Vizualizare fis, a pacient . . . . . . . . . . . . . . . 53

68