LUCRARE DE LIC LUCRARE DE LICEN¢‚

download LUCRARE DE LIC LUCRARE DE LICEN¢‚

of 46

  • date post

    31-Dec-2016
  • Category

    Documents

  • view

    403
  • download

    14

Embed Size (px)

Transcript of LUCRARE DE LIC LUCRARE DE LICEN¢‚

  • UNIVERSITATEA

    FACULTATEA DE AUTOMATIC I CALCULATOAREDEPARTAMENTUL CALCULATOARE

    LUCRARE DE LICEN

    Smart Presentation FeedbackComunicaia

    Coordonatori tiinifici:

    Prof. dr. ing. Adina Magda Florea

    As. dr. ing. Andrei Olaru

    i

    UNIVERSITATEA POLITEHNICA BUCURETI FACULTATEA DE AUTOMATIC I CALCULATOARE

    DEPARTAMENTUL CALCULATOARE

    LUCRARE DE LICEN

    Smart Presentation Feedback Comunicaia client-server

    ng. Adina Magda Florea

    George-Cristian Stoica

    BUCURETI

    2012

    FACULTATEA DE AUTOMATIC I CALCULATOARE

    Absolvent:

    Cristian Stoica

  • ii

    Rezumat

    O prezentare inut n faa unei audiene numeroase reprezint o activitate predominant

    unilateral, n care cei prezeni n audien nu pot interveni n niciun fel pe parcursul prezentrii, astfel

    nct strngerea unui feedback relevant din partea acestora este dificil. Acest lucru se ntmpl chiar i

    n condiiile n care majoritatea persoanelor dein un dispozitiv smartphone sau chiar o tablet, deci un

    suport electronic pe care ar putea urmri prezentarea i prin care s-ar putea devolta o interaciune ntre

    acetia i speaker.

    Aplicaia Smart Presentation ofer oportunitatea celor din audien s urmreasc prezentarea

    fcut de speaker pe propriul dispozitiv Android, smartphone sau tableta, n mod sincronizat cu

    prezentarea speakerului sau nu. n plus, aplicaia ofer posibilitatea acordrii de feedback direct pe

    documentul prezentrii, n timp real, astfel nct speakerul s aduc lmuriri sau s rspund la ntrebri

    chiar n timpul prezentrii, fr intervenia verbal a audientei. Speakerul are acces la forma agregat a

    feedbackului, extrem de util n cazul unei audiente mari.

    Pentru realizarea acestei aplicaii, am dezvoltat un sistem client-server, bazat pe cereri efectuate de

    clieni, dispozitivele Android, ctre un server web, care pune la dispoziie resurse ce pot fi accesate prin

    adresele lor URL. Resursele pot fi documentul prezentrii sau feedback agregat adresat de cei din

    audien.

  • iii

    CUPRINS 1. Introducere

    1.1 Contextul proiectului 1.2 Ideea i Scopul proiectului 1.3 Structura proiectului 1.4 Structura lucrrii

    2 Tehnologii folosite 2.1 Sistemul de operare Android 2.2 Tehnologiile specifice folosite la comunicarea client-server 2.3 Alte tehnologii folosite n cadrul proiectului

    3 Arhitectura sistemului 3.1 Descrierea arhitecturii i modulele funcionale ale sistemului 3.2 Arhitectura clientului Android 3.3 Arhitectura serverului web

    4 Detalii implementare 4.1 Accesarea resurselor pe baza URL i a protocolului HTTP

    4.1.1 Structura URL 4.1.2 Tipurile mesajelor HTTP

    4.2 Implementarea protocolului de comunicaie 4.2.1 Componenta mesajelor i logica acestora 4.2.2 Serializarea datelor folosind Google Protocol Buffers

    4.3 Implementarea clientului Android 4.3.1 Implementarea design patternului MVC 4.3.2 Persistena datelor n Sqlite i accesarea resurselor interne prin ContentProvider 4.3.3 Accesarea resurselor de pe web server prin mesaje asincrone

    4.4 Implementarea serverului web 4.4.1 Iniializarea serverului i a containerului Grizzly

    4.4.2 Clasele resurs i metodele HTTP definite pe server 4.4.3 Serializarea i deserializarea datelor 4.4.4 Modulul de clusterizare a ntrebrilor i sincronizarea cu acesta

    4.5 Interfaa de utilizare a clienilor Android 4.5.1 Interfaarea cu prezentarea, selecia elementelor 4.5.2 Metodele handler ale butoanelor

    5 Utilizarea aplicaiei 5.1 Descrierea aplicaiei 5.2 Scenarii utilizare - screenshots

    6 Concluzii 7 Bibliografie

  • George-Cristian Stoica

    1

    1. Introducere

    1.1 Contextul proiectului

    Prezentrile realizate n faa unei audiente de mrime medie sau mare pot fi uneori greu de urmrit din diferite motive, cum ar fi incapacitatea persoanelor din audien de a nelege anumite concepte din materialele prezentate, care duc la pierderea ateniei, sau imposibilitatea acestora de a reveni asupra unor slide-uri anterioare.

    Aceste prezentri ar putea deveni mai interactive, prin implicarea asculttorilor nc din timpul audienei n procesul de apreciere pozitiv sau negativ a elementelor prezentate, precum i prin posibilitatea urmririi prezentrii att n timp real ct i a revenirii asupra unor slideuri anterioare sau a avansrii ctre slideuri urmtoare.

    1.2 Ideea i scopul proiectului

    Ideea proiectului Smart Presentation este de a realiza o interaciune strns ntre membrii audienei unei prezentri i cel care ine prezentarea (asupra cruia m voi referi n continuare ca speaker). 1

    Ca precondiii, se presupune c att speakerul, ct i cei din audien posed cte un dispozitiv mobil, tableta sau telefon mobil, avnd instalat sistemul de operare Android. De asemenea este necesar un server conectat la un router wireless, pentru a permite conectarea cu dispozitivele Android.

    Funcionalitatea aplicaiei pornete de la posibilitatea membrilor audientei de a urmri pe propriul dispozitiv Android prezentarea inut de speaker. Speakerul este cel care pornete prezentarea, care schimb slide-urile i care termin prezentarea. Cei din audien au posibilitatea de a urmri prezentarea n timp real i pe dispozitivul lor ntr-un mod live, sau pot naviga liber prin restul prezentrii. n plus, acetia pot furniza feedback n timp real prezentrii astfel: pot selecta poriuni din prezentare, asupra crora pot furniza feedback pozitiv, de apreciere, feedback de ambiguitate, prin care se remarc necesitatea unor clarificri ale acelor elemente sau feedback de cerere a unor dovezi (proof). De asemenea, cei din audien pot pune ntrebri legate de elementele selectate, sau pot alege s adere la o ntrebare deja pus, acetia avnd posibilitatea de sincronizare a feedbackului cu cel acordat de toi cei aflai n audien. n plus, acetia vor avea i posibilitatea retragerii propriului feedback, dac ulterior nu l mai consider necesar. La finalul prezentrii, speakerul poate vedea o form agregat pentru toate tipurile de feedback. n cazul ntrebrilor adresate speakerului referitor la o selecie fcut pe prezentare, agregarea se face prin alegerea unor ntrebri reprezentative din punct de vedere semantic i gruparea (eng. clustering) celorlalte ntrebri n jurul acestora.

    Comunicarea ntre dispozitive i sincronizarea elementelor de feedback acordate prezentrii se face prin intermediul unui server central care depoziteaz datele agregate primite din partea tuturor clienilor cu care se comunic wireless. Serverul este i cel care conine prezentarea n format PDF, aceasta fiind descrcat pe fiecare dispozitiv mobil care acceseaz aplicaia SmartPresentation.

    1.3 Structura proiectului

    Proiectul a fost structurat n patru module cu funcionaliti diferite, fiind cinci persoane implicate n dezvoltarea aplicaiei. Cele patru arii sunt:

    1 Pagina web cu ideea proiectului, 20.06.2012,

  • George-Cristian Stoica

    2

    modulul de manipulare a prezentrii PDF. Acesta presupune folosirea unei biblioteci open source de manipulare a formatului PDF, pentru a permite navigarea prin prezentare, selectarea unor elemente ale prezentrii prin folosirea ecranului touchscreen al dispozitivului Android i evidenierea seleciei fcute prin diverse culori de highlighting.

    interfaa clientului pe Android, care include toate elementele vizuale prin care clientul interacioneaz cu aplicaia (ferestre, butoane, liste).

    modulul de comunicaie client-sever, care asigur transmisia resurselor ntre dispozitive i server i sincronizarea acestora.

    modulul de clusterizare a ntrebrilor puse de audin pe baza similaritilor semantice.

    Partea mea de proiect a constat n implementarea modulului de comunicaie ntre clienii Android i server. Acest modul include partea de stocare a datelor att pe Android, ct i pe server, dezvoltarea serverului web i a protocolului de comunicaie bazat pe HTTP i Google Protocol Buffers, obinerea resurselor prin URLuri, tipul mesajelor i modalitatea de serializare a acestora, precum i interfaarea pe server cu modulul de clusterizare a ntrebrilor i interfaarea pe sistemul de operare Android cu modulul de manipulare a PDFurilor i cu interfaa de utilizare.

    1.4 Structura lucrrii

    n continuare, capitolele acestei lucrri sunt structurate astfel: aspecte teoretice ale proiectului, urmate de tehnologiile folosite la implementarea proiectului, cu detalierea celor folosite la comunicaia client-server i la crearea protocolului de comunicaie. Urmeaz arhitectura aplicaiei, n care sunt prezentate diferitele module ale aplicaiei i interaciunea dintre ele, din nou cu detalierea celor de backend direct implicate n schimbul de date ntre clieni i server. Capitolul detaliilor de implementare prezint metodele de programare folosite, oferind spre exemplificare poriuni de cod explicate. n cadrul acestui capitol este descris protocolul de comunicaie ntre server i clieni, tipurile de URLuri folosite pentru accesul resurselor, tipurile mesajelor schimbate i diferitele tipuri de serializare. Mai apare i detalierea interfarii dintre server i modulul de clusterizare a ntrebrilor de feedback.

    n final, capitolul de utilizarea a aplicaiei prezint n detaliu aplicaia i modalitatea de utilizare interfeei grafice, prin screenshoturi i nfiarea unor diverse scenarii de utilizare.

  • George-Cristian Stoica

    3

    2. Tehnologii folosite

    2.1 Sistemul de operare Android

    Android este un sistem de operare pentru dispozitive mobile, telefoane sau tablete. Android a devenit lider mondial n acest segment n 2010, n primul trimestru al anului 2012 raportnd o cot de 59% din piaa mondial a smartphoneurilor, cu un total aproximat la 331 milioane de dispozitive cu acest sistem de operar