În capitolul II sunt descrise mijloacele folosite, din punct de vedere al limbajului de programare și a sistemului de baze de date. [306767]

INTRODUCERE

O dată cu dezvoltarea Internetului sa ajuns la concluzia că este necesară dezvoltarea unor noi tehnologii care să transforme utilizatorii web în posibili clienți. Printre aceste firme se numără și restaurantele care le oferă consumatorilor o [anonimizat]-patiserie, [anonimizat]-uri de prezentare. Efectuarea unei rezervări se putea face eventual prin fax sau prin e-mail.

[anonimizat], prezentând tipurile de mâncare pe categorii si subcategorii( frupt, post, vegetarian), Lucrarea vine în ajutorul persoanelor care doresc să realizeze o rezervare la o [anonimizat].

[anonimizat] a [anonimizat].

Capitolul I tratează reperele conceptuale în domeniul de web design.

[anonimizat] a sistemului de baze de date.

[anonimizat], planificarea, proiectarea generalǎ a site-ului și proiectarea fizica a bazei de date. [anonimizat], renunțând la o [anonimizat], toate aceste roluri fiind preluate cu succes de computer.

[anonimizat], testarea aplicatiei produs.

La realizarea acestui proiect s-au folosit metode de proiectare a [anonimizat] a aplicației.

CAPITOLUL I REPERE CONCEPTUALE ÎN DOMENIUL DE WEB DESIGN

1.1 Impactul Internetului în web design

1.1.1 Evoluția în timp a Internetului

Conform dicționarului de informaticǎ (S.M.H. Collin), internetul reprezinǎ o rețea internaționalǎ de calculatoare si dispozitive cu adrese computerizare ce sunt interconectate conform protocoalelor de comunicare TCP / IP – „Transmission Control Protocol” și „Internet Protocol” [anonimizat]ǎ electronica (e-mail) între milioane de utilizatori din întreaga lume. Este notat si faptul cǎ [anonimizat]ǎ poate avea acces la aceastǎ rețea.

În 1965 a fost creatǎ [anonimizat]ǎ sub numele de ARPAnet. Internetul din zilele noastre este rezultatul unei continue dezvoltǎri a [anonimizat] sǎi o gama extrem de vastǎ de informație și servicii precum e-mail, www, FTP etc.

Internetul a putut fi valorificat la adevǎrata sa valoare datoritǎ cercetǎriilor lui Tim Berners Lee de la Centrul European pentru Fizica Nucleară din Geneva (CERN). Acesta a [anonimizat].

World Wide Web (WWW) este un sistem de documente și informații de tip “hypertext” [anonimizat].

“Pentru a facilita un mod de a gǎsi cu ușurințǎ site-urile cǎutate, în anii ’80 a fost proiectat un sistem de denumire, care sǎ-i ajute pe utilizatori sǎ identifice mai ușor adresele de pe internet. Aceste adrese sunt de forma www.oricefirma.com, sau adresa de e-mail a cuiva scrisǎ este Bob@oricefirma.com. Partea principalǎ a adresei – “oricefirma” – este ceea ce poartǎ denumirea de domeniu. Domeniile Internet permit utilizatorilor sa utilizeze denumiri în loc de numere pentru a putea eficientiza deplasarea în diverse locuri de pe Web (cu alte cuvinte, diferența dintre a tasta www.intel.com si a tasta IP-ul: “192.246.100.42”. Aceasta adresǎ este cunoscutǎ si sub numele de URL (Uniform Resource Locator – Localizator Uniform de Resurse), acronim pronunțat literǎ cu literǎ.”

Conform World Wide Web Consortium (W3C), orice URL are la bazǎ, în primul rând un nume de schemǎ (adesea numit si protocol), urmat de “:” și douǎ slash-uri “//”, apoi în funcție de schema folositǎ, este prezent si numele serverului (exemplu: ftp, www, smtp, etc.), urmat de un punct (“.”), apoi de numele domeniului (sau alternativ, adresa IP), apoi numarul portului, apoi calea resursei ce user-ul dorește sa fie accesatǎ. Astfel, sintaxa este: scheme://domain:port/path?query_string#fragment_id.

La sfârsitul numelui unui domeniu, dupǎ ultimul punct, este numele domeniului care indicǎ tipul organizației in cauza, iar acesta din urmǎ este TLD (Top Level Domain, denumit și domeniu de nivel superior).

Compania americanǎ de tip non-profit ICANN – Internet Corporation for Assigned Names and Numbers are ca scop supravegherea unui șir întreg de sarcini și activitǎți legate de Internet. Una dintre aceste responsabilitǎți este coordonarea tuturor domeniilor de nivel superior (DNS). Din punct de vedere tehnic, aceastǎ gestionare este realizatǎ de cǎtre IANA (Internet Assigned Numbers Authority – Autoritatea pentru Atribuirea numelor și Numerelor în Internet).

Conform arhivei ICANN, domeniile TDL sunt împarțite in trei categorii:

domenii naționale (ccTLD – country code TLD):

domenii generice (gTLD – generic top-level domain): folosite de anumite categorii de organizații Exemple de acest tip pot fi: .com, .edu, .gov, .int, .mil, .net, .org etc.

domenii de infrastuctură – acest tip de domeniul este unul special, fiind folosit doar în scopurile tehnice ale infrastructurii.

Domeniul .arpa este deocamdată unic.

1.1.2. Ponderea utilizatorilor de Internet

Pe parcursul a cațiva ani, internetul a devenit o platformǎ extrem de importantǎ care a schimbat pentru totdeauna modul în care ne desfǎșurǎm activitǎțile, fie acestea acasǎ sau locul de muncǎ, dar si felul în care comunicǎm.

Internetul este într-o constantǎ schimbare. În opinia mea, douǎ aspecte au evoluat cel puțin surprinzǎtor în ultima perioadǎ: rețelele de socializare și tehnologia mobilǎ. Aceste douǎ inovații au schimbat modul în care oamenii folosesc internetul.

Prin intermediul rețelelor de socializare, oamenii au identificat un nou si totodatǎ inovator mod de a comunica. Încǎ de la momentul in care a fost lansat în anul 2004, Facebook a crescut constant, ajungând a fi o rețea mondialǎ cu aprope 1 bilion de conturi înregistrate. Pe de altǎ parte, tehnologia mobilǎ a oferit posibilitatea unui acces mai usor la internet, astfel crescând numǎrul utilizatorilor de pretutindeni.

În Figura 1 putem observa evoluția ponderii din punct de vedere al utilizǎrii internetului de cǎtre populație pe plan mondial. De asemenea, am adǎugat in Anexa 1 și “Numǎrul de utilizatori ai internetului (milioane)”.

Figura 1.1: Ponderea populației care utilizeazǎ internetul la nivel mondial

Sursǎ: Creație proprie, date preluate din: http://www.internetworldstats.com/emarketing.htm

Observǎm cǎ aceastǎ pondere a crescut constant si direct proporțional cu evoluția tehnologiei. Printr-o comparație a ultimilor 10 ani, unde in 2002, ponderea populației care utiliza internetul la nivel mondial era de 9,4%, în 2012, aceastǎ pondere a crescut de peste 3 ori, ajungând la valoarea de 34,3%.

Ponderea populației care utilizeazǎ internetul la nivel mondial a devenit aproape de 4 ori mai mare în ultimii 10 ani, iar populația globalǎ a devenit tot mai numeroasǎ. Astfel, dupǎ cum putem observa in Anexa 1.1, numǎrul de utilizatori ai internetului a crescut de la 587 milioane (2002) la 2.4 bilioane (2012), ajungandu-se la o creștere de 410% în 10 ani.

În România, internetul și-a facut simțitǎ prezența acum 13 ani, la începutul anului 2000.

ITU (International Telecommunication Union) este o agenție specializată a ONU pentru ICT-uri (Information and Communication Technologies), aceasta fiind și una dintre sursele sigure ale site-ulul Internet World Stats. Una dintre atribuțiile acestei agenții este sǎ elaboreaze rapoarte si statistici cu privire la ponderea populației care utilizeazǎ internetul a tuturor țǎrilor pe plan mondial. Rezultatele acestui raport este prezentat în Figura 2, datele fiind extrase doar pentru Romania.

Figura 1.2: Ponderea populației care utilizeazǎ internetul la nivel național

Sursǎ: Creație proprie, date preluate din: http://www.itu.int/en/ITU-D/Statistics/Documents/statistics/2012/Fixed_tel_2000-2011.xls

Se observǎ o creștere constantǎ a accesului populației la internet pe plan național. Printr-o comparație între anii 2005 (21,5%) și 2012 (44,1%) se poate observa cǎ ponderea a crescut cu 105%. În timp ce ponderea mondialǎ este de 34,3%, în Romania, ponderea ponderea populației care utilizeazǎ internetul este de 44,1%.

1.2. Dezvoltarea website-urilor

1.2.1. Evoluția website-urilor

Website-ul este o definit (S.M.H. Collin) ca fiind o colecție de pagini web, legate între ele și care pot fi accesate cu ajutorul unui program de navigare (browser).

Aceste pagini web sunt stocate pe servere web, fiind accesibile de utilizatori prin internet.

Primul server Web (Figura 3) și primele pagini Web au fost instalate pe 12 Decembrie 1991 la Standord Linear Accelerator Center (SLAC).

Figura 1.3: Primul server Web

Sursǎ: http://info.cern.ch/images/0108006.jpg

În perioada anilor 1992-1995, au fost dezvoltate primele site-uri web dar erau dezvoltate în mare parte de universitǎți de prestigiu sau laboratoare de dezvoltare în domeniul fizicii. O datǎ cu dezvoltarea site-urilor s-a dezvoltat și aplicația care permite vizualizarea lor: browser-ul.

Tim Berners-Lee, unul dintre pionierii internetului a pus bazele si primului browser: “Primul web browser, sau mai degraba browser-editor, a fost numit WorldWideWeb datoritǎ faptului cǎ a fost creat în 1990, fiind la acea vreme singura modalitate de a vedea web-ul. Ulterior a fost redenumit Nexus din cauza nevoii de a diferenția aplicația de spațiul informatic abstract (ce acum este denumit World Wide Web, diferența fiind doar separarea numelui cu spații).”

Acesta a mai afirmat și cǎ a scris acest program cu ajutorul unui computer NeXT. A ales acest computer deoarece avea avantajul deținerii unor instrumente foarte folositoare. Practic, ce realiza pe alte platforme în 1 an, pe NeXT s-a putut realiza în doar 2 luni. Dupǎ cum se poate observa și în Figura 4, browser-ul WorldWideWeb, avea proprietǎți de browser (reusea cu succes sǎ interpreteze limbajul HTML și sǎ-l prezinte utilizatorului intr-o fereastrǎ) dar și de editor (permitea utilizatorului posibilitatea de creere sau editare de site-uri).

Figura 1.4: WorldWideWeb – Primul browser web, creat în 1990

Sursǎ: http://www.w3.org/History/1994/WWW/Journals/CACM/screensnap2_24c.gif

Browser-ul Nexus (cunoscut și sub numele de WorldWideWeb) a fost o aplicație ce au inspirat alti oameni în dezvoltarea altor asemenea programe. Astfel cǎ, la scurt timp, Pei Wei, absolvent al Universitǎții din California, a dezvoltat pe cont propriu un browser numit violaWWW ce era identic din multe puncte de vedere cu WorldWideWeb dar care încorpora poze integrate in text, stylesheet-uri, tabele si script-uri.

Acest now browser numit violaWWW a fost recunoscut drept ‘‘Browser-ul cu cele mai bogate caracteristici de pana acum”, precum și ‘‘a reușit sa impunǎ un standard pentru tot ce va urma dupǎ…”.

Browserele au continuat sǎ se dezvolte, dobândind tot mai multe caracteristici. Google Chrome, lider pe acest segment în anul 2013 deține funcții precum:

Safe Browsing, Sandboxing, Auto-Updates – pentru prevenirea atacurilor informatice de tip malware sau phishing;

Autentificare (optional) – pentru a avea acces la setari, add-ins și site-urile salvate la favorites de la orice computer);

