Proiectarea Si Implementarea Unei Aplicatii Pentru Ios

Universitatea “Politehnica” Timișoara

Facultatea de Automatică și Calculatoare

Departamentul Calculatoare

LUCRARE DE LICENȚĂ

Finance Management

iOS app

Autor

Ionuț-Marius CHIRIȚĂ

Conducător științific

Conf. Dr. Ing. Lucian PRODAN

Timișoara, 2015

CUPRINS

1. Introducere 1

1.1 Aspecte generale și domeniul mobile 2

1.2 Descrierea temei 5

1.3 Concluzii 6

2. Dezvoltarea temei 7

2.1 Obiectivele proiectului și întrebări de cercetare 7

2.2 Conținutul lucrării 8

3. Studiu bibliografic 9

3.1 Aplicații similare 10

4. Analiză și fundamentare teoretică 14

4.1 Tehnologii utilizate 14

4.2 Tool-uri folosite 17

4.3 Cerințele aplicației 19

4.4 Cazuri de utilizare 21

5. Proiectare și implementare 22

6. Testare și validare 35

7. Concluzii 40

8. Bibliografie 41

1. Introducere

1.1 Aspecte generale și domeniul mobile

Lucrarea urmărește dezvoltarea unui produs în domeniul mobile. În mod detaliat, se vor aborda subiecte precum tehnicile și procesul de creatie, numit și ,,design thinking”, procesul de dezvoltare și testare – toate aplicate în cadrul unui produs, gândit și construit după referințele și orientarea mediului mobile.

Cu toate acestea, pentru dezvoltarea unui produs substanțial și bine definit, trebuie luat în considerație și domeniul social, precum și cel online. Aceste doua medii auxiliare, dar deloc de neglijat, joacă un rol crucial în succesul produsului după lansarea acestuia. Particularitățile și caracteristicile acestor două domenii sunt definite în prima fază de dezvoltare a produsului, și anume în procesul de ,,design thinking”.

Abordarea acestei teme a fost susținută de lipsa unei materii în cadrul învățământului superior care să prezinte, măcar în ansamblu, domeniul mobile, procesul prin care un produs prinde viață, dar și partea specifică unui inginer în calculatoare: limbajele și tehnicile de programare din spatele unui astfel de produs. Pentru diversitate, așa numitele produse din domeniul mobile se pot referi și ca ,,aplicații”. Aplicațiile sunt compuse din programe ce rulează pe dispozitive mobile, iar utilizarea lor pe scară largă se datorează numărului mare de funcții pe care le execută, inclusiv furnizarea de interfețe utilizator pentru serviciile de bază de telefonie și mesagerie.

Telefoanele mobile au devenit esențiale în viața celor mai mulți oameni de foarte mult timp, aproximativ de prin anii '90, când acestea reprezentau modalitatea principală de comunicare. În prezent situația stă puțin altfel, și anume producătorii de telefoane mobile nu se mai rezumă doar la simplul fapt că telefonul este folosit pentru a comunica, ci încearcă să implementeze cât mai multe funcții.

Domeniul mobile fiind din ce în ce mai vast, a pus o amprentă remarcabilă asupra tehnologiei, dar și asupra societății și felului în care ne desfășurăm activitățile de zi cu zi. Tehnologia mobile ia amploare, iar acest lucru nu este deloc de neglijat. Acestea fiind spuse, putem considera cu siguranță că relevanța științifică a temei este una ridicată.

În ultima perioadă, producătorii de telefoane mobile se axează foarte mult pe un telefon care să aibă foarte multe funcții care mai de care mai complexe cu ajutorul cărora poți face aproape orice, chiar să măsori pulsul sau să afli temperatura corpului. A trecut perioada în care telefoanele se foloseau strict pentru a vorbi – acum se folosesc foarte mult pentru a naviga pe internet, ca și instrument de orientare sau aparat foto. Din această cauză, producătorii urmăresc să facă un ecran cât mai mare, dar totuși telefonul să nu fie gros și greu, pentru a putea fi transportat cu ușurință.

Figura 1. iPhone 5S Smartphone

În ceea ce privește programarea din spatele sistemelor de operare a smartphone-urilor și implicit aplicațiilor, aceste limbaje nu sunt deloc noi, ci se bazează pe tehnologii vechi, dar îmbunătățite în timp și adaptate nevoilor apărute.

