1.1. Introducere
“ You cannot mandate productivity, you must provide the tools to let people become their best” 1, constituie noul slogan privind corespondența companiei de la Apple în anul 1997.
Cea mai avantajoasă șansă a creșterii productivitatii o reprezintă o bună organizare.
O mare parte a oamenilor au în vedere valoarea organizarii, însă cea mai pretențioasă parte este crearea și întreținerea sa la aceleași standarde. Simplificarea poate fi privită chiar și dintr-un punct de vedere critic, ca o lipsă de sofisticare, acest lucru neputând fi mai fals, mai ales într-un mediu de producție, unde ar trebui să fie văzută ca pe o cheie perfect confecționată pentru lacătul complex al prolificei organizări. Simplificarea susținută de o bună organizare poate conduce către deținerea controlului și reducerea variabilelor într-un sistem cu procese complicate și greoaie.
Astfel, indiferent de tipul acesteia, în cadrul unei organizații (entități), cele mai de valoare elemente sunt resursele materiale și managementul acestora. Datorită multitudinii lor, precum și a cerințelor pe care trebuie să le îndeplinească, se necesită adoptate diferite instrumente inteligente organizatorice pentru a menține echilibrul sistemului și o mai bună vizibilitate al acestuia. Un astfel de instrument va reprezenta obiectul cercetării și a proiectării acestei lucrări.
În ziua de astăzi, utilizarea dispozitivelor mobile inteligente se află într-o ascensiune continuă. Zilnic, atingem ecranul telefonului mobil de peste 5.000 de
ori,arată un studiu făcut pe un eșantion de 100.000 de utilizatori Android de către platforma de sondaje online Dscout, menționează Mediafax.ro.2
Obiectul lucrării constă într-o aplicație Android simplificată de tip Resource planning care permite stabilirea și consultarea unui calendar de rezervări „legat” de o bază de date cu diferite resurse. Obiectivul aplicației este de a oferi utilizatorilor săi o manieră intuitivă, rapidă și eficienta efectuării de rezervări pentru dispozitivele cu ecrane mici (dispozitivele mobile) .
Multe alte aplicații de pe piața oferă fundația pentru a implementa o astfel de idee. Spre exemplu, Google Calendar este un serviciu gratuit și ușor de manevrat, însă secțiunea Administrare Resurse nu reprezintă o interfață simplă și prietenoasă pentru toată lumea. Pentru un utilizator începător în domeniul tehnologiei, această soluție poate reprezenta o corvoadă, iar necesitatea sa se poate limita doar la o simplă interfață compatibilă cu ecranul telefonului sau care poate fi operată prin aplicarea doar câtorva „ swipe-uri ”.
Datorită aproape insuficienței de pe piața a aplicațiilor ce implică o funcționalitate de bază calendaristică, corelată cu efectuarea de rezervări ale unor resurse existente, aplicabilitatea obiectului din cadrul acestei lucrări nu se rezumă indispensabil la o singură unitate economico-socială, aria să de întrebuințare și implementare fiind de dimensiuni largi care nu pot fi limitate la o singură organizație. Specificațiile și uzul aplicației o pot recomandă pe această în vederea îndeplinirii anumitor necesități asemănătoare, unei palete largi de entități.
1.2. Prezentarea unității economico-sociale și a principalelor activități întreprinse
Agentia de marketing și promovare online LIMONADE a fost înființată în anul 2009 și activează în acest domeniu de peste 8 ani. Sediul este localizat în București, zona Unirea, iar antreprenorul, precum și directorul general al firmei, a întemeiat o echipa de oameni pasionați de marketing online, luând naștere agenția Limonade prin această cale, o agenție interactivă și fresh, orientată spre client, așa cum se prezintă pe
website-ul lor3. Prin intermediul unei astfel de agentii, startup-urile si IMM-urile pot obține succesul rapid în promovarea online, motivele principale ale publicității online fiind multiple: costuri reduse, targetarea publicului țintă, estimarea și măsurarea rezultatelor pentru impunerea unor analize riguroase și de eficientizare.
Principalele activități ale agenției sunt livrarea de consultanță strategică în funcție de nevoile afacerii interesate în marketing online, Google Adwords, promovare pe Facebook Ads, design grafic la un nivel înalt ( logo-uri, bannere) , alegerea brand-ului, optimizare pentru motoarele de căutare și administrarea conturilor social media. Unitatea deține la activ peste 100 de proiecte realizate cu succes, iar companiile specializate în arhitectură, ateliere de design, centre de psihologie, telecomunicații se numără printre firmele contractate.
1.3. Studiul sistemului de conducere
Sistemul de conducere în cadrul agenției de marketing Limonade este constituit din Directorul general al firmei/ Senior Manager (Proprietarul) și Directorul adjunct. Aceștia sunt principalii coordonatori ale activităților și cei ce decid și semnează contracte cu solicitanți de tip firma.
Directorul general se ocupă în special cu conceperea unor planuri manageriale modele și urmărește aplicarea lor, determină fixarea campaniilor, evenimentelor, programelor, training-urilor, structurarea muncii, coordonează activitățile angajaților și are puterea absolută de decizie în privința contractelor de colaborare, dar și în privința angajărilor/ concedierilor.
Directorul adjunct urmărește în permanență și coordonează eficient toate activitățile firmei, având mereu în vedere atingerea obiectivelor săptămânale/lunare asigurând calitatea la standarde înalte, urmărește implementarea strategiilor și a planurilor de dezvoltare din cadrul firmei ce sunt consultate/ îndrumate cu/de către directorul general, supervizează absolut toate posibilele colaborări și le coordonează spre aplicare consultându-se cu Senior Managerul privind aprobarea lor și asigura în acest sens comunicarea cu viitori clienți și respectarea obligațiilor contractuale.
1.4. Studiul sistemului condus
Sistemul condus este constituit și angajat atât de către Directorul general, cât și de cel de adjunct, și este alcătuit în prezent de:
Totalul este de 97 de angajați existenți în prezent.
SEO Advisor primește cereri, le analizează, le predă directorilor, iar în urma planului decis, urmărește realizarea sa coordonând echipa de SEO Specialiști, le face clienților recomandări și raportează managementului de top (directorilor).
Head of Account Management direcționează departamentul de management pentru a construi și expanda relații cu clienții deja existenți, dezvoltă strategii pentru păstrarea clientelei și mărirea acesteia, manageriază conturile cheie și raportează managementului de top (directorilor).
Account Manager atrage atenția clienților existenți și viitori pentru a vinde, identifica și anticipează cu succes nevoile clienților și negociază termenii comerciali în anumite limite stabilite și raportează managementului de top și directorului de Account Management.
Junior Account Manager adună informațiile despre clienți ( firmă, nevoi, prețuri, planuri ), contactează clienții pentru a înțelege cerințele lor, furnizează suport după finalizarea contractului pentru viitoare colaborări și raportează managementului de top, directorului de Account Management.
PPC Specialist este responsabil cu administrarea și dirijarea strategiei media “Pay Per Click” pentru clienți și raportează managementului de top și SEO Advisors.
Art Director direcționează elementele vizuale ale campaniilor, instructeaza echipa de designeri pentru a executa viziunea sa, crează și apoi menține imaginile vizuale în conturi speciale, își ia responsabilitatea de a concepe design-uri complexe și concrete pentru materialele de marketing ale clientului și raportează managementului de top.
Graphic Designer colaborează cu Account managerii pentru a elabora obiective, estimează durata necesară pentru muncă sa, prezintă idei finalizate și concepte clienților și/sau Account managerilor și raportează managementului de top și Art Directorului.
Senior SEO Specialist coordonează echipa de SEO Specialiști, livrează elemente focusate SEO clienților dependent de nevoile lor, se asigura că proiectele vor fi finalizate până la deadline, livrează
link-building4, le face clienților recomandări și raportează managementului de top și SEO Adviserilor.
Head of Web Development este responsabil cu dezvoltarea și mentenanță echipei de Web Development la un nivel înalt, dezvoltă, testează și comisioneaza soluții pentru îmbunătățirea produselor software existente, planifică durata executării, comunica cu clientul și ii recomandă cele mai propice soluții și raportează managementului de top.
SEO Specialist analizează și implementează modificări pe website-uri pentru a fi optimizate pe motoarele de căutare, testează și implementează tehnici noi și variate ale marketingului de motoare și colaborează cu echipa de Web Development.
Web Developer este reponsabil cu programarea, modificarea și designul website-urilor și colaborează cu majoritatea echipelor din cadrul firmei.
Assistant Manager organizează, planifică și implementează strategii, coordonează orarele angajaților și are responsabilitatea de a se asigura că obiectivele firmei sunt atinse într-un timp eficient.
Publishing Coordinator crează și publică materiale promoționale, coordonează echipa de Content Writers, editează și se asigura că publicațiile sunt unice și neplagiate.
Content Writer produce o varietate de conținut web ( articole, slogane, descriere produse etc. ) și colaborează cu echipele de Web Development și SEO.
Secretarii înregistrează datele angajaților precum și cele ale clienților și notează toate activitățile firmei.
Contabilii înregistrează documente de evidență, le îndosariază, urmărește stocul și soldurile clienților, elaborează rapoarte, declarații și balanțe de verificare.
Schemele organizatorice (organigrame) reprezintã o tehnică de reprezentare a structurii organizatorice, funcţionale a unei unitãţi economice.
1.5. Analiza critică a sistemului actual și identificarea neajunsurilor sistemului existent
Identificarea unor erori ce crează mai departe o îngreunare a eficienței serviciilor poate însemna în același timp și îmbunătățire.
Deoarece angajații companiilor își pot ușura munca și de asemenea își pot salva foarte mult timp pierdut din cauza solicitărilor suprapuse în cazul unor resurse comune la locul de muncă, îmbunătățirea adusă în discuție va fi de ordin organizațional. Astfel se vor elimina incidentele, posibilele pierderi de informații și greutățile cu privința la alocarea celei mai potrivite resurse.
Spre exemplu, un echipament IT deține multiple specificații. În cazul în care un angajat își dorește alocarea unui acest tip de resursă, dar cu anumite specificații pentru a duce la bun sfârșit un serviciu, acesta pierde timpul căutând resursă deoarece va încerca să găsească configurația potrivită într-o multitudine de resurse. Având la îndemână un instrument care îl ghidează cu privire la toate detaliile unui echipament dorit, acesta își salvează timp prețios și pe deasupra își alocă resursa pentru a-i fi la îndemână.
Acest model de caz se suprapune perfect cu cel al agenției Limonade. Neajunsul sistemului lor în acest punct este constituit de simplul fapt că nu dețin o astfel de unealtă auxiliară și propice mediului desfășurării activităților lor. Putem sublinia punctele slabe ale agenției prin a afirma faptul că principalul punct slab este lipsa informațiilor și specificațiilor fiecărui tip de resursă, un altul ar fi fenomenul incidentelor suprapunerii de timp alocat unei resurse , inexistența unui program (orar) customizabil pentru a manageria utilitatea resurselor comune, imposibilitatea de a aloca bunul necesitat.
1.6. Direcții de perfecționare a sistemului actual
Direcția de perfecționare principală este produsă de soluție în sine: aplicația BookiT.
Câteva cerințe structurate sunt necesare pentru implementarea acestei soluții informatice precum:
Solicitarea unui specialist în soluții de acest tip, de preferat un programator specializat în dezvoltarea aplicațiilor Android și ale limbajelor ce presupun crearea sa: Java, PHP și SQL. Acesta poate veni cu un manual de folosință cu privire la administrarea datelor și nu este necesară angajarea unui administrator, întrucât firma Limonade dispune de specialiști IT.
Asigurarea faptului că fiecare angajat deține un dispozitiv mobil cu sistem de operare Android
1.7. Android
Android este un sistem de operare (OS) care rulează pe telefoanele mobile, tablete și alte dispozitive. Sistemul de operare Android include un set de caracteristici pe care un utilizator le poate vedea și poate interacționa cu acestea. Spre exemplu, atunci când Android adaugă noi caracteristici pentru camera foto, o nouă metodă de a debloca telefonul, un nou design vizual, toate aceste caracteristici fac parte din OS.
Versiunea curentă Android se numește Oreo, recunoscută după denumirea 2.15 Android 8.0 Oreo (API 26).5
1.7.1. Android Development
Android include un mediu de dezvoltare impresionant care oferă posibilitatea dezvoltatorilor să creeze aplicații care rulează pe dispozitive Android, având acces la clase specifice Android în framework-ul Android. În trecut, unealta pentru dezvoltarea Android era Eclipse, dar cea mai recentă acum se numește Android Studio.
Android este o platforma pentru mobile deoarece reprezintă un sistem de operare și în același timp un mediu de dezvoltare care oferă caracteristicile OS. Un marketplace pentru a vinde sau a avea acces la aplicațiile dezvoltate completează această imagine.
Valabil în 190 de țări
Susținută de 300 de manufacturers
1 milion de device-uri Android activate zilnic
1.5 bilioane de aplicații descărcate pe lună
Următoarele patru componente sunt concepute pentru a forma “imaginea” Android: Activități (Activities) , Intents (Intent-uri) , IntentServices (Servicii Intent) , BroadcastReceivers (Receptoare de transmisie) .
O activitate (android.app.Activity)6 este o componentă core a platformei Android. O activitate este tipic asociată cu un ecran în aplicație. Asta înseamnă că majoritatea activităților încep și arată o interfață user. Când o aplicație Android se deschide, o activitate se deschide; această activitate este specificată ca și punct de intrare a aplicației.
Un intent (android.content.Intent) este utilizat pentru a realiza cereri către sistemul de operare Android. Un intent conține toate informațiile necesare SO Android pentru a începe o acțiune. Când creăm o activitate, trebuie să creăm de asemenea un intent care să specifice acea activitate. Spre exemplu, când metodă startActivity() este apelată cu un parametru intent, SO Android leagă acțiunea intentului cu activitatea specifică; acea activitate este atunci pornită.
Un serviciu al Android este o sarcină care rulează independent de o activitate. Un serviciu (android.app.Service) poate fi lansat din cadrul unei activități, iar rularea lui are loc în fundal. Acest lucru înseamnă că în timp ce utilizatorul interacționează cu interfață unei activități, un serviciu poate rula și acționa pe fundal.
Un serviciu rulează independent de o activitate, dar de cele mai multe ori, o activitate trebuie notificată când un serviciu se termină. Un IntentService poate trimite “notificări” (broadcast) pentru a sugera acest lucru. IntentService-ul apelează metoda sendBroadcast() cu un intent ca și parametru. Împreună, Intent services și broadcast receivers pot fi considerate un sistem “publicare și subscribe “ .
Atât activitățile cât și serviciile sunt sarcini care rulează în cadrul unei aplicații. Intents sunt utilizate pentru a porni activitățile și intentServiceurile. BroadcastReceivers ascultă intenturile și acționează asupra lor.
O metodă prin care putem aduce toate aceste idei împreună este de a consideră ce se întâmplă în Android atunci când ne uităm la o pagină web în browserul Chrome și vrem să o împărtășim (share) . Știm că aplicațiile pornesc o activitate atunci când le deschidem, deci browserul Chrome pornește o activitate atunci când se deschide. Când decidem să dăm share unei pagini web, o lista de aplicații capabile de funcția share apar pe ecran. Aplicația Chrome trimite un intent pentru a împărtăși URL-ul paginii web. Orice aplicație care conține broadcast receiver care poate trata un URL apare pe ecran ca și opțiune.
1.7.2. Android Studio
Android Studio este un mediu integrat de dezvoltare care include un mediu de dezvoltare a codului și elementelor vizuale pentru a crea interfețe. Acest mediu include următoarele:
Unelte Android software development kit (SDK) pentru a proiecta, testa și depăna aplicații
O platforma Android pentru a compila aplicații
Un sistem de imagine Android pentru a rula aplicații într-un emulator
1.7.3. Interfața utilizatorului
Pentru a putea crea o interfață folosind editorul vizual din Android Studio, trebuie selectate elemente din paleta. Această paleta organizează toate elementele și le transpune în categorii precum Layouts, Widgets, Text Fields, Containers, etc. Categoria Widget conține componente precum TextViews, Buttons, ImageViews, Material-Calendar-Views printre multe altele.
1.7.3.2. Utilizarea paletei Android Studio – Calendar Widget
Pentru a materializa ideea acestei lucrări, o aplicație de planificare a resurselor, un widget de tip Calendar vine în ajutor.
Material-Calendar-View este un simplu widget de tip calendar ce se bazează pe design-ul material. Acesta conține două funcționalități: date picker pentru a selecta dăți și un calendar clasic customizabil.
1.7.3.3. Views și Layouts
Toate interfețele într-o aplicație Android sunt construite folosind obiecte View și ViewGroup. Un view este un obiect prezentat pe ecran cu care utilizatorul poate interacționa. Un viewgroup este un obiect care împreunează toate obiectele de tip view pentru a defini Layout-ul interfeței. Android asigură atât obiectului View, cât și celui de ViewGroup o colecție de subclase care oferă controale de tip input comune (butoane și texte) și o varietate de modele layout ( lineară sau relativă ).
Layout definește structura vizuală a interfeței, adică a activităților și widget-urilor.
1.7.3.4. Activities și Fragments
Un fragment reprezintă comportamentul activității sau o porțiune a interfeței utilizatorului într-o Activitate. Există posibilitatea de a combina fragmente multiple într-o singură activitate pentru a construi o interfață “multi-pane”7 și pentru a refolosi un fragment în activități multiple. O activitate în aplicațiile Android este componenta care oferă un ecran cu care utilizatorii pot interacționa, iar fiecărei activități îi este oferită o fereastră în care să “deseneze” interfețe.
CAPITOLUL 2. Proiectarea de ansamblu a sistemului informatic
2.1. Obiectivele și oportunitatea aplicației informatice
“Dost thou love life? Then waste not time; for time is the stuff that life is made of.” (Benjamin Franklin, 1746, “Poor Richard’s Almanack”)
Tehnologia este cel mai popular servitor al timpurilor noastre. Vilfredo Pareto (1848-1923), sociolog și economist, ne sugerează prin teoria să arhicunoscută cu aplicabilități
globale, faptul că dacă alegem să ne concentrăm atenția asupra a 20% din activitățile zilnice care contează cu adevărat , acestea vor produce rezultate în procent de 80% din realizările noastre. Astfel, dacă reușim să ținem evidența a ceea ce contează cu adevărat și cum putem folosi diferite unelte pentru a celebra acele activități în cel mai eficient mod posibil, am putea spune că ne aflăm pe calea cea bună.
Aplicația informatică ce urmează a fi integrată este destinată managementului organizațional și eficientizării activităților în cadrul companiilor de diferite naturi. Fiecare membru ce face parte dintr-un personal va avea posibilitatea de a folosi într-o manieră eficientă un instrument organizatoric și de monitorizare ce ține evidența resurselor necesare desfășurării activităților zilnice în cadrul firmei, informații referitoare la acestea, și oferă eventualitatea de a rezerva/reține pentru sine resursele valabile.
Obiectivul lucrării este centralizat pe implementarea acestui sistem informatic și pe un potențial echilibru organizatoric la nivelul angajaților și nu numai și în vederea maximizării productivității la nivelul serviciilor oferite.
La nivel organizațional, obiectivul principal îl reprezintă ameliorarea modalităților de gestionare a activităților prin simpla gestionare de resurse într-un stadiu informatic. Astfel, o creștere a calității serviciilor este garantată, iar prin creștere a calității, înțelegem creșterea numărului de clienți și a profitabilității de asemenea.
Adresată unei palete vaste de companii din domenii diverse de activitate, aplicația BookiT oferă capacitatea de a monitoriza toate categoriile de resurse din cadrul unei unități și de a programa folosința lor în diferite zile, la diferite ore. Cu ajutorul acestui tip de instrument inteligent, se sprijină activ eficiența prin simplitate și îmbunătățirea colaborării între membrii departamentelor.
2.2. Locul aplicației informatice în sistem
Aplicația informatică a sistemului va fi constituită de o aplicație tip Android. Datele legate de resursele și angajații firmei vor fi introduse de către director sau un angajat pe poziție de admin (administrator al bazei de date) . Aceasta poate fi plasată pe magazinul GooglePlay pentru o mai mare vizibilitate, însă nu este strict necesar.
2.3. Definirea sistemului de codificare
Operaţia de codificare constă în stabilirea unei corespondenţe biunivoce între obiectele supuse codificării (bunurile materiale) şi simbolurile (codurile) de reprezentare a acestora, obţinute cu ajutorul unui limbaj de codificare, iar rezultatul codificării se concretizează într-un sistem de coduri .
Sistemul de codificare va fi ales astfel încât codurile să reflecte unicitatea și posibilitatea identificării oricărui element. Natura sistemului va fi alfanumerică, iar codurile vor fi de lungime variabilă întrucât acestea nu vor conține același număr de caractere.
Codurile vor fi de tip mnemonic și descriptiv, astfel încât să se formeze prin prescurtarea denumirii și descrierea caracteristicilor lor tehnico-constructive.
2.4. Diagrama Entitate-Asociere (DEA)
Modelul Entitate-Asociere este un model neformalizat pentru reprezentarea entităţilor de date (obiectele despre care se impune stocarea datelor) şi a relaţiilor care există între acestea.
2.5.Tehnologia de prelucrare și estimarea necesarului de resurse
Pentru utilizarea aplicației, cerințele de platforma hardware sunt simple și la îndemână: noii utilizatori ai aplicației BookiT au nevoie doar de un dispozitiv mobil cu sistemul de operare Andoid instalat și de acces la internet.
Programarea aplicației literalmente va avea loc în IDE-ul Android Studio, iar limbajele predominante vor fi Java și XML.
Pe partea de implementare, conexiunea serverului MySQL se va face cu ajutorul scripturilor PHP, iar răspunsurile server-ului vor fi în format Json.
Serverul MySQL va rula în serverul local WAMP, iar baza de date va fi creată prin intermediul consolei MySql din cadrul paginii PHP My Admin.
JSON sau JavaScript Object Notation a fost dezvoltat ca un subset al limbajului JavaScript la sfârșitul anilor ‘90, dar este un limbaj format-independent pentru a trece datele structurate într-un format “human-readable”. Datele de tip JSON sunt bazate pe perechi nume/valori. Vom putea vedea numele unui câmp legat de valoarea acelui câmp. Toate acestea pot fi aduse împreună și implementate de un singur programator care deține cunoștințele acestor tehnologii. Estimarea duratei de proiectare, dezvoltare și implementare este de 4 luni.