Sunteți pe pagina 1din 51

CUPRINS

Introducere...................................................................................................................................4
CAPITOLUL I - STUDIUL ȘI ANALIZA SISTEMULUI EXISTENT..........................................................6
1.1. Prezentarea succintă a unității economico-sociale.................................................................7
1.2. Principalele activități desfășurate în unitatea economică......................................................8
1.3. Studiul sistemului de conducere............................................................................................9
1.4. Studiul sistemului informatic................................................................................................11
1.4.1. Dotarea tehnică existentă.............................................................................................11
1.4.2. Furnizori de servicii........................................................................................................11
1.4.3. Soluții software..............................................................................................................11
1.5. Analiză critică a sistemului informatic..................................................................................12
1.6. Modelarea conceptuală a datelor........................................................................................13
CAPITOLUL II - PROIECTAREA DE ANSAMBLU A SISTEMULUI INFORMATIC.................................14
2.1. Definirea obiectivelor...........................................................................................................15
2.2. Estimarea necesarului de resurse.........................................................................................16
2.3. Modelarea prelucrărilor.......................................................................................................17
2.4. Diagrama Entitate-Asociere..................................................................................................17
2.5. Stabilirea platformei hardware şi software şi de comunicaţii...............................................19
2.6. Componente soft pentru realizarea aplicaţiei......................................................................20
2.6.1. PHP Hypertext Processor...............................................................................................20
2.6.2. MySQL - My Structured Query Language.......................................................................21
2.7. Concepte de programare utilizate........................................................................................23
2.7.1. Programarea Orientată pe Obiect (OOP – Object Oriented Programming)...................23
2.7.2. MVC (Model – View – Controller)..................................................................................23
2.7.3. Normalizarea bazei de date...........................................................................................23
2.8. Calendarul de realizare.........................................................................................................24
CAPITOLUL III – PROIECTAREA DE DETALIU A APLICAŢIEI INFORMATICE....................................25
3.1. Descrierea funcţiilor aplicaţiei..............................................................................................26
3.1.1. Funcţii frontend.............................................................................................................26
3.1.2. Funcţii backend.............................................................................................................26
3.2. Descrierea documentelor de intrare....................................................................................27
Crearea unui cont de utilizator............................................................................................27

2
3.2. Descrierea documentelor de ieşire.......................................................................................28
3.3. Structura bazei de date........................................................................................................29
3.4 Structura aplicației................................................................................................................37
CAPITOLUL IV – PREZENTAREA PRODUSULUI SOFTWARE...........................................................38
4.1. Cerinţele produsului software..............................................................................................39
4.2. Elementele principale ale aplicatiei......................................................................................40
4.3. Descrierea funcţiilor aplicaţiei..............................................................................................41
CAPITOLUL V – EFICIENŢA ŞI UTILITATEA APLICAŢIEI INFORMATICE...........................................47
5.1. Condiții privind implementarea aplicației............................................................................48
5.2. Posibilităţi de îmbunătăţire..................................................................................................49
5.2. Avantajele noului sistem şi concluzii....................................................................................50
BIBLIOGRAFIE.............................................................................................................................51

3
Introducere

Importanță mediului online pentru o societate comercială este cu siguranță un


factor care nu trebuie neglijat în zilele noastre, având posibilitatea de a crește veniturile
unei firme, dar și a crește comunicarea între firmă și clienți, și a spori încrederea în
brandul societății comerciale.

În anul 2012 se tranzacționau online 218 milioane de euro, în creștere față


de 157 milioane de euro în anul 2011 (Gala Premiilor eCommerce , 2012). Acest trend
este în creștere, iar mediul online devine o sursă de venit din ce în ce mai important
pentru firmele din România.

Comerțul electronic reprezintă desfășurarea activităților specifice mediului de


afaceri (tranzacție) într-un sistem automat integrat bazat pe tehnologia informației,
utilizând mijloace electronice.

Spre deosebire de mediul tradițional de afaceri unde clientul trebuie să se


deplaseze din magazin în magazin pentru a cumpăra obiectul pe care și-l dorește, folosind
magazinele virtuale clientul poate efectua cumpărături cu doar câteva click-uri, din fața
unui calculator conectat la Internet. Un alt mare avantaj al magazinelor virtuale pentru
client este acela că acesta poate să compare prețurile mult mai ușor și să aleagă varianta
cea mai bună pentru el.

Proiectul din această lucrare intitulată „Magazin virtual cu sistem de gestiune


integrat”, prezintă implementarea unui magazin virtual pentru o societate comercială, cu
sistem de gestiune pentru partea de reparații de arme și depozitări de arme integrat în
interfață de administrare a site-ului, astfel încât clienții să găsească într-un singur loc tot
ce au nevoie.

Această lucrare are ca obiect principal de studiu o societate comercială din


București, cu numele de Eurocomertz Import - Export SRL, care în momentul de față nu

4
are o prezența online sub forma unui website, așa că realizarea unui magazin virtual
reprezintă o oportunitate majoră.

Firma are ca obiectiv principal de activitate comercializarea de arme și muniție,


dar oferă și alte servicii precum depozitări de arme, reparații sau închirieri. Cadrul legal
sub care operează această societatea legală, și anume legea 295/2004, interzice vânzare
de arme și muniție persoanelor neautorizate (care nu au permis de port-armă), ceea ce
înseamnă că realizarea softului va fi mai dificil de realizat, existând mai multe condiții față
de un magazin virtual obișnuit.

Scopul acestei lucrări este familiarizarea cu limbajul de programare PHP la un


nivel înalt și a bazei de date MySQL. Pentru realizarea software-ului vor fi folosite
concepte de programare precum programarea orientatata pe obiect (POO), MVC (Model
a View a Controller), dar și alte paradigme de programare de natură să arate versatilitatea
cuplului PHP și MySQL pentru realizarea de software-ul dinamice deosebit de complexe.

Alte limbaje folosite în această lucrare sunt JavaScript, dar și HTML, respectiv CSS
pentru realizarea interfeței site-ului.

5
CAPITOLUL I - STUDIUL ȘI ANALIZA SISTEMULUI
EXISTENT

6
1.1. Prezentarea succintă a unității economico-sociale

Societatea comercială Eurocomertz Import - Export SRL, este o societate


comercială având capital 100% românesc, fondată la data de 17.06.1991 de către un
armurier român. Firmă, înregistrată la Registrul Comerțului cu numărul de înmatriculare
J40/4530/1991, are ca obiectiv principal de activitate comerțul cu arme de vânătoare,
autoapărare și tir sportiv, precum și muniția aferentă acestor tipuri de arme.

Societatea deține un singur punct de lucru și sediu social, aflat în București, pe strada
Gazelei, numărul 39A.

Eurocomertz Import - Export SRL este una din primele 5 companii de profil de pe
piața românească, fiind una dintre cele mai vechi companii din domeniu și având un
portfoliu de peste 2500 de clienți, atât persoane fizice, cât și persoane juridice.

Datorită produselor vândute, precum și ale serviciilor prestate, firma se află încadrată
într-un cadru legislativ special, fiind necesar să se subordoneze atât Codului Fiscal aflat în
vigoare la momentul scrierii acestei lucrări, dar și a legii numărul 295/2004 privind
regimul armelor și munițiilor.

Eurocomertz Import - Export oferă clienților săi un pachet complet de produse și