În cazul aplicațiilor pe mobil, se pot enumera următoarele sisteme de operare: iOS, Android, BlackBerry, Palm webOS, Symbian și Windows Mobile. Fiecare dintre aceste sisteme de operare au un magazin al lor unde se găsesc toate aplicațiile create de utilizatori. Desi sunt foarte multe aplicații oferite în mod gratuit de către dezvoltatori, firmele mai mari preferă să construiască aplicații plătite. Mulți utilizatori spun că aplicațiile plătite au o calitate mai superioară, dar asta nu este o regulă după care trebuie să ne ghidăm pentru a observa dacă o aplicație este bună sau rea, din punct de vedere funcțional, estetic, etc.

Dezvoltarea aplicațiilor pe una dintre aceste platforme necesită diferite instrumente și limbaje de programare:

iOS, există diverse instrumente cum ar fi iPhone SDK, Ansca Corona, Appcelerator Titanium Mobile, PhoneGap (Apache Cordova), Unity, SteroidsJS (AppGyver) pentru dezvoltarea aplicațiilor pe iPhone. Majoritatea sunt gratuite și open-source, iar limbajele Objective-C, Swift, HTML, CSS, Javascript pot fi utilizate.

Android, folosește instrumentele de dezvoltare specifice, compilate intr-un SDK, numit Android SDK. Principalul pachet pentru construcția unei aplicații pe acest sistem de operare este ADT (Android Development Tools). Ca și IDE, se poate folosi Eclipse împreună cu plugin-ul SDK specific sau cel nativ – Android Studio. Ca și limbaj de programare, se folosește Java.

BlackBerry, mediul de dezvoltare Java (JDE Java Development Environment) și BlackBerry Java Plug-in pentru Eclipse sau pentru BlackBerry Theme Studion device simulators pot fi folosite pentru dezvoltarea de aplicații pe mobil. SDK și simulatoarele sunt gratuite, dar necesită înregistrarea pentru orice aplicație pe BlackBerry App World. Limbajele de programare care pot fi folosite în dezvoltarea acestor aplicații sunt: Java, ME+, HTML, CSS, Javascript.

Palm webOS, Mojo Framework și instrumentele de dezvoltare Palm (PDT) pot fi folosite pentru dezvoltarea aplicațiilor Palm webOS, însă nu sunt gratuite. Se pot folosi C, C++, Javascript, HTML, AJAX ca limbaje de programare.

Symbian, Nokia Qt SDK poate fi folosit pentru dezvoltarea de aplicatii pe mobil. Nu este gratuit, trebuie plătită o licență pentru a putea folosi acest kit de dezvoltare. Limbajele de programare care pot fi folosite: Python, Java Mobile Edition, Ruby, .NET.

Windows Mobile, cel mai folosit instrument de dezvoltare este Microsoft Visual Studio. Limbajele de programare folosite sunt Native C++, C#, .NET.

1.2 Descrierea temei

Tehnologia se dezvoltă din ce în ce mai mult într-un ritm foarte alert. Astfel am ajuns în stadiul în care folosim telefoanele mobile, mai nou numite smartphone-uri, pentru o vastă varietate de activități – aici intră și domeniul financiar. Pe zi ce trece tot mai multe smartphone-uri sunt cumpărate și folosite de utilizatori, datorită acestui fapt se construiesc tot mai multe aplicații menite să simplifice viața de zi cu zi a utilizatorului. În domeniul financiar, o a doua mare necesitate, pe langa abilitatea de a transfera bani de pe telefonul mobil, este abilitatea de a ține o anume evidentă asupra finanțelor personale și/sau business. Acestea fiind spuse, așa reiese tema acestei lucrări.

Aplicația prezentată în continuare urmarește tratarea acestei probleme, și anume cea a evidenței și a managementului propriilor finanțe. Aceast lucru reprezintă funcționalitatea de bază, pe care se pot construi multe alte caracteristici, pentru a obține o aplicație mai solidă și complexă. Un exemplu de astfel de extensie a aplicației poate fi abilitatea de a stabili un buget pe o anumită perioadă de timp, astfel ca atunci când utilizatorul se apropie de limita inferioară a bugetului, acesta să fie anunțat din timp despre acest lucru.