Consum redus de resurse – ceea ce il face si mai rapid.

În Figura 5 putem observa nivelul de utilizare a celor mai utilizate 3 browsere la nivel mondial:

Figura 1.5: Nivelul de utilizare a celor mai utilizate browsere la nivel mondial

Sursǎ: Creație proprie, date preluate din: http://gs.statcounter.com/#browser-ww-yearly-2009-2013

Putem observa cǎ Internet Explorer a suferit o scǎdere drasticǎ și continuǎ pe parcursul ultimilor 5 ani (de la 59,71% la 30,06%). Practic numǎrul oamenilor ce au folosesc Internet Explorer s-a înjumatǎțit in doar 5 ani. Mozilla Firefox este și el într-o scǎdere constantǎ dar nu asa drasticǎ precum IE. Acesta a scǎzut din 2009 (30,48%) pânǎ in 2013 (21,09) cu 9.39% – rezultǎ cǎ aproximativ o treime din utilizatorii Firefox au migrat constant spre alte browsere. La polul opus se afla browserul Google Chrome. Acesta din urmǎ a avut o creștere exploziva dacǎ luǎm în calcul și faptul cǎ a fost lansat în ultima lunǎ a anului 2008 și a reușit în mai puțin de 5 ani sǎ devinǎ cel mai utilizat browser web pe plan mondial. În momentul de fațǎ, conform statisticilor furnizate de Stat Counter, Google Chrome este folosit in medie de 38% din utilizatorii web.

Aceste tendințe se pot evidenția și în România, conform Figurii 6.

Figura 1.6: “Nivelul de utilizare a celor mai utilizate browsere la nivel național”.

Sursǎ: Creație proprie, date preluate din: http://gs.statcounter.com/#browser-RO-yearly-2009-2013

În acestǎ figurǎ se poate observa aceeași tendințǎ ca și cea mondialǎ. Diferența este cǎ tendințele sunt mai accentuate în România. Practic, scǎderea lui Internet Explorer e mai accentuatǎ (16,61%, cu 13,45% mai scǎzutǎ fațǎ de media pe plan mondial), Google Chrome are creșterea mai pronunțatǎ (41,62%, cu 4,33% mai mare decat media pe plan mondial), iar Mozilla Firefox are o utilizare mai mare (34,43%) spre diferențǎ de media mondialǎ (21,09%).

1.2.2. Tipuri de website-uri

Datoritǎ faptului ca browser-ele au evoluat o data cu site-urile, și site-urile au devenit tot mai complexe și specializate pe anumite domenii, fie ele de interes general sau personal.

Organizația multinaționalǎ Cisco a combinat resursele applicațiilor ScanSafe (cunoscut și sub numele de Cisco Cloud Web Security) și IronPort (cunoscut și sub numele de Cisco Email Security and Cisco Web Security) pentru a realiza o catalogare cât mai eficientǎ și în același timp elaboratǎ a tuturor site-urilor existente, bineînteles, împreunǎ cu exemple.

Philip și David Crowder (2008) au afirmat cǎ, cel puțin din punct de vedere practic, site-urile pot fi împǎrțite în 5 mari categorii :

Personale

Paginile personale au scopul de a face cunoscut utilizatorilor un individ / personalitate. În ciuda conceptului de “paginǎ personalǎ”, unele astfel de site-uri au un design mai elaborat ce conțin mai multe pagini, asemǎnǎtoare unui site de tip ‘corporate’. Conținutul este un element cheie într-un astfel de site. Dacǎ are un conținut interesant și un design atent conceput, poate fi o experientǎ placutǎ.