servicii pentru vânătoare, autoapărare, pază și protecție. Beneficiind de condiții tehnice
specifice, societatea oferă și servicii de depozitare pentru arme și muniții, cât și servicii
complete de armurierat, constând în reparații de arme de vânătoare, tir sportiv,
autoapărare, apărare și pază, aer comprimat, confecționarea de elemente specifice
pentru tipurile de arme menționate mai sus.

Serviciile de armurierat ale firmei sunt prestate în atelierul propriu de către


personal calificat și atestat conform legislației în vigoare.

De asemenea, Eurocomertz închiriază în condițiile legii arme de vânătoare cu alice


și cu glonț și arme de autoapărare și pază.

7
1.2. Principalele activități desfășurate în unitatea economică

Principala activitate a societății comerciale Eurocomertz Import - Export SRL este


aceea de comercializare a armelor de vânătoare, autoapărare, tir sportiv, pază și
protecție, precum și muniția aferentă acestor arme.
Pe lângă activitatea principală, există și activități secundare de importanță
deosebită pentru obiectul acestei lucrări.
În încercarea de a oferi o gamă largă de servicii clienților, Eurocomertz Import
a€“ Export, oferă și servicii de depozitare a armelor și muniției, dar și servicii de
armurierat.
Pentru depozitarea armelor și a muniției, firma are amenajat un spațiu special,
dotat cu camere de supraveghere și sisteme de alarmă și protecție conform
reglementărilor în vigoare, astfel încât produsele clienților să beneficieze de siguranță
maximă pe perioada depozitării.
Depozitarea se face pe o perioadă determinată sau nedeterminată în funcție de
dorința clientului, pentru fiecare lună de depozitarea societatea comercială solicitând o
anumită sumă de bani, în funcție de tipul armei sau a muniției. Societatea își rezervă
dreptul de a aplica penalități de întârziere la plată, în cazul în care clientul depășește data
scadență a facturii cu 10 zile.
De asemenea, societatea este dotată cu un atelier propriu pentru a asigura
serviciile de armurierat. Tehnicienii angajați sunt atestați și calificați conform legislației
aflate în vigoare, pentru a putea opera armele.
În cadrul atelierului se repară sau se confecționează diverse părți componente ale
armelor, pentru că acestea să funcționeze în condiții optime. Tariful serviciilor de
armurierat este calculat în funcție de complexitatea reparației sau a piesei de
confecționat.
Societatea comercială Eurocomertz Import - Export SRL oferă clienților interesați
și posibilitatea de a închiria arme, clienții achitând o sumă de bani pe fiecare zi în care
arma este închiriată, în funcție de tipul armei.

8
1.3. Studiul sistemului de conducere

Societatea comercială Eurocomertz Import - Export SRL are un număr de 5


angajați, fiecare dintre aceștia având specializări și sarcini specifice pentru o eficiență
ridicată în cadrul firmei. Mai jos sunt prezentate responsabilitățile pentru fiecare dintre
funcțiile specificate în organigramă din Figura 2.

Director General
Calificări necesare
· Studii superioare, de preferință în domeniul economic
Atribuții și obligații
· Asigură și monitorizează bună funcționare a firmei din punct de vedere financiar,
strategic și al resurselor umane

· Creează și menține legătura cu parteneri și furnizori

· Elaborează strategii și politici comerciale ale firmei

Armurier / Gestionar

Calificări necesare
· Studii medii, diplomă de bacalaureat
· Atestat de armurier conform legii numărul 294/2004
Atribuții și obligații
· Preia spre depozitare sau reparație armele de la clienți
· Oferă informații despre produse clienților, legislația specificând clar că numai un
armurier autorizat poate opera armele în cadrul magazinului
· Semnează pentru produsele primite în gestiune
Sales Manager
Calificări necesare
· Studii medii
Atribuții și obligații
· Se ocupă de facturarea produselor și serviciilor către clienți

9
· Asigură gestiunea stocurilor împreună cu Armurierul/Gestionarul
· Emite comenzi către furnizori în urma consultării cu Gestionarul și Directorul
General
Social Media Manager
Calificări necesare
· Studii superioare, de preferința în domeniul IT sau marketing
Atribuții și obligații
· Promovează produsele și serviciile firmei pe rețele de socializare precum
Facebook, Twitter sau Google+

· Răspunde clienților existenți și potențiali la întrebări pe rețelele de socializare

· Analizează și raportează Directorului General tendințele din piață și cerințele


clienților

· Creează și monitorizează campanii de promovare împreună cu Directorul General


Tehnician
Calificări necesare
· Studii medii
· Calificare în domeniul
Atribuții și obligații
· Preia de la armurier/gestionar arme spre reparație, recondiționare sau efectuarea
de alte componente specifice
· Predă arma către armurier/gestionar arma, împreună cu un raport despre situația
serviciilor efectuate

10
Serviciul de contabilitate este externalizat către o companie specializată.

Director General

Armurier / Gestionar Sales Manager Social Media Manager

Tehnician

Figura 1 Organigrama societății Eurocomertz Import - Export SRL

1.4. Studiul sistemului informatic


1.4.1. Dotarea tehnică existentă
În firma există 3 computere necesare pentru desfăşurarea activaţii: unul folosit de
Directorul General, unul de Social Media Manager şi unul de Sales Manager.

1.4.2. Furnizori de servicii


· Orange - furnizor de servicii de telecomunicație mobilă pentru angajații firmei;
fiecare angajat beneficiază de câte un telefon din partea societății

· Raiffeisen Bank - principalul furnizor de servicii bancare al firmei

· RCS – RDS - furnizor de servicii de internet, cu bandă garantată de 20 Mb/s,


precum și de telefonie fixă

· Fan Courier - partener pentru expedierea coletelor în țara

1.4.3. Soluții software


· Microsoft Word

· Microsoft Excel

· Dropbox

· Facturis

11
1.5. Analiză critică a sistemului informatic

Analizând situația actualului sistem informatic al firmei, se pot constata anumite


neajunsuri care pot fi rezolvate prin introducerea unei soluții software personalizate.
Aceste neajunsuri sunt:

· Imposibilitatea clienților de a vizualiza produsele din stocul magazinului direct din


confortul casei, din moment ce firmă nu are un magazin online

· Posibile erori de integritate a datelor având în vedere că datele sunt introduse


manual de către Sales Manager într-un fișier Excel

· Securitate scăzută a datelor

· Imposibilitatea de notificare automată a clienților cu privire la facturile pe care le


au de plătit sau la statusul reparațiilor armelor acestora

· O singură persoană poate folosi baza de date în același timp, având în vedere că
baza de date se află într-un fișier Excel și chiar dacă acesta este share-uit cu toți
angajații firmei pe Dropbox, o modificare a acestui fișier în același timp de 2 sau
mai mulți utilizatori ar duce la conflicte și pierderi de date

· Imposibilitatea de a realiza statistici în mod automat precum: clienți bun-platnici,


cele mai căutate arme etc.

12
· În cazul în care calculatorul principal pe care este instalat sistemul de facturare
cedează, nu se mai pot emite facturi până la rezolvarea problemei

· Softul de facturare nu este sincronizat cu baza de date locală de produse și clienți,


în momentul de față existând practic două baze de date separate: cea a softului
Facturis și cea menținută de angajații Eurocomertz Import - Export SRL

· Migrarea către o altă soluție de management al clienților și al stocurilor este


greoaie

1.6. Modelarea conceptuală a datelor

1.1.1. General

Utilizator Factura