Ca și sistem de operare, aplicația este construită pe iOS, sistemul de operare ce rulează pe iPhone, smartphone-urile construite de Apple. Limbajul de programare folosit este Objective-C – limbaj nativ folosit în cadrul sistemul iOS. De asemenea, pentru stocarea datelor (conturi, tranzacții, etc.), se folosește o bază de date locală. În cadrul acesteia, există mai multe tabele – pentru o modularitate și arhitectură mai bună și optimă a bazei de date. Interacțiunile cu baza de date se fac prin limbajul SQL, mai exact prin libraria SQLite3. În acest stadiu de bază al aplicației, conexiunea la internet nu este obligatorie. Totul se desfășoară offline, local, pe telefonul utilizatorului, pentru o securitate sporită a datelor personale.

Pe langă toate aceste tehnologii de programare, un rol foarte important îl joacă design-ul și interfața grafică cu utilizatorul din cadrul aplicației. Schițele și elementele grafice urmează o structură de design definită și specifică sistemului de operare iOS, și au fost realizate cu ajutorul Photoshop – software renumit de grafică, de la Adobe.

Astfel, această lucrare își propune să realizeze o metodă mai bună și accesibilă de gestionare a banilor, direct de pe telefonul mobil, într-un mod rapid, plăcut și cât mai intuitiv.

1.3 Concluzii

În primul capitol s-au prezentat contextul general și domeniul exact al temei. Au fost enumerate și descrise funcțiile principale ale telefoanelor mobile și sistemele de operare care pot fi folosite pentru a dezvolta aplicații pe mobil.

Domeniul temei alese este cel mobile, dezvoltarea unei aplicații iOS de management al finanțelor personale, sau altfel spus, de management al banilor.

Aplicația prezentată utilizează ca și sistem de operare iOS și ca mediu de dezvoltare IDE-ul nativ de la Apple, Xcode. Pentru testarea aplicației se folosește Xcode iOS Simulator și un smartphone Apple fizic, iPhone 5S. Tehnologiile folosite sunt: Objective-C și SQL pentru partea de programare și Photoshop pentru partea de grafică și interfață a aplicației.

2. Dezvoltarea temei

2.1 Obiectivele proiectului, întrebări de cercetare

În cadrul acestui proiect se urmărește realizarea unei aplicații software proiectată pentru a funcționa pe smartphone-urile cu sistem de operare iOS și care să rezolve problemele oamenilor legate de finanțele personale. Prin o bună administrare a acestora, rezultă un trai mult mai echilibrat și prosper.

Aplicația se numește Financebook, nume sugestiv pentru conceptul de jurnal al banilor. Cu ajutorul acestei unelte, utilizatorul va avea acces la o perspectivă de ansamblu asupra finanțelor personale. Plecând de la aceasta idee, el vor putea să ia decizii educate și posibil curciale în ceea ce privește viitorul său financiar, fie prin a observa istoria tranzacțiilor efectuate și a statisticilor, fie prin stabilirea unor obiective, precum un anume buget într-o anumită perioadă de timp.

Unul dintre scopurile acestei lucrări este de a dezvolta și implementa o aplicație mobile, care să ruleze pe sistemul de operare iOS.

Un alt scop este evaluarea aplicației Financebook ținând cont de evaluarea funcționalităților (stabilirea funcționării corect a aplicației) și evaluarea sistemului, care se referă la măsurarea performanțelor în cazul unei baze de date, a unor acțiuni care se efectuează foarte rapid și a unui volum de date ridicat.

Scopul final al aplicației este să ajute utilizatorul să ajungă la un statut financiar echilibrat și prosper.

Întrebări de cercetare

În cadrul acestei lucrări se va raspunde la următoarele întrebări:

– Cum poate fi proiectată și implementată aplicația Financebook ?

– Există aplicații asemănătoare cu Financebook ?

– Ce comparații se pot face între celelalte aplicații asemănătoare și aceasta ?

– Care sunt avantajele și dezavantajele/limitările aplicației Financebook ?

– Cum poate fi evaluată aplicația și care sunt rezultatele ?

2.2 Conținutul lucrării

Capitolul 1:

Contine informații generale despre domeniul mobile, sistemele mobile și justificarea dezvoltării unei aplicații de tip finance.

Capitolul 2:

Detaliază obiectivele acestui proiect și sistemul de operare necesar pentru folosirea aplicației.

Capitolul 3:

Descrie studiul efectuat pentru determinarea altor aplicații asemănătoare și comparațiile dintre acestea.

