Proiectarea Si Programarea In Php a Magazinului Virtual

Cap. 3: Proiectarea și programarea în PHP a magazinului virtual

Aplicatia proiectata are ca obiectiv promovarea și comanda on-line de produse IT. Fiecare vânzare va fi precedată de o comandă, care va trebui confirmată pentru ca livrarea să aibă loc. Confirmarea se va face telefonic dar si prin e-mail, astfel că serverul pe care magazinul va fi instalat va trebui să fie capabil să trimită și să recepționeze e-mail-uri.

3.1 Proiectarea de ansamblu

Proiectarea de ansamblu a sistemului informatic și succesiunea activitatilor din cadrul proiectarilor este urmatoarae:

definirea obiectivelor

locul aplicației in sistem

definirea ieșirilor

definirea intrărilor

Obiectivele sistemului

Proiectarea sistemului trebuie să răspundă de urmatoarele cerinte:

Flexibilitate;

Fiabilitate;

Ușurința în folosire;

Implementarea cât mai rapidă;

Cost redus;

Eficiența redusă.

Proiectarea sistemului varealiză:

Proiectarea sistemului integrat al cererilor și ofertelor de munca;

Proiectarea paginilor web care va avea la bază informații despre procesul activitrăților;

Reproiectarea unei părți a sistemului existent;

Sistemul de inregistrarea cererilor și ofertelor de munca trebuie sș realizeze urmatoarere informații:

Asigură securitatea și confidențialitatea datelor;

Stocarea datelor;

Transmiterea datelor;.

Proiectarea bazei de date trebuie să aibă urmatoarele cerinte tehnice:

Să fie în formă normala 3;

Să raspunda restricțiilor de:

Unicitate a cheii;

Integritate a domeniului;

Integritate a relației;

Integritate de referință;

3.2 Model relațional al bazei de date.

Modelul relațional este un model logig al bazei de date care sa impus datorită naturaleții sale și simplității în înțelegerea și manipularea structurilor de date. Rrezentarea unei baze de date sub formă de relații se numește model relațional al bazei de date.

O relație este formată dintr-un tabel bidimensional în care coloanele corespund atributelor iar fiecare linie corespunde unei entități.

Fiecare relație se identifică printr-un nume unic în cadrul unei baze de date.

Fiecare atribut are un nume unic și trebuie să sugereze semnificația acestuia.

O linie a relației se numește tuplu al relației .Prin relație materializăm o clasă de entități în care fiecare tuplu reprezintă o entitate.

3.3 Schema Conceptuala a bazei de date

Fig. 3.1 – Schema BD

3.4 Structura bazei de date

Baza de date folosită este cea aparținând serverului MySQL și conține 5 tabele: ss_categories, ss_ordered_carts, ss_orders, ss_products, ss_special_offers.

Fig. 3.2 – tabele bazei de date

Tabela ss_categories este de tip InnoDB și are următoarele câmpuri:

Fig. 3.3 – Tabela Categorii

categoryID – cheia primară a tabelei

name – nume categorie

description – descriere

picture – fotografie

Tabela ss_ordered_carts este de tip InnoDB și are următoarele câmpuri:

Fig. 3.4 – Tabela – ordered carts

productID – id produs – cheie primara

orderID – id comanda

name – nume produs

price – pret

quantity – cantitate

Tabela ss_orders este de tip InnoDB și are următoarele câmpuri:

Fig. 3.5 – Tabela 0rders

orderID – id vanzare – cheie primara

order_time – data efectuari comenzi

cust_firstname – nume client

cust_lastname – prenume client

cust_email – email client

cust_country – tara de resedinta a clientului

cust_zip – codul postal

cust_address – adresa

cust_phone – nr. telefon

Tabela ss_special_offers este de tip InnoDB și are următoarele câmpuri:

Fig. 3.6 – Tabela Oferte speciale

offerID – oferta ID – cheie primara

product ID – produsID

sort_order – sortare

Tabela ss_products este de tip InnoDB și are următoarele câmpuri:

Fig. 3.7 – Tabela produse

productID – ID produs – cheie primada

categoryID – ID categorie

name – nume produs

description – descriere largita

customers_rating – rezultatul votului

price – pret

picture – poza

in stock – in stoc da/nu

thumbnail – poza mica

customer_votes – voturile clientilor

big_picture – poza mare

brief_description – descriere scurta

list_price – listare pret

product_code – codul produsului

3.5 Definirea documentelor de ieșire

Prin ieșirile unui subsistem informatic se va înțelege totalitatea informațiilor furnizate de acesta beneficiarilor interni și externi, respectiv rapoarte, note de informare-rapoatre, etc.

Definirea ieșirilor fiecărui subsistem informatic, presupune, în primul rând, stabilirea la nivel global, a informațiilor necesare conducerilor de pe diferite trepte ierarhice ale sistemului, specificând pentru fiecare în parte: aspectele programatice (legate de utilitate) și aspectele semantice (legate de conținut).