În momentul dezvoltǎrii site-ului personal, autorul trebuie sǎ fie relexat și degajat atunci când vorbește despre el pentru a putea interacționa cu succes cu persoana care acceseazǎ site-ul.

Exemple de acest tip pot fi: timoteijinar.ro, vladgherman.ro, ionionescu.ro

Informaționale

Site-urile informaționale sunt specializate în a oferi informații despre un anumit subiect. Aceste tipuri de site-uri sunt foarte rǎspândinte pe internet deoarece majoritatea utilizatorilor cautǎ raspunsuri la anumite întrebari, raspunsuri ce pot fi gǎsite pe astfel de site-uri.

Exemple de acest tip pot fi: protv.ro, cnn.com, wikipedia.org etc.

Organizaționale

Aceste tipuri de site-uri au menirea de a prezenta informații cu privire la o anumitǎ organizație. Sunt deosebite de site-urile de tip informațional datoritǎ accentului care se pune doar pe acea organizație, prezentând astfel în detaliu structura organizaționalǎ, personalul și istoria acesteia.

Exemple de acest tip pot fi: billa.ro, unilever.com, heinz.com etc.

Politice

Site-urile politice au ca scop atât aplicarea legilor în vigoare cât și promovarea candidaților în perioara alegerilor electorale. Cu toate ca unele site-uri politice au și încasǎri, acestea se diferențiazǎ de cele comerciale prin faptul cǎ banii surveniți de la utilizatori vin sub forma donațiilor.

Exemple de acest tip pot fi: wcpj.org, labour.org.uk, gop.com etc.

Comerciale

În categoria site-urilor comerciale intrǎ toate cele care au fost concepute pentru a genera profit. Cu toate cǎ multe din site-urile actuale au profit de pe urma reclamelor de pe site-uri, doar cele care au intenția principalǎ de vânzare a produselor sau prestare a serviciilor oferite pot fi catalogate ca fiind site-uri comerciale.

Exemple de acest tip pot fi: emag.ro, amazon.com, itexclusiv.ro etc.

Site-urile s-au dezvoltat prin diversificarea categoriilor de interes sau activitate și prin complexitatea lor. Prin complexitate ne referim la limbajele de programare folosite în realizarea site-ului și la complexitatea design-ului. Dacǎ la inceput, site-urile erau doar în format HTML, acum site-urile au integrate multe alte limbaje de programare precum CSS, PHP, MySQL, JavaScript, jQuery, Flash, etc. Toate aceste limbaje sunt folosite pentru a oferi utilizatorului o experiențǎ mai placutǎ pe parcusul navigǎrii și totodatǎ conferǎ siguranțǎ împotriva atacurilor.

CAPITOLUL II INSTRUMENTE INFORMATICE UTILIZATE

2.1. Interfața utilizator

Datorită faptului că programarea clasică și structurată avea un control greoi al programelor de dimensiuni mari, numeroase dificultăți la reutilizarea codurilor și inflexibilitatea extinderii și adaptării unor module de program, a luat naștere programarea orientate pe obiecte care are la baza conceptele de clasa și obiect.

Dacă programarea clasică structurată se concentra mai mult pe prelucrarea datelor și pe proceduri și funcții, iar datele erau separate adesea de funcțiile care le manipuleau, POO pune accent atât pe definirea obiectelor și a proprietățile acestora, cât și pe funcțiile acestor obiecte.

Programarea orientată pe obiecte este axată pe ideea încapsulării, a grupării datelor și a codului care operează asupra acestora, într-o singură structura. Totodată un alt element cheie al POO îl constituie polimorfismul, și posibilitatea abstractizărilor care oferă soluției o descriere conceptuală mai simplă.

POO constituie unul din cei mai importanți pași în evoluția limbajelor de programare prin implementarea programelor cu ajutorul abstractizării. Ea tratează problema într-un mod mult mai natural de gândire a finite umane decât de modul de lucru al calculatorului.

Conceptul de baza al programării orientate pe obiect în constituie clasa. Această grupează datele și unitățile de prelucrare, într-o entitate mult mai naturală, abstractizează analiză/sinteză problemei, desemnând obiecte ce împart o serie de proprietăți această îndeplinește prorietatea de generalitate. Trecerea de la clasa la obiect se realizează prin intermediul instantierii Această reprezintă atribuirea unor proprietăți specific clasei, prin care această indică un obiect anume, diferențiat de celelalte obiecte din clasa cu ajutorul unei serii de attribute.

Obiectele pot comunica între ele – între clasele/obiectele problemei se stabilesc legături, acest proces poartă numele de moștenire.

Unul dintre principiile de baza ale POO este moștenirea. Această reprezintă o relație statică ce face legătură dintr-o clasa și altă, în urmă căreia clasa rezultată sau în termeni comuni, clasa derivată, preia toate atributele clasei moștenite. Moștenirea favorizează reutilizarea codului astfel încât clasa derivată va conține toate atributele clasei de baza și va implementa doar metodele ei specifice nu și pe cele ale clasei de baza. Încapsularea se refera la faptul ca obiectele nu pot schimba, in mod direct starea internă a altor obiecte ci doar prin metodele proprii ale obiectului.[7]. Polimorfismul redefineste metode pentru clasele derivate.

Fig 2.1 POO

In figura de mai sus, sunt expuse elementele de baza ce constituie limbajul de programare orientat pe obiecte.

Limbajul de programare C#

C# este un limbaj modern de programare, orientat pe obiecte ,de utilitate generală, ce are o productivitate mare în programare si ofera support complet in ceea ce priveste dezvoltarea de componente software.

Un avataj al acestui limbaj de programare il constituie suportul pentru internationalizare ce se refera la faptul ca aplicatiile dezvoltate pe aceasta platforma pot fi adaptate destul de usor, fara a schimba arhitectura software, pentru a fi folosite in regiunile unde se vorbesc diferite limbi.

C# se bucura si de o gestionare automata a memoriei utilizate., astfel incat eliberarea memoriei ocupate(garbage collection) se face in mod automat si nu manual asa cum se face in alte limbaje de programare. Acest lucru avantajeaza programatorii dat fiind faptul ca acestia nu mai decid locul si momentul distrugerii obiectelor, asa cu se intampla in C++.

Numeroase aplicații, de la ceasuri digitale, MP3 playere, semafoare sau în situația de față gestiunea magazinelor cu ajutorul bazelor de date, au la baza limbajul de programare C#.

Datorită faptului că personal, prefer mediul de dezvoltare al codului din Visual Studio, am ales să implementez aplicația destinată magazinelor de animale, LaAnimăluțu cu limbajul de programare C# în detrimentul limbajului Java, însă acesta nu a fost singurul motiv. Astfel am realizat o comparație între cele două, privind asemănările dar și deosebirile pentru restul motivelor.

2.2. Java vs. C#

Asemănări

Toate obiectele sunt referințe

când se creează un obiect , se obține o referință cu valoare implicită null, alocându-se mai apoi memorie obiectului prin new . Prin intermediul operatorului “.” Putem accesa atributele și metodele obiectului nestatice

Colectarea gunoiului si eliberarea memoriei

atât în C# cât și în Java obiectele create pe heap sunt dezalocate automat evitându-se astfel pierderi de memorie sau memory leaks . Acest lucru încurajează dezvoltatorii să dezvolte mult mai mult cod orientat pe obiect.

Ambele limbaje de programare sunt “pur” orientate pe obiect

Mostenirea

ambele limbaje permit doar o singură moștenire

Tratarea excepțiilor

Prin utilizarea blocului “ try”, se aruncă o excepție atunci când apare o problema , iar prin blocul “catch” excepția este prinsă. Acest lucru evita oprirea bruscă a aplicației atunci când apar anumite erori sau nesincronizari.

Built-in Unicode