Capitolul 4:

Prezintă și detaliază tehnologiile necesare și folosite, caracteristicile funcționale și non-funcționale ale aplicației, și motivează alegerea arhitecturii și tehnologiei respective.

Capitolul 5:

Conține detalii de implementare ale aplicației Financebook. Posibila implementare pe mai multe platforme, precum si posibilitatea extinderii aplicației dupa un anumit criteriu (ex. Personal sau Business).

Capitolul 6:

Cuprinde partea de testare și validare a aplicației. Modul prin care acestea au fost realizate și instrumentele folosite.

Capitolul 7:

Reprezintă concluziile principale și funcționalitățile sau îmbunătățirile care urmează a fi aduse aplicației, într-o versiune ulterioară.

3. Studiu bibliografic

După cum bine știm, aproape toată populația are acces permanent la internet și din această cauză este destul de ușor să se găsească multe soluții la cele mai frustrante probleme ale oamenilor. Conceptul de bani există de foarte mult timp în viața noastră, dar nu numai. Multe dintre deciziile pe care le luam au în vizor banii. Evidența și management-ul lor a fost întotdeauna și încă este, o preocupare.

Având un smartphone, nivelul de confort crește substanțial. Astfel, abilitatea de a ține o evidență financiară este mult mai ușoară și totodată la îndemână. Tot ce trebuie noi ca utilizatori să facem, este introducerea efectivă a tranzacției – o acțiune care nu ar trebui să dureze mai mult de 10 secunde.

3.1 Aplicații similare

Una dintre cele mai vechi și de top aplicații de acest gen este MoneyWell. În ciuda acestui fapt, interfața a rămas la fel ca și acum 4 ani, fară update-uri de grafică sau funcționalitate. Aplicația a devenit utilizabilă doar dacă utilizatorul are, pe langă iPhone, și un laptop Macbook. Astfel, aplicația trebuie cumpărata de pe AppStore pe Macbook, apoi sincronizata prin Dropbox cu aplicația de pe iPhone. Un proces foarte foarte greoi, plus faptul că prețul aplicației pe Macbook este de 50 Euro.

Figura 3.1 MoneyWell

O altă aplicație este TapToTrack. Dezvoltatorii ei au adoptat o altă perspectivă din punct de vedere al design-ului. Pagina de istoric al activității financiare este sub formă de timeline. În funcție de data efectuării tranzacțiilor, ele sunt ordonate crescător, de sus în jos. Funcționalitatea este cea de bază, fără alte lucruri care să dezvolte aplicația. Aplicația este gratuită, însă pentru crearea a mai multor conturi sau a deblocarea altor mici avantaje, trebuie cumpărată varianta plătită. Deși ideea de timeline este foarte interesantă, experiența utilizatorului (termen cunoscut ca și ,,user experience”) este una foarte slabă. Design-ul este destul de greu de digerat la prima vedere, iar utilizatorul nou va simți un sentiment de reticență.

Figura 3.2 TapToTrack

Expense este o altă aplicație asemănătoare de finance manangement. La fel ca și celelalte doua de mai sus, funcționalitatea este reprezentată de strictul necesar, fără statistici complexe, ci doar un simplu grafic. Abilitatea de a seta o anumită valută pentru un cont nou creat nu există, toate conturile sunt create în moneda locală. Pentru partea de creare a unei noi tranzacții, singurele câmpuri care pot fi completate sunt suma, tipul tranzacției (venit/cost) și contul din care aceasta face parte. Toate acestea reprezintă un mare minus din punct de vedere al management-ului, iar utilizatorul nu este ajutat să își îmbunătățească statutul financiar. Design-ul este foarte simplist și nu tratează problemele de utilizabilitate, de aici un user experience sărac, cu un feeling neplăcut.

Figura 3.3 Expense

Printre aplicațiile similare se numără și e79. Aplicația este foarte simplă, săracă în funcționalitate. Nu oferă posibiliatea de creare a mai multor conturi sau alegerea valutei. Un avantaj este posiblitatea de stabilire a unui buget, ceea ce este de mare ajutor pentru utilizator. Partea grafică este foarte simplistă, dar realizată intr-un mod profesional. Un element legat de user interface care merită menționat este modul de a adăuga o tranzacție nouă. Pentru a face acest lucru, un simplu gest ,,swipe” al tastaturii este necesar. Din păcate utilizatorului nu i se arată cum să adauge o tranzacție noua, el trebuie să afle singur – ca urmare, reprezintă un mare dezavantaj. Există posibilitatea ca utilizatorul să nu își dea seama și să sfârșească prin a dezinstala aplicația.

