Sistem Informatic In Domeniul Marketingului

LUCRARE DE LICENȚĂ

Sistem informatic în domeniul marketingului

Cuprins

Introducere

Această lucrare prezintă un sistem de marketing care monitorizează on-line mersul campaniilor promoționale.

Am ales această temă deoarece activez în domeniul marketingului – ramura care se ocupă de campanii promoționale de aproximativ trei ani. Am început prin a fi promoter și am avut ocazia să mă deghizez în diferite costume specifice firmelor ale căror produse le-am promovat, am învățat de asemenea despre fiecare în parte câte un istoric pe baza căruia trebuia să-mi construiesc discursul cu care convingeam clienții în scopul cumpărarii produselor. Acum am devenit team-leader, am în subordine în medie câte patru angajați pentru fiecare campanie și mă ocup de partea organizațională: structurarea pe zile a resurselor atât materiale cât și umane.

Am constatat necesitatea unui sistem informatic online ce poate fi accesat de oriunde din țară întrucât această meserie presupune foarte multe deplasări pe întreg teritoriul țării.

Sistemul informatic va fi disponibil online atât la nivel de utilizator, cât și la nivel de administrator. Administratorul poate schimba drepturile de acces ale utilizatorilor pe parcursul utilizării contului.

Aplicația presupune evidența campaniilor promoționale de la diferite firme care doresc serviciile noastre.

Produsele pentru fiecare campanie sunt atât pentru a asigura prestarea serviciilor în cele mai bune condiții: costume, pixuri, echipamente, cât și cele care se doresc promovate aparținând companiei colaboratoare.

Capitolele documentației vor cuprinde următoarele aspecte:

Primul capitol va descrie programele cu ajutorul cărora s-a implementat aplicația, cele pentru interfața web și pentru baza de date. Va prezenta atât un istoric pentru fiecare uneltă, dar și funcționalitatea acestora pentru aplicația prezentată în această documentație.

Cel de-al doilea capitol va prezenta modelul folosit pentru conceperea bazei dedate și a interfeței. Acesta va cuprinde informații despre modelul entitate-legătură albazei de date, despre felul în care urmează să se prezinte interfața.

Al treilea capitol va prezenta în detaliu ghidul de utilizare al aplicației.

Cel de-al patrulea capitol va prezenta concluziile asupra aplicației.

Capitolul 1–Unelte și tehnologii utilizate

Tehnologiile web reprezintă acele limbaje de programare utilizate în general la crearea de site-uri web complexe sau mai puțin complexe, interactive, al căror concept presupune stăpânirea cât mai detaliată a unor limbaje de scripting sau de programare și baze de date.

În categoria tehnologii Web se pot include:

Limbaje de programare: PHP, Javascript, etc;

Pentru baze de date pot fi utilizate: MySQL, MsSQL, Access, ORACLE, etc;

Limbaje de marcare și design: HTML 5, CSS 3, Xhtml;

Baze de date MySql

MySQL este cel mai popular sistem de gestiune a bazelor de date destinat utilizării cu PHP, în mare măsură deoarece este gratuit. Totuși, prin intermediul PHP este posibil accesul la aproape orice SGBD modern.

Bazele de date înțeleg SQL (Structured Query Language), un limbaj relativ simplu, folosit pentru solicitarea datelor. În ciuda simplității sale, SQL este un limbaj foarte puternic, care poate obține accesul la date stocate în mai multe tabele, poate filtra datele dorite si poate sorta, rezuma și afișa rezultatele.

1.1.1. Limbajul de manipulare a datelor

S-a folosit în sistemul informatic în domeniul marketingului pentru a manipula datele din baza de date din interiorul interfeței. Comenzile prezentate mai jos s-au folosit în interiorul limbajului php.

Comenzile SELECT, INSERT, UPDATE, DELETE sunt comenzi ale limbajului de manipulare a datelor (DML).

SELECT – este comanda cea mai utilizată; este folosită pentru obținerea datelor din bazele de date

INSERT – este utilizată pentru a introduce noi rânduri

UPDATE- este utilizată pentru actualizarea rândurilor

DELETE- este utilizată pentru ștergerea rândurilor nedorite

1.1.2. Limbajul de definire a datelor

S-a folosit în sistemul informatic în domeniul marketingului pentru definirea tabelelor din baza de date.

CREATE, ALTER, DROP aceste trei comenzi sunt utilizate dinamic pentru a crea, utiliza și șterge orice structură de date, de exemplu, tabele, expuneri, indecși. Ele sunt cunoscute sub numele colectiv DDL sau comenzi ale limbajelor de definire a datelor.