La nivel global, se vor prezentă toate caracteristicile ieșirilor sistemului proiectat, cum ar fi de exemplu: periodicitatea, numărul de exemplare, destinația fiecărui exemplar și tipul de exemplar.

Din panoul de administrator se pot prelua datele necesare pentru procesarea comenzii și anume:

Date Contact: Nume / Preume / Email / Telefon / Adresă / Oraș / Cod Poștal

Produse: Denumire Produs / Nr Produse Comandate

Total: Costul Produselor

3.6 Definirea documentelor de intrare

Prin ”intrările” sistemului vom înțelege totalitatea datelor care reflectă starea și dinamica fenomenelor și proceselor economice din domeniul analizat, care sunt necesare creării, actualizării bazei de date și obținerii situațiilor de ”ieșire”.

Pentru proiectarea videoformatelor de intrare, există două moduri de desfășurare a dialogului operator-calculator și anume:

întrebare-răspuns cu defilarea liniilor ecranului

afișarea machetei de introducere a datelor de intrare

Trimite Comanda

Imediat după ce utilizatorul a adăugat în coșul de cumpărături produsele dorite urmează completarea formularului de trimitere a comenzii . Pentru a putea trimite comanda utilizatorul trebuie să completeze următoarele câmpuri:

”Nume” – Numele Utilizatorului

”Prenume” – Prenumele Utilizatorului

”Email” – Adresa E-mail

”Telefon” – Număr de Telefon

”Adresă” – Adresa unde vor fi livrate produsele comandate

”Oraș” – Orașul unde vor fi livrate produsele

”Judet” – Judetul unde vor fi livrate produsele

”Cod Poștal” – Codul Orașului

”Tara” – Tara unde vor fi livrare produsele

Odată câmpurile completate se apasă butonul trimite , iar comanda va fi trimisă către un administrator.

Adaugă Categorie

Pentru adăugarea unei noi categorii de produse este necesară completarea a 4 câmpuri:

”Parinte” – Categorie Principală / Subcategorie dacă este selectată o categorie existentă.

”Nume Categorie” – Numele Categoriei

”Logo” – Poza aferenta pentru aceasta categorie

”Descriere” – Descrierea sumara a categoriei adaugate

Dupa completarea acestor campuri se apasa butonul „Salveaza”

Adaugă Produs

Adăugarea unui nou produs în baza de date de către administrator se face completând un formular .

” Categorie” – Categoria unde apare produsul

” Denumire” – Nume produs

” Preț” – Prețul produsului

” Preț Nou” – Dacă se va completa câmpul Preț Nou – Produsul respectiv urmează să apară în categoria de PROMOȚII.

” Poza” – Upload fotografie produs

” În Stoc” – Da/Nu – Produsul se află sau nu în stoc.

” Descriere” – Descrierea produsului respectiv

Dupa completarea acestor campuri se apasa butonul „Salveaza”

Setari Generale

Configurare

” Nume Site” – Setare nume site.

” Url” – Adresa site (ex: www.pc-shop.ro).

” Admin Email” – Setare adresa e-mail administrator.

” Verificare Email” – Verificare e-mail.

Moneda

” Simbol Moneda” – Setare simbol moneda (ex: RON , $ , €)

” Moneda Curenta” – Setare Moneda

” Monede Acceptate” – Lista monede acceptate (ex: RON , USD , EURO)

Parola Admin – Schimbare Parola

” User” – Editare user administrator.

” Parola Veche” – Parola Veche

” Parola Noua” – Adaugare Parola Noua

” Confirmare Parola Noua” – Verificare Parola Noua

Pagini Site – Editare Pagini

” Pg. Despre Noi” – Editare pagina Despre Noi

” Pg. Plata si Livrare” – Editare pagina Plata si Livrare

3.7 Descrierea funcțiilor utilizate în aplicație:

isset() – funcție care verifică dacă a fost setată o valoare a unei variabile;

strlen() – funcție ce returnează lungimea unui șir de caractere;

require() – funcție care include în scriptul curent conținutul unui fișier cu verificarea de a fi introdus o singură dată (spre deosebire de funcția include() – care permite includerea fișierului de mai multe ori) ;

printf() – funcție care afișeaza un șir de caractere formatat;

crypt($pass, "BB") – funcție care criptează un șir de caractere ($pass) după o cheie de criptare (BB);

mail($to, $subject, $message, $headers) – funcție folosită pentru a trimite un email (de la $to, cu subiectul $subiect, având ca mesaj $message cu headerele adiționale $header);

strcmp() – funcție care compară două șiruri de caractere (asemănător funcției standard în C)