atât C # și Java au suport excelent pentru internaționalizare, adică folosesc numai Unicode(16 biți în loc de opt) ceea ce înseamnă că o aplicație dezvoltată inițial în limba engleză, poate fi adaptată în alte limbi prin adăugarea simplă de fișiere de proprietăți de localizare specifice. Această este o calitate deosebită care cu timpul a devenit printre cerințele de baza ale unei aplicații

Deosebiri

Java rulează pe “orice” system de operare

față de limbajul de succesorul lui, java este susținut pe mai multe sisteme de operare.

Elementele de sintaxa sunt relativ destul de diferite

Fig 2.2a

În tabelul de mai sus observăm cum o mare parte din elementele de sintaxa ale celor două limbaje de programare sunt diferite.

. NET cuplează mai eficient sistemul de operare comparativ cu J2EE.

.NET prezintă avantaje clare în cee ace privește numărul de linii de cod.

.NET rulează în deosebi pe sistemul de operare Windows în timp ce J2EE dispune de sisteme mainframe ce poate rula și pe sisteme Unix [9]

Fig 2.2b

În figura de mai sus putem observă o altă diferența între limbajul de programare C# care este surclasat destul de evident față de Java în topul celor mai populare limbaje din anul 2015, însă acest lucru variază în funcție de preferințele fiecăruia.

2.3 Sisteme de gestiune a bazelor de date (SGBD)

Caracteristici generale ale limbajului SQL

Limbajul SQL (Structured Query Language) a fost implementat în produse comerciale începând cu anii 70 când s-a lansat prima versiune Oracle și SQL/DS de la IBM.

În ultimii ani, comitetele ANSI și ISO pentru standardizarea limbajului SQL au adăugat noi facilități pentru gestiunea bazelor de date orientate pe obiect și obiect-relațional. S-a ajuns astfel la o versiune SQL3, pe cale de a deveni un standard în domeniu. Aceste facilități se pot structura:

facilități orientate obiect ce propun definirea la nivel de utilizator a tipurilor de date abstracte;

structuri de control specifice: IF, FOR, WHILE ce permit transformarea SQL-ului într-un limbaj de sine stătător;

facilități de comunicare în rețea;

facilități de prelucrare distribuită;

facilități multi-media, înglobate în modulul Multi-Media SQL.

Limbajul SQL permite o comunicare complexă și rapidă a utilizatorului cu bazele de date, în funcție de cerințele și restricțiile acestuia. Pe lângă manipularea și regăsirea datelor, se efectuează și operații complexe privind actualizarea și administrarea bazei de date.

2.4. MySQL vs. Oracle

O baza de date, reprezintă un container care stochează informațiile și datele pe un suport extern, ce permite extinderea ușoară și regăsirea rapidă a acestora Datele sunt gestionate prin intermediul sistemelor de gestiune a bazelor de date.

SGBD este o interfață între sistemul de omperare și utilizator care îi permit acestuia accesul la date. Acest pachet software de înalt nivel, oferă posibilitatea proiectării, și administrării bazelor de date pentru rezolvarea diferitelor probleme cu care se confruntă omul în ziua de azi.

Mai departe, voi realiza o comparație între cele două baze de date, MySQL și Oracle pentru a demonstra de ce am ales realizarea magazinului de animale de companie cu MySQL;

Oracle

Dispune de p mulțime de instrumente de gestionare a bazelor de date, lucrând cu XML și tipuri definite de utilizator, Oferă posibilitatea folosrii cu Oracle Express, care prin numeroasele funcționalități poate să transforme o aplicație de început într-una din cele mai mari din lume.

MySQL

Este preferat de companiile cu proiecte mici, aflate la început datorită faptului că e simplu de utilizat, disponibil la un cost redus. Nu are complexitatea la fel de mare că rivalul sau însă , putem spune că are miezul, baza pentru gestiunea oricărei afaceri.

Fig 2.3a

În figura 2.3a de mai sus putem observă că cele 2 sisteme de gestiune a bazelor de date relaționale sunt similar din punct de vedere al interfeței, suportului , sistemului de operare, însă MySQL constituie un plus în față celor de la Oracle prin prisma faptului că este open-source.

MySQL lucreaza cu numeroase sisteme de operare

Windows

Mac OS X

Linux

UNIX

z/OS

BSD

Symbian

AmigaOS

In timp ce Oracle nu functioneaza pe BSD, Symbian, AmigaOS

MySQL sprijină Java, Oracle nu

MySQL funcționează doar static in timp ce Oracle functioneaza si cu snteme dinamice

MySQL este disponibil gratuit, în timp ce Oracle nu

MySQL suportă multe interfețe de dezvoltare

Oracle este extrem de fiabil si suporta tehnologia flashback.

Fig. 2.3b

În figura 2.3b se observă că limbajul ales prezintă mult mai multe facilități comparativ cu rivalul sau. Acest lucru este un alt motiv ce m-a determinat să aleg dezvoltarea aplicației LaAnimăluțu prin intermediul bazei de date MySQL.

Tipuri de date:

Fig. 2.3c

În figura 2.3c se observă că MySQL are o mare parte din specificațiile de care se bucură Oracle, însă la un preț mai scăzut. Raportul servicii preț este și de această dată în favoarea MySQL, pe care de altfel l-am ales.

Când este MySQL alegere mai bună?

Numeroase sisteme de management al conținutului, cum ar fi WordPress, Drupal și Joomla, folosesc MySQL

Ori de câte ori se utilizează sisteme de management al ontinutului, este indicate folosirea bazei de date MySql. [12]

Pentru proiectele mai mici sau aflate la început,i MySQL oferă cea mai bună alegere, fiind și foarte user-friendly.

MySQL poate include și bloguri pentru cei care doresc să construiască mai multe site-uri de nișă.

Când este Oracle alegere mai bună?

Oracle este o alegere foarte bună pentru întreprinderile mari. Acesta se adresează în special aplicațiilor de business mari și depozite de date mari.

De asemenea dacă se doresc numeroase funcționalități, Oracle e alegerea potrivită fiind dotată cu o cantitate mare de caracteristici.

Care este mai popular?

Datorită faptului că este folosit cu cel mai popular system de management de construcție al site-urilor web și al conținutului de blogging, WordPress , mai popular dintre cele două este MySQL.

Totodată, chiar dacă MySQL beneficiază de popularitate prin utilizarea lui de către site-uri consecrate că: Facebook sau YouTube, acesta nu se poate ridică la nivelul Oracle privind popularitatea printer întreprinderile mari.

2.5 Limbajul PHP

Tipuri de date PHP

PHP este un limbaj de programare cu tipuri dinamice, ceea ce înseamnă că nu este necesar ca tipul variabilelor să fie precizat în mod explicit, acesta putându-se schimba pe parcursul execuției unui script. În PHP variabilele nu trebuie declarate în același mod în care se declară variabilele în alte limbaje de programare. Tipul unei variabile PHP coincide cu tipul ultimei valori atribuite acesteia.

Limbajul PHP acceptă opt tipuri de date: patru tipuri scalare, două tipuri compuse și două tipuri speciale.

Cele patru tipuri scalare acceptate de PHP sunt:

Logic;

Număr întreg;

Număr în virgulă mobilă;

Șir de caractere.

Tipul logic

Acest tip a fost introdus in PHP începând cu versiunea 4.0.

Datele de acest tip pot lua valorile TRUE sau FALSE. Avem un exemplu de utilizare a datelor de tip logic:

$expresie=FALSE;

if ($expresie==TRUE)

echo “Expresia este adevarata”;

else

echo “Expresia nu este adevarata”;

În exemplul de mai sus se afișează șirul Expresia nu este adevarata, deoarece variabila $expresia are valoare FALSE.

Tipul întreg

Întregii pot fi specificați în sistemele zecimal, octal sau hexazecimal, precedați sau nu de semn (+ sau -).