InstrucțiuneaCREATE creează obiecte în baza de date. Tipul obiectelor diferă în funcție de RDBS-ul folosit. Pentru MySQL sunt următoarele opțiuni:

Cea mai folosită sintaxă este CREATE TABLE utilizată pentru crearea unui tabel, structura de bază pentru stocarea datelor. Se pot specifica definițiile coloanelor, constrângeri de integritate,etc.

SINTAXA:

InstrucțiuneaALTER modifică obiecte în baza de date.

Comanda ALTER TABLE modifică definiția unui tabel (adaugă, modifică sau șterge o coloană în tabel, aduce o constrângere, etc)

SINTAXA:

InstrucțiuneaDROP șterge obiecte în baza de date.

Pentru eliminarea constrângerilor de integritate:

SINTAXA:

Pentru ștergerea unui tabel:

SINTAXA:

1.1.3.Limbajul de control al datelor

S-a folosit în sistemul informatic în domeniul marketingului pentru a manipula datele utilizatorilor din baza de date din interiorul interfeței. Comenzile prezentate mai jos s-au folosit în interiorul limbajului php pentru a da sau a revoca anumite drepturi utilizatorilor aplicației.

GRANT, REVOKE aceste două comenzi sunt utilizate pentru a da sau a lua drepturile de acces pentru bazele de date și structurile din MySQL (DCL)

PHP

Limbajul PHP a fost creat în anul 1994 de către Rasmus Lerdorf, care încerca să-și personalizeze propria pagină web, motiv pentru care limbajul a fost inițial numit PHP (Personal Home Page – pagină de bază personală). Ulterior acest limabj a fost perfecționat, iar utilitatea și caracteristicile sale s-au dezvoltat treptat ajungând să aibă semnificația de Hypertext Preprocessor (PHP). Preprocesarea constă în interpretarea datelor de către serverul Web înainte ca acesta să genereze cod HTML.

Noțiuni elementare de PHP

Limbajul PHP este folosit pentru o gamă impresionantă de operații, iar cu ajutorul lui se pot crea site-uri dinamice în funcție de opțiunile selectate de utilizator.

Limbajul este caracterizat prin simplitatea, eficiență, cross-platform, ușurință de utilizare și gratuitate fiind un Open Source Software.

În cazul paginilor web statice scrise în HTML simplu, un server nu face decât să transmită înapoi browser-ului codul HTML din pagina web și utilizatorul poate vedea astfel imagini și text.

Un cod PHP poate să obțină date din baza de date, să verifice parola unui utilizator, să afișeze un text de întâmpinare personalizat, să folosească module cookie, să scrie într-o carte pentru invitați, să creeze jocuri interactive, să calculeze taxe de vânzare sau chiar să creeze aplicații proprii de comerț electronic sau camera de discuții.

Utilizarea formularelor HTML cu PHP, $_GET și $_POST

Un formular HTML trebuie să conțină un buton de expediere, submit, pe care utilizatorul executa clic pentru a trimite datele din formular la scriptul PHP.

Formularele se crează folosind etichete specifice încadrate in tag-ul <form></form> ca în exemplul de mai jos:

Fiecare element, câmp dintr-un formular trebuie să aibă un nume distinct, dat prin atributul "name"; acest nume este folosit de scriptul PHP la care sunt trimise datele, astfel, scriptul PHP recunoaște datele din câmpul respectiv folosind numele acestuia.

Atributul "method" poate avea două valori : GET și POST. Diferența între metodele GET și POST constă în modul în care informația din formular este transmisă scriptului care o prelucrează.

Metoda GETtrimite toate informațiile adunate ca parte a adresei URL; aceste informații sunt vizibile pentru utilizator;

Metoda POST transmite informațiile într-o modalitate invizibilă pentru utilizator și poate transmite o cantitate mai mare de date decât GET;

Utilizarea SQL ÎN PHP

Scopul acestui subcapitol este de a oferi informațiile necesare pentru utilizarea SQL în PHP. Dacă în baza de date există o tabela numitã „Campanie” și se dorește selectarea tabelei respective, pentru a o folosi în cod, atunci se execută următoarea instrucțiune SQL, numită interogare ce va genera o listă cu toate înregistrările din tabela „Campanie”:

În cazul bazelor de date MySQL, se folosește funcția mysql_query, pentru a executa o interogare astfel:

Accesarea unei baze de date create în MySQL

Pentru conectarea la baza de date MySQL se folosește funcția mysql_connect căreia i se furnizează numele sistemului gazdă, numele utilizatorului și parola – dacă există:

Selectarea bazei de date cu care se lucrează se face folosind variabila „$connection” și funcția mysql_select_db, ca în exemplul următor:

După ce s-a fãcut conectarea la baza de date medical, se pot obține toate datele din tabelul pacient printr-o interogare SQL, folosind funcția mysql_query (funcția mysql_error returnează eventualele erori MySQL).

În afară de mysql_connect, mysql_select_db și myqsl_query, sunt disponibile și alte funcții pentru utilizarea MySQL în cadrul lui PHP.

De exemplu:

mysql_create_db – creează o bază de date

mysql_data_seek– caută date în baza de date

mysql_drop_db– șterge o bază de date

Mai mult, în cadrul codului scris în limbajul PHP, se pot efectua toate comenzile specifice unei baze de date MySQL prezentate la .

HTML 5

HTML (HyperText Markup Language) este un limbaj utilizat pentru crearea paginilor web ce pot fi afișate într-un browser (sau navigator).

Noile caracteristici adăugate în HTML5 sunt bazate pe HTML, CSS, DOM, și JavaScript; și reduc necesitatea plugin-urilor externe (precum Flash).

Sintaxa HTML5 este compatibilă cu HTML4 și XHTML

Se pot închide elementele ce au un singur tag (META, BR, HR, INPUT, IMG) cu slash, <tag />, precum în XHTML; sau se pot lăsa fară să se adauge slash, <tag>;

Se pot folosi litere mici, sau /și litere mari, pentru numele tag-urilor și atribute;

Div-urile sunt acum folosite petru stil și design, nu mai sunt necesare pentru structura; HTML5 include mai multe elemente noi pentru structurare, care ajuta la definirea și organizarea diferitelor părti în document.

Acestea sunt principalele elemente de structură care sunt folosite mai des în HTML5:

<header> – e folosit pentru a defini titluri (si sub-titluri), sau meniu de navigare în site. Poate fi adăugat direct în BODY, sau în <article>, ori <section>;

<footer> – reprezintă subsolul paginii sau a unui <section>, ori <article>; poate contine informații despre autor, copyright, etc;

<section> – reprezintă o secțiune distinctă a documentului sau aplicației. Se foloseste pentru a grupa logic structura documentului;

Poate conține header, articles, meniu de navigare și footer;

<nav> – în acest tag se adaugă meniul de navigare în paginile site-ului. Acest element ar trebui folosit doar pentru link-uri grupate într-un meniu;

Dacă aveți un <footer> cu link-uri de navigare în site, nu mai e necesar să le adăugați și în <nav>, deoarece<footer> e suficient;

<article> – se folosește pentru a defini un element independent în pagină (sau în <section>), și poate conține articole de știri, postări de blog, comentarii, sau alt conținut cu text și imagini;

<aside> – poate fi folosit ca să definească o zonă laterală, sau alt conținut care e considerat într-un fel separat de conținutul din jurul lui. Un exemplu ar fi, banner sau publicitate;

<hgroup> – se folosește pentru a grupa un set de două sau mai multe elemente H1, H2, H3, …, când avem de exemplu un titlu si subtitluri;

CSS

CSS se ocupă în general cu aspectul și controlul grafic al elementelor din pagină, cum ar fi: textul, imaginile, fondul, culorile și asezarea acestora în cadrul ferestrei paginii.

CSS folosește stiluri, acestea înglobează, sub un anumit nume, atribute de formatare care se aplică asupra unui element individual din pagină, asupra unui grup de elemente sau la nivelul întregului document.

CSS funcționează ca HTML, însă nu este HTML. El extinde functionalitățile HTML, permitând redefinirea etichetelor HTML existente.

Prin utilizarea CSS aspectul documentului pe ansamblu, sau a unui element individual din interiorul sau, poate fi controlat mult mai ușor. Stilurile pot fi aplicate asupra unui element, a unui document sau chiar asupra unui întreg site web.

Ajax

Ajax este un acronim (denumirea prescurtată) de la Asynchronous JavaScript And XML.Ajax este o combinație de mai multe limbaje (client side și server side) folosite împreună, bazate în principal pe JavaScript.

Această tehnologie își are originea în anii 1998-2000 când a fost dezvoltată și folosită de Microsoft în aplicația Outlook Web Acces utilizând extensii ale proprietăților HTML incluse în Internet Explorer 5. Dar acest termen "AJAX" a fost creat în 2005, a devenit popular și a cunoscut o dezvoltare accentuată după ce a fost folosit de Google în aplicațiile sale: Google Maps, GMail.