# id # id
* nume * nume
* prenume * prenume
* email * email
* parola * parola
* statut * statut

Client

# id
1.1.2.
# cnp
Magazin online
* nume Produs Comanda
* prenume
# id # id
* email
* nume * id client
* parola
* descriere * stare
* telefon
* stoc
* adresa
* magazin

13
1.1.3. Gestiune depozitări și gestiune reparații
Fisa Depozitare Arma Operatiune

# id # id # id
* id client * cost lunar * nume
* data intrare * finalizat
* data iesire
* finalizat

Fisa Reparatie

# id
* id client
* id angajat
* data intrare
* data iesire
* finalizat

CAPITOLUL II - PROIECTAREA DE ANSAMBLU A


SISTEMULUI INFORMATIC

14
2.1. Definirea obiectivelor

Obiectivele au fost stabilite în urma unor investigaţii efectuate împreună cu


cadrele de conducere ale unităţii.
Principalele obiective în dezvoltarea aplicaţiei:
· Posibilitatea vizitatorilor site-ului de a comanda online
· Monitorizarea comenzilor efectuate
· Generarea rapoartelor (numărul comenzilor, valoarea comenzilor
efectuate)
· Aplicaţie uşor de utilizat
· Flexibilitatea aplicaţie pentru implementare de noi funcţii
· Realizarea aplicaţiei într-un interval de timp redus
· Posibilitatea gestionării reparaţiilor de către angajaţi
· Posibilitatea gestionării depozitărilor de către angajaţi
· Notificarea clienţilor cu privire la plata lunară a depozitărilor
· Notificarea clienţilor cu privire la statusul reparaţiilor armelor acestora

Luând în considerare obiectivele stabilite mai sus, putem realiza sistemul software
din 3 părţi componente:
1. Magazinul virtual
2. Gestiunea depozitărilor de arme şi/sau muniţie
3. Gestiunea reparaţiilor

Aşadar, vor exista doi tipuri de utilizatori: client şi angajat. Clientul va avea acces
la:
· Interfaţa frontală a magazinului virtual de unde va putea efectua cumparatur
· Contul acestuia, unde va putea vizualiza starea comenzilor, a depozitărilor şi a
reparatililor
Angajatul va putea accesa interfaţa de administrare de unde va putea adăuga
produse, valida comenzi, introduce noi depozitări sau fişe de reparaţie.

15
2.2. Estimarea necesarului de resurse
2.2.1 Resurse umane
Pentru a realiza acest site este nevoie de :
· 2 programatori
· 1 designer
· 1 administrator Linux/Windows
· 2 operatori care să se asigure că site-ul poate fi pus online

2.2.2. Resurse financiare


Pentru realizarea acestui site se estimează o sumă de 7260 euro, ce include:
· Server
· Instalare şi funcţionarea sistemului de operare
· Costul site-ului

Costurile au fost estimate pe durata dezvoltării după cum urmează:


· Cost server dedicat la specificaţiile cerute: 70 euro/lună, timp de 3 luni
· Cost designer conform preţurilor pieţei: 450 euro
· Cost programatori: 800 euro, timp de 3 luni
· Cost administrator: 600 euro, timp de 3 luni
· Cost operatori date: 400 euro / 3 luni

16
2.3. Modelarea prelucrărilor

Orice abordare a sistemului informaţional trebuie să se concentreze asupra


fluxului de date şi a secvenţei de prelucrări care se efectuează asupra acestor date.
Modelarea logică a prelucrărilor îşi propune să repartizeze activităţi pe posturi de
lucru. În cadrul modelului prelucrărilor fiecare operaţie se descompune în faza de lucru.

2.4. Diagrama Entitate-Asociere

Pentru simplificarea diagramelor, fiecare schemă a fost împărţită pe fiecare


funcţionalitate (modul) principal al site-ului.

Magazinul Virtual

CATEGORIE COS

CLIENT

PRODUS
FACTURA

Gestiunea depozitărilor

FISA_DEPOZITARE
CLIENT

ARMA
ANGAJAT

17
Gestiunea reparaţiilor

FISA_REPARATIE
CLIENT

OPERATIUNE
UTILIZATOR

Etapele Proiectării
· Analiză sistem – se scot în evidenţă componentele sistemului
· Proiectarea bazei de date în modelul entitate-asociere

Obiectivele pasului actual:


· Date ce trebuiesc stocate în aplicaţie
· Prezentarea informaţiilor despre obiectele respective şi legăturile între
clasele de obiecte
· Tipuri de prelucrări ce se vor efectua asupra bazei de date

18
2.5. Stabilirea platformei hardware şi software şi de comunicaţii

Noul sistem propus nu necesită resurse hardware deosebite, fiind un sistem


client/server. Serverul este singurul calculator ce necesită dotări deosebite.
PC-urile client necesită doar un browser şi o conexiune la server.
Pentru a susţine un număr mai mare de vizitatori conectaţi simultan şi pentru un
timp de conectare cât mai mic se recomandă folosirea unui server având următoarea
configuraţie hardware :
· Procesor: Intel 4 Core CPU
· Memorie RAM: 4 GB
· Capacitate HDD: 25 GB
· Placă de reţea: 100 mb/s

Platforma software necesară pentru server :


· Sistem de operare UNIX/LINUX
· Limbaj de programare PHP
· Server MYSQL
· Server Apache

19
2.6. Componente soft pentru realizarea aplicaţiei

Pentru realizarea aplicaţiei s-au folosit tehnologiile PHP pentru partea de


programare, respectiv MySQL pentru baza de date. De asemenea pentru uşurinţa
dezvoltării s-a folosit framework-ul Laravel.
Toate softurile folosite sunt open source („sursă deschisă”), ceea ce înseamnă că
pot fi folosite gratuit pentru dezvoltarea aplicaţiei. Un alt avantaj al faptului că sunt open-
source, este acela că sunt zeci de mii de oameni care contribuie la aceste softuri, ceea ce
înseamnă o securitate mai mare.
MySQL este un software open-source de tip DBMS relaţional, ce operează într-o
arhitectură client-server. Clienţii MySQL se conectează la server efectuând cereri către
acesta. Programele client pot rula pe dispozitive aflate în aceeaşi reţea cu serverul, în altă
reţea sau chiar pe serverul principal.
PHP este un limbaj de programare interpretat, orientat către dezvoltarea de
aplicaţii web. Scripturile PHP sunt procesate de către un server web, returnând rezultatul
către browser sub forma unui răspuns HTML.
Laravel este un framework pentru PHP dezvoltat Taylor Otwell. Un framework este
o colecţie de biblioteci de cod menite să uşureze munca programatorului, prin
implementarea unor funcţii comune.

2.6.1. PHP Hypertext Processor

PHP-ului a fost dezvoltat iniţial în anul 1995 de către Rasmus Lerdorf şi s-a numit
iniţial PHP/FI (Personal Home Page/Forms Interpreter), fiind mai târziu rescris de la zero
de către Andi Gutmans şi Zeev Suraski şi redenumit simplu PHP (PHP Hypertext
Processor). Cei doi sunt creatorii nucleului actual al PHP şi fondatorii companiei Zend
Technologies. (Ullman, 2005) Versiunea curentă de PHP este 5.6, urmând ca până la
sfârşitul anului să se lanseze versiunea PHP 5.7.
Limbajul PHP s-a inspirat din multe alte limbaje; el a pornit ca limbaj de
programare procedural, cu sintaxa asemănătoare cu C sau Perl, iar odată cu versiunea 3 i
s-au adăugat facilităţi de programare orientată pe obiect, multe dintre ele asemănătoare