Exemplu:

$nr_zecimal=2004;// acesta este un numar intreg zecimal

$nr_negativ=-2000;// acesta este un numar negativ

$nr_octal=054;// acesta este un numar in sistemul octal

$nr_hexa=0*345;// acesta este un numar in sistemul hexazecimal

Numerele exprimate în sistemul octal sunt precedate de un zero (0), iar cele exprimate în sistemul hexazecimal – de notația 0x (zero și x).

Reprezentarea internă a numerelor întregi este realizată în complement față de 2, pe 32 biți; din acest motiv, numerele întregi pot lua valori cuprinse între – (-2 147 483 648) și -1 (2 147 483 647), bitul cel mai reprezentativ fiind rezervat pentru semn (dacă acest bit are valoare 0, numărul este pozitiv, iar dacă are valoare 1, numărul este negativ).

Numere în virgulă mobilă

Numerele în virgulă mobilă, numite numere reale sau duble, sunt scrise în formatul IEEE-64, utilizând 64 biți. Acest format dă posibilitatea operării cu numere până la 1.8*, cu o precizie de aproximativ 14 cifre zecimale.

Șiruri de caractere

Șirurile sunt alcătuite din unul sau mai multe caractere. În limbajul PHP, un caracter este reprezentat pe un byte (octet), adică sunt permise 256 de caractere diferite.

În operațiile de atribuire, afișare, șirurile trebuie incluse între ghilimele. Acestea pot fi ghilimele simple sau ghilimele duble.

Tipul tablou

Un tablou este un tip de date care stochează mai multe valori care constituie elementele tabloului. Elementele unui tablou pot fi reprezentate de orice tip de date acceptat în PHP, inclusiv de alte tablouri.

Ceea ce definește un tablou este asocierea dintre elementele tabloului și cheile sale.

Cheile pot fi numere întregi pozitive sau șiruri de caractere, obținându-se, astfel, tablouri indexate numeric și tablouri asociative.

Indicarea unui element se face precizând numele tabloului și cheia elementului.

Crearea unui tablou se realizează atribuind fiecarui element al tabloului o valoare și o cheie, ca în urmatorul exemplu:

$orase [0]=”Bucuresti”;

$orase [1]=”Viena”;

În exemplul de mai sus, în prima variantă, valoarea elementului $orase[1] este atribuită variabilei $element_1, care este afișată apoi prin intermediul instrucțiunii echo (se va afișa Viena). În a doua variantă afișarea valorii elementului $orase[1] se face direct. În exemplul anterior, cheile tabloului sunt numere întregi.

Tipul obiect

Noțiunea de obiect face parte de Object Oriented Programming, adică de programarea orientată pe obiect.

Tipul resursă

Funcția is_resource () poate fi utilizată pentru a determina dacă variabila transmisă ca argument este de tip resursă, iar funcție get_resource_type (), va întoarce tipul de resursă căruia îi aparține variabila resursă transmisă acesteia ca argument.

Un tip important de resursă este msql query (variabilele resursă de acest tip sunt rezultatele ale unor interogări SQL trimise serverului MySQL). O variabilă de tip resursă mysql query este întoarsă de funcția msql_fetch_row ().

Tipul NULL

Singura valoare posibilă a tipului NULL este NULL; valoarea specială NULL înseamnă că o variabilă de acest tip nu are nici o valoare.

Exemplu de variabilă cu valoarea NULL:

$variabila=NULL;

Variabile și constante PHP

a). Variabile

Prin variabilă se înțelege o dată a cărei valoare se poate schimba în cursul execuției scriptului care o conține. O variabilă este identificată printr-un nume.

Valorile variabilelor sunt accesate cu ajutorul simbolului dolarului ($) urmat de numele variabilei.

Un nume de variabilă poate conține caracterele precizate de utilizatori, respectându-se regula că acesta nu poate începe cu o cifră.

Numele variabilelor PHP sunt case sensitive. În concluzie variabilele $nume și $NUME sunt diferite.

O referință la o variabilă permite accesarea conținutului acelei variabile sub un alt nume. Același conținut poate fi accesat sub două nume diferite. Numele variabilei și conținutul său sunt diferite: același conținut poate să aibă nume diferite.

Limbajul PHP vine cu o listă lungă de variabile predefinite. Multe dintre ele depind de serverul Web care funcționează pe calculatorul gazdă și de sistemul de operare utilizat.

CAPITOLUL III PROIECTAREA GENERALǍ A SITE-ULUI

3.1 Scopul și necesitatea site-ului

Site-ul unui restaurant oferă utilizatorilor informații despre principalele feluri de mâncare și băuturi servite în restaurant, prezentând tipurile de mâncare pe categorii si subcategorii( frupt, post, vegetarian), recenziile clienților restaurantului precum și alte informații relevante despre locație.

Site-ul unui restaurant conferǎ urmǎtoarele avantaje:

Publicitate – restaurant nu mai este restrâns din punct de vedere al comunicǎ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 serviciilor la o plajǎ nelimitatǎ de posibili clienți.

Prestanțǎ –orice potențial client va verifica site-ul restaurantului pentru a afla detalii suplimentare pentru o eventualǎ rezervare. Printr-un design elegant și o funcționalitate sporitǎ, imaginea și prestanța restaurantului 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.

Rolul principal al site-ului este de promovare a serviciilor oferite de restaurant și de asemenea un mijloc de comunicare a restaurantului cu clienții sǎi și viceversa.

Am dorit sǎ realizez un site dupǎ propria viziune și dupǎ percepția mea a ceea ce trebuie sǎ conținǎ obligatoriu un site pentru rezervarea locurilor si alegerea unui meniu din restaurant.

3.2 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 serviciilor, cu scopul, așa cum am amintit mai sus, de a pǎstra o relație cu clienții care sunt fideli și de a informa persoanele interesate de serviciilor oferite. Așadar trebuie creat un cadru al site-ului cu elemente interactive.

Așa cum amintim mai mult, problema principalǎ o constituia gradul înalt de atractivitate al site-ului, .

Astfel, pentru conturarea temei site-ului voi avea în vedere realizarea unui cadru specific serviciilor din restaurant folosind:

culori predominante care denotǎ calm și seriozitate

un font care sǎ inspire atractivitate

imagini care sǎ inspire calitate, atractivitate

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

layout optimizat pentru a fi ușor accesibil și la conexiuni slabe de internet

3.3 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ǎ.”

În elaborarea design-ului am aplicat acest concept organizând tot conținutul de pe site-ul actual într-un meniu orizontal și unul vertical.

Structura principală a interfeței este următoarea:

Structura principală a interfeței este următoarea:

În partea de sus este afișat headerul aplicației împreună cu logo-ul restaurantului și secțiunea de autentificare a utilizatorilor.

Aceasta are 2 stări:

1. utilizatorul nu este încă autentificat:

În cazul în care utilizatorul nu este autentificat, acesta poate accesa opțiunea contul meu pentru autentificare. Pentru autentificare se completează câmpurile

Utilizator

Parola

Dacă utilizatorul nu are cont pe site acesta si-l poate creea apăsând pe butonul Cont Nou. Dacă avem cont creeat și ne autentificăm suntem întâmpinați de un mesaj de bun venit, împreună cu 2 opțiuni:

Contul meu;

Ieșire

Dacă utilizatorul alege opțiunea contul meu se vor putea actualiza datele personale cu excepția numelui de utilizator. Dacă utilizatorul selectează opțiunea Ieșire va fi dezauntetificat de pe site.

Optiunea de Căutare după feluri de mâncare și tipul ( frupt, post, vegetariană)

Formularul conține 2 câmpuri (liste):

feluri de mâncare

tipul

În cazul în care utilizatorul nu alege un fel de mâncare și vor fi afișate toate produsele din categoria și subcategoria respectivă. Lista conține inițial doar opțiunea Toate.