În mod standard, înainte de Ajax, pentru fiecare interacțiune a unei aplicații web cu serverul, pagina web trebuia complet reîncărcată. Cu tehnologia Ajax pot fi încarcate și modificate doar anumite părți din pagină, prelucrate și generate de server, fără a reîncarca toată pagina web. Acest lucru are ca rezultat încărcarea mai rapidă a conținutului în pagina și reducerea traficului.

Această tehnologie a fost utilizată pentru dezvoltarea sistemului informatic ajutând la manipularea datelor din interfața web.

Capitolul 2–Modelarea aplicației

„O bază de date conține, uzual, atât datele propriu-zise, cât și informații despre legăturile dintre ele. Ideea centrală a unei baze de date este că, utilizatorul (uman sau program)nu trebuie să se preocupe cu felul în care datele sunt stocate fizic pe disc, ci cu rezolvarea cererilor proprii vizazi de informațiile din baza de date. De cele mai multe ori, acestea sunt exprimate în termenii asocierilor dintre datele stocate în baza de date respectivă.”(Monica Vlădoiu, 2008)

„Conceptual, datele și legăturile dintre acestea se reprezintă cu ajutorul unui model de date, care este un formalism matematic cu două părți: o notație pentru a descrie datele și legăturile dintre ele, precum și un set de operații folosite pentru a manipula aceste date. Există mai multe modele date care sunt, sau au fost folosite în bazele de date: ierarhic, rețea, relațional, funcțional, obiect și datalog(un model bazat pe logică).” (Monica Vlădoiu, 2008)

Proiectul are două etape,prima este implementarea propriu-zisă a bazei de date,iar a doua este crearea interfeței bazei de date, care este sub forma unui site cu mai multe facilități.

2.1. Prima etapă: Dezvoltarea bazei de date

2.1.1. Modelul entitate legătură

Pentru prima etapă s-a urmărit schema modelului entitate legătură și a schemei relaționale a bazei de date „campanii.sql”.

Mulțimile entitate din diagrama entitate-legătură sunt:

Mulțimea entitateAcțiunese referă la acțiunile care pot fi efectuate asupra înregistrărilor din interfață.Această mulțime entitate are următoarele atribute: id(cheie primară),denumire, showRight, method,enable,, adaugat_la,modificat_la

Mulțimea legăturăAcțiune_grup.Această mulțime entitate are următoarele atribute:id(cheie primară),first, adaugat_la, modificat_la

Mulțimea entitateCampanie.Această mulțime entitate are următoarele atribute: id(cheie primară),data_com,denumire, persoana, telefon, enable, adaugat_la, modificat_la

Mulțimea entitateDecorare.Această mulțime entitate are următoarele atribute: id(cheie primară),descriere, cantitate, adaugat_la, modificat_la

Mulțimea entitateGrup.Această mulțime entitate are următoarele atribute: id(cheie primară),denumire, enable, adaugat_la, modificat_la

Mulțimea entitateImagine.Această mulțime entitate are următoarele atribute: id(cheie primară), parent, tip, fisier, ord, , adaugat_la, modificat_la

Mulțimea entitateObiect.Această mulțime entitate are următoarele atribute: id(cheie primară),denumire, enable, adaugat_la, modificat_la

Mulțimea entitateProdus.Această mulțime entitate are următoarele atribute: id(cheie primară), denumire, enable, adaugat_la, modificat_la

Mulțimea legăturăSampling.Această mulțime entitate are următoarele atribute:id(cheie primară), clienti_ab, flyere, clienti_cumt, enable, adaugat_la, modificat_la

Mulțimea entitateClient.Această mulțime entitate are următoarele atribute: id(cheie primară), denumire, enable, persoana, telefon, email, adresa,, adaugat_la, , modificat_la

Mulțimea entitateUser.Această mulțime entitate are următoarele atribute: id(cheie primară), grup_id, nume, prenume, username, parola, enable, adaugat_la, , modificat_la

Mulțimea entitateFisier.Această mulțime entitate are următoarele atribute:id(cheie primară), parent, fisier, original_name, folder, tip, ord, adaugat_la, modificat_la

Din scurta descriere a universului aplicației de baze de date de mai sus reiese cu ușurință o primă formă a viitoarei sheme a bazei de date care va conține mulțimile entitate și legătură:Acțiune, Acțiune_grup, Campanie, Decorare, Grup, Imagine, Obiect, Produs, Sampling, Client, User. Între aceste mulțimi entitate există diverse asocieri (între paranteze sunt asociate conectivitățile).