20
sau identice cu cele din Java sau C++. Toate acestea fac că limbajul PHP să fie, în ziua de
astăzi, accesibil programatorilor de orice formaţie. PHP este folosit în principal în
două scopuri:
• generarea dinamică a păgânilor web – interpretorul PHP este folosit de către
serverul web pentru a genera pe loc (parţial său integral) paginile web care sunt apoi
livrate browserelor;
• realizarea de scripturi pentru administrare de sistem – prin intermediul versiunii
în linia de comandă a interpretorului PHP;
Paginile unui site web pot fi:
• statice – un ansamblu de fişiere HTML şi imaginile aferente; clienţii vor vedea
acelaşi conţinut la fiecare accesare;
• dinamice – paginile sunt generate pe loc (parţial său integral) în momentul
accesării de către client, la generarea lor ţinându-se cont de parametrii conexiunii,
identitatea clientului, input-ul furnizat de către acesta prin intermediul unui formular etc.
Atunci când clientul solicită o anumită adresă web, în loc ca serverul web să facă simpla
citire a conţinutului unui fişier HTML de pe hard-disk, el execută un program PHP care
generează pe loc codul HTML ce reprezintă sursa paginii web.
Interpretorul PHP este open source şi se poate obţine:
• prin download de pe www.php.net sau unul dintre mirror-urile oficiale. În acest
caz, dacă se doreşte interfaţarea sa cu un server web deja instalat, este necesară
reconfigurarea serverului în cauză pentru a lucra cu PHP
• ca parte a unei suite software care integrează serverul web, PHP şi eventual un
server de bâze de date (ex: WAMP server – Windows Apache, Mysql & PHP). În acest caz,
serverul web se instalează odată cu PHP şi este pre-configurat corect pentru interfaţarea
cu acesta.

2.6.2. MySQL - My Structured Query Language

Limbajul SQL
Unul dintre beneficiile importante pe care le oferă un DBMS este decuplarea
modalităţii fizice de structurare a datelor (ex: organizarea, locaţia şi denumirea fişierelor)
de modalitatea de accesare şi manipulare a lor. Utilizatorul care beneficiază de serviciile
unui DBMS nu vede (şi nici nu doreşte să ştie) aspectele low-level ale stocării informaţiei,
21
ci doreşte o viziune logică a datelor memorate care să îi permită uşoara lor introducere,
extragere şi prelucrare.
În acest scop, DBMS pune la dispoziţia utilizatorului fie o interfaţă grafică, fie un
limbaj care să îi permită acestuia interacţiunea cu datele şi facilităţile conexe acestora.
Limbajul folosit în cazul bazelor de date relaţionale este SQL (Structured Quert Language).
SQL este un limbaj ce conţine instrucţiuni pentru definirea şi modificarea structurii
bazelor de date, accesarea şi manipularea datelor şi controlul accesului la date. El a fost
creat la începutul anilor ’70 la IBM şi folosit iniţial ca baza într-unul dintre produsele
acestei firme. Ulterior, în 1986, el este standardizat de către ANSI (American Naţional
Standards Institute) şi apoi de către ISO (Internaţional Organization for Standardization),
existând versiuni succesive ale standardului SQL, ultima dintre ele fiind SQL:2008. Toate
softurile majore de tip DBMS ale zilelor noastre înglobează o formă a limbajului SQL.

Baze de date
O bază de data relaţionala este o noţiune logică – un ansamblu de informaţie
compus dintr-una sau mai multe tabele. Modalitatea fizică de stocare a datelor tine de
softul DBMS folosit. Graţie limbajului SQL, clientul poate manipula datele independent de
aspectele fizice ale stocării
Deşi foarte des folosită expresia „introducem date în baza de date”, informaţia nu
stă direct în baza de date, ci în nişte sub-diviziuni ale sale numite tabele. O bază de date
poate conţine zero sau mai multe astgel de tabele. Deoarece datele efective stau în
tabele, o bază de date care nu conţine nicio tabelă este o bază de date în care nu se află
informaţie

Tabele
O tabelă dintr-o bază de date relaţionala (denumită în teoria bazelor de date
şi”relaţie”) reprezintă un ansamblu de înregistrări cu structura impusă, organizată
tabelar(în rânduri şi coloane). Structura unei tabele este specificată la crearea acesteia şi
presupune specificarea numărului de coloane şi a numelui/tipului de informaţie a
fiecăreia dintre ele. Fiecare înregistrare(rând) din tabelă va fi obligată apoi să aibă o
valoare pentru fiecare dintre coloanele prezentate în definiţie.

22
2.7. Concepte de programare utilizate
2.7.1. Programarea Orientată pe Obiect (OOP – Object Oriented Programming)
În programarea orientată pe obiecte legătura strânsă dintre date şi operaţiile
efectuate asupra lor se extinde şi asupra structurilor de date. Fiecare obiect este o
structură de date, asociată cu o colecţie de metode (funcţii sau proceduri) prin
intermediul cărora se manipulează aceste date. Obiectele care au aceeaşi structură şi
aceleaşi metode se grupează într-o clasă. Clasă este, deci, o extindere a conceptului de tip
de date, în care mulţimea de valori este o mulţime de obiecte, iar mulţimea operaţiilor
este o mulţime de metode. "Programul" este, în POO, un ansamblu de clase şi obiecte
care comunică între ele prin mesaje.
Fiecare obiect se caracterizează prin stare şi comportament. Starea obiectului este
caracterizată prin valorile pe care le au, la un moment dat, datele conţinute de acesta.
Dacă se modifică una sau mai multe astfel de valori, se modifică şi starea obiectului.
Comportamentul obiectului se manifestă în modul în care obiectul răspunde la primirea
unui mesaj. Acest răspuns poate depinde atât de mesajul primit, cât şi de starea în care se
găseşte obiectul în momentul primirii acestuia. Tratarea mesajului se face prin aplicarea
metodelor obiectului respectiv.

2.7.2. MVC (Model – View – Controller)


Model – View – Controller (MVC) este un model arhitectural în industria de
software, din ce în ce mai utilizat în framework-urile PHP, dar şi în aplicaţiile mobile.
Avantajul major al acestui model arhitectural îl reprezintă separarea componentelor
dintr-o aplicaţie, într-un mod în care fiecare modul (clasă) are mai puţine operaţiuni de
executat.
Modelul este partea de business (partea logică) a aplicaţiei, principala
responsabilitatea fiind aceea de a reprezenta o interfaţă comună asupra operaţiunilor
datelor. De exemplu, pentru fiecare tabel din baza de date, se poate creea câte o clasă
pentru fiecare dintre tabele, pentru a se putea lucra mai uşor cu baza de date.
View-ul (în traducere aproximativă în limba romană „fata”) este partea din
arhitectură care se ocupă de afişarea datelor, pe care le trimite controllerul. Controller-ul
va cere informaţiile necesare modelului, pe care mai apoi le va transmite view-ului pentru
a fi afişate către utilzator. În cazul unei aplicaţiei web view-ul este de obicei un fişier html
care la momentul afişării este populat cu informaţiile transmise de controlller.
Controller-ul este partea centrală a acestei arhitecturi de aplicaţie, acesta făcând
legătura dintre model şi view. Controller-ul este responsabil cu primirea şi prelucrarea
acţiunilor de la utilizator, pe care le foloseşte mai apoi pentru a cere informaţiile
relevante modelul, pentru că în final să fie transmise view-ului pentru afişare.