Figura 3.4 e79

O ultimă aplicație este MoneyLover. Este compusă dintr-o complexitate funcțională mare și un design personalizat, destul de bine pus la punct. Marele minus este chiar complexitatea ei. În primele momente de folosire a aplicației, utilizatorului îi este greu să navigheze și să asimileze toată funcționalitatea, iar design-ul nu rezolvă această problemă. În prezent ea reprezintă aplicația de baza în ceea ce privește inspirația pe partea de funcționalitate.

Figura 3.5 MoneyLover

4. Analiză și fundamentare teoretică

4.1 Tehnologii utilizate

iOS

Numit și iPhone OS în primele versiuni, este sistemul mobile de operare creat și dezvoltat de Apple Inc., și distribuit exclusiv pe dispozitivele mobile Apple. Este sistemul de operare care rulează pe cele mai răspândite dispozitive Apple, și anume iPhone, iPod Touch.

Prima apariție a fost în 2007 odată cu apariția smartphone-ului iPhone, după care a fost extins pentru iPod (septembrie 2007), iPad (2010), iPad Mini (2012) și a doua generație de Apple TV (2010).

Până în luna Ianuarie 2015, magazinul de aplicații AppStore conținea mai mult de 1.4 miliarde de aplicații iOS, 725.000 dintre acestea fiind native pentru iPad. Toate aceste aplicații au fost în total descărcate de mai mult de 100 de miliarde de ori. Tot în aceeași lună, pe data de 27, CEO-ul companiei a anunțat faptul că un miliard de dispozitive iOS au fost vândute.

Interfața grafică a sistemului de operare este bazată pe conceptul de ,,flat design”, cu elemente simpliste, fără umbre, texturi sau impresia de 3D, cu abilitate de ,,multi-touch”.

Pe partea de programare și cod, sistemul de operare folosește aceleași structuri și arhitecturi, numite framework-uri, ca și OS X – sistemul de operare al laptopurilor și calculatoarelor Apple. Aceste framework-uri sunt Core Foundation și Foundation.

Deși sistemul de operare iOS este bazat pe UNIX, el restricționează foarte mult accesul utilizatorului și al aplicațiilor la funcționalitătile de bază și interne, cum ar fi accesul shell sau root.

În ceea ce privește update-urile de sistem, Apple oferă unul major aproximativ odată pe an. Ultima versiune este iOS 9, care se așteaptă a fi lansată spre sfârșitul anului 2015. Pe lângă noua interfață, acest update aduce îmbunătățiri substanțiale sistemului de operare.

Pentru dezvoltarea unei aplicații iOS, aceasta trebuie compilată cu editorul de text specific, Xcode, special pentru iOS și arhitecturii 64-bit ARM sau cea veche, 32-bit. Pentru publicarea sa pe App Store, codul trebuie trimis la departamentul Apple care se ocupa de investigarea și analizarea aplicației. Acest proces durează deobicei câteva săptămâni.

Pe 17 Octombrie 2007, Steve Jobs anunță kit-ul de dezvoltare software (software development kit – SDK) va fi accesibil dezvoltatorilor care doresc să creeze aplicații iOS în Februarie 2008. SDK-ul a fost până la urmă lansat pe 6 Martie 2008. Pe lângă posibilitatea de dezvoltare a aplicațiilor iOS, SDK-ul oferă și posibilitatea de testare a acestora printr-un simulator, numit iPhone simulator, la acea vreme. Totuși, un inconvenient este faptul că aplicația nu poate fi rulată pe un dispozitiv fizic fără a plăti licența de dezvoltator.

Dezvoltatorii au posibilitatea de a seta orice preț aplicațiilor lor, pentru a fi distribuite în App Store. La fiecare descărcare și implicit plată, dezvoltatorul primește 70% din sumă, iar Apple 30%. Aplicațiile pot de asemenea fi distribuite gratuit, fără plata altor taxe.