Clientul cere organizarea campaniei (1,m) – un client poate cere organizarea mai multor campanii.

Campania are nevoie de o decorare pe baza obiectelor oferite de client (m,m) – într-o campanie se pot face decorăricu mai multe tipuri de obiecte promoționale, iar un tip de obiect poate fi utilizat la mai multe campanii. Pentru realizarea acestei legături în baza de date, s-a introdus o tabelă de legătură Decorare.

Obiectul aparține clientului (m,1) – un client poate oferi mai multe obiecte cu care dorește să promoveze anumite produse.

Clientul face produsele (1,m) – un client poate avea mai multe produse pe care dorește să le promoveze.

Campania promovează produsele (m,m) – într-o campanie se pot promova mai multe tipuri de produse, iar un produs poate fi promovat în mai multe campanii. Pentru realizarea acestei legături în baza de date, s-a introdus o tabelă de legătură Sampling.

Asupra fiecărei entități Utizatorul poate face modificări și este într-o legătură de tip (1,m) cu toate entitățile din baza de date.

Toate aceste mulțimi entitate și mulțimi legături sunt reprezentate cu ajutorul diagramei entitate-legătură. Fiecare mulțime entitate are atribute specifice, care pot fi de asemenea observate în diagramă.

„Un atribut sau un set de atribute minimal, ale căror valori identifică unic fiecare entitate dintr-o mulțime entitate, se numește cheie pentru acea mulțime entitate. Pot exista mai multe astfel de grupuri de atribute, numite chei candidat, dintre care se alege una, care este desemnată cheie primară.”(Vlădoiu, 2008)

Diagrama Entitate-Legatură obținută în etapa precedentă urmează să fie convertită în schema conceptuală a bazei de date, în termenii modelului de date folosit în cadrul etapei de proiectare a schemei conceptuale a bazei de date. Pentru sistemele relaționale cu baze de date, este vorba despre transformarea diagramei Entitate-Legătură în schema bazei de date relaționale.

Pentru crearea bazei de date s-a folosit limbajul de programare PHP și SGBD-ulMySql.

Diagrama entitate-legăturăprezentată mai jos, reprezintă mulțimile entitate și mulțimile legătură.

Figură 1 Modelul Entitate – Legatură

În fig de mai sus este prezentată o diagramă simplificată, utilizatorul este în legătură (1,m) cu toate tabelele din baza de date, iar fiecărei tabele îi lipsește atributele „adăugate la” și „modificate la” pentru a simplifica schema și a o face

mai ușor de citit.

2.1.2. Modelul relațional al bazei de date

Pentru a face această translatare s-au folosit regulile următoare: Pentru fiecare mulțime entitate se creează o relație, care va conține în schema sa toate atributele mulțimii entitate respective, iar cheia mulțimii entitate va deveni cheia relației.

„Pentru fiecare entitate care se găsește la capătul „unu” al unei legături dar nu și la capătul „multi” al vreunei legături, se creează o cheie primară „artificială”, formată dintr-o singură coloană, folosind un număr serial arbitrar, care să identifice unic fiecare entitate, daca nu există o cheie primară „naturală”.”(Vlădoiu,2008)

„Pentru fiecare entitate care se găsește la capătul „multi” al unei legături (sau al mai multora), se include în tabela sa corespunzătoare, cheia primară a fiecărei entități de la capătul „unu” al legăturii (lor) respective, pe post de cheie străină.” (Vlădoiu,2008)

„Dacă o entitate de la capătul „multi” are o cheie primară „naturală”, se va folosi acea coloana cu rol de cheie primară. Altfel, se concatenează cheia primară a entității de la capătul „unu” cu coloana sau coloanele necesare pentru a asigura unicitatea cheii pentru relația respectivă.”(Vlădoiu,2008)

Respectând recomandările de mai sus, s-a obținut schema relațională a bazei de date care va conține informații despre baza de date campanie.sql:

Acțiune (id,denumire, controller_id,showRight, method,enable,adaugat_de, adaugat_la,modificat_de,modificat_la)

Acțiune_grup (id,actiune_id,grup_id,first, adaugat_de, adaugat_la, modificat_de, modificat_la)

Campanie (id, client_id, data_com,denumire, persoana, telefon, enable, adaugat_de, adaugat_la, modificat_de,modificat_la)

Decorare (id,campanie_id,obiect_id,descriere,cantitate,adaugat_de,adaugat_la, modificat_de, modificat_la)