Figura 3.1 Caseta de cautare

Aici se va putea alege tipul și felul mâncării preferată, sau implicit toate produsele. În funcție de alegerea făcută, pe pagina principală a site-ului vor fi afișate mâncarea de post, frupt sau vegetariană din felul de mâncare selectat. Această afișare trebuie să se facă aleator, adică ori de câte ori se încarcă pagina (index.php) conținutul tabelului respectiv trebuie să afișeze detaliile despre alte mâncăruri. În cazul folosirii butonului Comanda ta, un număr dorit de meniuri vor fi adăugate alături de masa solicitată pentru a putea ști un preț estimativ pentru comadă

Avem legături către următoarele pagini:

Recenzii

Despre noi

Harta site-ului

Căutare

Contact

Figura 3.2 Pagina Hartă site

Pagina Hartă site afișează toate produsele pe feluri de mâncare

Pagina de contact afișează informații referitoare la contactarea restaurantului, ca:

adresa;

numere telefon;

numere fax;

adrese email

În pagina recenzii.php sunt pastrate toate comentariile și voturile clienților care au dorit să lase o impresie legată de serviciile prestate de restaurant

Figura 3.3 Pagina recenzii

3.4 Proiectarea bazei de date

În cele ce urmează voi prezenta structura tabelelor folosite în aplicația E-Restaurant pentru memorarea datelor .

Proiectul folosește o bază de date MySQL pentru stocarea informațiilor.

Baza de date conține 11 tabele :

1. Tabelul tadmins:

În aceast tabel găsim userul și parola de administrator.

Câmpurile tabelului sunt următoarele:

fIdAdmin: este folosit pentru a reține id-ul înregistrării;

fUsername: este folosit pentru a reține numele de utilizator al administratorului

fPassword: este folosit pentru a reține parola administratorului

2. Tabelul tcategorii:

Este folosit pentru stocarea felurilor de mâncare

Exemple de feluri de mâncare:

1.meniuri

2.ciorbe

3.desert

4.aperitive etc

Câmpuri:

fIdCategorie: Id-ul înregistrării

fNumeCategorie: Felul de mâncare

3. Tabelul tcomentarii:

Este folosit pentru stocarea comentariilor și a notelor adăugate de clinții restaurantului pentru serviciile prestate de restaurant.

Câmpuri:

fIdComentariu: Id-ul înregistrării;

fIdProdus: Id-ul comentariului

fIdUtilizator: Id-ul utilizatorului care a adăugat comentariul

fComentariu: Textul comentariului

fData: Data la care a fost adăugat comentariul

fAprobat: Specifică dacă comentariul a fost aprobat sau nu. Valori posibile: 0 și 1.

fValoarevot- un număr de la 1 la 5

Inițial comentariul nu este aprobat, iar câmpul fAprobat este setat pe 0. Comentariile se pot aproba de către administrator din panoul de administrare.

4. Tabelul tcomenzi:

Este folosit pentru stocarea informațiilor legate de rezervarile trimise de utilizatori.

Câmpuri:

fIdComanda: Id-ul înregistrării;

fIdUtilizator: Id-ul utilizatorului ce a trimis formularul;

idcupon- nr mesei rezervate

fNumeCumparator: Numele clientului. Poate fi diferit de numele utilizatorului care a efectuat comandă;

fEmailCumparator: Adresa email a client. Poate fi diferită de adresa email a utilizatorului care a trimis cererea de rezervare;

fAdresaCumparator: mesaj

fDataComanda: Data la care a fost trimis formularul.

5. Tabelul tcos:

Este folosit pentru stocarea datelor din formularul pentru rezervare.

În momentul autentificării sau părăsirii contului conținutul formularului este golit.

Câmpuri:

fIdItem: Id-ul înregistrării;

fIdUtilizator: Id-ul utilizatorului care trimite formularul;

fIdProdus: Id-ul felului de mîncare adăugat în formular;

fIdSesiune: Id-ul sesiunii utilizatorului.

6. Tabelul tproduse:

Este folosit pentru stocarea informațiilor referitoare la mâncare.

Câmpuri:

fIdProdus: Id-ul înregistrării;

fIdSubcategorie: Id-ul tipului din care face parte mâncarea

fNumeProdus: Numele mâncarii;

fCodProdus: Codul mâncarii;

fImagine: Calea către imaginile cu mâncarea respectivă ce sunt stocate în directorul “images/produse”;

fDescriere: Descrierea detaliată a mâncare;

fSpecificatii: Detalii mâncare ;

fPret: Prețul mâncarii exprimat în lei, fără TVA;

7. Tabelul tprodusecomenzi:

Conține rezervări de mese împreună cu o simulare pentru a afla prețul felurilor de mâncare pe care ar dori să le comandate posibilul client.

Este asemănător tabelului tcos.

Câmpuri:

fIdArticol: Id-ul înregistrării;

fIdComanda: Id-ul rezervării;

fIdProdus: Id-ul mâncării trimise prin formular pentru detalii;

8. Tabelul tsubcategorii:

În acest tabel sunt stocate informații referitoare la tipurile de mâncare (post, frupt, vegetarian).

9. Tabelul tutilizatori:

În acest tabel sunt înregistrate informațiile referitoare la utilizatorii care sunt înregistrați pe site.

Câmpuri:

fIdUtilizator: este folosit pentru a reține id-ul înregistrării;

fNumeUtilizator: este folosit pentru a reține numele de utilizator;

fParola: este folosit pentru a reține parola utilizatorului;

fEmail: este folosit pentru a reține adresa de email a utilizatorului;

fAdresa: este folosit pentru a reține adresa utilizatorului;

fDataInregistrare: este folosit pentru a reține data când utilizatorul s-a înregistrat pe site.

CAPITOLUL IV. IMPLEMENTAREA ȘI UTILIZAREA APLICAȚIEI

4.1 Crearea bazei de date

Adăugarea datelor în baza de date se face prin

a) interfața paginii web -crearea contului de utilizator

-formularul Comanda ta

În cazul în care utilizatorul nu este autentificat, acesta poate accesa opțiunea contul meu pentru autentificare. Pentru autentificare se completează câmpurile

Utilizator

Parola

Dacă utilizatorul nu are cont pe site acesta și-l poate creea apăsând pe butonul Cont Nou.

Dacă avem cont creeat și ne autentificăm suntem întâmpinați de un mesaj de bun venit, împreună cu 2 opțiuni:

Contul meu;

Ieșire

Dacă utilizatorul alege opțiunea contul meu se vor putea actualiza datele personale cu excepția numelui de utilizator. Dacă utilizatorul selectează opțiunea Ieșire va fi dezauntetificat de pe site. Creare a unui nou cont ne este ilustrată mai jos:

Figura 4.1 Formularul pentru crearea unui cont nou

Datele despre un utilizator sunt adăugate in tabela tutilizatori

Fișierul înregistrare.php are următoarea secvență pentru înregistrarea unui utilizator( vezi anexa 1)

b) secțiunea de administrare

Conectarea bazei de date cu pagina web se face cu fișierul mysql.inc care se află în directorul include. ( vezi anexa 2)

4.2 Programarea interfețelor și tipuri de utilizatori

Interfața cu utilizatorul

Accesarea opțiunii contul meu oferă posibilitatea de a actualiza datele personale ale utilzatorului, cu excepția numelui de utilizator .

După autentificarea utilizatorului acesta își poate modifica informațiile personale, accesând opțiunea Contul meu:

Aici are la dispoziție informațiile introduse la înregistrare.

Opțiunea Ieșire are ca efect dez-autentificarea utilizatorului. Funcțiile pentru inserarea meniului din stânga sunt descrise în funcția function fInsertCategLeftMenu()(vezi anexa 5).

Caseta de căutare este definita prin functia function fInsertQuickSearch ($intIdCategorieCautare) ( vezi anexa 4)