2.7.3. Normalizarea bazei de date

23
Normalizarea reprezintă procesul de descompunere a unui tabel relaţional în mai
multe tabele care satisfac anumite reguli şi care stochează aceleaşi date ca şi tabelul
initialastfel încât să fie eliminate redundanta în date şi anomaliile la actualizare.
Prima formă normală exclude posibilitatea existenţei grupurilor repetitive cerând
ca fiecare câmp într-o bază de date să cuprindă numai o valoare atomică. De asemenea,
prima formă normală cere şi că fiecare înregistrare să fie definită astfel încât să fie
identificată în mod unic prin intermediul unei chei primare.
A doua formă normală cere ca toate elementele unei tabele să fie dependente
funcţional de totalitatea cheii primare. Dacă unul sau mai multe elemente sunt
dependente funcţional numai de o parte a cheii primare, atunci ele trebuie să fie separate
în tabele diferite. Dacă tabela are o cheie primară formată din numai un atribut, atunci ea
este automat în 2NF (a 2-a forma normală).
A treia formă normală. Se reduc entităţile celei de-a doua forme normale la cea
de-a treia formă normală prin eliminarea atributelor care depind de altele, atribute ne-
cheie. În principiu această înseamnă că nu trebuie stocate date care pot fi derivate din
alte coloane sau care aparţin altei tabele.

2.8. Calendarul de realizare

Termenul de realizare al software-ului depinde de cerinţele acestuia şi a fost


estimat după cum urmează:

1. Determinarea structurii site-ului şi a configuraţiei acestuia – 14 zile

2. Realizarea şi implemantarea structurii bazei de date – 5 zile

3. Programarea software-ului şi implementarea design-ului – 2 luni

4. Testarea software-ului – 7 zile

În concluzie, termenul de predare al lucrării este de aproximativ 3 luni şi va fi


respectat dacă nu intervin alte cerinţe din cartea clientului şi dacă informaţiile necesare
pentru proiect sunt difuzate la timp.

24
CAPITOLUL III – PROIECTAREA DE DETALIU A APLICAŢIEI
INFORMATICE

25
3.1. Descrierea funcţiilor aplicaţiei
3.1.1. Funcţii frontend
Pe partea de frontend aplicaţia funcţionează în principal că un magazin online
astfel că sunt implementate majoritatea funcţiilor aşteptate de la un astfel site:
înregistrarea şi autentificarea utilizatorilor, vizualizarea şi căutarea de produse, adăugarea
acestora în coş şi posibilitatea de a comanda online.

Din cauză că legislaţia nu permite vânzarea de arme/muniţii fără permis, nu a fost


implementată plată cu cardul şi livrarea la domiciliu, întrucât clientul este oricum obligat
să meargă la magazin pentru a ridica arma cu documentele justificative.

În plus, în cazul în care clienţii au arme în depozitare la firma EUROCOMERTZ


IMPORT-EXPORT S.R.L. acestea le pot vedea accesând secţiunea Contul meu – Depozitări.
De asemenea, în cazul în care clientul a lăsat spre reparaţie o armă, accesând secţiunea
Contul meu – Reparaţii, acesta poate vedea exact în ce stadiu se află armă: „În lucru”,
„Finalizată” etc.

3.1.2. Funcţii backend


Pe partea de backend există 2 tipuri de utilizatori: ADMINISTRATOR – acces la
toate funcţiile de administrare şi gestionare, respectiv TEHNICIAN – cu acces doar la
vizualizarea armelor venite spre reparaţii.

Există 7 meniuri principale în cadrul backend-ului:

1. CATALOG

1.1. Produse – pentru gestionarea produselor

1.2. Categorii – pentru gestionarea categoriilor din cadrul site-ului

2. COMENZI

3. DEPOZITĂRI

4. REPARAŢII

5. CLIENŢI

6. UTILIZATORI

7. SETĂRI

În cazul în care se prezintă un client pentru depozitare sau reparaţie de armă şi nu


are cont pe site, administratorul poate crea un cont pentru client, urmând ca acesta să
primească prin e-mail o parolă generată aleator de către site, pe care o poate schimba
ulterior din contul său.

26
3.2. Descrierea documentelor de intrare

Intrările sistemului informatic, reprezintă datele ce reflectă dinamica fenomelor şi


procesului economic din domeniul analizat, necesare creării şi actualizării bazei de date,
precum şi a obţinerii rapoartelor de ieşire.

În cazul magazinului virtual cu sistem de gestiunea integrat, există o mulţime de


intrări, în cele de mai jos fiind cele mai importante, necesare pentru efectuarea
operaţiunilor în magazinului şi atelierul societăţii.

Crearea unui cont de utilizator

Pentru crearea unui cont de utilizator sunt necesare urmatoarele date:

• „Nume” – numele utilizatorului


• „Prenume” – prenumele utilizatorului
• „E-mail” – e-mailul utilizator
• „Telefon” – numărul de telefon al utilizatorului
• „Adresa” – adresa utilizatorului
• „Parolă” - parolă de acces a contului

Adăugarea unui produs

 „Nume” – numele produsului


 „Categoria” – categoria din care face partea produsului
 „Stoc” – cantitatea care se află pe stoc
 „Imagini” – imagini cu produsul prezentat
 „Preţ” – preţul produsului

Adăugarea uuei categorii

 „Nume” – numele categoriei


 „Categoria părinte” – în cazul în care este o subcategorie, trebuie specificată
categoria părinte
 „Imagini” – imagine reprezentativă pentru categorie