Grup (id,denumire, enable, adaugat_de, adaugat_la, modificat_de, modificat_la)

Imagine(id, parent, tip, fisier, ord, adaugat_de, adaugat_la, modificat_de, modificat_la)

Obiect(id,client_id, denumire, enable,imagine,adaugat_de,adaugat_la,modificat_de,modificat_la)

Produs (id,client_id,denumire,enable,adaugat_de,adaugat_la,modificat_de,modificat_la)

Sampling (id,campanie_id,produs_id,clienti_ab,flyere,clienti_cumt,enable,adaugat_de,adaugat_la,modificat_de,modificat_la)

Client (id,denumire,enable,persoana,telefon,email,adresa,adaugat_de,adaugat_la,modificat_de,modificat_la)

User( id, grup_id, nume,prenume,username, parola,enable,adaugat_la,adaugat_de,modificat_de,modificat_la)

Cheile subliniate sunt chei primare, cheile străine sunt scrise îngroșat, iar cheile scrise înclinat sunt chei candidat.

Aceste tabele sunt prezentate, împreună cu înregistrările lor, în interfața bazei de date care este descrisă în detaliu (cu printshoturi) în capitolul 3.

În continuare, va fi prezentată schema relațională pentru fiecare dintre relațiile de mai sus (cu toate atributele din baza de date incluse) și codul MySQL corespunzător fiecărei scheme în parte:

Figură 2Schema relațională determinată de software-ul Navicat developer

Din schema relațională reiese care este atributul sau grupul de atribute care formează cheia primară, cheia străină, cheia compusă, respectiv indecșii care au fost creați pentru fiecare relație în parte.

Schema relațională este determinată de software-ul Navicat – versiunea gratuită a acestuia de 30 de zile. Software-ul este utilizat pentru a interacționa cu baza de date MySQL.

Codurile folosite pentru crearea tabelelor(cărora li s-au adăugat constrângeri)sunt:

2.2. Etapa a II-a – Dezvoltarea interfeței

Pentru cea de-a doua etapă, cea de creare a interfeței, se folosesc funcții din diferite limbaje java script, htp.p, css,Mysql și php pentru fiecare pagină web.

Cu ajutorul acestei interfețe prietenoase, administratorul și cei însărcinați cu popularea bazei de date au posibilitatea de a face modificări(adăugare, modificare, ștergere) asupra datelor din baza de datecu o mai mare ușurință.

Interfața pentru utilizator

Utilizatorul are acces doar la anumite informații din baza de date care se vor selecta în momentul creării acestuia. Administratorul va avea posibilitatea să ofere mai drepturi de acces și după crearea utilizatorului.

O parte din codul scris pentru interfață este prezentat în Anexa de la finalul documentației.

Capitolul 3– Manual de utilizare al aplicației

Aplicația poate fi accesată din interfață de către utilizator și administrator, dar programatorul poate accesa și partea din spate a programului – codul sursă, pentru modificarea eventualelor erori sau introducerea unor noi coduri, în cazul în care este nevoie, care contribuie la dezvoltarea proiectului. Toate comenzile aplicate asupra bazei de date pot fi accesate direct din interfață.

Aplicația este disponibilă online la adresa http://magazine.conturweb.ro/. La intrare pe acest site este solicitată autentificarea cu numele de utilizator și parola.

Figură 3Log in

În cazul în care sunt introduse date greșite de autentificare, va fi generat un mesaj de eroare.

Figură 4 Autentificare eșuată

După autentificarea cu succes se va deschide o interfață care selectează tabelaCampaniidin baza de date

Figură 5 Campanii de Marketing

Din imagine se poate observa prezența butoanelor care fac trimitere la operațiile în baza de date de căutare, adăugare, modificare și ștergere. Aceste butoane sunt prezente în toate interfețeleClient, Campanii, Administrare respectiv Utilizatori.

Căutarea se face pe baza mai multor filtre: se pot selecta datele de start ale campaniei și există de asemenea un meniu din care se pot selecta clienții campaniilor respective. Această funcționalitate este prezentată în imaginea următoare:

Figură 6 Cautare campanii

Se observă prezența a două butoane Căutare și Reset. Butonul are rolul de a aplica selecțiile din filtru, iar Butonul are rolul de a reseta filtrele și de a reveni la listarea simplă tuturor evementelor din tabela de Campanii.

Pentru operația de căutareCampanie s-a implementat următorul cod:

Butonul de adăugare deschide o fereastră nouă în care se pot adăuga informații despre campanie nouă:

Figură 7Adăugare Campanie