Formularul Comanda ta ste accesibil utilizatorilor autentificați iar fără autentificare se afișează următorul mesaj:

După autentificare conținutul formularului poate fi prezentat în 2 moduri.

Primul mod este afișat în cazul în care nu avem locuri rezervate:

Dacă există feluri de mîncare în formular precum și rezervări de mese acestea vor fi afișate împreună cu nume mâncării.

Alte opțiuni disponibile:

Șterge rezervarea;

Rezervare masa;

Date personale.

Opțiunea Șterge rezervarea, șterge toate rezervările din formular în cazul în care utilizatorul confirmă acest lucru, pentru a preveni ștergerea accidentală:

Figura 4.2 Formularul pentru rezervare mese

Butonul Comandă rezervările afișează următoarea pagină de unde pot completa numărul de masa /mese rezervată iar secvența care descrie acțiunea respectivă este în fișierul comanda.php.( vezi anexa 6)

Interfața de administrare

În secțiunea de administrare pot fi adăugate/șterse/editate tipurile de mâncare, feluri de mâncare, rezervări, utilizatori, comentarii.

Pagina de început este următoarea:

Figura 4.3 Interfața panoului de administrare

Pentru a avea acces la opțiunile de administrare, administratorul site-ului trebuie să se autentifice

După autentificarea administratorului va fi vizibil meniu din stanga:

Prima opțiune din panou este pentru modificarea parolei de acces. Numele de utilizator nu poate fi schimbat de administrator

Figura 4.4 Modificare parola

A doua grupă de opțiuni folosește definirii tipului,felului de mâncare, numărul mesei și data pentru care se dorește rezervarea

Figura 4.5 Meniul din panoul de administrare

Ultima opțiune din acest grup folosește definiri mâncărurilor

Aceasta afișează: tipul, felul mâncării; numele, detalii mâncare, mesele rezervate, preț.

Adăugarea unui produs se face la fel ca la editarea lui prin completarea obligatorie a tuturor câmpurilor

Imaginile cu mâncarea trebuie să respecte următoarele reguli:

-Fisiere acceptate: GIF/JPG

-Marime maximă: 500kb

-Dimensiuni maxime: 200px/200px

Figura 4.6 Modificare date produs culinar

Cu următoarea grupă de opțiuni se administrează utilizatorii înscriși, comentariile postate în legătură cu impresiile lăsate despre serviciile de la restaurant, administrarea rezervărilor și rapoarte cu datele primite pentru rezervare.

Administrarea cererilor trimise prin formulare afișează informații despre utilizatorul care a trimis formularul și data rezervării. Informațiile referitoare la rezervarea unui număr de mese sunt trecute în formular, adresa de email le găsim în pagina de detalii a comenzilor:

De asemenea administratorul poate lua legătura direct cu utilizatorul care a trimis rezervarea prin afișarea opțiunii de afișare a adresei de email.

Figura 4.7 Meniul utilizatorilor din panoul de administrare

Administratorul poate șterge utilizatorii, fără a adăuga sau modifica datele unui utilizator.

Alte opțiuni disponibile: afișarea detaliilor despre utilizatori.

Acestea conțin adresa de email a utilizatorului care este afișată sub formă de link de tip mailto. Zona de administrare a comentariilor are opțiunea de ștergere dar nu are opțiunile de adăugare sau modificare. De asemenea se oferă legături către profilul utilizatorului care a adăugat comentariul și asupra detaliilor cu privire la serviciile prestate de restaurant la care este atașat comentariul. Cu ajutorul opțiunii ieșire administratorul închide panoul de administrare pentru a nu se permite accesul neautorizat la administrarea al site-ului.

4.3 Testarea aplicatiei produs

Descrierea funcțiunilor aplicației

Aplicația E-Restaurant își propune realizarea următoarelor funcționalități:

folosirea unui formular în care clientul poate rezerva un număr de mese disponibile la o dată cerută,

personalizarea contului de utilizator;

afișarea listei cu mâncare pe categorii și subcategorii ;

căutarea unui produs după fel și tip

lăsarea de mesaje pe pagina rezervare și posibilitatea de a da o notă de la 1 la 5;

Pentru soluționarea problemei, aplicația a fost împărțită în mai multe module care vor fi discutate în detaliu. Aplicația E-Restaurant a fost dezvoltată pornind de la următoarele module:

• Autentificare client

• Trimitere formular on-line

• Lista de mâncare după tip și fel

• Administrarea site-ului

Voi descrie aceste module și voi prezenta o serie de aspecte legate de implementarea efectivă a modulelor respective.

Autentificare client în cadrul aplicației E-Restaurant se referă la posibilitatea clienților de a crea un cont personal cu ajutorul căruia să facă rezervări la una sau mai multe mese la o dată dorită de client . Serviciile oferite sunt următoarele:

• creare cont nou;

• modificare date personale;

• vizualizarea rezervărilor efectuate;

• modificare parolă și recuperare parola;

Crearea unui cont nou constă în completarea unui formular cu datele personale ale utilizatorului și alegerea unui nume de cont și o parolă.

Modificarea datelor personale se realizează la fel cu crearea unui cont nou, pentru fiecare utilizator se pot modifica numele și prenumele, localitatea sau adresa de e-mail. Selectarea produsului se realizează din pagina personală apăsând butonul comanda ta Aici se va putea alege un tip sau fel de mâncare, sau implicit toate mâncarurile disponibile. În funcție de alegerea pe care am facut-o se va afișa mâncarea din felul selectat

Vizualizare formularului cu mese rezervate este o altă opțiune disponibilă prin apăsarea butonului comanda ta. La selectarea butonului se deschide o fereastră cu lista tuturor rezervărilor de mese,data, cu afișarea detaliilor pentru fiecare produs trecut în listă.

Formularul on-line în cadrul aplicației E-Restaurant dă posibilitatea clienților de a trimite rezervări de mese și de a simula un calcul pentru mâncarea care o dorește să o comande. Trimiterea cererilor se realizează cu ajutorul formularului Comanda ta. După selectarea butonului aferent produsului respectiv este adăugată în formularul virtual disponibil fiecărui utilizator în parte. În continuare, se regăsesc următoarele opțiuni: ștergerea din formular a datelor folosind opțiunea “Șterge rezervare”.

Prin acest exemplu a fost arătat cum se creează un formular virtual și ce operații se pot efectua cu el.

Administrarea site-ului Din cadrul acestui modul administratorul poate modifica conținutul site-ului, să vizualizeze și să modifice anumite informații. În această secțiune doar administratorul poate avea acces. Serviciile sunt următoarele:

• adăugare tipuri mâncare, feluri de mâncare

• modificare mâncare, utilizatori;

• ștergere mâncare, utilizatori sau rezervări;

Adăugarea este esențială pentru această aplicație, pornind de la ideea că este un siteon-line iar adăugarea de noi produse este primordială.

Modificarea se face la fel ca adăugarea, pentru fiecare mâncare sau utilizator se poate modifica atât numele, prenumele, adresa cât și caracteristicile.

Ștergerea unei înregistrări se realizează prin selectarea mâncării dorite, sau a utilizatorului și folosirea butonului “Ștergere” din dreptul înregistrării.

Vizualizarea cererilor trimise de un user prin intermediul formularului. La apăsarea butonului detalii din dreptul userului va apărea o nouă fereastră cu date despre rezervarea efectuată

CONCLUZII

Site-urile au avut o evoluție ascendentǎ în timp, plecând de la site-uri simple, cu conținut format doar din text, ce aveau ca target un numǎr restrâns de utilizatori, la site-uri complexe prin modul avansat de creare și dezvoltare și a conținutului multimedia afișat. Printre avantajele site-urilor web putem enumera: publicitate sporitǎ, întreținerea relației cu clienții externi, creșterea prestanței, disponibilitate (aproape) permanentǎ în orice interval și de oriunde și nu în ultimul rând, costuri reduse de dezvoltare și mentenanțǎ.

