Magazin Virtual de Comercializare a Telefoanelor Mobile
=== 0d531be32f6b9f25b6dbb61f16a58ef08fc3190b_663775_1 ===
UNIVERSITATEA BABEȘ BOLIAY
FACULTATEA DE ȘTIINȚE ECONOMICE ȘI GESTIUNEA AFACERILOR
CLUJ NAPOCA
LUCRARE DE LICENȚĂ
Magazin virtual de comercializare a telefoanelor mobile
Conducător științific,
Conf.dr.ing.
Student:
BBBBBBBB vvvvvvv
2018
CUPRINS
CUPRINSUL FIGURILOR
Fіgure 5.1 Temperaturile culorilor 15
Fіgure 2.2 Аnsɑmblul SGВD [4] 20
Figure 2.1 schema de principiu a comerțului electronic cu plata prin card. b#%l!^+a? 27
Figure 2.2 Comerț clasic vs. comerț electronic. b#%l!^+a? 31
Figure 2.3 Comerț clasic vs. comerț electronic. b#%l!^+a? 31
Figure 2.4 Aplicațiile și infrastructura comerțului electronic. b#%l!^+a? 35
Figure 2.5 Arhitectura software a comerțului electronic. b#%l!^+a? 36
Fіgure 3.1 Modelul MVC – Model Viewer Controller al aplicatiei 43
Fіgure 3.2 Diagrama de structurare a proiectului. 44
Fіgure 4.2 Meniul aplicației. 46
Fіgure 3.3 Subsol de pagină. 47
INTRODUCERE
Magazinul online este numit și magazin electronic sau virtual și este un website conceput în scopul vânzării de produse și servicii. Formele în care este prezentat un magazin online sunt diferite, în cele mai multe dintre cazuri poate fi o platformă cu facilități de prezentare, introducere și ștergere a diverselor produse. Aceste produse pot fi accesate și cumpărate cu ajutorul mai multor metode de plată precum cărții de credit, plată ramburs, conturi cu bani virtuali, transfer bancar.
În mediul online mai sunt întâlnite magazine realizate pe platforme de tip e-commerce puse la dispoziție de către diverși dezvoltatori. Software libere ce permit dezvoltare de magazine online putem menționa Open Cart, Magento, Woocommerce, Presta Shop aceste soluții având drept scop un rezultat acceptabil cu un efort fizic și material, minim.
În scopul fidelizării, majoritatea magazinelor online oferă discounturi clienților care fac comenzi într-o anumită valoare, prin reduceri automate directe de preț sau prin cupoane procentuale (de exemplu 10% reducere).
CONȚINUTUL LUCRĂRII
Această lucrarea este structurată în 5 capitole după cum urmează:
În primul capitol intitulat “Introducere”, sunt prezentate aspecte generale privind importanța și actualitatea temei propuse a fi prezentate. Pe lȃngă acestea a fost realizat un rezumat al conținutului lucrării sublniind în final scopul și obiectivele principale.
În al doilea capitol intitulat “Analiza și proiectarea unui website”, sunt abordate pe rȃnd elementele implicate în proiectarea și realizarea unei aplicații web. Printre acestea au fost prezentate etapele de dezvoltare a unei aplicații, culorile folosite, limbajele de programare folosite în webdesign inclusv tehnologiile, direcții în webdesign și optimizarea site-ului în motoarele de căutare.
Capitolul trei intitulat “Proiectarea generală a site-ului”, pleacă de la scopul și necesitatea site-ului, tema lucrarii și se finalizează cu planificarea structurii site-ului.
Capitolul patru intitulat “Prezentarea aplicației propriuzise”, are două subcapitoe principale. În acest capitol se prezintă elementele componente ale site-ului realizat și funcționarea acestuia.
Lucrarea se încheie cu “Concluzii” iar la final este prezentată atȃt bibliografia folosită în lucrare cȃt și bibliografia de inspirație.
ANALIZA SISTEMULUI
Importanța și actualitatea temei
În mediul online totul este relativ. Acest lucru a devenit o provocare pentru orice companie care are această activitate deoarece câștigarea încrederii clienților nu este un lucru ușor de realizat.
Importanța implementării comerțului online este indiscutabilă pentru fiecare țară și companie. Altfel spus, acest sistem poate fi comparat cu o listă din care orice doritor poate lua cunoștință de fiecare produs precum și caracteristicile tehnice, amplasarea, valoarea și alte aspecte ale produsului. Este vorba de o multitudine de indicatori cu ajutorul cărora se pot obține diferite combinații, ca rezultat al procesării datelor prin intermediul unor programe computerizate sofisticate, în funcție de scopul propus.
Disponibilitatea unei baze de date în acest domeniu are o importanță majoră și aceasta ar facilita:
ținerea unei evidențe corecte asupra produselor, a proprietarilor și a caracteristicilor;
circulația liberă a produselor și a drepturilor asupra lor, inclusiv în afara hotarelor țării;
gestionarea produselor;
asigurarea garanției dreptului de proprietate asupra produselor;
impozitarea echitabilă a tuturor produselor;
calculul automat al numărului de produse puse la vânzare;
calculul automat al numărului de produse aflate pe stoc;
calculul automat al numărului de echipamente diferențiate pe categorii;
calculul sumelor încasate, etc.
Importanța efectuării activităților menționate, precum și a multor altor activități, constă în faptul că se vor crea posibilități pentru excluderea subiectivismului la luarea deciziilor prin eliminarea factorului uman.
O importanță majoră o au următoarele acțiuni:
stabilirea nivelului de informare;
combaterea evaziunii fiscale;
perfecționarea legislației în domeniul vânzărilor online;
corectarea erorilor comise în procesul vânzărilor;
analiza pieței în domeniu.
O aplicație online care conține și baze de date poate fi considerată un depozit de informații expuse în dosare, modalitatea de accesare a acestor informații fiind diferită de clasica arhivare în format tipărit.
Bazele de date accesate printr-o aplicație trebuiesc privite ca un for de comunicare între cititori și cei care creează sau administrează arhivele.
Sarcina administratorului este de a utiliza cele mai variate modalități pentru a pune la îndemâna cititorului orice document dorește.
Sistemele informatice, în toate domeniile au înregistrat o evoluție importantă în ultimii ani. În cazul instituțiilor mici, sau cele aflate în perioada de dezvoltare, cu un număr mic de salariați, se preferă realizarea unei baze de date comune care să ofere cât mai multe posibilități și avantaje.
Printre posibilitățile și avantajele oferite de SGBD putem menționa:
calculul automat al produselor;
calculul automat al utilizatorilor care au accesat site-ul;
calculul timpului petrecut de către utilizatori pe site;
calculul numărului de produse cumpărate;
calculul numărului de produse rămase pe stoc;
evidența tuturor categoriilor de produse pe ani, etc
Se poate spune că baza de date reprezintă cel mai important instrument de tehnologia informațiilor folosit de organizații pentru stocarea și prelucrarea informațiilor cu foarte multe interdependențe. La baza dezvoltării acestei noi tehnologii stau câteva concepte și noțiuni care trebuie cunoscute: date, informații, entitate, atribut, valoare.
SCOPUL ȘI OBIECTIVELE LUCRĂRII
Scopul lucrării constă în cercetarea aspectelor și problemelor privind realizarea unei aplicații care să conțină baze de date privind evidența produselor din telefonia mobilă.
Atingerea scopului s-a efectuat prin următoarele obiective și activități:
analiza aspectelor principale în constituirea organigramei de realizare a aplicației;
conturarea conceptelor teoriei generale ale temei;
urmărirea tendințelor în dezvoltarea sistemului de vânzare în mediul online și impactul acestuia asupra populației;
proiectarea și realizarea aplicației;
elaborarea documentației scrise.
În concluzie, scopul general al proiectului este de a aduce un nou produs de comerț electronic pe piața virtuală care oferă utilizatorilor/clienților o interacțiune decutibilă. Firmei deținătoare a produsului nostru îi oferă posibilitatea de a realiza o promovare online și o extindere a activității lor de comerț în mediul online.
Obiectivul proiectului:
Realizarea unei aplicații software pentru vânzarea produselor din domeniul telefoniei mobile
Prezentarea aplicației, a structurii logice și funcționale a acesteia.
Prezentarea interfeței, a principalelor ferestre și meniuri.
Realizarea unei lucrări scrise care să susțină, teoretic și exemplificativ, aplicația mai sus amintită.
Necesitatea colectării și organizării sub formă de tabele și stocării datelor a crescut dramatic în ultimul secol. [2], [4]. [6]
Pentru o funcționare eficientă a firmei, este important să procesăm și să organizăm toate datele cu care lucrează aceasta, într-un mod cât mai inteligent, folosind metode care permit accesul rapid și simplu la informațiile prelucrate. Programele de baze de date precum Microsoft Access, MySQL, ORACLE, etc sunt destinate acestui scop.
În cadrul fiecărei activități disponibilitatea informației și capacitatea de a o gestiona în mod eficient sunt esențiale. Din acest motiv, fiecare organizație dispune de un sistem informațional care gestionează informația necesară realizării funcțiilor respectivei organizații.
Răspândirea tehnicii de calcul în aproape toate activitățile umane generează o continuă creștere în computerizarea sistemelor informaționale [4].
În sistemele bazate pe tehnică de calcul, informația este înregistrată sub formă de date, care necesită o interpretare pentru a furniza informații. [6] Nu se poate da o definiție exactă a conceptului de dată, precum și a diferenței dintre dată și informație. Data nu are nici o semnificație, dar odată interpretată și corelată convenabil, ea furnizează informații ce îmbogățesc cunoașterea asupra lumii înconjurătoare. [6]
PROIECTAREA UNUI WEBSITE MAGAZIN ONLINE
În cele ce urmează se enumeră câteva reguli de care este necesar să se țină cont la proiectarea magazinului online în scopul devenirii afacerii profitabile: [8]
Scopul principal – vânzarea produselor
butonul „cumpără” este cel care face diferența dintre un magazin online și un site de prezentare a unui brand. Trebuie să fie cât mai vizibil pentru vizitatorii siteului.
Valorificarea avantajelor produselor
Produsele trebuie să fie structurate sub „oferte speciale” sau „colecție nouă”.
Câștigarea încrederii clienților
Produsele trebuie să aibă descrieri cât mai detaliate cu pozele aferente.
Prezentare logo companie
Un logo remarcabil poate fi considerat cartea de vizită a magazinelor online.
Oferte reduceri, transport gratuit și premii de fidelitate
Cumpărătorii sunt atrași de reduceri, de transportul gratuit al produselor, sau de premiil de fidelitate.
Ultimele noutăți
Facilitarea accesului la informație prin informarea periodică a clienților sub forme de newsletter de exemplu.
Implementare coș de cumpărături, panou autentificare și casetă căutare
Prin autentificarea fiecărui client în contul propriu aceștia își pot verifica istoricul comenzilor și pot beneficia de oferte speciale. Implementarea casetei de căutare facilitează accesul la produsele căutate.
Afișarea metodelor de plată acceptate
Înlesnește clientului decizia dacă poate cumpăra sau nu din magazinul online. Principale metode de plată sunt clasice precum cardurile de credit, debit, ramburs, PayPal dar fiecare magazin online are propria politică de plată astfel încât poate face unele restricționări la metodele de plată.
Utilizarea de indicatori de credibilitate
Aceștia conferă vizitatorilor o garanție în ceea ce privește securitatea tranzacților efectuate la nivelul magazinului tău online.
Număr de contact vizibil și suport tehnic prin chat
Cumpărătorul trebuie să aibă posibilitatea contactării directe a departamentului de vânzări din cadrul companiei al cărei site este magazinul online. Suportul tehnic permite informarea rapidă a cumpărătorului astfel încât acesta poate genera o productivitate mult îmbunătățită decât în cazul discuției pe email.
Caracteristicile de mai sus sunt importante să fie combinate și cu un Design „curat” [5], adaptat domeniului de activitate precum și tipului de produs vândut. Meniurile trebuie să fie reprezentative și ușor accesibile.
Recenziile primite din partea clienților vor contribui la creare unei reputații bune a magazinului online.
Evoluția tehnologiei, a metodelor și tehnicilor de organizare și de stocare a informațiilor precum și necesitatea de a prelucra rapid și sigur un volum mare de date, au determinat dezvoltarea și implementarea conceptului de bază de date în tehnologia informației. [4]
Primele baze de date au fost dezvoltate pe sisteme mainframe fiind manipulate de specialiști special instruiți pentru a gestiona aceste sisteme. Bazele de date au fost simple sisteme de gestionare așa numitele SGBD-uri. Primul SGBDR a fost lansat de compania Oracle care utiliza sistemul de interogare SQL. Deși versiunea originală a fost dezvoltată pentru alt tip de sistem, Oracle a fost unul dintre primii furnizori care a lansat o versiune pentru sistemele PC pe sistem de operare MS-DOS.
La jumătatea anilor 80, firma Sybase a lansat SQL-Server propriul SGBDR companiei care conținea biblioteci client pentru accesul la baza de date. Asigurând suportul pentru proceduri stocate și o interoperatibilitate sporită cu diverse tipuri de rețele SQL-Server a devenit un produs de succes în mediile client/server. Primele aplicații de baze de date ce foloseau un singur fișier pentru a stoca toată informația din baza de date au apărut odată cu apariția sistemelor PC [4].
Aplicațiile erau de tip xBase limbaj care s-a răspândit foarte repede fiind utilizat cu precădere pentru manipularea datelor.
Printre sistemele care au utilizat xBase se regăsesc și dBase, FoxPro și FoxBase care rulau sub MS-DOS și împărtășeau limitările acestuia.
În anul 1992 firma Microsoft lansează aplicația Access care se bazează în mare parte pe logica FoxPro. În scurt timp Microsoft Access devine cea mai folosită aplicație de baze de date de tip „flat file” de pe sistemele PC.
Prin intermediul limbajului de programare numit Visual Basic for Applications (VBA), bazat pe limbajul de programare Visual Basic datele pot fi manipulate mult mai ușor, și pot fi folosite automatisme pentru interogări, afișări, etc.
La începutul anului 2003 compania Microsoft a anunțat lansarea aplicației Visual Studio for Applications, prima tehnologie care livrează capabilități de personalizare a aplicațiilor integrate în pagini Web [4].
În ultimul deceniu mediul economic a suferit o serie de schimbări. Consecința acestor transformări petrecute de-a lungul ultimelor decenii, asupra civilizației umane, în general și a mediului economic, în particular, impune tot mai pregnant necesitatea stocării informației economice într-o manieră care să permită accesul rapid, precum și posibilitatea de a extrage și a evidenția în mod inteligent doar informația solicitată.
Bazele de date asigură o organizare sistematică a informațiilor care este necesară păstrării și accesării acestora.
Sсοpul ɑplісɑțіeі este prοсereɑ șі οrgɑnіzɑreɑ dɑtelοr într-un mοd сât mɑі іntelіgent, fοlοsіnd metοde сɑre permіt ɑссesul rɑpіd șі sіmplu lɑ іnfοrmɑțііle preluсrɑte. După сum ɑm mențіοnɑt în сɑpіtοlele ɑnterіοɑre, prіntre prοgrɑmele de bɑze de dɑte destіnɑte ɑсestuі sсοp. se regăsește șі MγSQL
Proiectarea generală:
principalul obiectiv pe care îl are este elaborarea concepției tehnice și logice a sistemului propus;
definirea sistemului și analiza acestuia din punct de vedere funcțional;
stabilirea elementelor componente de bază ale sistemului informatic;
analiza tuturor datelor, atât de întrare cât și de ieșire;
analiza bazei informaționale de intrare;
Structura sistemului informatic este formată dintr-un ansamblu de intrări și ieșiri definite în funcție de obiectivele noului sistem.
Fazele proiectării trebuiesc parcurse în ordinea următoare:
punctul inițial – stabilirea obiectivelor principale;
proiectarea intrărilor și ieșirilor;
stabilirea/proiectarea bazelor tehnico-informaționale de intrare și ieșire;
proiectarea funcțională;
Etapele de dezvoltare a unei aplicații
Scopul și obiectivele aplicației Web – Identificarea și înțelegerea nevoilor vizitatorilor.
Reprezintă o etapă foarte importantă în realizarea unei aplicații.
Înainte de a începe proiectul de realizare și construire a site-ului, trebuie avute în vedere următoarele puncte:
stabilirea scopului site-ului;
identificarea țintei;
însușirea detaliată a obiectivelor principale;
întocmirea planului concis cu privire la informațiile ce vor fi disponibile pe site.
proiectarea propriu-zisă a site-ului care trebuie să ia în considerație cerințele impuse de către beneficiarul care a comandat lucrarea.
se discută cu beneficiarul toate cerințele de realizare a proiectului având în vedere aspectele generale și particulare ale site-ului ca produs final.
Aspecte generale ale proiectării interfeței Web
O regulă ce stă la baza conceperii unei interfețe utilizator pentru o aplicație (software) se referă la scrierea interfeței utilizator și anume: interfața utilizator este corect scrisă atunci când aplicația/programul se comportă așa cum se așteaptă utilizatorii săi. [5]
Conceperea site-urilor Web este subordonată acelorași reguli. [4], [5]
Navigarea prin site este o altă problemă importantă, de interfață în cazul site-urilor Web este. Informațiile precum icoanele sau privirea de ansamblu asupra site-ului definită printr-o pagină de cuprins, conferă utilizatorilor încrederea că vor găsi informațiile dorite într-un mod rapid și clar.
O facilitate absolut obligatorie este întoarcerea cu ușurință la pagina de start precum și la oricare alte zone importante de navigare prezente în cadrul site-ului. Astfel de linkuri trebuie să fie regăsite în toate paginile site-ului. Ele pot fi reprezentate prin butoane grafice sau ancore text, furnizând legături de navigare și dând certitudinea utilizatorului că se află în continuare în domeniul site-ului. [4], [5], [13]
Cotarea unei interfețe web ca fiind bună se face în funcție de mai multe criterii. [5] Printre acestea, unul important este contextul. Vizitatorii site-ului (a paginilor web) trebuie să fie conștienți de poziția lor în cadrul organizării informațiilor de pe site. Cazul documentelor tipărite este un context clar dat de o combinație de indicii puse la dispoziție de proiectul grafic al publicației tip carte, revistă, raport tehnic, etc care este perceput ca obiect fizic.
Cazul paginilor online – proiectantul acestora trebuie să furnizeze un anumit context al navigării. Câteva criterii riguroase importante sunt prezentate mai jos: [13]
Asigurarea simplității și consistenței –informații clare și de actualitate prin introducerea în pagină a unui număr redus de simboluri.
Stabilitatea designului – asigurarea funcționării elementelor interactive ale site-ului în vederea exploatării eficiente a acestuia. Stabilitatea presupune următoarele componente:
realizarea curată și optimă a site-ului;
mentenanța unei bune funcționări a site-ului implementat.
Asigurarea accesibilității – verificarea și realizarea compatibilităților funcționale. Datorită posibilităților multiple oferite de tehnologiile actuale, unii vizitatori ar putea naviga prin site folosind navigatoare precum Lynx sau Links din mediile Linux. Avantajul limbajului HTML este abilitatea acestuia de a oferi mesaje alternative fiecărui obiect multimedia ceea ce conduce la o înțelegere mai bună a funcționalităților elementelor grafice din paginile site-ului.
Proiectarea site-ului Web
Activitatea de proiectare implică o serie de factori atât tehnici cât și organizatorici de care trebuie să se țină seama.
Scopul majorității structurilor organizaționale este acela de a menține un minim de variabile locale ce trebuiesc păstrate cu ușurință în memoria de scurtă durată. În acest scop se utilizează diverse combinații de design grafic și șabloane (layout-uri) ale informației. Pe un site, vizitatorii trebuie să aibă acces la părți discrete de informație, disponibile în cantități ușor de reținut. Modul în care oamenii caută și folosesc informațiile sugerează de asemenea faptul că unitățile de informație mici, distincte, se dovedesc mai funcționale și mai facil de parcurs decât cele nediferențiate, de dimensiuni apreciabile.
Etapele de bază ale organizării informațiilor
împărțirea informațiilor în unități logice,
stabilirea ierarhiei modulelor de date în funcție de importanța și generalitatea acestora,
utilizarea ierarhiei stabilite în scopul creării de relații între unitățile logice,
verificarea și analizarea rezultatului din punct de vedere funcțional și al designului.
Elementele organizării site-ului
site-ul trebuie să prezinte o organizare simplă și clară;
pe lângă pagina de start, paginile subiectelor intermediare și paginile subsidiare, trebuie să se aibă în vedere diverse elemente menite de a facilita parcurgerea conținutului sitelui;
site-ul trebuie să conțină posibilități de navigare prin butoane, hărți de imagini, legături textuale, eventual cadre;
când sunt utilizate pentru legături imagini sau hărți, trebuiesc incluse legăturile textuale corespunzătoare;
la final, site-ul trebuie să fie consistent, acest lucru realizându-se prin utilizarea șabloanelor cu caracter comun tuturor paginilor din componența site-ului (mărimea și culoarea butoanelor, textul, legăturile, etc).
Culorile folosite
Important este sǎ se aleagǎ culoarea potrivitǎ în dezvoltarea unui website. Cu toate cǎ mulți au percepții diferite asupra culorilor și majoritatea oamenilor filtreazǎ anumite culori prin prisma propriilor experiențe din trecut, e important de reținut cǎ existǎ anumite efecte psihologice pe care unele culori le pot avea asupra utilizatorilor site-ului, astfel: [13]
Roșu – culoare cunoscutǎ ca stimulator al adrelinei, tensiunii și metabolismului.
Portocaliu – este o culoare activǎ și energicǎ. Aceastǎ culoarea exprimǎ fericire, entuziasm și creativitate.
Galben – culoare foarte activǎ și vizibilǎ. Folositǎ excesiv, aceastǎ poate distruge un design.
Verde – culoare asociatǎ cu natura. Este asociatǎ si cu prospețime, creștere și speranțǎ. Este mult mai ușoarǎ la ochi decât galben și este foarte versatilǎ, putând fii folositǎ în mai multe aplicații.
Albastru – culoare ce simbolizeazǎ deschiderea la nou, inteligențǎ și încredere.
Mov – aceastǎ culoare a fost asociatǎ, din punct de vedere istoric, cu loialitatea si puterea. Este întâlnitǎ în domeniul de web design în momentul în care dorești sa creezi un site care sa iasa în evidențǎ prin design.
Alb – culoarea ce reprezintǎ curǎțenia. Este si consideratǎ ca fiind o culoare a perfecțiunii, luminii și puritǎții.
Negru – culoare ce are adesea conotații negative, aceasta are în unele circumstanțe simbolul puterii și eleganței.
Un atribut al culorii care existǎ în toatǎ gama culorilor este cel al temperaturii. Aceste temperaturi sunt induse atât de culturǎ, cât și de naturǎ. În Figura 10 prezentatǎ mai jos, putem observa diferența.
Fіgure 2.1 Temperaturile culorilor
Culorile calde sunt cele de la roșu la galben, incluzând portocaliu, roz și maro. Datoritǎ asocierii lor cu soarele și focul, culorile calde repezintǎ cǎldura și mișcarea. Plasate alaturi de culorile reci, culorile calde tind sǎ iasǎ în evidențǎ, astfel producând contrastul.
Culorile reci sunt cele de la verde la albastru, incluzând și culoarea mov. Culoarea violet este una intermediarǎ între roșu și albastru, astfel poate fi în același timp și caldǎ și rece în funcție de cât de mult tinde spre cele douǎ. Culorile reci calmeazǎ și reduce tensiunea.
În domeniul web design-ului, culorile reci tind sǎ fie tot mai folosite pe post de culori de fundal sau folosite pentru elemente de dimensiuni mai mari ale unei pagini, pentru a scoate în evidențǎ mai ușor conținutul.
METODA CAZURILOR DE UTILIZARE. DIAGRAMA USE CASE
Diagramele USE CASE ne arată funcționalitatea sistemului. Aceste diagrame fac asocieri între așa numiții actori definiți ca fiind entități care interacționează cu sistemul și scanarii.
Principalele elemente ce caracterizează o diagramă USE CASE sunt:
cazuri de utilizare (use cases) sau scenarii. Aceste elemente/caracteristici descriu o secvență de acțiuni făcută de către un actor
relații între actori și scenarii care se formează în momentul în care un actor interactionează cu sistemul prin intermediul unui scenariu
relatii de tip include care poate identifica un scenariu necondițional regăsit în execuția unui alt scenariu
În figura următoare este prezentata diagrama USE CASE în care regăsim un exemplu de context de utilizare:
Un utilizator se autentifica pe site
Se realizează procedeul de autentificare
În urma autentificării se primește informația legată de statutul utilizatorului și anume, confirmarea sau infirmarea calității de client a utilizatorului
Clientul are permisiunea de a vizualiza produsele publicate pe site, telefoanele mobile
Clientul adauga telefonul vizualizat in cosul de cumparaturi
Clientul poate administra coșul de cumpărături prin adăugare, ștergere și vizualizare telefon selectat.
Urmează finalizarea comenzii și ultima etapă
Alegere metodei de plată și efectuarea plății.
Fіgure 2.2 Diagrama USE CASE.
PROCESE ȘI ACTIVITĂȚI. DIAGRAME
Pentru o bună organizare este necesară întocmirea diagramei proceselor și activităților care intervin în procesul de funcționare a companiei.
Această diagramă este prezentată în figura 2.3 în care actorii principali sunt:
Utilizator
Sistem
Descriere:
Utilizatorul accesează secțiunea cu lista de telefoane
Utilizatorul selecteaza ce telefon ar dori sa achizitioneze
Utilizatorul adauga telefonul dorit in cosul de cumparaturi
Numarul de telefoane de fiecare tip poate fi marit
Fіgure 2.3 Diagrama de activități.
Numarul de telefoane de fiecare tip poate fi scazut
Fiecare tip de telefon poate fi eliminat din cos
Utilizatorul alege ce modalitate de plata va folosi
Comanda e finalizata
Pre-conditii:
Utilizatorul trebuie sa fie autentificat si sa aiba completata adresa de livrare aferenta contului
Post-conditii:
Administratorii magazinului vor preda produsele comandate curierului
Alternative:
Dupa ce utilizatorul cere ca un telefon sa fie adaugat in cos, daca acesta exista deja in cosul de cumparaturi, sistemul va creste numarul de bucati cu o unitate pentru acel telefon
Dupa ce utilizatorul adauga un produs in cos, acesta poate alege sa adauge alte telefoane
Dupa ce utilizatorul s-a hotarat sa finalizeze comanda, acesta are de ales din 2 variante
Daca alege sa platesca numerar, atunci plata se va face cand curierul va livra telefoanele
Daca va plati cu cardul, comanda va fi finalizata dupa ce acesta va introduce datele cardului
Exceptii:
Daca datele cardului completate de catre utilizator nu au structura standard, un mesaj de eroare va fi afisat
Daca banca refuza cererea de debitare, un mesaj de eroare va fi afisat si utilizatorul va trebui sa foloseasca alt card pentru a plati comanda
În figura 2.4 este prezentată diagrama de secvențe.
Diagrama de secventa este folosită pentru documentarea scenariilor de utilizare, întrucât reflectă bine interacțiunile actorilor cu sistemul.
Fіgure 2.4 Diagrama de secvențe.
Plasarea unei comenzi se face pe baza procedurilor interne riguros stabilite. În figura 2.5 este prezentată diagrama de flux pentru plasarea unei comenzi
Fіgure 2.5 Diagrama de flux pentru plasarea unei comenzi.
Limbaje de programare folosite în web design. Tehnologii
Cu cât mai mult este întrebuințat internetul, cu atât apar mai multe site-uri noi, pagini web, portaluri internaționale ș.a.m.d. Pentru elaborarea site-urilor sau a paginilor web sunt folosite mai multe tehnologii și limbaje de programare precum: HTML, CSS, SGML, JS, XML, PHP etc.
HTML (Hypertext Markup Language) – [19], [42] Unul din primele elemente fundamentale ale WWW (World Wide Web) care descrie formatul primar în care documentele sunt distribuite și văzute pe Web. Multe din trăsăturile lui, cum ar fi independentă față de platforma, structurarea formatării și legăturile hipertext, fac din el un foarte bun format pentru documentele Internet și Web. Standardul oficial HTML este World Wide Web Consortium (W3C), care este afiliat la Intrenet Engineering Task Force (IETF). W3C a enunțat câteva versiuni ale specificației HTML, printre care și HTML 2.0, 3.0, 3.2, 4.0 și cel mai recent, HTML 5. Paginile HTML sunt formate din etichete sau tag-uri și au extensia .html sau .htm .În marea lor majoritate aceste etichete sunt pereche, una de deschidere <eticheta> și alta de închidere </eticheta>, mai există și cazuri în care nu se închid, atunci se folosește <eticheta /> browserul interpretează aceste etichete afișând rezultatul pe ecran. HTML-ul nu este un limbaj case sensitiv (nu face deosebirea între litere mici și mari). Pagina principala a unui domeniu este fisierul index.html respectiv index.htm Această pagină este setată a fi afișată automat la vizitarea unui domeniu. De exemplu la vizitarea domeniului www.nume.ro este afișată pagina www.nume.ro/index.html.
CSS (Cascading Style Sheets) – Permite o afișare mai clară, mai flexibilă a informațiilor stocate în cadrul unui document. Acest limbaj este un standard pentru formatarea elementelor unui document de tip HTML. Stilurile se pot atașa elementelor HTML prin intermediul unor fișiere externe (ce au extensia .css) sau în cadrul documentului, prin intermediul elementului <style> și/sau atributul style. Acest limbaj folosește selectori pentru a identifica pe ce atribut se aplicǎ un anumit format. Un selector poate fi aplicat pentru orice atribut dintr-o paginǎ sau pentru un singur atribut prin folosirea unui „id” sau o „clasǎ”.
ϹSS ɑсrοnіmul de lɑ Ϲɑsсɑdіng Stγle Sheets este un stɑndɑrd utіlіzɑt lɑ fοrmɑtɑreɑ elementelοr unuі dοсument HТML. Prіn іntermedіul fіșіerelοr eхterne sɑu în сɑdrul dοсumentuluі, stіlurіle se pοt ɑtɑșɑ elementelοr HТML, prіn elementul <stγle> șі/sɑu ɑtrіbutul stγle. ϹSS se pοɑte utіlіzɑ șі pentru fοrmɑtɑreɑ elementelοr ΧHТML, ΧML șі SVGL.
ϹSS se οсupă în generɑl сu ɑspeсtul șі сοntrοlul grɑfіс ɑl elementelοr dіn pɑgіnă сum ɑr fі: b#%l!^+a?teхtul, imɑgіnіle, fοndul, culοrіle, ɑșezɑreɑ elementelοr în сɑdrul ferestreі pɑgіnіі.
Асestɑ fοlοsește stіlurі ɑсesteɑ înglοbând sub un ɑnumіt nume ɑtrіbute de fοrmɑtɑre сɑre se ɑplісă elementelοr pɑgіnіі.
SGML (Standard Generalized Markup Language) – Standard internațional pentru definirea unor metode de reprezentare a textelor în format electronic, independent de dispozitiv și de sistemul de calcul. În seria de articole referitoare la acest standard vom încerca sa prezentăm istoricul și caracterizarea generala ale SGML-ului, plus structurile, declarațiile, proiectele și aplicațiile bazate pe SGML.
PHP – HγperТeхt Preprοсessοr – PHP este un lіmbɑj de prοgrɑmɑre ɑl сăruі nume este un ɑсrοnіm reсursіv ɑl Hγperteхt Preprοсessοr, prοvenіnd dіn lіmbɑ engleză. Іnіțіɑl ɑ fοst dezvοltɑt șі utіlіzɑt pentru reɑlіzɑrea de pɑgіnі web dіnɑmісe, în dezvοltɑreɑ pɑgіnіlοr șі ɑplісɑțііlοr web.
PHP este un lіmbɑj іmpοrtɑnt în prοgrɑmɑreɑ web, de tіp οpen-sοurсe șі server-sіde. [34], [42]
Аstfel fοlοsіnd PHP putem generɑ șі mɑnіpulɑ сοdurі HТML dɑr putem trіmіte heɑdere HТТP pentru ɑutentіfісɑre, setɑ сοοkіe-urі sɑu redіreсțіɑ utіlіzɑtοrіі dupɑ сrіterіі dοrіte.
JS (Javascript) – Limbaj de programare orientat obiect, folosit mai ales pentru introducerea unor funcționalități în paginile web. Codul Javascript din aceste pagini fiind rulat de către browser-ul web. Acest limbaj este folosit și cu scopul de a permite accesul la obiecte încastrate in site (embedded objects) sau în alte aplicații. Limbajul Javascript are o sintaxǎ apropiatǎ de cea a limbajului C, având mai multe în comun cu limbajul ‚Self’ decât cu cel ‚Java’.
АJАΧ – [Kris Jamsa – Programarea în Web – 1997] este o ɑltă tehnісă de сοnstruіre ɑ pɑgіnіlοr web. АJАΧ – Аsγnсhrοnοus JɑvɑSсrіpt ɑnd ΧML сɑre сοnstă în eхeсutɑreɑ de сererі HТТP în fundɑl, fără ɑ reînсărсɑ tοɑtă pɑgіnɑ web, șі ɑсtuɑlіzɑreɑ numɑі ɑnumіtοr pοrțіunі ɑle pɑgіnіі prіn mɑnіpulɑreɑ DΟM-uluі pɑgіnіі.
Аvɑntɑjul utіlіzărіі tehnісіі АJАΧ este сă permіte сοnstruіreɑ іnterfețelοr web сu tіmp de răspuns mіс, ɑstfel înсât οperɑțіɑ de înсărсɑre ɑ uneі pɑgіnі HТML сοmplete este în mɑre pɑrte elіmіnɑtă.
Аsp – Асtіve Server Pɑges – este сunοsсut șі sub denumіrіle de Ϲlɑssіс АSP sɑu АSP Ϲlɑssіс, ɑ fοst prіmul lіmbɑj de prοgrɑmɑre “server-sіde” ɑl luі “Mісrοsοft” pentru generɑreɑ de pɑgіnі web dіnɑmісe.
Pɑgіnіle АSP sunt fіșіere stοсɑte pe server Web șі ɑu eхtensіɑ .ɑsp. Асeɑstă eхtensіe fɑсe deοsebіreɑ dіntre ο pɑgіnă АSP șі un fіsіer HТML.
Prіntre lіmbɑjele de generɑre ɑ sсrіpt-urіlοr, mențіοnăm Mісrοsοft Vіsuɑl Вɑsіс Sсrіptіng Edіtіοn, Mісrοsοft Jsсrіpt sɑu PerlSсrіpt. Lіmbɑjele preсum VВSсrіpt dіferă de lіmbɑjele de prοgrɑmɑre сοmplete (Vіsuɑl Вɑsіс, Jɑvɑ), prіn ɑfіșɑreɑ сu sіmplіtɑte ɑ regulіlοr șі sіntɑхelοr.
Prіnсіpɑlul ɑvɑntɑj ɑl utіlіzărіі ɑсestοr lіmbɑje de generɑre de sсrіpt-urі utіlіzɑte lɑ сοnstruіreɑ pɑgіnіlοr Web este fɑptul сă ɑсestɑ fɑсіlіteɑză mοdіfісɑreɑ unuі sіte Web сhіɑr șі după сe ɑ fοst lɑnsɑt în Іnternet (lɑ desсοperіreɑ uneі erοɑrі în sіte, se pοɑte înсărсɑ rɑpіd pɑgіnɑ respeсtіvă în prοgrɑmul Νοtepɑd sɑu Wοrdpɑd unde se vɑ rezοlvɑ prοblemɑ).
Ο pɑgіnă АSP pοɑte сοnțіne сοmpοnente pe pɑrteɑ de server. Prіn сοmpοnente se înțelege сevɑ сɑre ɑre în struсturɑ sɑ (sɑu permіte prіn struсturɑ sɑ):
Metοde – determіnă ɑсțіunіle сɑre se pοt efeсtuɑ сu un οbіeсt.
Prοprіetățі – pοt fі сіtіte sɑu stɑbіlіte pentru ɑ preсіzɑ stɑreɑ.
Ϲοleсțіі – sunt seturі de pereсhі сheіe șі vɑlοɑre, referіtοɑre lɑ сοmpοnentă.
Pɑgіnіle Асtіve Server ɑu dοuă tіpurі de сοmpοnente: b#%l!^+a?
οbіeсte іnсluse;
сοmpοnente сe pοt fі іnstɑlɑte.
MγSQL – Struсtured Querγ Lɑnguɑge – este un sistem de gestiune a bazelor de date – SGВD, relɑțіοnɑl, rοbust șі rɑpіd, prοdus de сοmpɑnіɑ MγSQL АВ – ο сοmpɑnіe suedeză șі dіstrіbuіt sub GΝU – Lісențɑ Publісă Generɑlă. Lɑ οrɑ ɑсtuɑlă înсă este сοnsіderɑt сel mɑі pοpulɑr SGВD οpen-sοurсe, fііnd ο сοmpοnentă сheіe ɑ stіveі LАMP (Lіnuх, Аpɑсhe, MγSQL, PHP).
Sіstemele de gestіune ɑ bɑzelοr de dɑte (DВMS – DɑtɑВɑse Mɑnɑgement Sγstem) sunt sіsteme іnfοrmɑtісe speсіɑlіzɑte în stοсɑreɑ șі preluсrɑreɑ unuі vοlum mɑre de dɑte, numărul preluсrărіlοr fііnd relɑtіv mіс.
În ɑrhіteсturɑ unuі sіstem de bɑze de dɑte SGВD οсupă lοсul сentrɑl [12], [11].
Un SGВD este ɑnsɑmblul sοftwɑre іnterpus între utіlіzɑtοrі șі bɑzɑ de dɑte șі este un іnterpretοr de сererі de ɑссes sɑu regăsіre de dɑte în bɑzɑ de dɑte, eхeсută сerereɑ șі returneɑză rezultɑtul. SGВD este un sіstem de prοgrɑme сɑre fɑсіlіteɑză prοсesul defіnіrіі, сοnstruсțeі, οrgɑnіzărіі șі mɑnіpulărіі dɑtelοr pentru dіverse ɑplісɑțіі. Utіlіzɑtοrul ɑre ɑссes lɑ SGВD prіn іntermedіul uneі іnterfețe (ɑplісɑțіe) сu ɑjutοrul сăreіɑ stɑbіlesс pɑrɑmetrіі іnterοgărіі șі se prіmește răspuns; întreg ɑnsɑmblul este desсrіs în fіgurɑ următoare.
Fіgure 2.6 Аnsɑmblul SGВD [4]
Funсțіοnɑreɑ unuі SGВD se reɑlіzeɑză prіn сοmenzі speсіfісe lіmbɑjuluі SQL. Νіvelele сοnсeptuɑl șі іntern nefііnd dіstіnсt delіmіtɑte sunt ɑdresɑte prіntr-un lіmbɑj сοmun numіt DDL – Dɑtɑ Defіnіtіοn Lɑnguɑge, utіlіzɑt pentru ɑdmіnіstrɑreɑ șі prοіeсtɑreɑ bɑzeі de dɑte în defіnіreɑ ɑmbelοr sсheme. Dɑсă SGВD ɑre ο delіmіtɑre сlɑră între nіvelul сοnсeptuɑl șі сel іntern, ɑtunсі DDL se fοlοsește pentru сοmenzіle lɑ nіvel сοnсeptuɑl, іɑr pentru speсіfісɑreɑ sсhemeі іnterne se fοlοsește lіmbɑjul SDL – Stοrɑge Defіnіtіοn Lɑnguɑge. Pentru сel de ɑl treіleɑ nіvel, eхtern, se fοlοsește lіmbɑjul VDL – Vіew Defіnіtіοn Lɑnguɑge, destіnɑt utіlіzɑtοrіlοr șі pentru іnterfɑțɑ ɑсestοrɑ сu nіvelul сοnсeptuɑl. Pentru οperɑțііle tіpісe legɑte de сăutɑre, іnserɑre, ștergere șі mοdіfісɑreɑ dɑtelοr, SGВD dіspune de b#%l!^+a?un lіmbɑj de mɑnіpulɑre numіt DML – Dɑtɑ Mɑnіpulɑtіοn Lɑnguɑge.
Optimizarea site-ului în motoarele de cǎutare
Optimizarea site-ului pentru motoarele de cautare (SEO – Search Engine Optimization) este un proces obligatoriu pentru companie care doreste să aibă rezultate în piața online, realizat de regulă de cǎtre un web developer, care afecteazǎ vizibilitatea unui website sau a unei pagini web într-o cautare pe un motor de cǎutare. Acest proces face ca site-ul sǎ fie cât se poate de ușor de gǎsit pe motoarele de cǎutare și prin intermediul acestora, de cǎtre potențialii clienți.
Un motor de cǎutare pe web este un site de sine stǎtǎtor ce deține un întreg system informatic conceput pentru a cauta informații pe World Wide Web. Aceste motoare de cǎutare sunt folosite pentru a ajuta utilizatorii web în a gasi site-urile care au informația de care aceștia au nevoie. Informația poate fi atât text, cât și poze, videoclipuri sau diverse fișiere.
În mare, existǎ douǎ tipuri de motoare de cǎutare: [Startup Nation – 11 Steps to create a successful Web Site]
Directoare – sunt susținute de posesorul site-ului sau chiar și de mai mulți utilizatori. Aici se înregistreazǎ manual site-urile și se adaugǎ cât mai multǎ informație. Eventual se pot lǎsa și review-uri. Dacǎ site-ul nu este adǎugat într-un director, acesta nu va fi vizibil în rezultatele cǎutarii. Exemple: http://dir.yahoo.com/ sau http://www.dmoz.org/ sunt exemple din aceastǎ categorie.
Bazate pe ‘Crawler’ – sunt cele mai eficiente motoare de căutare deoarece ele opereazǎ automat prin clasificarea și ierarhizarea site-urilor prin trimiterea unor ‘pǎianjeni’ pentru a se ‘împânzi’ pe orice site întâlnește si a-l analiza și aduna cât mai multe informații pentru o clasificare cât mai exactǎ. Spre deosebire de motoarele de cǎutare de top ‘directoare’, aici site-ul este înregistrat automat de cǎtre acești pǎienjeni. Exemple: Google, Yahoo! sau Bing sunt exemple din aceastǎ categorie.
PROIECTAREA GENERALǍ A SITE-ULUI
Scopul și necesitatea site-ului
Site-ul unei companii care se ocupă cu comercializarea telefoanelor mobile este un site de tip organizațional, oferind utilizatorilor informații atȃt despre serviciile pe care organizația economică le prestează, precum și a caracteristicilor produselor comercializate.
Site-ul companiei conferǎ urmǎtoarele avantaje:
Publicitate – firma nu mai este restrânsǎ din punct de vedere a vizualizării având posibilitatea de a insera cantitǎți nelimitate de informații.
Relație cu clienți externi – site-ul fiind public și accesibil de oricine de pe mapamond, permite expunerea firmei la o plajǎ nelimitatǎ de posibili clienți.
Prestanțǎ – indiferent de tipul de companie, orice potențial client va verifica site-ul pentru a afla detalii suplimentare pentru o eventualǎ comandă. Printr-un design elegant și o funcționalitate sporitǎ, imaginea și prestanța companiei va crește cu siguranțǎ.
Disponibilitate aproape permanentǎ – majoritatea companiilor care oferǎ gǎzduire pentru un site oferǎ o garanție prin care asigurǎ ca site-ul poate fi accesat de oricine, de oriunde, la orice orǎ.
Cost foarte redus pentru toate avantajele și oportunitǎțile aduse de site-ul web.
Din target-ul țintǎ al unei companii fac parte atât menținerea clienților vechi cȃt și potențiali colaboratori în proiecte și potențiali clienți/beneficiari ai serviciilor companiei. Așadar, rolul principal al site-ului este de promovare a firmei și implicit de vânzare a produselor și de asemenea un mijloc de comunicare.
Analizele personale realizate asupra site-urilor au evidențiat principalele puncte slabe care constau în faptul cǎ informația este organizatǎ într-un mod sobru, static și neatractiv. De asemenea, informația este supraîncǎrcatǎ, fǎcând dificilǎ identificarea și accesarea unor informații esențiale clienților.
Am dorit sǎ realizez un site dupǎ propria viziune și dupǎ percepția mea a ceea ce trebuie sǎ conținǎ obligatoriu un site de tip informațional. Astfel, doresc sǎ aduc o schimbare prin faptul cǎ pastrez doar informațiile esențiale, punând accent pe aspect printr-un design inovativ. Contribuția proprie și inovația pe care le aduc în acest website constǎ în special în reorganizarea informației într-un mod mai atractiv și interactiv pentru clienți, luând în calcul cǎ aceștia reprezintǎ majoritatea publicului țintǎ din totalul utilizatorilor.
Tema site-ului
Prin tema site-ului ne referim la identificarea temei site-ului în funcție de obiectul de activitate. Consider cǎ tema site-ului trebuie sǎ se afle în concordanțǎ cu scopul și motivul pentru care se realizeazǎ site-ul. Tema site-ului trebuie sǎ înfǎțișeze cât mai elocvent domeniul de activitate, utilizatorii țintǎ și mesajul ce trebuie transmis acestora.
Prin temǎ ne referim la aspectul de ansamblu al site-ului ce poate cuprinde culori dominante, imagini specifice, grad de formalitate, sunet fundal, organizare layout, etc. În cazul de fațǎ ne referim la un website din domeniul construcțiilor, cu scopul, așa cum am amintit mai sus, promovării în mediul online și de a informa persoanele interesate de obiectul de activitate. Așadar trebuie creat un cadru al site-ului, relativ formalizat, dar cu elemente interactive.
Astfel, pentru conturarea temei site-ului voi avea în vedere realizarea unui cadru specific utilizȃnd:
culori predominante care denotǎ calm și seriozitate
imagini care sǎ inspire calitate, performanțǎ și prestanțǎ
meniu structurat într-un mod accesibil
conținutul textul sǎ fie cât mai concis și expresiv
conținutul paginilor sǎ fie cât mai bine structurat pentru o cercetare rapidǎ
layout optimizat pentru a fi ușor accesibil și de conexiuni slabe de internet
Planificarea stucturii site-ului
“Construirea unui site este asemenea contruirii unei case. Dacǎ acest proces începe cu o schițǎ, fiecare etapǎ va fi clar delimitatǎ și trecerea la pasul urmǎtor va fi mult mai ușoarǎ. Pentru un site web se folosește Arhitectura Informaționalǎ (IA – Information Architecture). Acest proces presupune împǎrțirea a tot conținutul site-ului în “bucǎți” și apoi aranjarea acestora într-o ordine logicǎ și ierarhicǎ.”
Cauzele care au condus la necesitatea realizării unei aplicații web care are domeniu de activitate comercializarea telefoanelor mobile, au fost reprezentate grafic în figura 3.1, sub forma de diagramă fishbone.
Diagrama fishbone inventată de către cunoscutul savant Kaoru Ishikawa, dr japonez, este un instrument de analiză, care oferă un mod sistematic de a privi efectele și cauzele. Denumirea vine de la faptul că această diagramă seamănă cu un schelet de pește. Se mai numește și diagrama cauză-efect. Aceasta poate ajuta la identificarea motivelor pentru care o activitate/procedeu nu se desfășoară conform planului.
Pașii principali în construirea și analizarea unei diagrame fishbone sunt:
Identificare și definire a rezultatului ce trebuie analizat
Realizarea desenului șira spinării după care a chenarului în care se va nota efectul.
Identificarea cauzelor principale care au condus la apariția efectului
Discuții despre fiecare cauză principală
Identificarea treptată a altor cauze și amplasarea acestora în dreptul subcategoriilor.
Analiza diagramei, analiză care poate conduce la identificarea cauzelor care necesită cercetări suplimentare.
Fіgure 3.7 Diagrama fishbone.
În figura următoare sunt prezentate obiectivele sub formă de diagramă numită diagrama arbore, denumire provenită din engleză Tree Diagram sau din germană Baumdiagramm.
Această diagramă permite identificarea mijloacelor în scopul a atinge targhetul prin evidențierea factorilor care contribuie la producerea unui efect sau obiectiv de realizat.
Are aspectul unui „arbore”, de aici și denumirea diagramei. Permite trecerea prin etape la nivel de detaliu succesiv a relațiilor cauze-efect, de la alegerea unui punct de plecare de interes general.
Fіgure 3.8 Diagrama obiectivelor – diagrama arbore.
Întrucât diagramele cauză- efect ajută la identificarea cauzelor posibile, putem folosi analiza Pareto pentru a decide cauzele ce vor fi analizate.
Diagrama Pareto este de fapt o histograma cu reprezentare bară verticală. Aceasta ne furnizează informații precum cele legate de repetiție – de cate ori a fost repetat un aspect al unei situatii. Înălțimea fiecarei bare ne arată frecventa evenimentului cu care a aparut.
Diagramele Pareto sunt utile pentru a descoperi care sunt cauzele problemei într-un proces sau într-un proiect.
În figura 3.3 este prezentată diagrama Pareto realizată și folosită pentru a afișa frecvența problemelor rapotate de către clienți prin formularul de contact, în procesul de vânzare a telefoanelor mobile.
Fіgure 3.9 Diagrama Pareto.
PREZENTAREA APLІСAȚІEІ DEZVOLTATE
Descrierea generală a aplicației
În acest subcapitol va fi prezentată aplicația și publicată online, realizată precum și elementele componente ale website-ului, împreunǎ cu modul în care acestea au fost realizate.
Ca orice aplicație web aplicația proiectată și dezvoltată respectă elementele necesare unei bune integrări în site.
Pentru realizarea interfeței s-au folosit tehnologiile HTML și CSS.
Website-ul are o interfață prietenoasă utilizându-se un design simplu.
Utilizatorii au la dispoziție un formular de login sau de înregistrare care pote fi accesat când se dă click pe butonul specific din header. Atunci cand un un client este autentificat, butoanele de autentificare / inregistrare dispar iar in locul lor apare butonul de deconectare (logout).
Un utilizator autentificat sau nu, poate accesa lista de produse disponibile, poate vizualiza detaliile produselor, poate adauga/sterge produse in lista de cumparaturi dar nu poate finaliza comanda pana nu se autentifica. Formularul de finalizare comanda (practic e locul in care spune locul de livrare al comenzii) va fi automat precompletat cu adresa ultimei comenzi. In cazul in care e prima comanda campurile vor fi goale.
Utilizatorul mai are la dispozitie posibilitatea de a trimite un mesaj administratorilor site-ului folosind pagina de contact. Aici diferenta intre un utilizator autentificat si unul neautentificat se poate vedea in campurile formularului. Atunci cand un utilizator autentificat intra pe pagina de contact, campul de nume si email va fi automat precompletat cu datele folosite la inregistrare. Dupa ce utilizatorul da click pe butonul de trimite, acesta este trimis catre pagina principala si un mesaj de confirmare ii este afisat. In acelasi timp un email se va trimite catre administratorului siteului (aceasta parte chiar functioneaza si o sa o detaliez in subcapitolul urmator).
In principiu un utlizator autentificat poate face 2 actiuni in plus fata de unul neautentificat:
poate finaliza o comanda
poate accesa istoricul comenzilor.
Pe pagina de istoric comenzi, clientul poate vedea detaliile fiecarei comenzi plasate de catre el si le poate anula pe cele care nu au fost livrate. Pentru a anula o comanda clientul trebuie sa completeze un camp in care sa explice motivul anularii.
Admnistratorul se poate autentifica folosind folrmularul de login pentru administrator si folosind pt campul de nume utilizator si parola valoarea „admin”. Dupa ce se autentifica acesta poate edita informatiile unui produs existent, poate adauga sau sterge un produs, poate vizualiza o lista cu toate mesajele trimise de useri folosind formularul de contact (mesaje primite si pe mail) si mai poate administra comenzile facute de clienti (anulare comanda, setare comanda in curs de livrare sau ca fiind livrata)
Implementarea aplicației
Cele mai importante parti din aplicatie sunt:
Sistemul de traducere – tot siteul e disponibil in 2 limbi (romana si engleza) dar se poate exinde foarte usor, tot ce trebuie facut pt a se adauga o noua limba e sa se traduca cuvintele sau propozitiile din fiserul inc/translate.php
Afisarea produselor pe pagina principala – pe pagina pricipala sunt afisate tot timpul cele mai vandute 8 produse. Identificarea celor mai vandute 8 produse se face folosind tabelul detalii_comanda din care se extrag cele mai comandate 8 produse. In cazul in care exista mai putin de 8 produse diferite comandate, lista se completeaza cu ultimele produse adaugate. Functia care face tot acest calcul se gaseste in fisierul inc/procesare-date.php la linia 20 (showPopularProducts())
Trimiterea de mail catre administratorul siteulul in momentul in care un utilizator completeaza formularul de contact. Dupa ce utilizatorul da click pe butonul de trimite, acesta este trimis catre pagina principala si un mesaj de confirmare ii este afisat. In acelasi timp un email se va trimite catre administratorului siteului. Pt trimiterea de mail se foloseste functia standard de la php si anume mail(). Trimiterea de mail se face din fisierul contact.php la linia 19.
Pentru setarea mediului pentru a se putea trimite un mail folosind functia mail() s-au folosit pasii de la adresa:
https://stackoverflow.com/questions/15965376/how-to-configure-xampp-to-send-mail-from-localhost
Afisarea mesajelor – acesta sunt de doua feluri: mesaje de confirmare (se afiseaza pe un fundal verde) si mesaje de eroare (se afiseaza pe un fundal rosu). Mesajele sunt generate din diverse locuri din aplicatie (textul ce trebuie afisat se salveaza in variabila globala $_SESSION) iar in majoritatea paginilor, imediat dupa afisarea headerululi se apeleaza functia din fisierul inc/procesare-date.php de la linia 287 (afiseazaFlashMsg()) care verifica daca exista mesaje salvate in sesiune si le afiseaza dupa care le sterge pt a evita afisarea lor de 2 ori.
Procesul de administrare comenzi – Clientul poate doar vizualiza lista cu comenzi efectuate si poate anula o comanda ce nu a fost inca livrata. Administratorul poate face aceleasi lucruri plus alte 2 actiuni: setare status comanda in curs de livrare si setare status comanda ca fiind finalizata. Securitatea acestor actiuni este de un grad ridicat in sensul ca inainte de a se schiba un status se verifica daca actiunea este posibila. Spre exemplu nu se poate muta o comanda finalizata inapoi in statusul de in curs de livrare. Toate aceste actiuni/verificari sunt realizate in fisierul procesare-comenzi.php
Baza de date a aplicației
Baza de date este compusa din 6 tabele:
adrese,
comenzi,
detalii_comanda,
mesaje,
produse,
users.
Tabelul Produse
Tabelul produse este format din 7 coloane:
Câmpul id – este de tip intreg (integer(11)), lungimea maxima de 11 caractere, este cheia primara a tabelului si este generata automat (auto_increment). Este folosit pentru a usura identificarea unui produs,
Câmpul denumire – este de tip sir de caractere (varchar(200)) cu lungimea maxima de 200 de caractere. Contine numele, modelul si cele mai importante specificatii ale produsului (frecventa de retea, culoarea, memoria RAM, memoria interna etc).,
Câmpul imagine – este de tip sir de caractere (varchar(200)) cu lungimea maxima de 200 de caractere si contine calea catre imaginea produsului din directorul radacina.,
Câmpul descriere – este de tip text si contine descrierea detaliata a produsului.,
Câmpul pret – este de tip zecimal (decimal(12,2)) cu lungimea maxima de 12 caractere din care 2 sunt zecimalele si contine pretul produsului exprimat in lei.
Câmpul șters – este de tip intreg (tinyint(1)) cu lungimea maxima de 1 caracter si are 0 ca valoare predefinita. Campul este folosit pentru a se stabili daca produsul este comercializat de site sau a fost retras..
Câmpul created este de tip data (datetime) si are ca valoare predefinata data la care se face inserarea unui nou produs in tabel.
Codul sursă:
<?php
$pageTitle = "detalii_produs";
include("inc/header.php");
// obtinere date despre produsul selectat
if (isset($_GET["idprodus"]) && is_numeric($_GET["idprodus"])) {
$id = $_GET["idprodus"];
$comandaSQL = "SELECT denumire, imagine, descriere, pret FROM produse WHERE sters=0 AND id=".$id;
$rezultate = mysql_query($comandaSQL) or die(mysql_error());
$rezultat = mysql_fetch_array($rezultate);
if (empty($rezultat)) {
$_SESSION['flash_msg'][] = array(
'success' => false,
'msg' => tr('restricted_page_accessed')
);
header("Location: index.php");
exit();
}
$denumire = $rezultat["denumire"];
$imagine = $rezultat["imagine"];
$descriere = $rezultat["descriere"];
$pret = $rezultat["pret"];
if (empty($imagine) || !file_exists($imagine)) {
$imagine = 'img/products/no_image_available.png';
}
}
// daca nu exista produsul solicitat se trimite userul catre pagina principala
if (!isset($denumire)) {
$_SESSION['flash_msg'][] = array(
'success' => false,
'msg' => tr('restricted_page_accessed')
);
header("Location: index.php");
exit();
}
?>
<!– afisarea produs –>
<div id="page_body">
<div class="wrapper content product">
<h1 class="page_title"><?= tr('detalii_produs') .': '. $denumire; ?></h1>
<div class="product_picture">
<span>
<img src="<?php echo $imagine; ?>" title="<?php echo $denumire;?>"/>
</span>
</div>
<div class="product-details">
<h3 class="mt_0"><?= tr('nume'); ?>: <?php echo $denumire; ?></h3>
<h4><?= tr('pret'); ?>: <?= formatarePret($pret); ?> RON</h4>
<p><b><?= tr('descriere'); ?>: </b><?php echo $descriere; ?></p>
<form action="procesare-cos.php" method="POST">
<input type="hidden" value="<?php echo $imagine; ?>" name="produsSelectatImagine"/>
<input type="hidden" value="<?php echo $denumire; ?>" name="produsSelectatNume"/>
<input type="hidden" value="<?php echo $pret; ?>" name="produsSelectatPret"/>
<input type="hidden" value="<?php echo $id; ?>" name="produsSelectatId"/>
<input type="submit" value="<?= tr('adauga_in_cos'); ?>" name="submit">
</form>
</div>
<div class="clear mb_20"></div>
</div>
</div>
<?php include("inc/footer.php"); ?>
Tabelul Users
Tabelul users este format din 7 coloane:
Campul Id – este de tip intreg (integer(10)), lungimea maxima de 10 caractere, este cheia primara a tabelului si e generata automat (auto_increment). Este folosit pentru a usura identificarea unui utilizator
Campul Nume, prenume și email – sunt de tip sir de caractere (varchar(100)) cu lungimea maxima de 100 de caractere. Numele si prenumele sunt folosite in mesajul de tip 'welcome' ce se afiseaza dupa autentificare dar si in formularele de pe site ce utilizeaza aceste informatii. Campul email este folosit pentru autentificare.,
Campul Parola – este de tip sir de caractere (varchar(40)) cu lungimea maxima de 40 de caractere si contine parola clientului criptata folosind sha1().,
Campul Blocat – este de tip intreg (tinyint(1)) cu lungimea maxima de 1 caracter si are 0 ca valoare predefinita. Campul este folosit pentru a se stabili daca utilizatorul are contul blocat.,
Campul created este de tip data (datetime) si are ca valoare predefinata data la care se face inserarea unui nou utilizator in tabel.
Tabelul Mesaje
Tabelul mesaje este format din 6 coloane: id, user_id, nume, email, mesaj, created. Este folosit pentru stocarea mesajelor trimise de catre utilizatorii magazinului prin intermediul formularului de contat.
Campul id este de tip intreg (integer(10)), lungimea maxima de 10 caractere, este cheia primara a tabelului si e generata automat (auto_increment). Este folosit pentru a usura identificarea unui mesaj din tabel.
Campul user_id este de tip intreg (integer(10)), lungimea maxima de 10 caractere si e cheie straina din tabelul users (users.id=mesaje.user_id). Acest camp este completat doar cand cel care a trimis un mesaj era autentificat pe site si este folosit pentru a lega cele 2 tabele, implicit pentru a asocia un mesaj cu clientul care l-a expediat.
Campurile nume si email sunt de tip sir de caractere (varchar(100)) cu lungimea maxima de 100 de caractere si sunt completate doar daca cel care a trimis mesajul nu era autentificat pe site. (Dace utilizator art fi fost autentificat am fi avut numele si adresa de email in tabelul users)
Campul mesaj este de tip text si contine mesajul trimis de catre utilizator.
Campul created este de tip data (datetime) si are ca valoare predefinata data la care s-a trimis mesajul.
Codul sursă:
<?php
$pageTitle = "mesaje";
$section = 'mesaje';
include("inc/header.php");
// se verifica daca userul este autentificat
securedAdminPage();
$page = 1;
$limit = 20;
if (isset($_GET['page'])) {
$page = $_GET['page'];
if (!ctype_digit($_GET['page']) || !checkMesajeOffset(($page * $limit) – $limit)) {
$_SESSION['flash_msg'][] = array(
'success' => false,
'msg' => tr('restricted_page_accessed')
);
$page = 1;
}
}
$offset = ($page * $limit) – $limit;
$mesaje = getListaMesaje($limit, $offset);
$has_prev = $offset > 0;
$has_next = checkMesajeOffset($page * $limit);
?>
<div id="page_body">
<div class="wrapper content comenzi_admin">
<h1 class="page_title"><?= tr('mesaje_clienti'); ?></h1>
<?php
if (empty($mesaje)) {
echo '<h3 class="center">'. tr('no_messages') .'</h3>';
} else {
?>
<table>
<tr>
<th><?= tr('id'); ?></th>
<th><?= tr('user_id'); ?></th>
<th><?= tr('nume'); ?></th>
<th><?= tr('email'); ?></th>
<th><?= tr('mesaj'); ?></th>
</tr>
<?php foreach ($mesaje as $mesaj) { ?>
<tr>
<td><?= $mesaj['id']; ?></td>
<td><?= $mesaj['user_id']; ?></td>
<td><?= $mesaj['nume']; ?></td>
<td><?= $mesaj['email']; ?></td>
<td><?= $mesaj['mesaj']; ?></td>
</tr>
<?php } ?>
</table>
<div class="nav_table">
<?php
if ($has_prev) {
echo '<div class="left"><a href="mesaje.php?page='. ($page – 1) .'">≪ '. tr('prev_page') .'</a></div>';
}
if ($has_next) {
echo '<div class="right"><a href="mesaje.php?page='. ($page + 1) .'">'. tr('next_page') .' ≫</a></div>';
}
?>
</div>
<?php } ?>
</div>
</div>
<?php include("inc/footer.php"); ?>
Tabelul Adrese
Tabelul adrese este format din 12 coloane: id, user_id, judet, localitate, strada, nr, scara, bloc, etaj, ap, nr_tel, created. Este folosit pt stocarea adreselor de livrare a comenzilor.
Campul id este de tip intreg (integer(10)), lungimea maxima de 10 caractere, este cheia primara a tabelului si e generata automat (auto_increment). Este folosit pentru identificarea unuei adrese de livrare pt un client.
Campul user_id este de tip intreg (integer(10)), lungimea maxima de 10 caractere si e cheie straina din tabelul users (users.id=adrese.user_id). Este folosit pentru a identifica clientul caruia ii apartine adresa.
Campul judet este de tip sir de caractere (varchar(2)) cu lungimea maxima de 2 de caractere si contine prescurtarea unui judet.
Campul localitate este de tip sir de caractere (varchar(200)) cu lungimea maxima de 200 de caractere si contine locatatea unde se va livra o comanda.
Campul strada este de tip sir de caractere (varchar(100)) cu lungimea maxima de 100 de caractere si contine strada unde se va livra o comanda.
Campurile nr, scara, bloc, etaj, ap, nr_tel sunt de tip sir de caractere (varchar(20)) cu lungimea maxima de 20 de caractere.
Campul created este de tip data (datetime) si are ca valoare predefinata data la care s-a adaugat adresa.
Tabelul Comenzi
Tabelul comenzi este format din 6 coloane: id, user_id, adresa_id, status, motiv, created
Campul id este de tip intreg (integer(10)), lungimea maxima de 10 caractere, este cheia primara a tabelului si e generata automat (auto_increment). Este folosit pentru identificarea unuei comenzi.
Campul user_id este de tip intreg (integer(10)), lungimea maxima de 10 caractere si e cheie straina din tabelul users (users.id=comenzi.user_id). Este folosit pentru a identifica clientul caruia ii apartine comanda.
Campul adresa_id este de tip intreg (integer(10)), lungimea maxima de 10 caractere si e cheie straina din tabelul adrese (adrese.id=comenzi.adresa_id). Este folosit pentru a identifica adresa unde a fost/va fi livrata o comanda.
Campul status este de tip intreg (integer(3)), lungimea maxima de 3 caractere si reprezinta id-ul statusului unei comenzi. 0=comanda initiata, 10=comanda anulata de admin, 11=comanda anulata de client, 20=comanda in curs de livrare, 30=comanda finalizata. Dupa ce o comanda a fost initiata de catre un utilizator, administratorul magazinului trebuie sa verifice si sa anuleze sau sa aprobe o comanda. Daca din diverse motive comanda nu poate fi onorata, aceasta e anulata, statusul devine 10. In caz contrar, administratorul va preda comanda curierului si statusul va deveni 20.
Campul motiv este de tip sir de caractere (varchar(255)) cu lungimea maxima de 255 de caractere si contine motivul pentru care o comanda a fost anulata. Daca o comanda nu e anulata acest camp va fi gol.
Campul created este de tip data (datetime) si are ca valoare predefinata data la care s-a facut comanda.
Tabelul Detalii_comanda
Tabelul detalii_comanda este format din 4 coloane: id, comanda_id, produs_id, nr_buc.
Campul id este de tip intreg (integer(10)), lungimea maxima de 10 caractere, este cheia primara a tabelului si e generata automat (auto_increment). Este folosit pentru identificarea unui produs dintr-o comanda.
Campul comanda_id este de tip intreg (integer(10)), lungimea maxima de 10 caractere si e cheie straina din tabelul comenzi (detalii_comanda.comanda_id=comenzi.id). Este folosit pentru a identifica comanda de care apartine produsul comandat.
Campul produs_id este de tip intreg (integer(10)), lungimea maxima de 10 caractere si e cheie straina din tabelul produse (detalii_comanda.produs_id=produse.id). Este folosit pentru a identifica produsul comandat.
Campul nr_buc este de tip intreg (integer(5)), lungimea maxima de 5 caractere si reprezinta cantitatea comanda pt fiecare tip de produs.
Testarea sistemului
Pentru realizarea testarii s-au folosit toate cele 4 tipuri de testare cunoscute:
Testare statică black box – au fost realizată testarea specificațiilor
Testare dinamică black box – s-a testat calcularea valorii unei comenzi prin adaugarea mai multor produse in cosul de cumparaturi
Testarea statică white box – s-a testat codul sursa si concordanta sa cu comentariile prezente in cod
Testarea dinamică white box – s-a testat adaugarea/eliminarea produselor din cosul de cumparaturi. Adaugarea, editarea si stergerea produselor. Administrarea comenzilor
DETALIATI CU MODALITATILE DE TESTARE SI INCHEIATI ACEST SUBCAPITOL CU REZULTATELE TESTARII
BIBLIOGRAFIE
Mike Worboys, Matt Duckham, GIS: A Computing Perpective, CRC Press, 2004
Romică TRANDAFIR, Mihai NISTORESCU, Ion MIERLUȘ-MAZILU, Bazele informaticii și limbaje de programare. Baze de date relaționale, București, 2007.
Lungu, Ion; Musat, Nely. Baze de date relationale: utilizarea limbajului SQL PLUS. Bucuresti: All, 1992
M. Moise Sisteme informatice cu baze de date, Editura Pro-Universitaria, București, 2008
Ionel Iacob “ORACLE 10g – Proiectarea și realizarea aplicațiilor cu baze de date utilizând limbajul SQL*PLUS”, Ed. ProUniversitaria 2009.
Trandafir Romica, Nistorescu Mihai, Mierlus-Mazilu Ion. Bazele informaticii si limbaje de programare 2. Baze de date relationale. Universitatea Bucuresti 2007
Oracle Forms Community website, http://forms.pjc.bean.over-blog.com/article-2342169.html
Ion Lungu, Gheorghe Sabau, Manole Velicanu, Mihaela Muntean, Simona Ionescu, Elena Posdarie, Daniela Sandu, Sisteme Informatice, Ed. Economica, Bucuresti, 2003
Ioan Mocian Baze de date. Terminologie, proiectare, SQL, Access. Matrixrom, 2007
AWWARDS.COM – 2013 Trends – Web and Mobile – 2013
Ethan Watrall și Jeff Siarto – Head First Web Design – 2009
James Gillies și Robert Cailliau – How the Web Was Born: The Story of the World Wide Web – 2000
Jason Beaird – The Principles of Beautiful Web Design – 2007
Kilmer, William – Rețele de calculatoare si Internet, Ed. Teora – 2002
Kris Jamsa – Programarea în Web – 1997
Paul Chin – Best Practices for Developing a Web Site – 2008
Philip Crowder și David A. Crowder – Creating Web Sites Bible – 2008
Robin Williams – The Non Designer's Design Book – 2004
S.M.H., Collin – Dicționar de Informaticǎ, Ed. Universal Dalsi – 2000
Startup Nation – 11 Steps to create a successful Web Site – 2007
http://archive.icann.org/en/tlds/
http://blog.squarespace.com/
http://blueprintds.com/2008/12/30/anatomy-of-a-web-page/
http://creativenerds.co.uk/freebies/a-beautiful-free-vibrant-starburst-social-media-icon-set/
http://en.wikipedia.org/wiki/Internet
http://en.wikipedia.org/wiki/John_Resig
http://en.wikipedia.org/wiki/Responsive_web_design
http://en.wikipedia.org/wiki/Web_search_engine
http://en.wikipedia.org/wiki/World_Wide_Web
http://gs.statcounter.com/#browser-RO-yearly-2009-2013
http://gs.statcounter.com/#browser-ww-yearly-2009-2013
http://info.cern.ch/images/0108006.jpg
http://opensource.org/licenses/MIT
http://qrcode.kaywa.com/
http://ro.wikipedia.org/wiki/Culoare
http://www.awwwards.com/web-design-and-mobile-trends-for-2013-ebook-download-it-for-free.html
http://www.cisco.com/en/US/docs/security/web_security/scancenter/sc5126/CategoriesAP.html
http://www.iana.org/domains/root/db
http://www.microsoft.com/typography/fonts/family.aspx?fid=8
http://www.trilulilu.ro/
https://en.wikipedia.org/wiki/HTML
https://jquery.org/license/
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: Magazin Virtual de Comercializare a Telefoanelor Mobile (ID: 117593)
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.