În cazul în care unul dintre câmpurile obligatorii sunt goale, nu se poate efectua operația de salvare și este generat următorul mesaj de eroare

Figură 8Eroare la salvarea campaniei

Pentru operația de adăugare s-a folosit funcția al cărei cod este prezentat mai jos. Acesta generează un formular într-o nouă pagină din care se trimit informații către baza de date prin intermediul butonului de salvare. În acest cod sunt menționate și restricțiile pentru avertizările menționate mai sus.

La efectuarea operației „click” pe butonul de modificareîn dreptul unei înregistrări din tabela Campanii, se va deschide o fereastră nouă asemănătoare celei deschise de butonul adăugare în care se pot modifica informații despre campaniile introduseîn baza de date. Acesta are aceeași funcționalitate ca butonul de adăugare.

Figură 9 Detalii – editare Campanii

Pentru implementarea acestor operații s-a folosit funcția edit()utilizată și pentru operația de adăugare care conține și un formular. De reținut că restricțiile sunt aceleași ca cele de la interfața de adăugare.

Butonul ștergere, după selectarea unui rând, din tabela Campanie, aplică operația de ștergere din baza de date. După efectuarea unui click asupra acestui buton, având selectată o înregistrare în baza de date, se trimite un mesaj java script care solicită aprobarea acestei operații:

Figură 10 – Ștergere înregistrare

După efectuarea de click pe butonul ok, dacă datele nu sunt utilizate și în alte tabele, operația de ștergere este efectuată și este trimis un mesaj care anunță aceasta:

Figură 11Alert Ștergere

Codul folosit pentru această operație se găsește în funcția de mai jos:

La selectarea unei înregistrări prin efectuarea operației „click” asupra acesteia, se va deschide un meniu nou cu date generale despre campania selectată, decorări și sampling care pot fi modificate.

Figură 12 Date generale campanii

Butonul de listare din meniul din dreapta sus are rolul de a aduce utilizatorul înapoi la pagina Campaniilor.

Figură 13 Sampling campanii

Se poate observa în partea din dreapta jos a paginii butonul care face export al întregii tabele de sampling într-un fișier Excel. Această facilitate este foarte importantă deoarece Microsoft Excel este un tool cu ajutorul căruia se pot efectua multe operații aritmetice pe baza celulelor selectate.

Figură 14 Generare Excel Sampling campanii

Tabela Clienți din baza de date este reprezentată de colaboratorii care doresc să aibă produsele promovate.

Figură 15Tabela Client

Butoanele de căutare și ștergere au aceleași operații ca și cele din interfața Campaniilor.

Butonul de adăugaredeschide o nouă fereastră ca și cel de adăugare a Campaniilor, însă se prezintă într-o interfață diferită:.

Butonul de modificare are aceeași interfață ca și cel de adăugare în care se pot face modificări.

Figură 16 Adăugare Client

Meniul Administrare permite administrarea tuturor utilizatorilor, cei care au acces la acest meniu pot monifica dreturile de acces ale altor utilizatori.

Figură 17 Administrare conturi utilizatori

Figură 18 Adăugare grup

Câmpul „Adăugat la” se generează automat în funcție de data la care a fost adăugată constanta, el nu apare în meniul de adaugare constante, în mod asemănător câmpul „Acțiuni” este generat automat la crearea constantei.

Pentru a putea șterge o înregistrare, aceasta trebuie selectată și selectat butonul de ștergere din meniul dreapta sus.

În Secțiunea "Constante" din modulul Administrare utilizatorul poate 
modifica anumiți parametrii definiți pentrusetările generale a aplicației.

Figură 19 Constante administrare

În secțiunea Controller sunt administrate toate submodulele 
aplicatiei (poate fi accesat doar de administratorii de sistem). Această 
secțiune ajută la eliminarea logică ( nu fizică) a unor module ce nu mai au rol în aplicația curentă.

Figură 20 Controller administrare

În imaginea de mai jos se pot manipula datele din tabela Acțiuni care reprezintă acțiunile posibile pe care le poate executa un utilizator care face parte dintr-un grup.

Figură 21 Acțiuni posibile

Tabela Utilizatori din baza de date este reprezentată de cei care au acces la interfață și care se pot autentifica.

Figură 22 Tabela utilizatori

Butonul de ștergereare aceleași funcționalități ca și cele din interfața Campaniilor.

Butonul de adăugaredeschide o nouă fereastră ca și cel de adăugare a persoanelor, însă se prezintă într-o interfață diferită.

Figură 23 Adăugare utilizator