Tema aleasǎ pentru acest site este una specificǎ unui restaurant, folosind culori predominante ce denotǎ calm, fonturi formale, imagini care sǎ inspire calitate și performanțǎ, meniu structurat într-un mod accesibil, conținutul paginilor sǎ fie concis și expresiv și nu în ultimul rând un layout optimizat pentru a fi ușor accesibil de conexiuni slabe la internet.

În elaborarea design-ului am organizat tot conținutul de pe site-ul actual într-un meniu cu trei elemente principale:

meniu orizontal cu submeniurile Recenxii, ‘Acasă, ‘Harta, ‘Cautare’ si ‘Contact’;

meniu de logare cu optiunile ‘Cont nou’ și ‘Autentificarer’;

meniu vertical cu ‘feluri de mâncare’, ‘Informatii’ ;

Pentru a da originalitate site-ului, am unit content-ul paginilor cu meniul pentru a simplifica design-ul și a da o notǎ interactivǎ site-ului per total.

În elaborarea design-ului, dar și în aplicarea tipografiei și imaginilor am respectat standardele de simetrie, unitate, proximitate, repetiție, accentuare, plasare, continuitate, contrast. Culorile predominante din cadul site-ului sunt verde deschis (ce inspirǎ calm și relaxare), portocaliu (pentru a simboliza un aspect atractic).

Limbajele de programare folosite în crearea acestui site au fost:

HTML (Hypertext Markup Language) – Aplicat în organizarea elementelor în paginǎ și în redactarea conținutului;

CSS (Cascading Style Sheets) – Aplicat în formatarea elementelor din layout și la formatarea textelor, culorilor și a imaginilor;

JS (Javascript) / jQuery – Aplicat pentru a introduce anumite funcționalitǎți elementelor ce le fac sǎ devinǎ interactive;

PHP (Hypertext Preprocessor) – Aplicat în formularul de contact, pentru a putea trimite informațiile furnizate de utilizator cǎtre adresa de e-mail asociatǎ site-ului.

Elementele site-ului au fost create și implementate în paginǎ sub forma mai multor tag-uri de tip html:

Layout-ul a inceput cu tag-urile ‘head’, ‘title’ și apoi ‘body’. În tag-ul ‘body’ au fost introduse toate div-urile, așadar aici a fost implementat div-ul cu id-ul ‘layout’, ce a definit dimensiunile site-ului.

Header-ul a fost implementat prin div-ul cu ID-ul ‘header’.

Meniul a fost creat prin div-uri având aplicate clasele ‘cc_menu’, ‘cc_item’, ‘cc_submenu’, împreunǎ cu clasa auxiliarǎ ‘span.cc_title’.

Conținutul paginilor a fost realizat cu div-uri având aplicate clasele ‘cc_content’, ‘cc_content div.block’, ‘float_stanga’ și repectiv ‘float_dreapta’, împreuna cu clasele auxiliare pentru ‘cc_content’ la tag-uri de tip ‘h1’, ‘p’ și ‘a’.

Footer-ul este implementat prin div-ul cu ID-ul ‘fooder’.

Printre elementele ce pot fi îmbunǎtǎțite pot face referire la:

Un viitor intro de prezentare a agenției;

Conținutul paginilor sǎ fie multilingvistic;

În concluzie, consider cǎ site-ul pe care l-am creat ar avea un succes mai mare în rândul utilizatorilor internetului . Imaginea conteazǎ foarte mult în timpurile noastre astfel cǎ elementele atractive pot avea un impact considerabil în opțiunile viitorilor clienți.

BIBLIOGRAFIE

B. Ghilic-Micu, M. Stoica, (2002), E-activitățile în societatea informațională, Colecția Societatea Informațională, Ed.Economică, București.

Beju Viorel – Prețuri, Ed. Economică, București, 2000

Buraga Sabin, (2003), Aplicații Web la Cheie, Editura Polirom, București

Buraga Sabin (2004), Proiectarea Siturilor Web. Design și Funcționalitate, Editura Polirom

Dașu, Narcisa Gabriela,.(2011), Crearea, proiectarea, optimizarea, publicarea și promovarea site-urilor Web , Buzău : Teocora;

Dobrescu Emilian, Stere Stavrositu – Tehnica servirii consumatorilor, Ed. Didactică și Pedagogică, București, 2003

Eve Mitleton-Kelly, (2003) Ten Principles of Complexity & Enabling Infrastructures,, ELSEVIER 2003

Fayol, H.(1964), – Administration industrielle et générale, Dunod,Paris

Griffin, R. W. (1996). Management. 5-th Edition. Boston: Houghton Mifflin Company

Harold Koontz(1990), Essentials of Management, Mcgraw-Hill College

Ilgen, D.R., Fisher, C.D. & Taylor, M. S. (1979) Consequences of individual feedback on behavior in organizations. Journal of Applied Psychology,

Ioniță, Anca, (2003), Modelarea UML în ingineria sistemelor de programare, Editura ALL, București

Ioan Ursachi (2007), Management, Editura ASE, București

Jay Greenspan si Brad Bulger- MySQL / PHP Database Applications

Kevin Yank , Building a Database – Driven Web Site using PHP and MySQL

Liciniu A. Kovács ; colab.: Cormos Monica Lavinia, Pop Gabriel Marius , Ghid avansat de comerț electronic (2011), ed.: Colin Holcombe. – Cluj Napoca : Editura Fundației pentru Studii Europene,

Lambrescu, Ionuț. Analiza și prelucrarea imaginilor, (2011), Ploiești : Editura Universității Petrol-Gaze din Ploiești

Lămătic Gheorghe – Dotarea și organizarea activităților unităților de alimentație publică, Ed. Biblioprod, Piatra Nemț, 2005

M. Belu, D. Parasciv, A.M. Comănescu, (2004), Tranzacții pe Internet, Ed. Economică, București,

Moise, Ana, 2005, Realități organizaționale – vârsta și stresul, Ed. Lumen, Iași

Niculescu, Florentina Rodica(2005),Modelarea și proiectarea sistemelor software utilizând UML, Editura Universității din București

Onete Bogdan, (2005), Conținutul Site-urilor Comerciale – Elemente Obligatorii, Editura ASE, București;

O. Nicolaescu, I. Verboncu (2001)“Fundamentele managementului organizational”, Editura Tribuna economica,Bucuresti

Pleșca Doru, (2006), Analiza Eficienței Comerciale a unui Magazin On-line, Editura ASE, București

Paul Chin,( 2008), Best Practices for Developing a Web Site

Philip Crowder și David A. Crowder, (2008), Creating Web Sites Bible

Saseanu Andreea, (2005), Incertitudinea Strategică și Viitorul Dialogului On-line cu Consumatorul, Editura ASE, București

Scripcariu, Luminița.,(2011), Proiectarea bazelor de date , Iași : Politehnium

V. Patruț, M. Deju, D. Pacurari, (2005), Gestiunea și contabilitatea unor activități economice cu caracter deosebit, Editura Junimea, Iași;

Vlăsceanu, Mihaela, 1993, Psihologia organizațiilor și a conducerii, Ed. Paideia, București

V. V. Patriciu, M. Ene-Petrosanu, I. Bica, C. Vaduva, N. Voicu,(2001), Securitatea Comertului Electronic, Ed. ALL, București

Oficiul National al Regitrului Comertului, Romania [https://www.onrc.ro/index.php/ro/statistici ], accesat mai 2017.

ANEXE

Anexa 1

Înregistrare.php

Anexa 2

Mysql.inc –conectarea la baza de date

Anexa 3

Anexa 4

fInsertQuickSearch($intIdCategorieCautare)

Anexa 5

function fInsertCategLeftMenu()

Anexa 6

Comanda.php

Anexa 7

adminfunctions.inc

Similar Posts