Kernel-ul sistemului de operare iOS este XNU, kernel-ul sistemului de operare Darwin (aparține de Apple). Primul iPhone OS (1.0) până la versiunea 3.1.3 a folosit Darwin 9.0.0d1. iOS 4 a fost bazat pe Dawin 10.0.0, iOS 5 pe Darwin 11.0.0, iar iOS 6 pe Darwin 13.0.0. Ultimele versiuni, iOS 7 și iOS 8 sunt bazate pe kernel-ul Darwin 14.0.0.

Figura 4.1 iOS 8

SQLite

SQLite este o bibliotecă pentru management-ul bazelor de date. Scrisă în ANSI-C, în cadrul ei se găsește implementarea unui motor de baze de date (database engine) tranzacțional, de sine-stătător, care nu necesită server sau configurări speciale pentru a rula.


În SQLite citirea, respectiv scrierea datelor se face direct pe disk. O bază de date completă SQL cu mai multe tabele, indecși, triggere şi vederi, va fi stocată pe disk sub forma unui singur fișier. Formatul fișierelor în care este stocată o baza de date SQLite este conceput astfel încât să fie cross-platform facilitând portarea bazei de date între sistemele 32-bit şi 64-biţi sau între arhitecturi big-endian şi little-endian. 
SQLite este o bibliotecă compactă. Având toate caracteristicile activate, dimensiunea bibliotecii poate fi mai mică de 350KO, (depinzând de platforma ţintă şi setările de optimizarea compilatorului). În cazul în care funcțiile opţionale sunt omise, dimensiunea bibliotecii SQLite poate fi mai mică de 200KO. Astfel SQLite devine motor SQL ideal pentru dispozitive cu memorie limitată, precum telefoane mobile, PDA-uri, playere MP3.


Proiectul SQLite este administrat de o echipă internaţională de dezvoltatori care continuă să extindă capacităţile SQLite cu scopul de a spori fiabilitatea şi performanţele acestuia menţinând în acelaşi timp compatibilitate cu interfaţa publică, sintaxa SQL, baze de date şi formatul de fişier.


Tipurile de date ce pot fi folosite in SQLite sunt TEXT (echivalentul tipului de date String din Java), INTEGER (echivalentul tipului de date long din Java) și REAL (echivalentul tipului de date double din Java) însa nu se face validarea automată a tipurilor de date înainte ca acestea să fie introduse în baza de date. 
În iOS se regăsește SQLite versiune 3, fiecare baza de date SQLite fiind salvată în memoria dispozitivului.

Din punct de vedere legal SQLite este încadrat în domeniului public făcând astfel posibilă utilizarea codului în orice scop (atât comercial cât și privat) fără nici o constrângere din punct de vedere legal. 


4.2 Tool-uri folosite

Xcode

Reprezintă editorul de text (integrated development environment – IDE) dezvoltat de Apple. Conține o suită de software-uri și unelte pentru dezvoltarea aplicațiilor iOS și OS X.

Prima apariție a fost în 2003, iar ultima versiune stabilă este versiunea 6.3. IDE-ul este disponibil pe Mac App Store și este gratuit pentru utilizatorii OS X Yosemite – ultima versiune a sistemului de operare OS X. Utilizatorii înregistrați, cu licență de dezvoltator, pot descărca și versiunile anterioare ale suitei, prin intermediul site-ului Apple Developer. De asemenea, Apple au creat o versiune beta pentru Xcode, și anume Xcode 7.x. Varianta este disponibilă utilizatorilor inregistrați, cu cont de Apple Developer.

Suita Xcode conține editorul de text propriu-zis (Xcode), documentația Apple și un software intregrat, pentru construirea interfeței grafice, numit Interface Builder.

Xcode include GCC și poate compila C, C++, Objective C, Objective C++, dar și Java.

Figura 4.2 Xcode 6

Photoshop

Adobe Photoshop este un software care permite crearea și editarea imaginilor în mod digital, pe calculator, apoi salvarea acestora în unul dintre diferitele formate grafice (JPG, PNG, etc.). Este cel mai răspândit și renumit software de grafică, iar cu ajutorul său se pot crea lucruri simple, precum o simplă iconiță de aplicație, sau elemente de grafică complexe, folosite în animații sau filme. De asemenea este foarte folosit și în fotografie (pentru manipulări, prelucrări de fotografie, etc.), în marketing (pentru crearea de flyere, afișe și postere), sau chiar 3d. Pe cealaltă parte, Photoshop poate fi folosit pentru construirea unei interfețe cu utilizatorul, fie că aplicația este un software, un website sau o aplicație mobilă, cum este și cazul acestei lucrări.