Pentru a insera grupul la crearea utilizatorului, administratorul sau utilizatorul cu drepturi de creare-modificare trebuie să aleagă dintr-o listă predefinită care reprezintă o selecție din tabela Grup.

Capitolul 4– Concluzii

4.1. Avantajele aplicației

Obiectivele propuse în introducere, au fost atinse.

Pentru a face față planurilor de extindere a afacerii la un nivel mai mare aplicația trebuie săfie deschisă la nou: astfel va fi flexibilă pentru inovații.

Astfel, sistemul informatic va avea nevoie de mai multe îmbunătățiri: printre care se înnumără o interfață cu funcționalitate asemănătoare Microsoft Project pentru managementul fiecărei campanii cu o planificare în timp a momentelor din campanie căreia i se vor alătura resursele alocate. Pe baza acesteia se va calcula bugetul necesar pentru fiecare campanie.

În al doilea rând, deoarece ne vom extinde și vom avea mai mulți utilizatori, interfața web va căpăta un design mai atractiv și va aveași elemente interactive, de exemplu un istoric pentru fiecare campanie și o galerie foto dinamică în care vor apărea pozele sugestive ale angajaților pe diferite campanii.

Aplicația va permite fiecărui utilizator să adauge un raport pentru activitatea zilnică alături de care va putea selecta și numărul de ore alocat pentru o anumită activitate, astfel se va realiza controlul pentru resursele umane mai ușor.

Pe măsură ce ne vom extinde și vom intra în colaborare cu alte firme, se va mări și baza de date a sistemului informatic.

Pasul următor va fi dezvoltarea unei aplicații mobile care să fie conectată online la aceași bază de date datorită mobilității agenților prin toată țara.

4.2. Experiența personală

Pe parcursul dezvoltării acestui proiect, care mă ajută și în viața particulară, amreușit să îmi formez un stil de lucru mult mai structurat, să lucrez pe etape, pe care săle verific, să le salvez separat, iar în final să le reunesc pe toate pentru a forma unîntreg. Am învățat de asemenea că nu trebuie trecute cu vederea nici cele mai micidetalii care câteodată se dovedesc foarte importante.

Acest proiect a fost o provocare pentru mine, întrucât am reușit să învăț la un nivel mai avansat săfolosesclimbaje de programare pentru prelucrarea pachetelor care fac legătura bazei de date cuinterfața și să lucrez și la designul web al aplicației.

A fost ușor de gândit structura proiectului deoarece în urma experienției în domeniul marketingului, am reușit să cunosc fiecare detaliu care necesar acestei aplicații.

Am gândit baza de date atât din viziunea unuiprogramator cât și din viziunea unui client, mi-am îndeplinit cerințele impuse demine. Iar în calitate de client, aștept cu nerăbdare să pot utiliza programul în realitate,acesta fiindu-mi foarte util în organizarea campaniilor.

Bibliografie

Marin Fotache, Cătălin Strâmbei, Liviu Crețu ,Ghidul dezvoltării aplicațiilor profesionale, Editura Polirom, 2003

Monica Vlădoiu ,Modelarea Datelor în Bazele de Date Relaționale, Editura Universității Petrol-Gaze din Ploiești, 2008

Onofrei Alina XML 1 http://www.scribd.comaccesat la data: 25/08/2014

Notepad++http://www.wikipedia.org/accesat la data: 23/08/2014

http://www.w3schools.comaccesat la data: 10/06/2014

Lee Babin, Begining Ajax with PHP, Editura Apress, 2007.

Andrea Tarr, PHP and MySql 24 Hour trainer, Editura Wrox, 2012.

Marplo ( http://www.marplo.net/ajax/)

Marplo ( http://www.marplo.net/curs_css/ )

Marplo (http://www.marplo.net/html/ )

Marplo ( http://www.marplo.net/javascript/jquery-elemente-baza-js )

Marplo ( http://www.marplo.net/javascript/lectii-js )

Marplo ( http://www.marplo.net/php-mysql/lectii.html )

Marplo ( http://www.marplo.net/html/tutorial-html5.html )

Valentin Ivașcu., Inițiere în PHP și MySql, Editura Oriceon, 2005.

Wikipedia ( http://ro.wikipedia.org/wiki/Internet )

Wikipedia ( http://en.wikipedia.org/wiki/Web_application )

Wikipedia (https://ro.wikipedia.org/wiki/World_Wide_Web#cite_note-1)

Anexe

Codul pentru campanie scris în PHP și HTML5

Codul pentru client scris în PHP și HTML5

Similar Posts