trim() – funcție care elimină spațiile goale de la începutul și sfârșitul unui șir de caractere specificat ca parametru (asemănător funcției standard în C);

mysql_query() – trimite o comandă mysql bazei de date active de pe server;

mysql_fetch_array() – returnează o linie din rezultatul comenzii;

mysql_error() – returnează mesajul de eroare sub formă de șir de caractere generat de baza de date mysql dacă este cazul;

mysql_num_rows() – returnează numărul de linii din rezultatul unei cereri mysql;

mysql_connect('localhost', $user, $pass) – deschide o conexiune către un server mysql (numele serverului – ‚localhost’, $user – username-ul si parola – $pass);

mysql_select_db($dbname) – alege o bază de date mysql după conectarea la un server mysql;

session_start() – inițializează o secțiune de date bazată pe ID-ul de sesiune trimis printr-o cerere GET sau POST;

session_destroy() – distruge toate datele asociate cu sesiunea curentă;

ob_start() – oprește afișarea bufferului până la terminarea execuției scriptului;

function draw_data_form($prefix, $an, $luna, $zi, $an_min, $an_max) – funcție definită de programator care generează codul HTML pentru afișarea datei calendaristice sub forma a trei elemente combo-box;

function verifica() – funcția folosită foarte des în proiect, care verifică datele trimise de un formular în vederea introducerii acestora într-un tabel (într-o bază de date);

function afis_next($p, $total) – funcție care afișează lista paginilor dintr-un meniu de afișare a anumitor informații;

function init_print() {

isNS=(document.layers==1);

print(); – inițializează listarea la imprimantă a unei pagini web;

Similar Posts

  • Utilizarea Computerului Si Organizarea Fisierelor. Sistemul de Operare Windows 7

    „ UTILIZAREA COMPUTERULUI ȘI ORGANIZAREA FIȘIERELOR; SISTEMUL DE OPERARE WINDOWS 7” 2. Utilizare sistem de operare Windows 7 2.1. Introducere Sistemul de operare este ansamblul de programe care gestionează resursele hardware și software ale calculatorului. Sistemul de operare este cel care permite și controlează accesul utilizatorului la resursele (componentele) hardware. Prin componentele sale specializate, sistemul…

  • . Programarea Orientata Obiect In Sisteme Distribuite

    Programarea orientată obiect în sisteme distribuite. Studiu de caz DCOM Introducere Programarea orientată obiect s-a concentrat mulți ani asupra platformelor monoutilzator. Pe măsură ce complexitatea aplicațiilor a crescut și a apărut tehnologia client/server sa simțit nevoia de-a putea partaja obiecte intr-un context multiutilizator Importanța rețelelor a crescut enorm în ultimi ani, mai ales de când…

  • Implementarea Unei Infrastructuri Microsoft Exchange Server 2010

    CUPRINS 1. INTRODUCERE…………………………………………………………………………………….3 1.1 Context…………………………………………………………………………………………………………….3 1.2 Tema proiectului………………………………………………………………………………………………..5 2. FUNDAMENTAREA TEORETICĂ……………………………………………………….6 2.1 Sistemul de operare Windows Server 2008 R2………………………………………………………6 2.1.1 Prezentare generală……………………………………………………………………………….6 2.1.2 Versiunile sistemului de operare Windows Server 2008……………………………7 2.2 Active Directory………………………………………………………………………………………………10 2.2.1 Introducere în Active Directory……………………………………………………………10 2.2.2 Rezolvare de nume……………………………………………………………………………..11 2.2.3 Infrastructura Active Directory…………………………………………………………….13 2.2.4 Accesul la resurse……………………………………………………………………………….15 2.3 Microsoft Exchange 2010…………………………………………………………………………………18 2.3.1…

  • Arhitecturi de Acces la Internet Pentru Utilizatori Casnici Si Institutii Mici

    Cuprins Capitolul I. Introducere…………………………………………………………………………………………………4 Capitolul II. Rețele de calculatoare Cuprins 2 I. Introducere 4 II. Rețele de calculatoare 6 2.1.Rețele locale 6 2.1.1. Topologia rețelelor 6 2.1.2. Arhitectura rețelelor 7 2.2. Echipamente de comunicație 8 2.2.1. Hub-ul 8 2.2.2. Switch-ul 9 2.2.3. Router-ul 9 2.3. Cabluri și conectori 10 2.4. Adrese IP 11 2.5. Modelul…

  • Fiabilitatea In Arhitectura Calculatoarelor

    Introducere Principalul subiect al teoriei fiabilității (reliability theory) este construirea sistemelor fiabile din componente nefiabile. Dacă un sistem ar funcționa numai atunci toate componentele sale ar fi funcționale, ar fi virtual imposibil de construit un sistem complex, pentru că fiabilitatea ar descrește exponențial cu numărul de componente. Principala unealtă folosită în construirea sistemelor complexe este…