Este dezvoltat și publicat de către Adobe Systems și poate fi folosit atât pe Windows cât și pe OS X.

Software-ul și-a făcut apariția pe data de 19 Februarie 1990, iar cea mai recentă și stabilă versiune a sa este versiunea CC 2015.0.0, lansată pe 15 Iunie 2015.

În ceea ce privește programarea din spatele software-ului, aceasta a fost scris inițial in Pascal (versiunea v1.0.1), apoi în C++.

Figura 4.3 Adobe Photoshop CC

4.3 Cerințele aplicației

Pe lângă necesitatea de a rula pe un dispozitiv cu sistemul de operare iOS, cel mai important lucru este ca versiunea sistemului de operare sa fie minim iOS 7. Datorită funcționalității și mai ales a interfeței grafice, această cerință este necesară pentru rularea aplicației Financebook. A fost aleasă această versiune de sistem pentru că odata cu apariția iOS 7, sistemul de operare s-a schimbat foarte mult, din punct de vedere al funcționalității, dar mai ales al interfeței grafice, al design-ului. Noi concepte au fost introduse, această versiune poate fi privită ca o poartă spre viitor.

Deși acest lucru pare descurajator, nu este deloc. iOS 7 este suportat de toate telefoanele iPhone incepând cu iPhone 4S, care au apărut acum 4 ani, în toamna anului 2011.

În ceea ce privește cerintele de memorie și procesor, acestea sunt foarte mici, aproape inexistente. Datorită suitei Xcode, atunci când o aplicație este rulată în simulator (dar nu numai), putem vedea încărcarea procesorului și a memoriei în timp real, în timp ce folosim aplicația. Astfel putem afla ce resurse consumă aplicația și detecta puncte cheie unde performanțele aplicației pot fi îmbunătățite sau nu.

În concluzie, se vor prezenta mai jos cifrele în ceea ce privește performanța aplicației pe iPhone 4S ca și simulator în Xcode cu ultima versiune de sistem de operare, iOS 8.3:

Pentru cel mai complexe acțiuni cum ar fi listarea din baza de date sau adaugarea în baza de date, procesorul telefonul este folosit în proporție de 1-10%, în cazuri rare si extreme chiar și 15%, pentru aproximativ o secunda. Pentru operațiuni mai simple, load-ul procesorului fluctuează între 0% și 5%.

Pentru cazul memoriei RAM, aplicația folosește între 10MB și 20MB din totalul de 512 MB al telefonului.

Telefonul iPhone 4S este cel mai slab dispozitiv pe care se poate rula aplicația, iar cifrele de mai sus sunt foarte mici și mai mult decât acceptabile. Putem spune cu siguranță că aplicația va rula corect și în parametri normali, fără nicio problemă, pe acest dispozitiv.

Așadar, orice dispozitiv cu o versiune minima iOS 7 poate rula aplicația Financebook și beneficiind de cele mai bune performanțe ale acesteia.

Figura 4.4 Xcode Debugging Session

4.4 Cazuri de utilizare

După cum a mai fost menționat, aplicația are ca și tință persoanele carora le pasă și sunt atente cu finanțele, în general cele personale, dar nu numai. Totodată, aplicația reprezintă un bun punct de start pentru persoanele care vor să atingă un statut financiar mai bun, prin management-ul și analizarea părți lor financiare.

Acestea reprezintă motivele generale, însă aplicația poate fi folosită pentru situație financiară care implică un jurnal sau o listă de tranzacții. Un exemplu foarte de bază ar fi urmărirea unui cont de economii pentru o nouă locuință. Alt exemplu, care se bazează pe o caracteristică viitoare a aplicației, este stabilirea unui buget săptămânal, în cazul în care utilizatorul dorește să nu cheltuie prea mulți bani, în urma economisirii pentru un anumit lucru (un nou laptop, mașină, etc).

În ceea ce privește utilizarea efectivă a aplicației, exista două cazuri principale:

Pentru logarea unei noi tranzacții – acțiune care durează câteva secunde, făcută de către utilizator înainte sau după efectuarea unei tranzacții reale

Pentru analizarea datelor – acțiune făcută de către utilizator pentru a vedea statisticile și cursul finanțelor sale

5. Proiectare și implementare

dasdad

Referinte:

