Î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
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: În capitolul II sunt descrise mijloacele folosite, din punct de vedere al limbajului de programare și a sistemului de baze de date. [306767] (ID: 306767)
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.
