CAPITOLUL I...................................................................................................6
STUDIUL ȘI ANALIZA SISTEMULUI EXISTENT...................................6
1.1 Prezentarea succintă a unității economico-sociale...................................6
1.2 Principalele activități desfășurate în cadrul restaurantului Prestij.......6
1.3 Studiul sistemului de conducere. Studiul sistemului condus...................7
1.4 Studiul sistemului informațional................................................................9
1.41. Schema fluxului informațional aferent temei........................................9
1.4.2. Descrierea documentelor utilizate. Proceduri de prelucrare a datelor
utilizate.............................................................................................................................9
1.4.3. Analiza critică a sistemului actual și identificarea neajunsurilor
existente în funcționarea sistemului existent...............................................................11
1.4.4. Direcții de perfecționare a sistemului actual......................................11
CAPITOLUL II...............................................................................................12
APLICAȚIILE INFORMATICE UTILIZATE DE RESTAURANTE.....12
2.1 Aplicațiile informatice și rolul lor............................................................12
2.2 Proiectarea de ansamblu a aplicațiilor informatice...............................14
2.3 Tehnologii utilizate pentru realizarea aplicației informatice................19
2.3.1.Visual basic.............................................................................................19
2.3.2 Visual C#.................................................................................................19
2.3.3 Java..........................................................................................................19
2.3.4. MySQL...................................................................................................22
2.3.5 Php...........................................................................................................23
CAPITOLUL III.............................................................................................27
PROIECTAREA DE DETALIU A APLICATIEI INFORMATICE PENTRU
ADMINSITRAREA VANZARILOR..........................................................................27
3.1 Definirea obiectivelor aplicației informatice...........................................27
3.2. Proiectarea logică și fizică a ieșirilor.......................................................27
3.3. Proiectarea logică și fizică a intrărilor...................................................29
3.4. Structura bazei de date............................................................................29
3.5 Etapele aplicației informatice...................................................................32
3.6. Schema de flux informațional a noului sistem.......................................49
1
3.7 Propuneri de dotare cu echipamente IT și costuri aferente..................49
CAPITOLUL IV..............................................................................................51
PREZENTAREA PRODUSULUI SOFTWARE.........................................51
4.1 Cerințele platformei hardware și software ale produsului program. . .51
4.2. Descrierea funcțiunilor aplicației............................................................52
...........................................................................................................................53
CAPITOLUL V..............................................................................................53
EFICIENȚA ȘI UTILITATEA APLICAȚIEI INFORMATICE...............54
5.1. Condiții privind implementarea aplicației.............................................54
5.2. Considerații privind eficiența aplicației informatice............................55
CONCLUZII....................................................................................................57
BIBLIOGRAFIE.............................................................................................59
ANEXE.............................................................................................................61
2
INTRODUCERE
1
Radu Ion, Ursăcescu Minodora, Vlădeanu D., Cioc Mihai, Burlacu S., Informatică și management, Editura
Universitară, București, 2005, p.73
3
Apariția tehnologiilor electronice de prelucrare a informației bulversează
metodele tradiționale de lucru, rolul individului în organizație și însăși maniera de abordare
a anumitor probleme. „Impactul noilor tehnologii de informare este considerabil, devenind
astăzi nerealist să se vorbească de sisteme informatice, fără a face referire la tehnologiile
informatice”2.
Informatizarea unei întreprinderi se realizează ținând cont de contextul economic
al acesteia și de activitățile specifice pe care aceasta le desfășoară. În acest proces, se
impune de cele mai multe ori ca firmele să-şi modernizeze aplicaţiile mai puţin eficiente
sau chiar să le înlocuiască, cu altele mai performante, care să asigure fundamentarea în
timp real şi eficient a deciziilor şi deci a procesului de conducere.
Această strategie este indicat să fie aplicată și de către companiile turistice.
Adaptarea rapidă la schimbările ce au loc în toate domeniile de activitate, la
nivelul cererii și al ofertei, reprezintă cheia de succes pentru orice companie In același
timp, adaptarea presupune stabilirea variabilelor prin care întreprinderea poate să-și
realizeze obiectivele propuse și măsura în care ele îi pot influența activitatea.
Sistemele informaționale „au existat, într-o formă sau alta, pe toate treptele
dezvoltării societății omenești, informarea constituind o condiție fundamentală a realizării
oricărui proces managerial, în calitatea sa de proces de însușire și transmitere a
informațiilor”3.
Sistemele informatice sunt în zilele noastre prezente tot mai mult în activitatea
umană, ele devenind o componentă esențială în realizarea succesului pentru orice
organizaţie sau întreprinzător. În cazul de față, pentru succesul în cadrul restaurantelor.
Realizarea unei informări complete și de calitate, precum și valorificarea integrală
a informației poate fi posibilă doar în cadrul unui sistem conceput ca un ansamblu integrat,
care cuprinde: proceduri, metode și tehnici folosite atât pentru generarea și păstrarea
datelor, cat și pentru transformarea lor în informații4.
Industria restaurantelor este o activitate economică din sfera serviciilor şi, ca orice
domeniu economic, este reglementată printr-un ansamblu de acte normative, prin care se
asigură un cadru unitar de desfășurare a activităţilor, stabilind anumite standarde privind
activitatea serviciilor şi comportamentul adecvat în relaţiile cu clienţii.
2
Ursacescu Minodora, Sisteme informatice – o abordare între clasic și modern, Editura Economică,
București, 2002, p.35
3
Bob Constantin A., Visean Mirela, Fulea Mihai, Saseanu Andreea, Sisteme informatice in comerț, Editura
ASE, București, 2003, p.3
4
Bob Constantin A., Visean Mirela, Fulea Mihai, Saseanu Andreea, Sisteme informatice in comerț, Editura
ASE, București, 2003, p.3
4
Importanţa sistemelor informatice rezidă în principal în înţelegerea efectivă şi
responsabilă de către toţi conducătorii (managerii) sau persoanele dintr-o organizaţie a
necesităţii adaptării la societatea informaţională globală. Sistemele informatice devin astăzi
tot mai mult o componentă vitală a succesului în afaceri pentru o organizaţie sau un
întreprinzător.
Lucrarea este formată din cinci capitole pe parcursul cărora am prezentat
modalitatea de utilizare a aplicațiilor informatice în cadrul restaurantelor. În cadrul
primului capitol am realizat o prezentare a restaurantului Prestij și a sistemului informatic
din cadrul acestuia. În capitolul al doilea am prezentat pe scurt aplicațiile informatice
utilizate de restaurante, a rolului acestora, precum și a eficienței aplicațiilor pentru bunul
mers al activității restaurantelor, precum și cele mai utilizate tehnologii în realizarea
aplicațiilor informatice, astfel acestea sunt: visual basic, visual c#, java, Php și MySQL.
În cadrul capitolului al treilea am realizat o analiză a aplicației informatice
realizate în cadrul unui restaurant. Astfel, am prezentat succint care sunt pașii în realizarea
aplicației, precum și în rezultatul apărut în urma comenzilor introduse în program.
În capitolul al patrulea am prezentat pe scurt care sunt cerințele platformei
hardware și software ale produsului prezentat, pentru ca în ultimul capitol – cel de-al
cincilea - am creionat pe scurt considerații privind eficiența aplicației informatice.
5
CAPITOLUL I
STUDIUL ȘI ANALIZA SISTEMULUI EXISTENT
7
Fizionomia lucrătorilor care efectuează diferite servicii trebuie să fie plăcută,
atrăgătoare. Întreaga ţinută trebuie să exprime eleganţă, supleţe, sobrietate, prestanţă,
seriozitate şi demnitate.
Ţinuta fizică, trebuie să fie întregită de o ţinută vestimentară corectă :
îmbrăcăminte impecabilă, de calitate, bine croită, curată, fără pete şi bine călcată. Atenţia
cuvenită se va da şi încălțămintei care va fi decentă, comoda, uşoară şi bine lustruită.
Aptitudinile intelectuale, cunoştinţele, deprinderile trebuie să se situeze la un nivel
corespunzător cerinţelor fiecărei funcţii. Se impune a avea un nivel suficient de cunoştinţe
de cultură generală, pentru a fi capabil să susţină cu turiştii-clienţi conversaţii pe diferite
teme: istorie, geografie, literatură, artă, sport etc. Trebuie de asemenea, să cunoască una
sau două limbi de circulaţie internaţională corespunzătoare structurii turiştilor majoritari
din unităţile respective.
Simţul ordinii şi al curăţeniei condiţionează realizarea unor servicii de calitate, în
condiţii de igienă, care sporesc încrederea consumatorilor pentru serviciile prestate; să fie
conştiincios în muncă, pentru a efectua servicii de înaltă ţinută profesională; să respecte
regulile de servire; să aibă atenţie distributivă, pentru a realiza servicii prompte şi la
solicitarea clienţilor; să manifeste interes profesional, disciplină şi punctualitate; pasiunea
pentru meserie asigură, fără îndoială un randament superior, lucrătorii pasionaţi pentru
meserie nu se plictisesc; să dea dovadă de rezistenţă la monotonia muncii; spiritul de
echipă trebuie să fie prezent la toţi cei care îşi desfăşoară muncă în restaurante; spiritul de
organizare, imaginaţia în vederea realizării serviciului în condiţii bune şi în timp foarte
scurt;
Restaurantul Prestij are o structură a personalului care nu diferă mult faţă de o
structură clasică:
- şef restaurant
- asistenţi şef restaurant
- bucătar şef
- responsabil mic dejun
- asistent şef bucătar
- ospătari
- bucătari
- hostess
8
- ajutor bucătar şi spălător vase. Atribuţiile şefului de restaurant, bucătarului şef şi
a subalternilor acestora se regăsesc în fişa postului, care este întocmită pentru fiecare post
în parte.
Eficienţa cu care sunt utilizate resursele materiale şi financiare de către societate
depinde hotărâtor de volumul şi calitatea resurselor umane.
În tabelul 1.1 este prezentată structura personalului restaurantului Prestij şi
numărul acestora.
După cum se poate observa în tabelul de mai sus, numărul cel mai mare al
angajaților este reprezentat de chelneri/ospătari, dar și de bucătari.
9
● Proiectarea sistemului informatic – s-a conceput sistemul, elementele
componente ale acestuia, structura lor şi modul de realizare. Datorită complexităţii, această
etapă este la rândul ei descompusă în doua etape:
- Proiectarea de ansamblu - s-a stabilit arhitectura de ansamblu, modul de
descompunere pe componente, intrările şi ieşirile sistemului. S-a finalizat printr-o schemă
de ansamblu a sistemului în care sunt incluse toate aceste elementele.
- Proiectarea de detaliu - fiecare element descris în etapa anterioară este descris în
detaliu.
● Elaborarea programelor – s-au scris programele sistemului într-un limbaj ales
anterior.
● Implementarea sistemului - după ce a fost realizat sistemul, s-a trecut la
implementarea sistemului.
● Exploatarea şi întreţinerea sistemului - aceasta este faza finală a proiectului în
care se trece la exploatarea acestuia. Este necesară în paralel şi o serie de operaţii de
întreţinere a acestuia.
Pentru aceasta s-a făcut o analiză a acestui domeniu şi pentru a cunoaşte
particularităţile acestuia, precum şi analiza sistemului actual, înainte de informatizare, al
acestui domeniu.
Trebuie stabilit clar scopul, rezultatele, ceea ce trebuie obţinut în final din
prelucrarea datelor, cât şi datele de intrare. S-a construit programul principal cu meniurile
aplicaţiei.
S-a stabilit deci că aplicaţia va avea următoarele module:
1. Introducere date - cu ajutorul acestui modul se introduc datele în sistem.
2. Vizualizare/modificare date - permite vizualizarea şi/sau modificarea/corecţia
anumitor date introduse.
3. Prelucrare date
Sistemul informatic al restaurantului Prestij este proiectat pentru a îndeplini un
număr variat de sarcini/obiective, cum ar fi stocarea informaţiilor sau poate fi folosit ca
instrument pentru planificarea, cercetarea şi dezvoltarea activităţilor.
Pentru cei care se bucură de facilităţile Internetului, restaurantul Prestij a
deschis o pagină de Web în care se pot accesa toate informaţiile momentului: preturi,
condiţii şi meniuri. Pe pagină oficială se pot găsi informaţii despre meniuri, fotografii,
preţuri, şi multe alte lucruri pe care mulţi le găsesc interesante.
10
Vânzarea serviciilor se face și prin Internet, fie direct de la restaurant, fie prin
comandă online. Acest sistem este din ce în ce mai folosit pentru a oferi clientului potenţial
o informare cât mai completă asupra ofertei.
11
CAPITOLUL II
APLICAȚIILE INFORMATICE UTILIZATE DE RESTAURANTE
6
Bob Constantin A., Visean Mirela, Fulea Mihai, Saseanu Andreea, Sisteme informatice in comerț, Editura
ASE, București, 2003, p.3
7
Radu Ion, Ursăcescu Minodora, Vlădeanu D., Cioc Mihai, Burlacu S., Informatică și management, Editura
Universitară, București, 2005, p.14
8
Mihălcescu Cezar, Sion Beatrice, Titrade Cristina, Managementul sistemelor informatice în turism, Editura
Pro Universitaria, București, 2008, p.36
12
- Asigurarea unui management eficient;
- Asigurarea unui avantaj competiţional.
Succesul unui sistem informatic nu trebuie măsurat numai prin eficienţa sa (în
minimizarea costurilor, timp sau utilizarea resurselor de informaţie) ci şi prin suportul pe
care îl asigură.
Sistemele informatice trebuie să răspundă la problemele legate de administrarea
hardware-ului, software-ului, a datelor, precum şi a reţelelor informatice, într-un mod
strategic pentru succesul în afaceri9.
Un sistem este „format dintr-un grup de componente între care se stabilesc relații
și care conlucrează spre un scop comun prin acceptarea de intrări și producerea de ieșiri
printr-un proces de transformare”10.
Conceptul de sistem „are un rol de bază în domeniul sistemelor informatice.
Odată înţeles, acesta vine să fundamenteze alte concepte conexe din domeniile tehnologiei,
aplicațiilor, dezvoltării şi managementului sistemelor informatice”.11
Sistemul informatic este un sistem care are o serie de resurse de diferite tipuri:
umane, de hardware și software pentru a realiza intrările și ieșirile în și din sistem.
Un sistem informatic proiectat pentru o întreprindere tradițională, component a
sistemului informațional, se poate extinde, cu unele adaptări și la întreprinderi sau
organizații virtuale.
Sistemul informatic reprezintă componenta sistemului informațional, care asigură
o prelucrare automată, cu mijloace electronice de calcul, a datelor și a informațiilor. Mai
exact, sistemul informatic este un sistem de tip utilizator-calculator, care produce
informație pentru a asista factorul uman în procesele decizionale12.
Proiectarea și realizarea unui sistem informatic complex necesită ca urmare mai
întâi o proiectare globală, de ansamblu, în care sunt identificate și precizate subsistemele,
relațiile dintre ele și aplicațiile componente, colecțiile de date comune, intrările și ieșirile
din sistem13.
9
Onete Bogdan, Sisteme informatice - Elemente fundamentale, Editura ASE, București, 2003, p.4
10
Mihălcescu Cezar, Sion Beatrice, Titrade Cristina, Managementul sistemelor informatice în turism, Editura
Pro Universitaria, București, 2008, p.36
11
Mihălcescu Cezar, Sion Beatrice, Titrade Cristina, Managementul sistemelor informatice în turism, Editura
Pro Universitaria, București, 2008, p.36
12
Ursacescu Minodora, Sisteme informatice – o abordare între clasic și modern, Editura Economică,
București, 2002, p.44
13
Căruțașu George, Botezatu Cezar, Ionescu Sorin Cristian, Botezatu Cornelia Paulina, Joița Alin Cristian,
Sisteme integrate informatice pentru management, Editura Universitară, București, 2011, p.112
13
Aplicația informatică este un sistem care are o serie de resurse de diferite tipuri:
umane, de hardware și software pentru a realiza intrările și ieșirile în și din sistem.
Importanţa sistemelor informatice reiese în primul rând din înţelegerea
responsabilă de către toţi conducătorii (managerii) sau persoanele dintr-o companie a
necesităţii adaptării la societatea informaţională globală 14. Sistemele informatice devin
astăzi tot mai mult o componentă vitală a succesului în afaceri pentru o organizaţie sau un
întreprinzător.
Sistemul informatic reprezintă componenta sistemului informațional, care asigură
o prelucrare automată, cu mijloace electronice de calcul, a datelor și a informațiilor. Mai
exact, sistemul informatic este un sistem de tip utilizator-calculator, care produce
informație pentru a asista factorul uman în procesele decizionale15.
Proiectarea și realizarea unui sistem informatic complex necesită ca urmare mai
întâi o proiectare globală, de ansamblu, în care sunt identificate și precizate subsistemele,
relațiile dintre ele și aplicațiile componente, colecțiile de date comune, intrările și ieșirile
din sistem16.
14
Onete Bogdan, Sisteme informatice - Elemente fundamentale, Editura ASE, București, 2003, p.4
15
Ursacescu Minodora, Sisteme informatice – o abordare între clasic și modern, Editura Economică,
București, 2002, p.44
16
Căruțașu George, Botezatu Cezar, Ionescu Sorin Cristian, Botezatu Cornelia Paulina, Joița Alin Cristian,
Sisteme integrate informatice pentru management, Editura Universitară, București, 2011, p.112
17
Botezatu Cezar, Caruțasu George, Botezatu Cornelia Paulina, Sisteme informatice pentru managementul
organizațiilor virtuale, Editura Universitară, București, 2011, p. 180
14
Proiectarea de ansamblu este o activitate distinctă în proiectarea unor sisteme
informatice sau aplicații complexe, care au structuri complexe, în care se pot identifica
subsisteme pe mai multe nivele.
În această etapă se realizează practic analiza globală și specificarea cerințelor
noului sistem, modelul de ansamblu al sistemului informatic, structurarea datelor și
specificarea soluțiilor de administrarea datelor, proiectarea arhitecturii configurației de
echipamente și planificarea realizării noului sistem de părți componente. Această
proiectare la nivel global este urmată, în astfel de cazuri, de o proiectare de detaliu a
fiecărei componente în parte, cu cele două forme ale sale: proiectare logică de detaliu și
proiectare tehnică de detaliu.
Proiectarea de ansamblu, denumită și etapă de concepere a sistemului informatic,
cuprinde o succesiune de activități, cum sunt: definirea obiectivelor sistemului, structurarea
sistemului informatic pe subsisteme și componente, definirea globală a ieșirilor, definirea
globală a intrărilor, definirea colecțiilor de date comune, alegerea soluțiilor tehnice,
estimarea necesarului de resurse, estimarea eficienței economice18.
Definirea obiectivelor sistemului informatic și a ariei de cuprindere a acestuia
Aria de cuprindere a sistemului informatic se stabilește în strânsă legătură cu
obiectivele definite pentru acesta. Aceste obiective nu vor fi identice pentru toate
societățile beneficiare, căci ele vor fi definite în urma unei analize complexe a stării și
comportamentului sistemului economic respectiv, efectuată împreună cu conducerea
unității de la toate nivele ierarhice19.
În urma acestei activități de documentare și analiză critică se vor identifica
punctele slabe ale sistemului, eventualele rezerve interne, eventualele necorelări și
contraindicații care ar puntea fi eliminate sau introducerea noului sistem informatic. Astfel,
pe baza acestor constatări se formulează obiectivele sistemului informatic ce se va
proiecta, se identifică sarcinile ce vor fi preluate de acesta, se justifică necesitatea,
oportunitatea și fezabilitatea sistemului.
18
Căruțașu George, Botezatu Cezar, Ionescu Sorin Cristian, Botezatu Cornelia Paulina, Joița Alin Cristian,
Sisteme integrate informatice pentru management, Editura Universitară, București, 2011, p.122-123
19
Căruțașu George, Botezatu Cezar, Ionescu Sorin Cristian, Botezatu Cornelia Paulina, Joița Alin Cristian,
Sisteme integrate informatice pentru management, Editura Universitară, București, 2011, p.124
15
Structurarea sistemului informatic
Necesitatea structurării sistemului în elemente componente, ierarhizarea după
anumite criterii, este impusă, în practica de realizare a sistemelor informatice. Elaborarea
modelului de ansamblu al sistemului informatic presupune deci descompunerea sistemului
informațional-decizional în subsisteme relativ autonome. Fiecare subsistem al sistemului
informatic va avea funcțiunile, intrările și ieșirile sale, colecții de date specifice, algoritmi
de transformare a intrărilor în ieșiri informaționale.
Structurarea sistemului informatic se impune cel puțin din următoarele
considerente: numărul mare de elemente și legături care compun, de regulă, un sistem
informatic face aproape imposibilă definirea și precizarea pană în cele mai mici detalii a
acestora, stabilirea priorității unor obiective față de altele, resurse financiare, umane și
materiale limitate, necesitatea acumulării experienței în domeniul proiectării sistemelor
informatice20.
În cadrul sistemului informatic orice aplicație este alcătuită din programe,
proceduri manuale și date care, utilizând echipamentele specificate în documentația
aplicației, realizează prelucrarea automată a datelor și conduc la obținerea performanțelor
dorite.
Definirea ieșirilor sistemului
Obiectivele oricărui sistem informatic se concretizează practic în satisfacerea
cerințelor informaționale ale conducerii, pentru fundamentarea sau asistarea deciziilor.
Concret, acesta înseamnă furnizarea la cerere sau periodic a situațiilor, a
rapoartelor de ieșire care grupează informații, date necesare cunoașterii realității curente.
Utilitatea și viabilitatea sistemului informatic este determinată de tipul, conținutul
și operativitatea cu care se transmit situațiile de ieșirea la factorii de decizie. Ieșirile
sistemului vor fi definite pentru fiecare subsistem în parte. Prin ieșirile unui subsistem
informatic înțelegem totalitatea informațiilor furnizate de acesta beneficiarilor interni și
externi. Definirea ieșirilor fiecărui subsistem informatic la nivel global presupune în primul
rând, stabilirea la nivel global a informațiilor necesare conducerii pe diferite trepte
ierarhice, precizând, pentru fiecare în parte, conținutul informațional, periodicitatea,
numărul de exemplare, destinatarul21. Astfel, că pe baza acestora se va realiza apoi
proiectarea logică și fizică de detaliu a ieșirilor.
20
Căruțașu George, Botezatu Cezar, Ionescu Sorin Cristian, Botezatu Cornelia Paulina, Joița Alin Cristian,
Sisteme integrate informatice pentru management, Editura Universitară, București, 2011, p.125
21
Căruțașu George, Botezatu Cezar, Ionescu Sorin Cristian, Botezatu Cornelia Paulina, Joița Alin Cristian,
Sisteme integrate informatice pentru management, Editura Universitară, București, 2011, p.126
16
Definirea intrărilor sistemului
Definim intrărilor sistemelor informatic ca fiind totalitatea datelor primare
necesare obținerii informațiilor de ieșire ale sistemului. Datele primare reflectă starea și
dinamica fenomenelor și proceselor economice din unitatea economică, necesare pentru
crearea, actualizarea bazei de date și obținerea situațiilor de ieșire. Acestea pot fi externe
sau interne unității economice22.
Determinarea intrărilor presupune o analiză care are ca punct de plecare
informațiile de ieșire din subsistem. După determinarea intrărilor sub aspectul conținutului
global al acestora, pentru fiecare document de intrare se va stabili sursa de proveniență,
periodicitatea, volumul, numărul de exemplare etc.
Stabilirea globală a colecțiilor de date
În această etapă se realizează proiectarea modelului conceptual de ansamblu al
datelor, se identifică tipurile de entități și relațiile dintre acestea, se definesc astfel, la nivel
global, colecțiile de date, se face analiza soluțiilor pentru administrarea și manipularea
datelor. Pornind de la datele definite global în toate aceste activități, se trece la gruparea lor
în colecții de date pe baza unor criterii, pentru fiecare subsistem în parte și la nivelul
întregului sistem23.
Alegerea tipurilor de modele matematice ce urmează a fi utilizate
Pentru optimizarea proceselor economice dintr-o unitate economică sistemul
informatic trebuie să se bazeze pe folosirea metodelor și tehnicilor din teoria sistemelor și
cibernetica economică, pe introducerea unor modele economico-matematice care să-i
confere valențe sporite în analiza proceselor economice și fundamentarea deciziilor. Toate
acestea au ca scop descoperirea rezervelor interne, creșterea volumului de producție,
reducerea costurilor, sporirea profitului, creșterea productivității muncii. Alegerea tipului
de model utilizat depinde de domeniul în care urmează să se realizeze sistemul informatic,
de specificul problemei abordate, de echipamentele de calcul și programele existente etc.24
Alegerea tehnologiei de prelucrare și estimarea necesarului de resurse
Alegerea tehnologiei de prelucrare automată a datelor se face în funcție de
calitatea și dimensiunile resurselor alocate, de specificul sistemului obiect, dar și de
modelul în care aceste resurse pot fi utilizate pentru satisfacerea cerințelor impuse
22
Căruțașu George, Botezatu Cezar, Ionescu Sorin Cristian, Botezatu Cornelia Paulina, Joița Alin Cristian,
Sisteme integrate informatice pentru management, Editura Universitară, București, 2011, p.126
23
Căruțașu George, Botezatu Cezar, Ionescu Sorin Cristian, Botezatu Cornelia Paulina, Joița Alin Cristian,
Sisteme integrate informatice pentru management, Editura Universitară, București, 2011, p.128
24
Căruțașu George, Botezatu Cezar, Ionescu Sorin Cristian, Botezatu Cornelia Paulina, Joița Alin Cristian,
Sisteme integrate informatice pentru management, Editura Universitară, București, 2011, p.128
17
sistemului informatic. Alegerea tipului de tehnologie de prelucrare se va face după o
analiză a tuturor cerințelor legate de prelucrarea datelor, formulate de beneficiar, a
posibilităților de organizare și structurare a acestora, dar li a posibilităților financiare ale
beneficiarului de a achiziționa cele mai adecvate și moderne sisteme și echipamente de
comunicații necesare25.
Estimarea necesarului de resurse financiare presupune comensurarea tuturor
cheltuielilor necesare pentru dotarea hardware și software corespunzătoare, pentru
proiectarea, realizarea și exploatarea sistemului informatic.
Cheltuielile pentru achiziționarea echipamentelor necesare este strict legată de
dotarea existentă, dar li de soluția aleasă pentru tehnologia de prelucrare, transmitere și
stocare a datelor.
Planificarea realizării sistemului informatic
Planificarea realizării unui sistem informatic are la bază principiul eșalonării. Prin
eșalonare înțelegem ordinea în care vor fi abordate și realizate componentele sistemului
informatic, începând cu proiectarea de detaliu, programarea, implementarea, pană la
introducerea în exploatare curentă, cu asigurarea condițiilor pentru integrarea lor treptată.
Proiectarea obiectivelor componente poate fi stabilită ca cerință expresă a
beneficiarului, care și-a stabilit o ordine de abordare a componentelor sistemului sau poate
să fie stabilită de echipa de proiectare. Asigurarea legăturilor între componente este o
problemă deosebit de importantă, căci la nivel global ele se definesc chiar din etapa
proiectării de ansamblu. Disponibilitatea resurselor reprezintă un criteriu care va influența
în mod direct ordinea de abordare și realizare a componentelor sistemului informatic
depinzând de: limita fondurilor ce pot fi alocate în timp pentru realizarea sistemului
informatic, nivelul de dotare cu tehnică de calcul existent în etapa de concepere și cel
prevăzut a fi realizat26.
25
Căruțașu George, Botezatu Cezar, Ionescu Sorin Cristian, Botezatu Cornelia Paulina, Joița Alin Cristian,
Sisteme integrate informatice pentru management, Editura Universitară, București, 2011, p.129
26
Căruțașu George, Botezatu Cezar, Ionescu Sorin Cristian, Botezatu Cornelia Paulina, Joița Alin Cristian,
Sisteme integrate informatice pentru management, Editura Universitară, București, 2011, p.130
18
Mai târziu, în 1991Microsoft a elaborat primele versiuni de VISUAL-BASIC,
destul de asemănător cu BASIC, iar în 10 ani s-a ajuns la versiunea a opta a limbajului,
versiune ce include facilități de administrare a bazelor de date, posibilitatea de a utiliza şi
de a comunica cu alte aplicaţii dezvoltate sub Windows prin intermediul interfeţelor DDE,
OLE, AxtiveX, ODBC şi multe alte beneficii.
Ceea ce diferențiază limbajul Visual Basic de celelalte limbaje din epoca DOS
este aceea că este un limbaj de programare care este „comandat de evenimente”.
Caracterul „Visual” al limbajului prevede interfaţa cu utilizatorul care se
programează separat, și care include pe un şablon toate „elementele de control” (obiectele)
aplicaţiei.
O parte dintre obiecte pot fi: butoane de comandă, etichete, ferestre de texte,
ferestre de liste, "butoane radio", bare de defilare, casete "combo", etc.. Fiecare obiect are
un set de proprietăți ce determină culoarea, forma, textul afişat pe el, dimensiunea, poziţia.
2.3.2 Visual C#
Visual C # este un limbaj de programare care este proiectat cu scopul de a
construi o varietate de aplicații care rulează pe NET Framework.
C # este un program simplu, puternic, care oferă aplicațiilor siguranță și orientare
spre obiect. Cele mai multe inovații în C # permite dezvoltarea rapida a aplicațiilor
păstrând în același timp expresivitatea și eleganță.
2.3.3 Java
Java este o tehnologie lansată de către compania Sun Microsystems în anul 1995.
Aceasta a avut un impact foarte mare asupra întregii comunități a dezvoltatorilor de
software și s-a impuse prin calități remarcabile ca de exemplu: simplitate, robustețe și nu în
ultimul rând portabilitate.
La început a primit numele de OAK, pentru ca mai apoi să se numească
tehnologia Java.
Aceasta este formată dintr-un limbaj de programare de nivel înalt pe baza căruia
sunt construite o serie de platforme destinate implementării de aplicații pentru toate
segmentele industriei software.
Limbajul de programare Java a fost folosit la dezvoltarea unor tehnologii dedicate
rezolvării unor probleme din cele mai diverse domenii. Aceste tehnologii au fost grupate în
platforme de lucru, ce reprezintă seturi de librării scrise în limbajul Java, precum și diverse
19
programe utilitare, folosite pentru dezvoltarea de aplicații sau componente destinate unei
anume categorii de utilizatori27.
Limbajele de programare Java sunt de două feluri, în funcție de modul de
execuție:
- Interpretate: instrucțiunile sunt citite linie cu linie de un program numit
interpretor și traduse în instrucțiuni mașină.
Avantajul acestei soluții este în primul rând simplitatea și faptul că este
interpretată direct sursa programului și astfel obținem portabilitatea. Dezavantajul evident
este viteza de execuție redusă.
- Compilate: codul sursă al programelor este transformat de compilator într-un
cod ce poate fi executat direct de procesor, numit cod mașină. Avantajul este execuția
extrem de rapidă, dezavantajul fiind lipsa portabilității, codul compilat într-un format de
nivel scăzut nu poate fi rulat decât pe platforma de lucru pe care a fost compilat.
Crearea oricărei aplicații Java presupune efectuarea următorilor pași28:
1. Scrierea codului sursă
class FirstApp {
public static void main( String args[]) {
System.out.println("Hello world!");
}
}
Toate aplicațiile Java conțin o clasă principală(primară) în care trebuie să se
găsească metoda main. Clasele aplicației se pot găsi fie într-un singur fișier, fie în mai
multe.
2. Salvarea fișierelor sursă
Se va face în fișiere care au obligatoriu extensia java, nici o altă extensie nefiind
acceptată. Este recomandat ca fișierul care conține codul sursă al clasei primare să aibă
același nume cu cel al clasei, deși acest lucru nu este obligatoriu. Să presupunem că am
salvat exemplul de mai sus în fișierul.
C:\intro\FirstApp.java.
3. Compilarea aplicației
Pentru compilare vom folosi compilatorul javac din distribuția J2SDK.
27
Frăsinaru Cristian, Curs practic de Java, Editura Matrix Rom, Bucureşti 2005, p.12
28
Frăsinaru Cristian, Curs practic de Java, Editura Matrix Rom, Bucureşti 2005, p.15
20
Apelul compilatorului se face pentru fișierul ce conține clasa principală a
aplicației sau pentru orice fișier/fișiere cu extensia java. Compilatorul creează cate un fișier
separat pentru fiecare clasă a programului. Acestea au extensia .class și implicit sunt
plasate în același director cu fișierele sursă.
javac FirstApp.java
In cazul în care compilarea a reușit va fi generat fișierul FirstApp.class.
4. Rularea aplicației
Se face cu interpretorul java, apelat pentru unitatea de compilare corespunzătoare
clasei principale.
Deoarece interpretorul are ca argument de intrare numele clasei principale și nu
numele unui fișier, ne vom poziționa în directorul ce conține fișierul FirstApp.class și vom
apela interpretorul astfel:
java FirstApp
Rularea unei aplicații care nu folosește interfața grafică, se va face într-o fereastră
sistem.
Atenție
Un apel de genul java c:\intro\FirstApp.class este greșit!
Limbajului Java lucrează în mod nativ folosind setul de caractere Unicode. Acesta
este un standard internațional care înlocuiește vechiul set de caractere ASCII și care
folosește pentru reprezentarea caracterelor 2 octeți, ceea ce înseamnă că se pot reprezenta
65536 de semne, spre deosebire de ASCII, unde era posibilă reprezentarea a doar 256 de
caractere.
Mai jos voi încerca să prezint câțiva operatori Java, care sunt cu mici deosebiri,
cei din C++29:
• atribuirea: =
• operatori matematici: +, -, *, /, %, ++, -- .
Este permisă notația prescurtată de forma lval op= rval: x += 2 n
-= 3
Există operatori pentru autoincrementare și autodecrementare (post și pre): x++, +
+x, n--, --n
Evaluarea expresiilor logice se face prin metoda scurtcircuitului: evaluarea se
oprește în momentul în care valoarea de adevăr a expresiei este sigur determinată.
• operatori logici: &&(and), ||(or), !(not)
29
Frăsinaru Cristian, Curs practic de Java, Editura Matrix Rom, Bucureşti 2005, pp.19-20
21
• operatori relaționali: <, <=, >, <=, ==, !=
• operatori pe biți: &(and), |(or), ^ (xor), ~ (not)
• operatori de translație: <<, >>, >>> (shift la dreapta fără semn)
• operatorul if-else: expresie-logica ? val-true : val-false
• operatorul , (virgulă) folosit pentru evaluarea secvențială a operațiilor:
int x=0, y=1, z=2;
• operatorul + pentru concatenarea șirurilor:
String s1="Ana";
String s2="mere";
int x=10;
System.out.println(s1 + " are " + x + " " + s2);
• operatori pentru conversii (cast) : (tip-de-data)
int a = (int)’a’;
char c = (char)96;
int i = 200;
long l = (long)i; //widening conversion
long l2 = (long)200;
int i2 = (int)l2; //narrowing conversion
2.3.4. MySQL
MySQL este un sistem foarte rapid şi robust de management al bazelor de date.
Un sistem de baze de date permite stocarea, căutarea şi stocarea eficientă a datelor.
MySQL foloseşte limbajul SQL (Structured Querz Language), limbajul standard de
interogare a bazelor de date30.
MySQL este un server de baze de date specializat pentru aplicații Web care nu
necesită un grad maxim de securitate a datelor. Marea majoritate a aplicațiilor Web
funcționează foarte bine fără tranzacții. Acesta este cel mai eficient server de baze de date,
dovadă stă faptul că sunt foarte multe portaluri Web gigant care îl folosesc, de exemplu
Yahoo care este folosit de milioane de utilizatori.
MySQL este un produs bazat pe paradigma client-server. Ca urmare, este nevoie
de un nume de cont și de o parolă pentru fiecare client în parte în vederea accesării
autentificate a serverului care ga găzdui baza de date.
30
Buraga Sabin, Aplicații Web la cheie. Studii de caz implementate în PHP, Editura Polirom, Iaşi, 2003, p.
18
22
2.3.5 Php
PHP (PHP: Hypertext Processor) este un limbaj de tip script proiectat special
pentru Web, care ruleză pe server.
Limbajul PHP a fost conceput în anul 1994, inițial fiind rezultatul muncii lui
Rasmus Lerdorf. A fost adoptat apoi şi de alți programatori talentați, trecând prin trei mari
îmbunătățiri pană a ajuns la produsul pe care îl folosim astăzi, adică PHP 431.
În anul 2001 limbajul PHP era folosit pe aproape cinci milioane de site-uri Web
din lume, iar treptat numărul a crescut și mai mult.
Limbajul PHP este un limbaj de tip script, procedural, oferind și suport pentru
programarea orientată-obiect.
Programele PHP (stocate în mod uzual de fișiere cu extensia .php) vor fi
accesibile direct din cadrul paginilor Wb. Sintaxa limbajului este insiprată din cea a
limbajelor C/C++ și Perl.
Puterea limbajului constă în setul cuprinzător de funcții puse la dispoziție în
special pentru manipularea bazelor de date într-un dialect SQL sau pentru procesarea
conținutului unei largi palete de tipuri de fișiere.
Scripturile PHP pot fi incluse în paginile Web în diferite moduri, uzual folosindu-
se construcția <?php … ?>. Comentariile pot fi scrise în stilul comentariilor din limbajele
C/C++ ori Perl. Declarațiile și instrucțiunile se separă prin „;” ca și în C, Perl sau Java.
Orice secvență de cod PHP începe cu < ? php sau ?>. Tot ceea ce se află cuprins
între acești delimitatori este procesat de către interpretatorul PHP, iar rezultatul este trimis
browser-ului sub forma de cod HTML (sau orice altceva), navigatorul urmând a-l
interpreta și afișa pentru utilizator.
Funcționarea analizatorului (motorului) PHP este următoarea: procesorul PHP va
determina construcțiile PHP delimitate între tag-urile <?php … ?> și le va interpreta,
ignorând restul conținutului documentului pe care îl va trimite, la ieșirea standard,
nealterat.
Tipurile de date suportate sunt cele simple (scalare): logic (boolean), întreg
(integer), flotant (float, double, real) și șir de caractere (string). Tipurile compuse sunt
31
Buraga Sabin, Aplicații Web la cheie. Studii de caz implementate în PHP, Editura Polirom, Iaşi, 2003, p.
23
23
reprezentate din tipul tablou (array) – indexat și asociativ - și din tipul obiect (object). Mai
sunt disponibile și două tipuri speciale: tipul resursă (resource) și nul (NULL) 32.
Șirurile de caractere se pot delimita între ghilimele sau apostrofuri, în acest caz
inhibându-se evaluarea variabilelor din interiorul șirului respectiv.
Variabilele în PHP se reprezintă prin intermediul unui identificator prefixat de
caracterul „ș”. Numele variabilei este case-sensitive și este compus din caractere alfa-
numerice și simbolul „_”. Tipul unei variabile se determină în funcție de valoarea pe care o
stochează. Variabilele se pot folosi fără a trebui să fie declarate în prealabil. Există, de
asemenea, și diverse variabile predefinite, mai ales cele specifice serverului Web.
Constantele pot fi considerate variabile ale căror valori sunt fixate și nu mai pot fi
alterate pe parcursul programului. Pentru a defini o constantă se va folosi construcția
define {}. Ca exemple de constante predefinite: PHP_VERSION, PHP_OS sau
CHAR_MAX.
PHP pune la dispoziție un set impresionant de operatori. Acești operatori sunt cei
disponibili în limbaje precum C sau Perl. Categoriile importante de operatori sunt33:
- aritmetice
- de asignare (ca de exemplu „+=”)
- pe biți
- relaționali
- de control al erorilor (există un singur operator „@” care inhibă erorile ce pot
apărea în cadrul expresiei pe care o prefixează)
- de incrementare/decrementare („++” și „--”)
- logici (and or sau „!”)
- pentru șiruri
- de conversie de tipuri
- de manipulare a șirurilor de caractere
- de prelucrare a tablourilor
- de acces la resursele sistemului de operare și de lucru cu fișiere
- de manipulare a bazelor de date
- pentru accesarea fișierelor având tipuri speciale: PDF, XML, etc.
32
Buraga Sabin, Aplicații Web la cheie. Studii de caz implementate în PHP, Editura Polirom, Iaşi, 2003, p.
241
33
Buraga Sabin, Aplicații Web la cheie. Studii de caz implementate în PHP, Editura Polirom, Iaşi, 2003, p.
242
24
Instrucțiunile sunt cele uzuale din alte limbaje de programe. Sunt disponibile
instrucțiuni de asignare (de forma $variabilă = expresie), instrucțiuni de test (if și switch),
instrucțiuni repetitive (while, do, for, foreach) și instrucțiuni de control (break, continue,
return) 34.
Ce poate face PHP?35
- PHP poate genera dinamic pagina
- PHP poate crea, deschide, citi, scrie, șterge și închide fișiere de pe server
- PHP poate colecta formă de date
- PHP poate trimite și primi cookie-uri
- PHP poate adăuga, șterge, modifica datele în baza de date
- PHP poate permite utilizatorilor să acceseze anumite pagini de pe site
- PHP poate cripta date
Prin intermediul PHP - ului utilizatorul nu este limitat doar la simpla afișare
HTML, ci poate crea imaginii de ieșire, fișiere PDF și chiar filme Flash.
Un script PHP poate fi plasat oriunde în document și începe cu <php și se termină
cu?>:
<?php
// PHP code
?>
De asemenea, extensia implicită este „.php”.
Comentarii în PHP
PHP permite crearea de comentarii, care sunt reprezentate de line care nu poate fi
executată, dar care face parte din program. Aceste comentarii au drept scop:
- oferirea de informații celorlalți programatori cu care se lucrează (dacă se
lucrează în grup, pentru a le permite acestora să afle ceea ce se lucrează pas cu pas).
- reamintirea programatorului a ceea ce au făcut, dacă reiau programul peste o
perioadă lungă de timp.
- ajută la reamintirea ideii inițiale pentru care s-a scris codul
Voi încerca să prezint pe scurt care este structura unei aplicații informatice unde s-
a folosit programul php.
Meniul trebuie să apară pe două pagini: index.php (prima pagină) și
programming.php (pagina dinamică).
34
Buraga Sabin, Aplicații Web la cheie. Studii de caz implementate în PHP, Editura Polirom, Iaşi, 2003, p.
242
35
http://www.w3schools.com/php/php_intro.asp, PHP Introduction, accesat în mai 2017
25
1. Content general (care este general valabil pentru toate paginile site-ului)
a. connect.php - conectarea la baza de date [înainte de orice]
b. head.php - header-ul paginii, banner-ul, logo-ul, etc. [bara cu with=*,
height=50-100]
c. navigation.php - meniul principal, cu linkuri către domeniile site-ului
d. q_search.php - pentru o căutare rapida a unui cuvânt
e. login.php - pentru logarea in site, necesara newsletters-urilor si altor facilitati
de gen [toate in lateral-stanga]
f. advertising.php - un banner pentru un eventual venit de pe urma site-ului
[lateral-drepta]
g. tail.php - footer-ul paginii, cu copyright, email webmaster si alte maruntisuri
[bara cu with=*, height=50]
h. vote.php - jumatate de bara, cu linkuri catre topuri, ranking systems, etc.
i. counter.php - cealalta jumatate din bara, cu cateva statistici generale
2. Content specific
In index.php, după (si înainte de) include-urile de rigoare, putem adăuga content
dinamic.
26
CAPITOLUL III
PROIECTAREA DE DETALIU A APLICATIEI INFORMATICE PENTRU
ADMINSITRAREA VANZARILOR
27
Crearea unui cont de utilizator
Pentru crearea unui cont de utilizator sunt necesare următoarele 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
28
3.3. Proiectarea logică și fizică a intrărilor
Ieşirile unei aplicații informatice furnizate de acesta beneficiarilor interni şi
externi, precum rapoarte, facturi, note de informare etc.
La nivel global se prezintă caracteristici ale ieşirilor sistemului proiectat precum
număr de exemplare, destinaţia exemplarului, periodicitate etc.
La finalizarea comenzilor, se introduc în aplicație comenzi de ieșire, reprezentate
de bon de masă, stare mese, finalizare comandă:
29
<tr>
<td>Imagine:</td><td><input type="text" name="imagine"></td>
</tr>
<tr>
<td>Descriere: </td><td><input type="text"
name="descriere"></td>
</tr>
<tr>
<td><input id="button" type="submit" value="Add table!"><td>
</tr>
</table>
</form>
4. Creează interogarea:
$insert_masa = "INSERT INTO masa (positie, nr_persoane, imagine, descriere,
disponibila) VALUES ('$pozitie', '$nr_persoane', '$imagine', '$descriere', 0)";
5. Executa interogarea:
$data = mysqli_query($db,$insert_produs);
Dacă există 1 user care se potrivește în baza de date creează cookie-uri cu id-ul
user-ului și tipul lui (admin, normal)
if($count == 1) {
header("location: welcome.php");
setcookie("user_type", $user_type);
setcookie("user_name", $user_name);
setcookie("user_id", $active);
$_SESSION['login_user']=$user_name;
} else {
32
header("location: Index.php");
$error = "Numele sau parola este invalida!";
}
2. NEW USER
Următorul pas este acela de verificare dacă există un user cu acelaşi username și
dacă parolele se potrivesc în cele doua imputuri
function signUp($db) {
$user_name = mysqli_real_escape_string($db,$_POST["user_name"]);
if(!$row) {
$password= ysqli_real_escape_string($db,$_POST["password"]);
$password_retyped= mysqli_real_escape_string($db,
$_POST["retyped_password"]);
if($password != $password_retyped) {
echo "Password dose not match in both fields";
} else {
newUser($db, $user_name, $password);
}
} else {
33
echo "$user_name is already taken";
}
}
34
mysqli_query($db,$insert_client);
setcookie("user_type", 1);
setcookie("user_name", $user_name);
setcookie("user_id",$row['id'] );
header("location: welcome.php");
}
}
3. PRODUSUL NOU
Pentru introducerea produselor noi se iau datele din form și se adaugă în tabela de
produse, pentru fiecare produs nou în parte:
$denumire = mysqli_real_escape_string($db,$_POST["denumire"]);
$ingrediente = mysqli_real_escape_string($db,
$_POST["ingrediente"]);
$timp_de_preparare = $_POST["timp_de_preparare"] * 60;
$pret = $_POST["pret"];
$image_name = "mancaruri/" . mysqli_real_escape_string($db,
$_POST["image_name"]);
4. LOGOUT
Următoarea etapă este de ștergere a cookie-urile userului și de întoarcere la
Index.php
if (isset($_COOKIE['user_type'])) {
unset($_COOKIE['user_type']);
unset($_COOKIE['user_name']);
unset($_COOKIE['user_id']);
setcookie('user_type', null, -1, '/');
setcookie('user_name', null, -1, '/');
setcookie('user_id', null, -1, '/');
}
if (isset($_COOKIE['order_stuff'])) {
unset($_COOKIE['order_stuff']);
setcookie('order_stuff', null, -1, '/');
}
5. ADAUGĂ MASĂ
Pentru adăugarea unei mese se iau datele din form și se adaugă în tabela:
36
După cum putem observa şi din imaginea de mai sus, putem adăuga masa după
logare, după care se adaugă produsele dorite. Se poate modifica atât produsul cât şi masa
introduse.
$pozitie = mysqli_real_escape_string($db,$_POST["pozitie"]);
$nr_persoane = mysqli_real_escape_string($db,
$_POST["nr_persoane"]);
$imagine = "mese/" . mysqli_real_escape_string($db,
$_POST["imagine"]);
$descriere = mysqli_real_escape_string($db,$_POST["descriere"]);
if($data)
echo "<script>alert('Masa adaugata cu success!');</script>";
else
echo "<script>alert('Nu s-a putut adauga masa!');</script>";
6. COMANDA
Aplicația informatică permite modificarea produselor în funcție de solicitările
clienților. Astfel, se poate adăuga un produs, modifica şi șterge. De asemenea, se poate
vedea totalul comenzii de pe masa respectivă. În dreptul produsului se află o coloană cu
ingredientele conținute de produsul respectiv, urmat de o altă coloană cu preţ pre produs.
37
Primul pas este de selectare a tuturor produselor:
$sql = "SELECT * FROM produse";
$result=mysqli_query($db,$sql);
$products = array();
Apoi, se încărca din cookie produsele deja salvate
if(isset($_COOKIE['order_stuff']))
$products =
unserialize($_COOKIE['order_stuff']);
38
}
Se afișează tabelul cu produse:
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){
echo '<tr><td><img src="' . $row['image_name'] . '"></td>';
echo '<td>' . $row['denumire'] . '</td>';
echo '<td>' . $row['ingrediente'] . '</td>';
echo '<td>' . $row['pret'] . '</td>';
if(isset($products))
if(in_array($row['id'],$products)) {
echo '<td>Adaugat</td>';
} else {
echo '<td><a href="comanda.php?id=' . $row['id'] .
'&status=1">Adauga la comanda</a></td>';
}
echo '</tr>';
}
7. FINALIZEAZĂ COMANDA
În cadrul acestei etape se parcurg mai mulți pași:
a) Se selectează toate produsele
$sql = "SELECT * FROM produse";
$result=mysqli_query($db,$sql);
$products = array();
if($_SERVER["REQUEST_METHOD"] == "GET") {
if(isset($_GET['id'])) {
if(!empty($products))
if(($key = array_search($_GET['id'], $products)) !== false) {
39
unset($products[$key]);
}
setcookie('order_stuff', serialize($products));
}
}
-- returns the client address
function getClientAddress($db, $id_client) {
$adresa_client = "SELECT * FROM
client WHERE user_id='$id_client'";
$result=mysqli_query($db,
$adresa_client);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
return $row['adresa'];
}
c) Se întoarce valoare comenzii
function getOrderValue($db, $result, $products) {
$value = 0;
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){
if(in_array($row['id'],
$products)) {
$value = $value + $row['pret'];
}
}
mysqli_data_seek($result, 0);
return $value;
}
40
d) Se adăugă produse la comandă
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
return $row['id'];
}
41
f) Se creează o nouă comandă
Pentru crearea unei noi comenzi se intră în aplicație cu ID-ul celui care folosește
aplicația şi deschide o noua masa, pentru a crea comanda.
if($_SERVER["REQUEST_METHOD"] == "POST") {
$id_client = $_COOKIE['user_id'];
$adresa_client = getClientAddress($db, $id_client);
$valoare_comanda = getOrderValue($db, $result, $products);
$id_comanda = mysqli_insert_id($db);
42
if(isset($_COOKIE['order_stuff'])) {
while($row =
mysqli_fetch_array($result,MYSQLI_ASSOC)){
if(in_array($row['id'],
$products)) {
echo '<tr><td><img src="' . $row['image_name'] . '"></td>';
echo '<td>' . $row['denumire'] . '</td>';
echo '<td>' . $row['ingrediente'] . '</td>';
echo '<td>' . $row['pret'] . '</td>';
echo '<td>1</td>';
echo '<td><a href="finalizeaza_comanda.php?id=' . $row['id'] .
'&status=1">Sterge</a></td>';
echo '</tr>';
}
}
}
43
- Se selectează produsele selectate pentru comanda
if(isset($_COOKIE['order_stuff']))
$products =
unserialize($_COOKIE['order_stuff']);
- Se adaugă produs la comanda
if($_SERVER["REQUEST_METHOD"] == "POST") {
if(isset($_POST['id'])) {
$id = $_POST['id'];
$number = $_POST['count'];
if(empty($products))
$products = array($id => $number);
else
$products[$id] = $number;
setcookie('order_stuff', serialize($products));
}
}
- Se afișează produsele
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){
44
$id = $row['id'];
echo '<tr><form action="adauga_comanda_la_masa.php"
method="POST"><input type="hidden" name="id" value="'.$id.'">';
echo '<td><img src="' . $row['image_name'] . '"></td>';
echo '<td>' . $row['denumire'] . '</td>';
echo '<td>' . $row['ingrediente'] . '</td>';
echo '<td>' . $row['pret'] . '</td>';
if(isset($products)) {
if(array_key_exists($id,$products)) {
echo '<td><input type="text" value="' . $products[$id] . '"
name="count"></td>';
} else {
echo '<td><input type="text" value="0" name="count"></td>';
}
} else {
echo '<td><input type="text" value="0" name="count"></td>';
}
echo '<td><input type="submit" value="Adauga la masa"></td>';
echo '</form></tr>';
}
45
$products = unserialize($_COOKIE['order_stuff']);
if($_SERVER["REQUEST_METHOD"] == "GET")
{
if(isset($_GET['id'])) {
$id_comanda = createNewOrder($db, $result, $products);
$sql = 'UPDATE masa SET disponibila=' . $_GET['status'] .
', id_comanda=' . $id_comanda . ' WHERE id=' . $_GET['id'];
$data = mysqli_query($db,$sql);
insertOrderItems($db, $id_comanda, $result, $products);
unset($_COOKIE['order_stuff']);
setcookie('order_stuff', null, -1, '/');
}
}
46
return mysqli_insert_id($db);
}
function insertOrderItems($db, $id, $result, $products) {
while($row =
mysqli_fetch_array($result,MYSQLI_ASSOC)){
if(array_key_exists($row['id'],$products)) {
$id_produs = $row['id'];
$no_products = $products[$id_produs];
$sql = "INSERT INTO detalii_comanda (id_comanda,
id_produs, nr_produse) VALUES ('$id', '$id_produs', $no_products)";
mysqli_query($db,$sql);
}
}
mysqli_data_seek($result, 0);
}
$sql = "SELECT * FROM masa";
$result=mysqli_query($db,$sql);
while($row =
mysqli_fetch_array($result,MYSQLI_ASSOC)){
echo '<tr><td>' . $row['id'] . '</td>';
echo '<td>' . $row['positie'] . '</td>';
echo '<td>' . $row['nr_persoane'] . '</td>';
echo '<td><img src="' . $row['imagine'] . '"></td>';
$available = $row['disponibila'];
if($available == '0') {
echo '<td>Disponibila</td>';
} else {
echo '<td>Ocupata</td>';
}
echo '<td>' . $row['descriere'] . '</td>';
if($available == '0') {
echo '<td><a href="selecteaza_masa_pentru_comanda.php?id=' .
$row['id'] . '&status=1">Selecteaza masa</a></td>';
47
} else {
echo '<td> </td>';
}
echo '</tr>';
}
if($_SERVER["REQUEST_METHOD"] == "GET") {
if(isset($data)) {
if($data) {
echo "<script>alert('Comanda
adaugata la masa cu success');</script>";
} else {
echo "<script>alert('Adaugare
comanda esuata');</script>";
}
}
}
48
► informațiile pot fi introduse din puncte diferite repartizate geografic, iar datele
se pot obţine indiferent de localizare
► protejarea datelor în timp, prin proceduri performante de arhivare
49
CAPITOLUL IV
PREZENTAREA PRODUSULUI SOFTWARE
50
4.2. Descrierea funcțiunilor aplicației
Fiecare subsistem al sistemului informatic va avea funcțiunile, intrările și ieșirile
sale, colecții de date specifice, algoritmi de transformare a intrărilor în ieșiri
informaționale.
Structurarea sistemului informatic al restaurantului Prestij se impune cel puțin din
următoarele considerente: numărul mare de elemente și legături care compun, de regulă, un
sistem informatic face aproape imposibilă definirea și precizarea pană în cele mai mici
detalii a acestora, stabilirea priorității unor obiective față de altele, resurse financiare,
umane și materiale limitate, necesitatea acumulării experienței în domeniul proiectării
sistemelor informatice .
În cadrul sistemului informatic orice aplicație este alcătuită din programe,
proceduri manuale și date care, utilizând echipamentele specificate în documentația
aplicației, realizează prelucrarea automată a datelor și conduc la obținerea performanțelor
dorite.
51
52
CAPITOLUL V
EFICIENȚA ȘI UTILITATEA APLICAȚIEI INFORMATICE
54
Prin utilizarea sistemelor informaționale de management se obține calitatea
informației, fără a produce cantități imense de hârtie cu minimum de rapoarte tipărite, în
același timp cu oferirea unei informări complete și continue a conducerii companiei.
Aceste sisteme reprezintă o categorie de sisteme informatice proiectate pentru
sprijinirea și îmbunătățirea procesului decizional, pentru realizarea unui control cat mai
eficient și mai bun.
Un sistem informațional, reprezintă, deci, un ansamblu complex, organizat de
oameni, mașini, programe, procese și activități practice, concretizate prin intermediul
căruia se elaborează și se folosesc informațiile. Astfel spus, sistemul informațional
constituite un angrenaj care procură informațiile, le transformă într-o formă susceptibilă de
a fi utilizate de fiecare treaptă de conducere, transmite și prelucrează deciziile, urmărește
efectele aplicării acestora, atât în timpul execuției, cat și după terminarea acțiunii lor.
Dezvoltarea actuală a sistemelor informatice în întreprinderi având diferite forme
de organizare, vechime sau locație fizică ori virtuală trebuie să pornească de la ideea de
integrare a sistemelor informatice existente prin definirea riguroasă a infrastructurii de
integrare, stabilirea legilor și principiilor utilizate în integrare a sistemelor informatice
existente prin definirea riguroasă a infrastructurii de integrare.
Datele care există într-o organizație trebuie structurate și puse în valoare pentru a
obține un avantaj în competiția cu alte organizații din multiple puncte de vedere: creșterea
randamentului, îmbunătățirea relațiilor cu clienții sau cu furnizorii, noi strategii de
marketing, etc..
55
CONCLUZII
57
BIBLIOGRAFIE
59
ANEXE
60
61
62
63
64
65
66
67
68
69
70
Structura de tabel MYSQL pentru fiecare comandă
--
--Structura de tabel pentru tabelul `client`
--
CREATE TABLE IF NOT EXISTS `client` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`nume` varchar(10) NOT NULL,
`prenume` varchar(10) NOT NULL,
`user_id` int(5) NOT NULL,
`adresa` varchar(50) NOT NULL,
`telefon` varchar(11) NOT NULL,
`email` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
--
-- Salvarea datelor din tabel `client`
--
INSERT INTO `client` (`id`, `nume`, `prenume`, `user_id`, `adresa`, `telefon`,
`email`) VALUES
(2, 'ex123', 'ex123', 9, 'ex123', 'ex123', 'ex123'),
(3, 'Marin', 'Ionut', 10, 'marin@yahoo.com', 'Bucuresti, ', '0725555552');
-- --------------------------------------------------------
--
-- Structura de tabel pentru tabelul `comenzi`
--
--
-- Salvarea datelor din tabel `comenzi`
--
-- --------------------------------------------------------
--
-- Structura de tabel pentru tabelul `detalii_comanda`
--
72
--
-- Salvarea datelor din tabel `detalii_comanda`
--
-- --------------------------------------------------------
--
-- Structura de tabel pentru tabelul `masa`
--
--
-- Salvarea datelor din tabel `masa`
--
--
-- Structura de tabel pentru tabelul `produse`
--
--
-- Salvarea datelor din tabel `produse`
--
-- --------------------------------------------------------
--
74
-- Structura de tabel pentru tabelul `user`
--
75