Adăugarea unei fişe de depozitare

 „Client”- id-ul utilizatorului pentru care se face depozitare


 „Nume” – titlul depozitării (ex: armă de vânătoare cu glonţ Beretta”
 „Observaţii” – orice observaţii legate de depozitare

27
Adăugarea unei fişe de reparaţii

 „Client” – id-ul utilizatorului pentru care se efectuează reparaţia


 „Nume” – numele armei pentru care se efectuează reparaţia
 „Menţiuni” – detalii necesare pentru personalul din atelier, pentru efectuarea
reparaţiei

3.2. Descrierea documentelor de ieşire

Ieşirile unui sistem/subsitem informatic reprezinta totalitatea informaţiilor


furnizate de acesta beneficiarilor interni şi sterni, precum rapoarte, facturi, note de
informare etc.

La nivel global se prezintă caracteristici ale ieşirilor sitemului proiectat precum


număr de exemplare, destinaţia exemplarului, periodicitate s.a.m.d.

În cazul unei comenzi, pentru efectuarea facturii şi livrarea produselor de către


sales manager, următoarele date pot fi preluate din panoul de administrare:

 „Id comandă” – Id-ul comenzii


 „Nume şi adresa” – numele şi adresa clientului
 „E-mail” – e-mail-ul clientului
 „Telefon” – numărul de telefon al clientului
 „Produs” – numele produsului
 „Cantitate” – cantitatea pentru fiecare produs în parte
 „Total” – totalul comenzii

Pentru reparaţii următoarele informaţii pot fi preluate de către personalul


atelierului din panoul de administrare:

 „Nume client” – numele clientului


 „Menţiuni” – datele referitoare la reparaţia ce urmează să se efectueze
 „Armă” – numele şi alte detalii despre armă asupra căreia se efectuează reparaţia

În cazul depozitărilor pot fi preluate următoarele informat:

 „Nume client” – numele clientului care a lăsat obiectului spre depozitare


 „Obiect” – numele obiectului lăsat spre depozitare
 „Dată” – dată la care a fost lăsat obiectul spre depozitare3.4. Structura bazei de
date

28
3.3. Structura bazei de date

Baza de date folosită este MySQL şi conţine 12 tabele importante pentru aplicaţie:
categories, products, cart_products, order, order_products, customers, repairs, deposits,
product_images, temp_images, options. Fiecare dintre tabele este descris mai jos.

Figura 2 Tabelul de produse

Tabelul products (produse) conţine următoarele câmpuri:

· id – id-ul produsului (cheie priamara)

· name – numele produsului

· description – descrierea produsului (suportă HTML)

· description_text – descrierea produsului doar text, pentru o căutare ulterioară mai


eficientă

· summary – rezumat al descrierii produsului

29
· brand_name – numele brandului/producătorului

· category_id – id-ul categoriei din care face parte produsul

· image – numele şi extensia principalei imagini a produsului

· price – preţul produsului exprimat în lei

· stoc – numărul de produse aflate pe stoc

· sku – codul unic al produsului (poate fi generat de către program în cazul în care
nu este introdus manual)

· views – numărul de vizualizări al produsului

· promoted – 0 – produsul nu este promovat; 1 – produsul este promovat şi poate


apărea pe prima pagină a site-ului

· meta_keywords – cuvintele cheie care vor apărea în head-ul paginii

· meta_description – descrierea carea va apărea în head-ul păgânii la câmpul <meta


name=”description”...

Figura 3 Tabelul de clienţi

30
Tabelul customers (clienţi) conţine următoarele câmpuri

· id – id-ul clientului/utilizatorului (cheie primară)

· first_name – prenumele clientului/utilizatorului

· last_name – numele clientului/utilizatorului

· email – adresa de e-mail a clientului/utilizatorului

· telephone – numărul de telefon al clientului/utilizatorului

· cnp – Codul Numeric Personal al clientului/utlizatorului

· address – adresa clientului/utilizatorului

· password – parola clientului/utilizatorului

· role – rolului clientului/utilizatorului, poate fi un număr întreg ce reprezintă: 0 –


client; 1 – administrator; 2 – operator tehnic

· created_at – data adăugării clientului/utilizatorului

· updated_at – data actualizării datelor clientlui/utilizatorului

· deleted_at – câmp nefolosit (cerut de framework-ul Laravel)

Figura 4 Tabelul cu fişele de reparaţii

31
Tabelul repairs (Reparaţii) conţine următoarele câmpuri:

· id – numărul de identificare al fişei de reparaţii (cheie primară)

· customer_id – id-ul clientului pentru care se efectuează reparaţia

· item_description – numele/descrierea obiectului lăsat de client spre reparaţie

· todo – descrierea reparaţiilor de efectuat

· price – preţul total al reparaţiilor

· status – statusul actual al reparaţiei, poate fi un număr întreg ce reprezintă: 0 –


„Preluat(a) de la client”; 1 – „În aşteptare”; 2 – „În lucru”; 3 – „Finalizată”; 4 –
„Ridicat(a) de către client”

· created_at – dată la care a fost adăugată fişa de reparaţie

· updated_at – ultima actualizarea a fişei de reparaţii

· deleted_at – câmp nefolosit (cerut de framework-ul Laravel)

Figura 5 Tabelul cu fişele de depozitări

Tabelul deposits (depozitări) conţine următoarele câmpuri:

· id – id-ul fişei de depozitare (cheie primară)

· customer_id – id-ul clientului căruia aparţine obiectul depozitat

32
· item_description – numele/descrierea obiectului depozitat

· price_per_month – preţul pentru fiecare lună de depozitare a obiectului

· status – statusul actual al depozitării, poate fi un număr întreg ce reprezintă: 0 –


„În depozitare”; 1 – „Retras(a)”

· created_at – dată la care a fost adăugată fişa de depozitare

· updated_at – dată la care a fost actualizată fişa de depozitare

· deleted_at – câmp nefolosit (cerut de framework-ul Laravel)

Figura 6 Tabelul cu fişiere temporare

Tabelul temp_files (fiere temporare) conţine următoarele câmpuri:

· id – id-ul fişierului temporar (cheie primară)

· filename – numele şi extensia fişierului temporar

Figura 7 Tabelul cu păgâni

Tabelul pages (pagini) conţine următoarele câmpuri:

· id – id-ul paginii (cheie primară)

· title – titlul paginii

· text – conţinutul paginii (poate conţine html)

33
Figura 8 Tabel ce conţine categoriile

Tabelul categories (categorii) conţine următoarele câmpuri:

· id – id-ul categoriei (cheie primară)

· parent_id – părintele categoriei (0 – în cazul în care categorie este categorie


rădăcina)

· name – numele categoriei

· description – scurtă descriere a categoriei

· sort_order – număr întreg care indică ordinea în care apare pe pagină

· meta_keywords – cuvinte cheie care apar în head-ul paginii când se ajunge la


categoria respectivă

· meta_description – descrierea carea apărea în head-ul paginii când se ajunge la


categoria respectivă

Figura 9 Tabelul cu imaginile asociate produselor

Tabelul product_images (imagini produse) conţine următoarele câmpuri:

34
· id – id-ul imaginii

· product_id – id-ul produsului căruia îi este asociată imaginea

· filename – numele şi extensia fişierului

Figura 10 Tabel ce conţine comenzile clienţilor

Tabelul orders (comenzi) conţine următoarele câmpuri:

· id – id-ul comenzii (cheie primară)

· customer_id – id-ul clientului care a efectuat comanda

· status – statusul comenzii, un număr întreg ce reprezintă: 0 – „Comandă nouă”; 1


– „În procesare”; 2 – „Gata de ridicare”; 3 – „Livrată”; 4- „Anulată”

· created_at – dată la care a fost adăugată comanda

· updated_at – dată la care a fost actualizată comanda

· deleted_at – câmp neutilizat (cerut de framework-ul Laravel)

Figura 11 Tabelul reprezentând conţinutul comenzilor

Tabelul order_products (produse comanda) conţine următoarele câmpuri:

35
· id – id-ul produsului în tabelul curent (cheie primară)

· order_id – id-ul comenzii de care aparţine produsul

· product_name – numele produsului

· order_sku – codul de identificare al produsului

· product_price – preţul produsului

Figura 12 Conţinutul coşului de cumpărături

Tabelul cart_products (produse coş) conţine următoarele câmpuri:

· id – id-ul produsului în tabelul curent

· client_id – id-ul clientului de care aparţine coşul

· product_id – id-ul produsului adăugat în coş

Figura 13 Tabelul ce stochează opţiunile şi setările aplicaţiei

36
3.4 Structura aplicației

Din punct de vedere al organizării pe fișiere, aplicația prezentată în lucrarea de


față este structurată în două directoare importante: laravel_fshop - folder ce nu este
vizibil pe partea publică a serverul pentru a îmbunătăți securitatea aplicației, respectiv
public_html - folder ce conține toate fișierele și resursele care pot fi văzute public (ex:
punctul de intrare în aplicație index.php, imagini, fișiere html etc.).

În directorul laravel se găsesc următoarele directoare și fișiere:

 application – conține partea logică a aplicației


 bundles – module pentru frameworkul laravel (ex: modul pentru trimiterea
de e-mailuri)
 laravel – conţine fişierele PHP ale framework-ului Laravel
 storage – fişiere cache folosite de framework

Figura 14 Continutul directorului application

Directorul laravel_fshop/application este cel mai interesant pentru aplicaţia


noastră întrucât conţine fişierele implementate pentru magazinul virtual cu sistem de
gestiune integrată. Structura directorului este una des întâlnită în lumea framework-urilor
MVC (Model-View-Controller), având câte un director pentru modele, unul pentru
controllere şi unul pentru views-uri.

Directorul config conţine fişiere de configurare folosite de aplicaţia noastră, că de


exemplu informaţiile pentru conectarea la baza de date. În aplicaţie pentru a accesa un
parametru de configurare din director, se foloseşte clasa Config, sub formă
Config::get(nume_fisier.nume_parametru).

Folder-ul language conţine fişiere de traducere pentru aplicaţie iar libraries


conţine fişiere PHP cu clase utilitare pentru a fi folosite în cadrul aplicaţiei.

În cele din urmă cel mai important este fişierul routes.php, care conţine toate
rutele aplicaţiei.

37
CAPITOLUL IV – PREZENTAREA PRODUSULUI SOFTWARE

38
4.1. Cerinţele produsului software

În ceea ce priveşte partea hardware, se poate face o estimare luând în considerare


resursele consumate de aplicaţie, cât şi o estimare a numărului de utilizatori conectaţi
simultan. Prin conexiune simultană se înţelege începerea unui proces PHP în acelaşi timp
cu un alt utilizator sau în timp ce procesul PHP al unui alt utilizator este încă în
desfasurarare. Aşadar, având în vedere că piaţa armelor şi muniţiilor este destul de
restrânsă se poate estima că vor avea loc până la 15 conexiuni simultane din partea
utilizatorilor externi, precum şi 2 conexiuni simultane din partea utilizatorilori interni (1
administrator şi 1 tehnician). Având în vedere că aplicaţia consumă în medie 30 MB
memorie RAM, o configuraţie hardware minimală, potrivită pentru acest site ar fi
următoarea:

· Memorie RAM: 512 MB

· Memorie HDD: 120 GB (pentru stocarea datelor, imaginilor pentru produse,


precum şi pentru realizarea unui backup zilnic a acestor informaţii)

· Lăţime de bandă: minimum 20 Mb/s (cu o lăţime de bandă de minimum de 20


Mb/s, la 17 conexiuni simultane estimate, se poate obţine o viteză de peste 1
Mb/s per utilizator ceea ce asigură o experienţă rapidă în utilizarea aplicaţiei)

· Procesor: minimum dual-core 1.2 GHz (avantajul unui sistem dual core este acela
că procesul bazei de date poate rula pe un alt „core” al procesorului lăsând liber
unul dintre nuclee pentru procesul PHP care rulează aplicaţia)

Din punct de vedere software, pentru găzduirea site-ul cerinţele minimale sunt
cele cerute de framework-ul Laravel :

· Server Apache sau nginx

· Activarea modulului mod_rewrite în cazul în care se foloseşte Apache

· PHP, minimum versiunea 5.3

· Modulul FileInfo pentru PHP

39
4.2. Elementele principale ale aplicatiei

Având în vedere că scopul principal al aplicaţiei este acela de a promova şi a vinde


produsele şi serviciile Eurocomertz Import – Export S.R.L. a fost aleasă o structură destul
de des regăsite la magazinele online.

Ca elemente comune în cadrul paginilor din frontend avem antetul, meniul de tip
„breadcrumb” şi subsolul.

Antetul conţine logo-ul site-ului pe care se poate da click oricând pentru că


utilizatorul să se poată întoarcă „acasă”, o bară de căutare, precum şi un meniu cu cele
mai importante categorii şi funcţii ale site-ului.

Figura 15 Elemente comune - antet

Meniul de tip „breadcrumb” îi permite utilizatorului să vadă exact unde anume în


site este şi să se întoarcă uşor la o pagină anterioară dacă acesta doreşte.

Figura 16 Elemente comune - meniu "breadcrumb"

Subsolul conţine informaţii de copyright, precum şi linkuri către pagina de contact,


respectiv cea de Termeni şi Condiţii de utilizare a site-ului

Figura 17 Elemente comune - subsol

Figura 18bElemente comune - bara de cautare

40
4.3. Descrierea funcţiilor aplicaţiei

Pagină principala a site-ul reprezintă punctul principal de intrare în aplicaţie, pe


această pagină fiind prezentate cele mai noi şi mai populare produse.

Figura 19 Pagina principală

Figura 20 Pagină pentru categorie

41
Figura 21 Pagină pentru produs

Figura 22 Produs aflat in stoc

Figura 23 Produs care nu se mai afla pe stoc

42
Figura 24 Eroare la adaugarea unui produs care nu se afla pe stoc

Figura 25 Autentificare

Figura 26 Contul de client

43
Figura 27 Cosul clientului

Figura 28 Pagina de contact

44
Figura 29 Listarea categoriilor in pagina de administrare

Figura 30 Listarea subcategoriile in pagina de administrare

Figura 31 Adaugarea unei noi categorii in pagina de administrare

45
Figura 32 Listarea produselor in pagina de administrare

Figura 33 Adaugarea unui noi produs in pagina de administrare

Figura 34 Editarea unui produs din pagina de administrare

46
CAPITOLUL V – EFICIENŢA ŞI UTILITATEA APLICAŢIEI
INFORMATICE

47
5.1. Condiții privind implementarea aplicației

Pentru implementarea soluției software prezentată în lucrarea de față sunt


necesare resurse umane, resurse tehnice, dar și resurse financiare. O bună colaborare
între angajații firmei Eurocomertz Import - Export SRL, care sunt parte din utilizatorii finali
ai aplicații și dezvoltatorul aplicației este absolut necesară pentru a face aplicația cât mai
prietenoasă și ușor de folosite.

Din punct de vedere al resurselor umane, o parte foarte importantă o reprezintă


training-ul angajaților societății pentru a putea folosi software-ul. Având în vedere că
aplicația este folosită pe mai multe nivele (vânzare produse, gestionare reparații și
depozitări de arme), este necesar training pentru fiecare componentă în parte.

De asemenea, pentru implementarea corectă a aplicației este necesar ca


programatorul să aibă cunoștințe cu limbajul de programare folosit a€“ PHP a€“ precum
și cu serverul de baze de date MySQL.

În ceea ce privește partea tehnică, trebuie luate în considerare specificațiile


prezentate în cadrul lucrării. Fiind programată în PHP și MySQL, este necesară
achiziționarea unui server care să suporte aceste tehnologii.

Pentru casite-ul să funcționeze în parametrii optimi, aplicația are nevoie de un


server cu memorie de cel puțin 512 MB RAM și un procesor dual-core de minim 1.2 GHz,
dar și o conexiune la internet cu bandă de 20 Mb/s.

Referitor la partea financiara, se constata faptul ca este nevoie de o investitie


consistenta pe termen scurt si mediu, pentru a pune in lucru dezvoltarea aplicatia si
pentru a asigurarea dezvoltarea si utilizarea acesteia pe termen lung.

Investiția constă în achiziția serverului pentru rularea aplicației, recum și a unei


conexiune cu bandă largă de Internet, dar și servicii de mentenanța pentru service, dacă
acestea nu sunt incluse în costul serverului.

Resursele umane implică și ele costuri financiare, având în vedere că timpul


pierdut al angajaților pentru a învăța să lucreze cu aplicația poate fi justificat din punct de
vedere financiar, ajungându-se astfel la pierderi pentru firmă.

De asemenea există costuri cu plata dezvoltatorului aplicației și a operatorilor de


introducere data, care sunt însă reduse comparativ cu rezultatele pe termen lung ale
implementării acestei aplicații.

Acestea fiind spuse, în măsura în care se pot asigura cele trei lucruri, se poate
dezvolta și utiliza aplicația în timpul menționat în această lucrare.

48
5.2. Posibilităţi de îmbunătăţire

Atunci când vine vorba de un sistem software este greu de zis când este finalizat,
pentru că se poate îmbunătăţi mereu câte ceva. De cele mai multe ori, din lipsa de timp
anumite funcţionalităţi ale software-ului sunt eliminiate, lăsându-le doar pe cele mai
importante pentru că dezvoltatorul să se poată încadra în timp.

Este bineînţeles şi cazul aplicaţiei prezentate în cadrul acestei lucrări. Că la orice alt
software sunt multe lucruri care se pot îmbunătăţi sau adaugă.

Pe partea de magazin online se pot introduce metode de plata online pentru


produsele care nu sunt supuse unor legi speciale şi care se pot livra la domiciliu. În acest
sens, se poate face şi un parteneriat cu un curier, astfel încât o mare parte din proces să
fie automatizat. Clientul comandă produsele dorite, plaste online, AWB-ul şi factură sunt
generate automat, iar singurul lucru care rămâne de făcut, este că un operator să
pregătească spre livrare comandă clientului. Bineînţeles aceste lucruri nu se pot
implementa fără o discuţie în prealabil cu administratorul firmei şi implică şi alte costuri
precum comision la tranzacţiile online, curier (în cazul în care transportul ar fi plătit de
către firma) etc.

De asemenea, pentru satisfacţia clientului ar putea fi implementată şi o soluţie


chat sau mesagerie online, astfel încât un client interesat de produs să poată discuta
direct cu un operator despre produsele sau serviciile dorite.

În ceea ce priveşte partea de administrare sunt câteva funcţionalităţi care se pot


îmbunătăţi.

În cazul depozitărilor ar fi utilă automatizarea notificărilor şi generărilor de facturi


pentru pentru armele/muniţiile depozitate de clienţi. De asemenea clienţii, ar putea să
vadă în cont sumele restante sau plăţile efectuate.

În cazul reparaţiilor, ar putea fi implementat un sistem de comentarii şi un istoric


al modificărilor, astfel încât clientul să vadă exact în contul sau când s-a efectuat tranziţia
către un alt status al reparatiei sau să primească mesaje în cazul în care apar dificultăţi
(ex.: lipseşte o piesă etc.).

49
5.2. Avantajele noului sistem şi concluzii

Aplicatia realizata prezinta avantaje majore pentru companie atat din punct de
vedere al vizibilitatii in piata (avand prezenta online), cat si din punct de vedere al
managementului depozitarilor si reparatiilor.

Din punct de vedere al vizibilitatii pe piata, magazinul online reprezinta o noua


oportunitate de prezentare catre clientii existenti a produselor si serviciilor pe care
compania le poate comercializa, dar si mai important este faptul ca poate atrage clienti
care pana in momentul aparitiei online nu au auzit de firma pentru care a fost realizat
magazinul online. De asemenea, usurinta prin care un client poate comanda produsele
din fata computerului, poate creste cu usurinta cifra de afaceri a companiei, avand in
vedere ca nu mai este nevoie ca clientul sa ajunga pana la magazinul fizic pentru a plasa o
comanda.

Pe partea interna se poate observa mai istoricul clientilor, atat din punct de
vedere a produselor achizitionate, dar si mai important pentru gestiune, din punct de
vedere al reparatiilor si depozitarilor. De asemenea este mult mai usor de urmarit starea
unui produs aflat in reparatie de exemplu sau suma de bani pe care un client o datoreaza
intr-o luna.

Satisfactia clientului creste de asemenea, avand in vedere ca poate urmari exact in


ce stare se afla reparatia produsului lui, fara a mai trebui sa sune sau se prezinte la
magazin pentru a afla aceste informatii. Notificarea prin e-mail, este de asemenea un
factor care faciliteaza accesul la informatii despre produsele clientului si creste satisfactia
si increderea in companie in cele din urma.

Asadar, aplicatia de fata, nu este doar un magazin online, ci este o aplicatie care
intregreaza toate cele 3 servicii oferite de Eurocomertz – comercializare de produse,
depozitari de arme si munitii, reparatii de arme – oferind astfel clientului un serviciu
online usor de folosit, iar angajatilor un mediu mai prietenos si mai facil de lucru prin care
isi pot creste eficienta la locul de munca si incasarile pentru firma. Intr-o lume in care
timpul este foarte pretios, integrarea serviciilor intr-o singura interfata pentru client este
un mod sigur de a-l fideliza fata de firma.

50
BIBLIOGRAFIE

1. Cornelia Botezatu, Proiectarea sistemelor informatice. Metode sistemice. Editura


ProUniversitaria, Buc, 2007
2. Virgil Chichernea, G. Garais Baze de date. Sistemul FoxPro vol.II, Editura
Prouniversitaria, 2006
3. M. Moise Sisteme informatice cu baze de date, Editura Pro-Universitaria,
București, 2008
4. Daniela Crisan Limbajul C / C++. Fundamente, Vol. 1, Editura
PROUNIVERSITARIA, 2006
5. Daniela Crisan Limbajul C / C++. Programare orientata obiect, Vol.2 , Editura
UNIVERSITARA, 2006
6. Botezatu Cezar, George Căruţaşu, Doru Chetrariu Arhitectura calculatoarelor
personale şi sisteme de operare specifice, Editura Universul Juridic, Bucureşti,
2005
7. Ionel Iacob SGBD Oracle – Ghid aplicativ pentru realizarea solutiilor informatice,
Editura ProUniversitaria, 2007, pag 11-195
8. Ionel Iacob ORACLE 10g – Proiectarea şi realizarea aplicaţiilor cu baze de date
utilizând limbajul SQL*PLUS, Ed. ProUniversitaria 2009
9. I. Smeureanu, I. Ivan, M. Dârdală Structuri şi obiecte în C/C++, Ed. CISON,
Bucureşti, 2000, pag. 8-40, 72-127
10. I. Muşlea C/C++ pentru avansaţi, Ed. Microinformatica, Cluj, 1995, pag. 9-150
11. „Object Oriented Modeling and design for Database Applications” – de Blaha M. şi
Premerlani W., Edit. Prentice Hall, 1997;
12. „PHP4” – de Bill McCarty, Editura: Teora 2004;
13. http://www.php.net/
14. http://www.phpromania.net/
15. http://php.resourceindex.com/
16. http://www.phpmyadmin.net/
17. http://www.mysql.com/
18. http://laravel3.veliovgroup.com/docs/install#requirements

(2012). Gala Premiilor eCommerce .

Requirements. (n.d.). Retrieved from Laravel 3 Original Documentation:


http://laravel3.veliovgroup.com/docs

Ullman, L. (2005). In PHP for the World Wide Web (pp. 10-12).

51
52

S-ar putea să vă placă și