Aplicatiile Mobile
Cuprins
1.Introducere 3
2. Elemente teoretice 4
2.1 PHP 4
2.2 JavaScript 5
2.3 Elemente specifice aplicațiilor mobile 9
Avatantajele aplicațiilor mobile 10
Dezavantajele aplicațiilor mobile 10
3. Prezentarea aplicației 12
3.1 Elemente inițiale 12
3.1.1 Introducere, descriere, use case și mockup 12
3.1.2 Use cases 12
3.1.3 Mockups 16
3.2 Arhitectura aplicației 27
3.3 Detalii implicite 27
3.4 Prezentarea aplicației practic 27
3.4.1 Instalarea 27
3.4.2 Logarea administratorilor 31
3.4.3 Adăugare utilizatori 33
3.4.5 Adăugare mașini 34
3.4.6 Opțiuni pentru utilizatori 35
3.4.7 Opțiuni pentru mașini 36
3.4.8 Setări 37
3.4.9 Raportare eroare 39
3.4.10 Editare companie 41
3.4.11 Adăugare foaie de parcurs 42
3.4.12 Adăugare mentenanță 49
3.4.13 Date personale 49
3.4.14 Foaie de parcurs și mentenanță 51
4. Concluzii și dezvoltări ulterioare 53
Bibliografie 54
Introducere
Această aplicație m-a ajutat să îmi extind cunoștintele în mai multe limbaje de programare și inclusiv în mai multe domenii de activitate. În prezent aplicația este folosită de catre o companie sibiană ,deținătoare a unui parc auto, dar există multe cereri și din partea altor firme care nu dețin un host, baza de date etc. În acest sens, s-a ajuns și la o variantă care să conțină mai multe companii .
Aplicația a început să fie utilizată pentru prima oară din luna ianuarie a anului 2015, după care a suferit numeroase modificări ale funcționalității și up-gradeuri succesive până când s-a ajuns la forma prezentată în această lucrare . Aplicația a apărut ca o necesitate ,întrucât legislația în vigoare specifică faptul, că fiecare companie care deține mașini de serviciu, trebuiesc să dețină o evidență a acestora, în vederea contabilizării kilometrilor parcurși și al consumului de carburanți pe fiecare mașină în parte și nominalizat pe fiecare conducător auto.
Aplicația a suferit numeroase modificări de la lansarea ei, însă vor mai fi și alte modificări care vor surveni în curând, pentru eficientizarea ei , dar aceste detalii vor fi dezbătute în secțiunea de dezvoltări ulterioare.
2. Elemente teoretice
2.1 PHP
PHP este un limbaj de programare utilizat în realizarea paginilor web dinamice. PHP este este un acronim provenit din limba engleză și înseamnă : Hypertext Preprocessor.
PHP, avea la începuturi (în 1994) o cu totul altă semnificație: Personal Home Page. PHP a fost întrebuințat la început ca o extensie a limbajului de server Perl, și apoi ca o serie de CGI-uri adunate de către Rasmus Lerdorf, pentru a urmări numărul de vizitatori ai unui site.
CGI este prescurtarea în limba engleză (Computer Generated Imagery ) ; adică Imagine generată de computer. Aceasta aplică grafica computerizată pentru a produce sau pentru a ajuta la producerea de imagini, presă, jocuri, programe de televiziune, filme, videoclipuri, reclame media și inclusiv simulatoare. Scenele produse de către acesta pot fi statice sau dinamice, în același timp acestea pot fi bi-dimensionale (2D) cu toate că „CGI” este folosit adesea pentru grafica 3D, folosit pentru a produce scene sau efecte speciale în filme și televiziune.
Folosit inițial pentru realizarea de pagini web dinamice , PHP, este folosit în prezent pe scară largă în dezvoltarea paginilor și aplicațiilor web. Sintaxa sa este asemănătoare cu cea a limbajelor de programare C, Java și Perl și este ușor de învățat. Un alt aspect de menționat este faptul că de la versiunea 4.3.0 acesta poate fi folosit și ca „linie de comandă” (CLI), pentru a putea efectua aplicații independente. PHP este întradevăr unul dintre cele mai importante limbaje web open-source (al cărui cod sursă este pus la dispoziția utilizatorilor pe bază de licență) și al limbajelor dedicate serverelor.
PHP este axat în principal pe limbajul de programare dedicat serverelor, deci cu ajutorul lui pot fi realizate : colectarea de date din formulare, generare de conținut dinamic al paginilor precum și administrarea (trimiterea și primirea) de cookies.
Limbajele scrise în PHP pot fi utilizate în trei domenii principale.
o Limbaj dedicat serverului. Acesta este cel mai important domeniu de utilizare al PHP. Pentru ca acest lucru să funcționeze, avem nevoie să fie îndeplinite trei cerințe de bază. Să existe un analizator de PHP, un server web și un navigator web. Trebuie să rulăm pe serverul web o aplicație PHP. Putem accesa ieșirile programului PHP cu ajutorul navigatorul web, vizualizând pagina PHP prin intermediul serverului. Toate acestea pot fi rulate de pe un computer personal.
o Limbaj utilizat în linia de comandă. Putem realiza un limbaj PHP care să ruleze fără a avea un server și un navigator web. Avem nevoie doar de un analizator PHP. Acest mod de utilizare este ideal pentru limbaje executate în mod regulat cu cron (pe *nix sau Linux) sau cu Task Scheduler (pe Windows). În acest sens limbajele sunt folosite pentru acțiuni simple de procesare de text.
o Limbaj utilizat pentru realizarea de aplicații de birou. Probabil că PHP nu este cel mai potrivit limbaj pentru a crea o aplicație de birou, dar dacă cunoaștem foarte bine PHP și dorim să folosim unele facilități avansate ale PHP în aplicații dedicate clienților, putem să utilizăm PHP-GTK. În concluzie, cu PHP avem libertatea de a alege sistemului de operare dorit ba chiar și serverul web. În plus, avem posibilitatea fie a utilizării programării procedurale fie a celei orientată pe obiect (POO), sau o combinație a acestora.
2.2 JavaScript
JavaScript (JS) este un limbaj de programare orientat pe obiect, bazat pe conceptul prototipurilor. Acesta este des folosit pentru a avea posibilitatea de a introduce funcționalități paginilor web și de menționat este faptul că javascript-ul este rulat de către browser. Limbajul este extrem de cunoscut pentru utilizarea sa în site-uri web, însă acesta mai este cunoscut și folosit inclusiv pentru accesul ușor la obiecte.
JavaScript este considerat un limbaj de programare de complexitate redusă. Este destinat pentru crearea de aplicații utilizate în rețea. Este un limbaj utilizat complementar și integrat cu Java. JavaScript e foarte ușor de implementat, deoarece e integrat cu HTML. Este un limbaj deschis și inter-platforme.
Cu toate că întâlnim similarități intre limbajele JavaScript și Java, între ele nu există nici o legătură. Ca și Java, JavaScript-ul are o sintaxă destul de apropiata de limbajul C, cu toate acestea, are mai multe în comun cu limbajul Self decât cu limbajul Java.
Cel mai des o să întâlnim JavaScript la realizarea limbajelor utilizate pentru paginile web. Programatorii au posibilitatea de a îngloba în paginile HTML script-uri diverse cum ar fi validarea datelor introduse de către utilizatorii paginii sau pentru a crea efecte vizuale sau animate.
Browserele stochează în memorie reprezentarea unei pagini web sub forma unui arbore de obiecte și le vor pune la dispoziție, script-urilor JavaScript, care le vor citi și intepreta. Acest arbore are denumirea de Document Object Model (DOM). Există un standard provenit de la W3C pentru DOM-ul pe care un browser trebuie să îl pună la dispoziție și aceasta oferă premiza scrierii de script-uri portabile care să fie compatilile și să ruleze pe toate browserele disponibile. Cu toate acestea, standardul W3C pentru DOM nu este complet. Cu toate că tendința browserelor este de a se alătura standardului impus de către W3C, unele dintre browsere prezintă incompatibilități majore, unul dintre exemplele cele mai bune ar fi Internet Explorer-ul.
O tehnică de dezvoltare pentru pagini web întâlnită mai des în ultimul timp este reprezentată de AJAX, abreviere provenită de la „Asynchronous JavaScript and XML”. Tehnica aceasta constă în trimiterea transparentă de cereri HTTP fără a mai încărca toată pagina web și implicit faptul că aceasta ajută la actualizarea anumitor porțiuni din pagina web prin manipularea DOM-ului paginii. Tehnica AJAX permite construirea unor interfețe web cu timp de răspuns mic, fiind în mare parte eliminată operația de încărcare completă a unei pagini HTML.
Tipuri de date
Nedefinit
Valoarea de "undefined" este atribuită la toate variabilele neinițializate, și, de asemenea, într-o abordare booleană, valoarea undefined este considerată ca fiind o valoare falsă.
Null
Spre deosebire de conceptul de nedefinit, nul este de multe ori setat pentru a indica faptul că ceva a fost declarat, dar a fost definit pentru a fi gol. În abordarea booleană, valoarea nulă este considerată valoarea de fals în JavaScript.
String
Un string (sau șir) în Javascript este o secvență de caractere cuprinsă între ghilimele duble sau singulare.
Se pot accesa caracterele individuale ale unui șir de caractere charAt metoda (furnizate de String.prototype ):
În browserele moderne, caracterele individuale din cadrul unui șir pot fi accesate (ca siruri de caractere, cu doar un singur caracter), prin notația matrice :
Cu toate acestea, siruri de caractere JavaScript sunt constante, rămânând neschimbate :
Atunci când aplicam operatorul de egalitate următor ("==="), pentru două șiruri acesta o să returneze true în cazul în care șirurile au același conținut. Aceasta înseamnă că trebuie să aibă aceeași lungime și aceeași aranjare a caracterelor.
Astfel:
Nu se pot folosi ghilimele in cadrul ghilimelelor decât prin folosirea caracterelor escape:
Este posibil de a crea un șir utilizând String constructor:
Aceste obiecte au o metodă valueOf care întoarce șirul de primitiv înfășurat în ele:
Egalitatea de valori între două String-uri obiecte nu se vor comportă ca și primitivele de stringuri:
Boolean
JavaScript oferă un tip de date Boolean cu valori true (adevărat) și false (fals). Operatorul returnează șirul "boolean" pentru aceste tipuri de primitive.
2.3 Elemente specifice aplicațiilor mobile
Trăim într-o lume în care comunicarea este din ce în ce mai importantă în viețile noastre, iar nevoia de a fi în contact cu ceilalți se manifestă în toate activitățile curente. Tehnologia modernă sprijină această nevoie, iar dispozitivele mobile reprezintă probabil exponentul cel mai de seamă al acestei tehnologii. Telefoanele inteligente (smartphones) dotate cu sisteme de operare din ce în ce mai avansate tind să înglobeze în ele un mic univers al fiecăruia dintre noi.
Aplicațiile mobile sunt destinate funcționării atât pe mobile, cât și pe tablete. Majoritatea aplicațiilor pot fi descărcate de pe o platformă sau store-uri și sunt în general create și dezvoltate de companii precum Apple, Google, Windows, BlackBerry etc.
La început, aplicațiile mobile implicau programe mai simple, însă cu timpul nevoile consumatorilor au crescut. Astfel, companiile au început să dezvolte o gamă foarte largă de aplicații, puse la dispoziție pe platforme dedicate. Dezvoltarea aplicațiilor de tip web app mobile necesită un nivel înalt de atenție cu privire la caracteristicile ecranelor telefoanelor folosite pentru dezvoltare. Mai exact, telefoanele funcționează pe baterie și au procesoare mult mai slabe față de un calculator spre exemplu. De asemenea, trebuie să se țină cont de mărimea ecranelor, specificațiile telefonului în sine și configurarea sa. Multe aplicații sunt cunoscute a fi funcționale doar pe anumite tipuri de telefoane, în timp ce altele merg mai bine pe modele mai noi și funcționează mai greu pe telefoane mai slabe sau cu ecrane mai mici.
Aplicațiile native sunt programe dezvoltate special pentru mobile. În general, acestea nu merg pe orice dispozitiv, fiind create doar pentru un anumit sistem de operare. Ca orice aplicație mobilă, aplicațiile native se găsesc pe store-uri (Google Play, Apple Store etc.) de unde se pot descărca și instala apoi pe telefon.
Unul dintre cele mai mari avantaje ale aplicațiilor îl reprezintă flexibilitatea și faptul că utilizatorii beneficiază atât de ceea ce oferă dezvoltatorul pe site, cât și de anumite elemente în plus specifice mobilelor. Datorită modului în care s-a dezvoltat internetul, este de înțeles motivul pentru care nu prea mai există afaceri care să nu își desfășoare activitatea și în mediul online.
In funcție de obiectiv și scopuri, există metode diferite prin care o afacere se poate dezvolta în mediul online. Majoritatea companiilor au site-uri web, însă nici aplicațiile nu sunt de ignorat. Fiecare deținător al unei companii alege varianta cea mai bună pentru a se dezvolta pe internet. Printre variante se numără site-urile responsive, care permit utilizatorilor de mobil și tablete să beneficieze de aceeași experiență plăcută ca și pe desktop, site-urile special create pentru mobil sau în unele cazuri aplicațiile native. Acest lucru depinde în totalitate de preferința deținătorilor de afaceri, de scopul acesteia și de bugetul alocat.
Avatantajele aplicațiilor mobile
Experiența utilizatorilor – Aplicațiile native se pot optimiza mai bine, oferind exact ceea ce își doresc utilizatorii.
Viteză și accesibilitate – Aplicațiile funcționează și offline, ceea ce înseamnă că informațiile sunt disponibile oricînd pentru oricine.
Vizibilitate – Odată instalată, aplicația se regăsește în meniul telefonului, la îndemîna utilizatorilor.
Dezvoltare – Există nenumărate feluri în care o aplicație poate fi creată și dezvoltată, atrăgând mult mai ușor utilizatorii.
Dezavantajele aplicațiilor mobile
Funcționalitate – Nu toate aplicațiile sunt funcționale pe orice dispozitiv sau sistem de operare.
Flexibilitate – Orice update trebuie să fie aprobat de store-ul în care se regăsește aplicația, acest lucru putând dura chiar și săptămâni.
Costuri – Aplicația nativă este cea mai costisitoare metoda de dezvoltare în mediul online.
Etapele necesare conceperii designului interfeței unei aplicații mobile :
Analizarea cerințelor și întocmirea specificațiilor în vederea stabilirii datelor necesare a fi prelucrate
Crearea de storyboards/wireframe-uri pentru a clarifica modul în care înțelegem cerințele utilizatorilor
Concepția interfeței utilizatorului
Analiza experiențelor similare ale altor utilizatori în scopul validării ergonomiei
Designul interfeței utilizatorului (logo-uri, butoane, elemente vizuale etc.)
Testarea versiunii rezultate pe un eșantion de utilizatori
3. Prezentarea aplicației
3.1 Elemente inițiale
3.1.1 Introducere, descriere, use case și mockup
Aplicația a suferit mai multe modificări de a lungul timpului. Inițial aceasta a fost gândită ca ajutor pentru persoanele care trebuie să completeze lunar fișe de parcurs și mentenanță pentru mașiniile pe care le conduc în compania în care lucrează.
În prima versiune a aplicației aceasta nu deținea metoda de autentificare pentru utilizatori, utilizatorii trebuind de fiecare dată să completeze toate detaliile manual, acest lucru ducând la un consum mare de timp. Ulterior s-a adăugat metodă de autentificare însă și aceasta trebuia completată de fiecare dată cand utilizatorii îndeplineau formalitățile de completare . Mai târziu când aplicația a trebuit să migreze pe un server care nu mai aparținea companiei respective s-a trecut la metoda de autentificare cu cont, în care s-a făcut pentru prima dată diferențierea dintre utilizatori și administrator. La acea dată aplicația deținea funcții simple,cum ar fi : „Adaugare foaie de parcurs” în prima versiune, fără localizare GPS , „Adăugare mentenanță” și printarea foilor la finalul lunii pentru utilizatori iar pentru administratori, funcții de adăugare utilizatori, activare sau dezactivare, adăugare de mașini și activarea/dezactivarea acestora.
Pe parcursul ultimului an aplicația a avut un salt uriaș adoptând numeroase alte funcții precum instalare, setări, localizare GPS, backup pentru baza de date etc. Care vor fi explicate într-un capitol următor.
3.1.2 Use cases
Administratorul instalează aplicația
Aplicația de față, vine insoțită de un script pentru instalare. Aceasta are mai mulți pași. Primul pas este cel de conexiune cu baza de date unde se vor crea automat și tabelele, apoi urmând detaliile companiei și ale detaliilor de conectare a administratorilor în aplicație
Administratorul adaugă utilizatori
Administratorul completează detaliile personale inclusiv cele de conectare a utilizatorilor săi, utilizatorii putând ulterior să își schimbe aceste detalii și implicit și parola.
Administratorul editează utilizatori
În cazul generării unor erori, acestea se pot remedia de către administrator prin funcția de editare a utilizatorilor.
Administratorul poate șterge utilizatori
Orice utilizator introdus în sistem, poate fi și șters din baza de date însă doar de către administrator. Utilizatorii nu își pot închide singuri contul.
Administratorul activează/dezactivează utilizatorii
Tot administratorul decide dacă un utilizator trebuie dezactivat pentru a nu putea folosi sistemul sau să îl reactiveze.
Administratorul poate adauga mașini
Mașiniile companiei sunt introduse de către administrator. Tot acesta stabilește detaliile inițiale referitoare la kilometrajul mașinii.
Administratorul poate edita datele despre mașini
În cazul generării unor erori, acestea se pot remedia de către administrator prin funcția de editare a mașiniilor.
Administratorul poate șterge mașini
În orice moment, dacă o mașină nu mai este disponibilă pentru companie, aceasta poate fi ștearsă complet din sistem.
Administratorul poate activa /dezactiva mașini
Mașiniile companiei, posibil să nu fie mereu disponibile pentru folosire și astfel, administratorul are posibilitatea de a activa sau a dezactiva anumite mașini pentru a le face să apară sau nu pe interfața utilizatorilor.
Administratorul setează tipul de adăugare a foii de parcurs
Administratorul selectează în meniul de setări tipul de foaie de parcurs care va fi folosită de către utilizatori.
Administratorul adaugă locații implicite
În cazul în care s-a selectat foaia de parcurs în variantă simplă, administratorul este nevoit să furnizeze locații prestabilite pentru a fi folosite .
Administratorul adaugă tipuri de mentenanță
Administratorul este nevoit să furnizeze tipurile de mentenanță prestabilite pentru folosire asupra mașinii.
Administratorul poate reseta aplicația
Administratorul resetează aplicația, făcând un backup din momentul acela asupra bazei de date, apoi revenindu-se la primul pas al reinstalării aplicației.
Administratorul poate să facă backup bazei de date
Administratorul are posibilitatea de a face backup manual din meniul setări sau acesta poate seta un backup automat setat la intervalul dorit.
Administratorul poate edita detaliile companiei
Din meniul de editare al companiei, administratorul are posibilitatea de a edita toate detaliile companiei prestabilite la instalare.
Administratorul poate schimba pictograma de identificare a companiei
Logo-ul companiei poate fi schimbat, înlocuind logo-ul precedent.
Administratorul poate raporta o eroare
În cazul detectării unei erori, administratorul mă poate contacta personal pentru raportare direct din aplicație.
Administratorul poate vizualiza / căuta și printa foile de parcurs și mentenanță
Din meniul de print, administratorul are posibilitatea de a căuta, vizualiza sau printa foile de parcurs și mentenanță ale mașiniilor.
Utilizatorul se poate loga
Utilizatorul introduce contul și parola apoi intră în aplicație în cazul în care detaliile sunt corecte.
Utilizatorul poate să ceară resetarea parolei
Completând numele utilizatorului sau e-mail-ul utilizatorul poate cere resetarea parolei.
Utilizatorul își poate reseta singur parola
Prin adăugarea parolei noi , în mod corect de două ori, acesta își poate reseta parola.
Utilizatorul poate să adauge foaie de parcurs
Prin completarea formularului, utilizatorul introduce în sistem datele pentru foaia de parcurs.
Utilizatorul poate adăuga date despre mentenanța mașinii
Prin completarea formularului, utilizatorul introduce în sistem datele pentru foaia de mentenanță.
Utilizatorul își poate schimba detaliile personale
Schimbând detaliile existente, utilizatorul are posibilitatea de a-și updata detaliile personale sau parola .
3.1.3 Mockups
În figura 3.1.3.1 este înfățișată prima pagină a aplicației unde administratorul va seta legătura cu baza de date .
În figura 3.1.3.2 este înfățișată pagina din instalare a aplicației în care administratorul va introduce detaliile companiei.
În figura 3.1.3.3 avem schema care reprezintă pagina de logare a administratorului cât și a utilizatorilor .
În figura 3.1.3.4 este înfățișată pagina în care utilizatorii pot cere o resetare a parolei.
În figura 3.1.3.5 este înfățisată schema paginii unde utilizatorii își vor updata parola existentă cu cea nouă.
În figura 3.1.3.6 putem vedea schema paginii în care administratorul adaugă un utilizator nou respective figura 3.1.3.7 schema paginii unde se adaugă mașinile în aplicație.
În figura 3.1.3.8 este reprezentată pagina în care administratorul editează sau activează/dezactivează utilizatori, respectiv figura 3.1.3.9 unde este o reprezentare similară însă pentru mașinile din aplicație.
În figura 3.1.3.10 avem reprezentată schema paginii de setări a aplicației.
În figura 3.1.3.11 avem reprezentată schema paginii unde administratorul poate raporta problemele din aplicație.
În figura 3.1.3.12 avem reprezentată schema paginii de editare a detaliilor companiei.
Figura 3.1.3.13 reprezintă ultima pagină de administrator și anume pagina de unde administratorul poate edita pozele companiei.
În figura 3.1.3.14 este reprezentată prima pagină din contul utilizatorilor.
În figura 3.1.3.15 avem reprezentarea paginii de unde utilizatorul alege tipul de foaie de parcurs pe care dorește să îl folosească.
În figura 3.1.3.16 se află reprezentarea foii de parcurs, versiunea 1.
În figura 3.1.3.17 avem reprezentarea foii de parcurs versiunea a 2-a prima parte, varianta de start.
În figura 3.1.3.18 avem reprezentarea foii de parcurs versiunea a 2-a, a 2-a parte, varianta de stop.
În figura 3.1.3.19 avem reprezentarea paginii de adăugare a mentenanței mașinii
În figura 3.1.3.20 avem reprezentarea paginii de editare a detaliilor personale ale utilizatorilor.
Utila figură, 3.1.3.21 reprezină pagina de printare a detaliilor la finalul lunii reprezentând foile de parcurs și mentenanță.
Figura 3.1.3. 21
3.2 Arhitectura aplicației
Aplicația de față foloseste un concept specific. Toate funcțiile acestei aplicații sunt realizate de către un singur fișier php, denumit ”engine”. Acesta este nucleul principal al aplicației. Toate detaliile aplicației, ale companiei, ale utilizatorilor, sunt ținute în baza de date iar engine-ul este singura componentă care conține interogari. Aceasta este și singura componentă modificată frecvent în cadrul aplicației fără de care aplicația nu ar putea funcționa.
3.3 Detalii implicite
În primul rând ca aplicația să poată fi folosită, aceasta are nevoie de câteva detalii esențiale fără de care nu ar fi posibilă funcționarea ei.
Avem nevoie de un domeniu de unde sa accesăm aplicația pentru instalare, confirgurare, adăugare, o bază de date pentru că instalarea are nevoie de o bază de date unde să creeze tabelele la instalare și să rețină celelalte detalii și un host unde să încărcăm aplicația. Având toate aceste detalii putem sa instalăm, configurăm și implicit putem folosi aplicația.
3.4 Prezentarea aplicației practic
3.4.1 Instalarea
Aplicația detine o interfață prietenoasă cu utilizatorul in cele mai mici detalii. Compania care dorește să folosească această aplicație, nu are nevoie să cunoască detalii tehnice, deși aplicația stochează toate detaliile într-o singură bază de date, utilizatorul aplicației nu are nevoie să încarce nici o tabelă , aceasta fiind creată automat prin interfața de instalare a aplicației.
Figura 3.4.1.1
În figura 3.4.1,1, sunt ilustrate câmpurile necesare pentru crearea fișierului care va stabili conexiunea cu baza de date, creînd ulterior și tabelele necesare aplicației. Inițial, fișierul de conexiune cu baza de date conține detaliile minimale inclusiv pentru setarea manuala în cazul în care se alege această metodă, însă prin folosirea interfeței de instalare, vom folosi funcția de scriere în fișier, astfel fiind creată conexiunea și implicit tabelele.
Forma inițială:
Figura 3.4.1.2 ilustreaza tabelele create în baza de date după stabilirea connexiunii cu baza de date. Se poate observa că anumite tabele conțin detalii dupa ce au fost create, aceste detalii sunt detalii de control și vor fi explicate ulterior .
Figura 3.4.1.2
Tabelul Company, contine un flag de control care semnifică pasul instalării, acesta fiind incrementat pe masură ce înaintăm în setarea aplicației.
Figura 3.4.1.3
Întorcându-ne la interfață, ajungem la pasul unde avem nevoie de informațiile specifice despre companie, cum ar fi „favicon”, logo-ul companiei și chiar detalii despre companie.
Figura 3.4.1.4
Figura 3.4.1.5
După încărcarea „favicon-ului” (figura 3.4.1.4) fila va fi redimensionată la dimensiunea necesară și încărcată în fișierul de pe server unde sunt ținute pozele aplicației. După completarea formularului (figura 3.4.1.5) datele vor fi salvate în baza de date în tabela Company iar flag-ul de stare va fi incrementat.
Figura 3.4.1.6
Figura 3.4.1.7
Ultimii doi pași sunt pentru setarea logo-ului companiei și opțional logoul companiei pentru administrator în cazul în care se dorește o diferențiere (figurile 3.4.1.6 și 3.4.1.7).
După finalizarea ultimului pas, aplicația va fi redirecționată către un alt server unde se va înregistra cu success domeniul companiei unde s-a înregistrat aplicația apoi se va reveni pe domeniul de unde a plecat continuând cu logarea administratorului care va fi explicată în următorul sub capitol.
3.4.2 Logarea administratorilor
După instalarea aplicației, singura persoană care se poate autentifica, este administratorul aplicației și cum în momentul de față nu există utilizatori, mașini și alte elemente esențiale, vom continua să explicăm în acest sub capitol autentificarea administratorului.
Acesta poate să se autentifice folosind interfața de utilizator sau o interfață specială de autentificare „/admin” care va ajunge în același punct. Vom alege să explicăm doar logarea administratorului doar din interfața de utilizator, din utilizarea aplicației de către alte companii s-a ajuns la concluzia că o interfață în plus pentru autentificare nu este necesară având în vedere că se va ajunge în același punct cu toate că administratorul este diferit de utilizatorul obișnuit, aceasta fiind afișată și în sub capitolul anterior unde se poate observa că fiecare au tabele separate. De specificat, că din dezvoltări ulterioare se va renunța la metoda de logare a administratorului prin url-ul „/admin” .
În figura 3.4.2.1 este ilustrata interfata de autentificare a utilizatorilor și a administratorilor.
Figura 3.4.2.1
De precizat, doar utilizatorii iși pot reseta parola într-un mod prietenos iar administratorii nu din motive de securitate însă acest aspect va fi tratat intr-un sub capitol următor.
În figura 3.4.2.2 putem observa funcțiile pe care administratorul le poate face pentru a administra aplicația companiei.
Figura 3.4.2.2
3.4.3 Adăugare utilizatori
După autentificarea administratorului, avem o serie de modalități de administrare a aplicației. Una dintre acestea este adăugarea utilizatorilor, acele persoane care vor avea access la funcțiile de adăugare de foi de parcurs și mentenanță a mașinilor.
Figura 3.4.3.1
Putem observa în figura 3.4.3.1 un element mai special și anume e-mail-ul. In secțiunea de instalare a aplicației am completat domeniul de e-mail al companiei. Companiile folosesc același domeniu pentru angajați și din acest motiv, am simplificat completarea e-mailului completându-se doar prima parte.
Utilizatorii adaugați se vor putea autentifica apoi și vor putea folosi aplicația, după ce acceptă termenii și condițiile de utilizare. După prima utilizare a aplicației de către utilizatori și implicit după ce acceptă termenii și condițiile impuse de catre companie, aceșia vor putea fi activați sau dezactivați de către administrator
3.4.5 Adăugare mașini
O altă funcție de care administratorul este capabil este cea de a adăuga mașini noi, când parcul auto se lărgește.
Figura 3.4.5.1
În figura 3.4.5.1 se observă formularul pentru adăugarea mașinilor. Kilometrajul initial trebuie să coincidă cu cel de la bordul autovehicolului, urmând ca aplicația să calculeze singură kilometrajul final pentru fiecare mașină, la finalul folosirii acesteia.
3.4.6 Opțiuni pentru utilizatori
O alta funcție de care administratorul este capabil este cea de a edita, șterge, dezactiva sau a activa un utilizator sau de a îl ajuta să își schimbe parola .
Figura 3.4.6.1
În momentul când un utilizator este creat, el se află în starea „T” (Terms of Use) în care el nu a intrat în contul său pentru a putea citi termenii și condițiile. În această stare administratorul nu poate activa utilizatorul. După ce utilizatorul a intrat prima dată și a acceptat termenii și condițiile , acesta va trece în starea „A” (Activat) , unde nu mai este necesară nici o activitate din partea administratorului sau în cazul în care utilizatorul nu acceptă termenii și condițiile va trece în starea „D” (Dezactivat) de unde nu are posibilitatea să intre în aplicație până nu ia legătura cu administratorul pentru activare .
În același timp în cazul în care un utilizator nu mai deține un carnet de șofer sau nu mai are dreptul de a conduce mașină de servici sau pur și simplu nu mai lucrează în acea companie, acesta poate fi dezactivat sau șters definitiv din baza de date.
3.4.7 Opțiuni pentru mașini
Funcția de control a mașinilor este esențială pentru aplicație. Mașinile nu sunt mereu disponibile șoferilor și din acest motiv acestea pot fi activate sau dezactivate pentru a nu se creea complicații.
Figura 3.4.7.1
Inițial când o mașină este creată aceasta se afla în statusul U (Unavailable). Pentru folosirea acestei mașini administratorul o să activeze mașina care va aparea în interfața șoferilor ulterior fiind folosită de aceștia pentru pontare.
În același timp mașina poate fi ștearsă complet din baza de date în cazul în care aceasta nu mai există.
3.4.8 Setări
In această categorie, compania își stabilește preferințele de adăugare a datelor dacă doresc să își stabilească propriile reguli sau lasă utilizatorii să iși aleagă propria preferință.
Figura 3.4.8.1
În figura 3.4.8.1 se stabilește modul de adăugare a fișei de parcurs a mașinii. În cazul în care se alege valoarea implicită (User defined) , utilizatorii vor alege dacă doresc să completeze fișa de parcurs în varianta simplă sau complexă prin localizare GPS de la destinația inițială la sosire, calculul făcându-se automat la final .
Pentru varianta simplă de completare a fișei de parcurs sau a mentenanței, avem nevoie de încă două elemente (figura 3.4.8.2 și 3.4.8.3) și anume locații prestabilite și tipul mentenanței unde compania stabilește locațiile unde șoferii au de făcut deplasarea.
Figura 3.4.8.2
Figura 3.4.8.3
Tot în setări se pot găsi și backup-urile bazei de date care sunt făcute printr-un „job” care rulează la un anumit interval stabilit de administrator . În același timp acestea pot fi facute manual prin butonul „New” .
Pentru restaurarea unui backup, nu este necesară descărcare și încărcare ulterioară, aceasta făcându-se foarte simplu prin selectarea backup-ului dorit, acesta ocupându-se în spate făcând inițial un backup din starea curentă a bazei de date , apoi ștergând conținutul vechi și restaurarea backup-ului cerut .
Figura 2.4.8.4
3.4.9 Raportare eroare
Administratorul are posibilitatea de a lua direct contact cu dezvoltatorul aplicaței, folosind funcția de raportare a unei erori, prin funcția „Report Bug”. Acesta va avea de completat doar titlul problemei si o descriere sumară a acesteia.
Figura 3.4.9.1
La trimiterea tichetului, acesta va fi trimis catre dezvoltatorul aplicației, care va colecta detalii despre companie, cum ar fi numele companiei, număr de telefon de contact, e-mail și bine înțeles, titlul si descrierea problemei.
3.4.10 Editare companie
În cazul în care la instalare s-a produs o greșeală în completarea formularului, administratorul are posibilitatea de a modifica în orice moment detalii despre companie în secțiunea de editare companie.
Figura 3.4.10.1
În același timp, administratorul poate modifica și pozele companiei, acesta poate înlocui pozele existente pentru „favicon”, logo-urile companiei de pe pagina utilizatorului sau a administratorului.
Figura 3.4.10.2
3.4.11 Adăugare foaie de parcurs
Interfața de adăugare a foii de parcurs, este arătată în figura 3.4.11.1. Din aceasta putem observa două modalități de adăugare a foii de parcurs. „V1” versiunea 1, este varianta „Simplă” din setări iar „V2” este varianta „Complexă” din setări, însă am ales pentru această prezentare „User Defined” care semnifică faptul că am lăsat la alegerea utilizatorilor dreptul de a alege pe care dintre aceste două versiuni dorește să le folosească.
Figura 3.4.11.1
În momentul în care alegem „New V2” pentru prima dată vom fi întrebați dacă suntem de acord să permitem drepturi de localizare.
Figura 3.4.11.2
După ce se va accepta, utilizatorul va fi localizat GPS, prin cele 2 coordonate de latitudine respective longitudine și se va face un call cu ajutorul Google Maps, de unde se va extrage adresa.
Figura 3.4.11.3
În continuare se va păstra în spate și cele 2 coordonate până la destinație pentru prelucrări ulterioare în calcularea distanței dupa care se vor șterge coordonatele păstrând doar adresa.
După ce vom adăuga temporar , datele vor fi salvate într-o tabelă temporară până se va ajunge la destinație de unde vor fi luate datele inițiale, combinate cu cele finale și salvate definitiv în baza de date.
Figura 3.4.11.4
Considerăm că am ajuns la destinație și vom intra iarăși pe aplicație, unde vom observa că avem două butoane active, „Continue V2” și „Delete V2” . Până nu vom alege una din cele 2 , adică să finalizăm traseul sau să ștergem, nu vom putea alege alte funcții. Vom alege în continuare să finalizăm traseul și vom apasa „Continue V2”.
Figura 3.4.11.5
În acest moment , se va face iarași o localizare GPS, urmată de un call catre Google Maps de unde se va extrage adresa. În același moment se va calcula și distanța dintre punctul de start și cel de sosire de unde se vor extrage numărul de KM care vor fi adunați cu numărul de KM de la bordul mașinii, reprezentând o valoare estimativă, astfel utilizatorul este ajutat să economisească timp în completarea formularului, acesta fiind nevoit doar să folosească funcția de start , respectiv stop și să confrunte valoarea estimativă a kilometrajului de la bord cu cel din aplicație.
Varianta explicată mai sus constituie varianta elegantă cu costul de timp cel mai redus, însă utilizatorul poate nu deține un telefon mobil sau compania lasă utilizatorii să folosească ce metodă doresc angajații sau pur și simplu compania constrânge angajații să folosească doar prima variantă de adăugare. În această variantă , doar ziua, luna, anul și ora de stop sunt completate implicit în schimb utilizatorul este nevoit să completeze toate celelalte detalii, apoi după salvare acestea vor fi salvate direct în baza de date fără a mai fi stocate în tabela temporară.
Figura 3.4.11.6
3.4.12 Adăugare mentenanță
Mentenanța mașinii este o altă funcție de care utilizatorii se pot folosi. Aceștia vor completa detaliile necesare care vor fi salvate în mod direct în baza de date.
Figura 3.4.12.1
3.4.13 Date personale
Utilizatorii iși pot și schimba datele personale sau să își adauge poza de profil pentru aplicație. Aceste funcții sunt disponibile din mai multe puncte de vedere, unele din acestea vor fi explicate in capitolul de dezvoltări ulterioare.
Figura 3.4.13.1
3.4.14 Foaie de parcurs și mentenanță
Funcțiile principale ale aplicației sunt Adăugare foaie de parcurs și Mentenanță, însă acestea trebuie să ofere la finalul lunii un extras amănunțit cu toată activitatea pe fiecare mașină . În figura 3.4.14.1 .
Figura 3.4.14.1
De menționat, în cazul în care se crează o greșeală care se depistează într-o fază în care s-au mai adăugat și alte înregistrări valide, aceasta se poate șterge de oriunde din tabel, urmând ca elementele de sub ea să fie updatate cu valorile bune . O altă mențiune, intrările greșite se pot șterge doar din luna curentă, în cazul în care greșeala se observă într-o lună precedentă, aceasta va trebui remediată din baza de date urmând ca administratorul să repare și kilometrajul actual al mașinii, din platforma sa.
În figura 3.4.14.2 este ilustrată foaia care se va printa la finalul lunii. Aceasta implicit va ascunde elementele din pagină care nu trebuie sa ajungă în pagină lăsând doar elementele necesare.
Figura 3.4.14.2
4. Concluzii și dezvoltări ulterioare
Pe baza feedback-ului pe care îl am de la firma care utilizează deja aplicația, pot spune că aceștia sunt mulțumiți de ea, aplicația îndeplinind cu succes cerințele inițiale cât și pe cele descoperite pe parcurs. În același timp pot afirma că aplicația nu va rămâne în stadiul ei actual. Aceasta va fi dezvoltată, printr-o îmbunătățire continuă. Pentru început, aceasta (aplicația), nu va mai fi tratată de sine stătător, ci va fi înglobată într-o suită de produse utile companiilor. Deocamdată voi avea în vedere dezvoltarea a trei sub produse.
Un alt aspect al îmbunătățirilor pe care le am în vedere,în scopul ușurarii procedeului de inventariere, ar fi utilizarea de coduri 2D printate, ce vor putea fi scanate cu telefonul mobil.
O altă componentă a viitoarelor îmbunătățiri avute în vedere divizată pe trei ramuri ar fi integrarea unui modul social media aplicației prin :
includerea unei rețele de socializare interna companiei (gen Intranet)
includerea unei platforme de mesagerie instantă
integrarea cu Asterisk (pentru convorbiri gratuite între angajați)
Bibliografie
[1] http://php.net/
[2] http://www.w3schools.com/php/
[3] https://www.javascript.com/
[4] http://www.w3schools.com/js/
[5] https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html
[6] http://getbootstrap.com/
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Aplicatiile Mobile (ID: 109982)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