Cap 4:

iOS – https://en.wikipedia.org/wiki/IOS

Steve Ranger (January 16, 2015). "iOS versus Android. Apple App Store versus Google Play: Here comes the next battle in the app wars". ZDNet. – http://www.zdnet.com/article/ios-versus-android-apple-app-store-versus-google-play-here-comes-the-next-battle-in-the-app-wars/

 Nathan Ingraham (June 8, 2015). "Apple's App Store has passed 100 billion app downloads". The Verge. – http://www.theverge.com/2015/6/8/8739611/apple-wwdc-2015-stats-update

 "Apple has sold one billion iOS devices, company claims". Retrieved April 15, 2015. – http://www.computerworld.com/article/2876320/apple-has-sold-one-billion-ios-devices-company-claims.html

 https://developer.apple.com/news/?id=12172013a

Jobs, Steve (October 17, 2007). "Third Party Applications on the iPhone". Apple Inc. – http://developer.apple.com/iphone/devcenter/third_party_apps.php

 "Which Developer Program is for you?". September 2012. Retrieved June 14, 2013. – http://developer.apple.com/programs/which-program/

 "Introducing the iPhone Developer Program". Apple Inc.Retrieved June 14, 2013. – http://developer.apple.com/iphone/program/details.html

 – Available in iOS 5 to iOS 7 via General > About > Diagnostics & Usage > Diagnostics & Usage Data >(date and time).panic.plist, after a kernel crash
Available in iOS 8 via Privacy > Diagnostics & Usage > Diagnostics & Usage Data > JetsamEvent-(date and time).ips, when low in memory

– Creating and Using Databases for Android Applications – Sunguk Lee – International Journal of Database Theory & Application 5.2, 2012

"Xcode on the Mac App Store". Apple Inc. RetrievedNovember 10, 2014. – https://itunes.apple.com/us/app/xcode/id497799835

"Mac Dev Center". Apple Developer. Retrieved July 31,2011. – https://developer.apple.com/devcenter/mac/index.action

 "Xcode Downloads". Apple Developer. RetrievedJuly 26, 2014. – https://developer.apple.com/xcode/downloads/

photoshop – https://en.wikipedia.org/wiki/Adobe_Photoshop

Crank it up to 15: Introducing Adobe Photoshop CC 2014". – http://blogs.adobe.com/photoshopdotcom/2014/06/crank-it-up-to-15-introducing-adobe-photoshop-cc-2014.html

Adobe Photoshop CC 2014 15.0.". Softpedia. SoftNews. Retrieved 20 June 2014. – http://www.softpedia.com/get/Multimedia/Graphic/Graphic-Editors/Adobe-PhotoShop-Trial.shtml

"Computer History Museum | @CHM : Adobe Photoshop Source Code". Computerhistory.org. 2013-02-13. Retrieved 2013-12-14. – http://www.computerhistory.org/atchm/adobe-photoshop-source-code/

Obiective generale ale lucrarii

Ipotezele lucrarii sau intrebarile

Strategia cercetarii

Metodologia folosita

Instrumentele de colectare a datelor

Instrumentele de interpretare a datelor

Firul rosu al lucrarii (titlul capitolelor si legatura dintre ele)

Limitele lucrarii (confidentialitatea datelor, faptul ca e offline, no cloud, access banca

cap 2 despre cercetare, date, colectare, realizare, de reluat despre design thinking

Capitolele 3 si 4 sint oarecum gemene, ceea ce reprezinta concept, planuri, etc ajung in cap.3 iar ceea ce reprezinta realizari, implementari, rezultate, use-cases, etc ajung in cap.4.

Concluziile trebuie sa reia ce s-a propus, ce s-a reusit, cum ar putea fi proiectul extins, cum s-ar putea incadra intr-o aplicatie mai mare sau intr-un grup de aplicatii. Ginditi-va cum ar putea fi continuat proiectul, va va ajuta la prezentarea pentu admiterea la master.

Sper ca nu mi-a scapat nimic essential dar ma puteti intreba orice. Ca si numar de pagini, cap.1 (5-7pag), cap.2 (7-9pag), cap.3 si cap.4 (12-15pag), cap.5 (3-5pag). Daca ies 40 de pagini lucrarea e considerate consistenta. Prea putine pagini lasa o impresie de superficialitate, prea multe lasa alta impresie 😉

Similar Posts