Lucrare de licență [608474]

UNIVERSITATEA BABEȘ -BOLYAI
FACULTATEA DE ȘTIINȚE ECONOMICE ȘI GESTIUNEA
AFACERILOR
CLUJ NAPOCA

Lucrare de licență

Coordonator științific
Conf . univ. dr. Liana STANCA

Student: [anonimizat]

2017

UNIVERSITATEA BABEȘ -BOLYAI
FACULTATEA DE ȘTIINȚE ECONOMICE ȘI GESTIUNEA
AFACERILOR
SPECIALIZAREA
INFORMATICĂ – ECONOMICĂ

Lucrare d e licență
Aplicație web 2.0 pentru gestiunea
saloanelor de î nfrumusețare

Coordonator științific
Conf . univ. dr. Liana STANCA

Student: [anonimizat]

2017

CUPRINS

INTRODUCERE ………………………….. ………………………….. ………………………….. ………………………. 1
CAPITOLUL 1. ANALIZA SISTEMULUI ………………………….. ………………………….. …………….. 3
1.1 IDENTIFICAREA ȘI DESCRIEREA PROBLEMEI ………………………….. …………………. 3
1.2 CONTEXT ………………………….. ………………………….. ………………………….. ………………………. 3
1.2.1 FAȚETA SUBIECT ………………………….. ………………………….. ………………………….. ……4
1.2.2 FAȚETA UTILIZARE ………………………….. ………………………….. ………………………….. ..4
1.2.3 FAȚETA IT ………………………….. ………………………….. ………………………….. ……………….. 5
1.2.4 FAȚETA DEZVOLTARE ………………………….. ………………………….. ………………………. 6
1.3 MOTIVAȚIE ………………………….. ………………………….. ………………………….. …………………… 6
1.4 CERINȚE DE SISTEM ………………………….. ………………………….. ………………………….. …..10
1.4.1 SURSE DE CERINȚE ………………………….. ………………………….. ………………………….. .10
1.4.2ELICITAȚIA CERINȚELOR ………………………….. ………………………….. ……………….. 11
1.4.3 DOCUMENTAREA CERINȚELOR ………………………….. ………………………….. …….. 18
1.4.4 PROCESE SI ACTIVITĂȚI ………………………….. ………………………….. …………………. 20
CAPITOLUL 2. PROIECTAREA SISTEMULUI ………………………….. ………………………….. ….23
2.1 PROIECTAREA LOGICĂ ………………………….. ………………………….. …………………………. 23
2.1.1ARHITECTURA SISTEMULUI ………………………….. ………………………….. ……………. 24
2.1.2 BAZA INFORMAȚIONALĂ ………………………….. ………………………….. ………………… 28
2.2PROIECTAREA TEHNICĂ ………………………….. ………………………….. ………………………… 28
2.2.1 STRUCTURA DATELOR ………………………….. ………………………….. …………………….. 28
CAPITOLUL 3. DEZVOLTAREA SISTEMULUI INFORMATIC ………………………….. …….33
3.1 MODEL DE DEZVOLTARE ………………………….. ………………………….. ……………………… 33
3.2 IMPLEMENTARE ………………………….. ………………………….. ………………………….. …………. 34
3.3 REALIZAREA INTERFEȚEI GRAFICE ………………………….. ………………………….. ……38
CAPITOLUL 4. TESTAREA ………………………….. ………………………….. ………………………….. ……39
CAPITOLUL 5. CO NCLUZII ………………………….. ………………………….. ………………………….. …47
BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. …………………….. 49

1

INTRODUCERE
Datorită dezvoltării tot mai avansate de la un an la altul a tehnologiilor, apare
necesitatea definirii unor soluții inteligente de prezentare a serviciilo r și gestionare a
programărilor î n mediul online. Această aplicaț ie își prop une să implementeze un sistem
de realizare a programărilor online, de prezentare a conținutului și respectiv de
management al programărilor pentru saloanele de î nfrum usețare. Cu scopul de a încuraja
clienț ii să realizez e programări online, principalul obiectiv al aplicației îl reprezintă
sincronizarea clienților cu pro gramul saloanelor de î nfrumusețare , într-un mod eficient ș i
plăcut. Aplicația presupune realizarea unui website ca re să redea tot ceea ce este necesar a
fi știut depre servicii, programul de muncă, locație dar ș i să ofere o soluț ie software
completă de rea lizare a programărilor online fără apel telefonic, astfel încât să permită o
creștere a eficienței.
Această lucrare își propune să contribui e într-o mare m ăsură la dezvoltarea ș i
încurajarea realizării programărilor online , prin adăugarea de funcționalități noi , prin care
se poate oferi o experienț ă de documentare placută și comodă clienț ilor, și o gesti onare a
fluxului de programă ri, care au ca și scop cre șterea nivelului de utilizabilitate al acestor
aplicații cât și aplicabilitatea lor î n alte domenii .
Beneficiarii cărora această aplicație se adresează , sunt pe de o parte cei care deț in
business -ul, care au posibiliatatea de a gestiona mult mai eficient salonul și programările
facute de clienți , iar pe de cealaltă parte sunt clienț ii, care vor putea realiza programă ri
foarte rapid ș i comod. Existenț a unui sistem el ectronic de realizare a programă rilor prezi ntă
numeroase ava ntaje precum facili tatea realiză rii programărilor ș i utiliză rii, economisirea
timpului, întru -cât procesul d e programare se poate face la câ teva clik-uri distanță .

2

Lucrarea este structurată în 5 capitole :

Primul capitol al lucrării cu titlul „Analiza Sistemului ” prezintă motivația care stă
la baza realizării acestui sistem informatic, procesele existente în sistemul informațional
și cerințele beneficiarilor referitoare la noul sistem.
Capitolul al II -lea cu titlul „Proiectarea Sistemului” prezintă modalitatea de
proiectare a sistemului prin intermediul pr oiectarii logice și proiectării fizice . Sunt
prezentate de asemenea aspecte legate de arhitectura de sistem, baza informațională și
structura datelor.
Capitolul al III -lea cu titlul „ Dezvoltarea Sistemului In formatic ”, prezintă
dezvoltarea propriu -zisă a aplicației, în termeni de mod de dezvoltare pentru realizarea
acestei aplicații.
În capitolul al IV -lea cu titlul „Testarea ”, sunt evidențiate modalitățile de testare
folosite pent ru a verifica funcționalită țile sistemului și eventualele erori apărute. Totodată
sunt ev idențiate și soluțiile pentru rezolvarea unor erori identificate în procesul de testare.
În capitolul al V-lea cu titlul „Concluzii”, sunt prezentate concluziile trase în urma
implementării sistemului .

3
CAPITOLUL 1. ANALIZA SISTEMULUI
1.1 IDENTIFICAREA ȘI DESCRIEREA PROBLEMEI
În realizarea acestei aplicații am pornit cu ideea de a realiza un website care să
prezinte activitatea de desfăș urare a salon elor de înfrumuseț are și to todată de a introduce
sistemul de realizare a programărilor online.
Cei ce vor beneficia de a ceasta aplicaț ie vor fi salonele de î nfrumusetare care îș i
doresc u n sistem de realizare a programă rilor online. Activitate principală a acestor saloane
de înfrumu setare este oferirea serviciilor de î nfrumusețare precum : coafor, cosmetică,
manichiură -pedichiură , etc. Pentru gestionarea mult mai eficientă a fluxului de programă ri,
precum ș i pentru a acoperi nevoile clienților , se dorește oferirea posibilită ții de pr ogramare
online. Sistemul de gestiune al programărilor folosit î n prezent de saloanele de
înfrumusetare nu este de actualitate, programările realizându -se doar telefonic sau pr in
programare directă la salon. Acesta dă posibilitatea salonului de a gestiona programările,
însă nu într -un mod eficient ș i personalizat nevoilor clientului.
1.2 CONTEXT
Contextul soluției alese poate fi evidențiat prin intermediul metodologiei fațetelor.
Această metodologie permite divizarea contextului în 4 fațete :
 Fațeta subiec t;
 Fațeta utilizare;
 Fațeta IT;
 Fațeta dezvoltare ;

4
1.2.1 FAȚETA SUBIECT
Fațeta subiect cu prinde principalele evenimente ș i obiecte din contextul sistemului
relevante pentru acesta . (Moca, 2017) Scopul principal al aplicați ei îl reprezintă ușurar ea
realizării ș i gestionării programărilor. Această a plicație poate fi folosită de că tre saloanele
care își doresc un sistem de realizare a programărilor online. Cele mai importante “obiecte”
din punct de vederea a relevanț ei pentru sistem sunt stakeholderii.
Stakeholderii sunt entități interesate de un anumit proiect, și pot proveni din
interiorul sau din afara organizației. Termenul de stakeholder„nu se referă doar la persoane,
ci poate fi transferat oricărei entități care are inter es ca un proces anume – sau tot proiectul
– să se desfășoare într -un anume fel și să producă un anume rezultat” . (Simplaceanu, 2011)
În cad ul acestui sistem, în grupul stakeholderilor pot fi incluși : utilizatorii obișnuiț i
care pot vizuali za informațiile afișate î n website pe diferite pagini , care au posibilitatea de
a realiza o programare fără necesitatea de a se loga și administratorul , utilizator cu drept de
login în panoul de administrare al salonului , care va fi responsabi l cu gestionarea bazei de
date .
1.2.2 FAȚETA UTILIZARE
Fațeta utilizare cuprinde toate aspectele legate de utilizarea sistemului de către
utilizatorii săi. (Moca, 2017) Modul de utilizare a sistemului este legat de ceea ce
urmaresc utilizatorii, de așteptările acestora. Din partea celor ce beneficează de acest
sistem se remarca : dorința utilizatorilor obisnuiț i de a realiza o programare online fara
necesitatea de a -și crea un cont , iar pe de altă dorința administratorul de a se loga într -un
panou de administrare a sistemului, de unde să aibă posibilitatea de a administra baza de
date existentă . Deoarece interfața utilizator este una in teractivă ș i ușor de folosit, aplicația
este una ușor de utilizat de toți cei ce beneficiaz ă de ea. La nivelul aplicației exista 2
roluri importante: cel de utilizator obiș nuit, care va avea posibilitatea de a realiza o
programare ș i cel de administrator ,care va realiza operații de modificare, ș tergere sau
introducere asupra datelor din baza d e date . În funcț ie de tipul de utilizator,
comportamentul acestuia evidențiază principalele etape pa rcuse de fiecare utilizator din
momentul î n care intră pe site și până la pă rasirea acestuia.

5

Utilizator Sistem
Introducere
date de
autentificareLogare in
panoul de
administrareGestionare
date din baza
de datePrimire
confirmare
de
modificareVizualizare
date
Primire
cerere si
verificare
inputSalvarea
modificărilor
în
baza de date Primire
cerere
și trimitere
dateReturnare
rezultateAfișare
rezultateDeschide
aplicația .

Figura 1.1 – Diagrama Control F low

În figura 1.1, este rep rezentat Control Flow -ul aplicație în ceea ce privește procesele
realizate de administratorul sistemului.
1.2.3 FAȚETA IT
Fațeta It face referire la tehnologiile software necesare dezvoltării aplicației precum
și la cele necesar e utilizării ei. (Moca, 2017) Aplicația dezvoltată este destinată gestionă rii
saloanelor de înfrumusețare . Aceasta rulează pe sistemele de operare precum: Windows
Vista, Windows XP, Wi ndows 7, Windows 8, Windows 10 ș i poate fi a ccesată de pe toate
browserele: Opera, Safari, Google Chrome, Mozilla Firefox, Internet Explorer . Pentru
implementarea sistemului s -a utilizat Laravel, un framework PHP destinat dezvoltării de
aplicații web după modelul arhitectural model -view -controller (MVC) . Framewo rk-ul

6
Laravel este un set de fișiere PHP care facilitează programarea cu limbajul Php. Serverul
web fol osit este Apache . Apache este un server HTTP de tip open -source pentru sisteme
de operare precum Unix, Mic rosoft Windows, Novell NetWare și alte sisteme. MySQL a
fost folosit ca bază de date . MySQL permit e scrierea aplicațiilor î n numeroase limbaje de
programare pentru accesarea bazelor de date, cum are fi: C, C++, C#, Borland Delphi, Java,
Perl, PHP, Python, FreeBasic, etc. Ca mediu dezvol tare s-a folosit editorul text Sublime .
1.2.4 FAȚETA DEZVOLTARE
Fațeta It documentează toate aspectele care influențează procesul de dezvoltare a
sistemului . (Moca, 2017) Aplicaț ia folosește în dezvoltare a sa, metodologiile soft ware
agile . Acest e metodologii se derulează prin dezvoltarea iterativă și incrementală,
încurajând schimbările intervenite indiferent în ce fază se află proiectul . Dezvoltarea
aplicației presupune împărțirea problemei în subprobleme mici . Fiecare iterație trebuie să
furnizeze o versiune funcționlă a software -ului. Iteraț iile includ toate activitățile necesare
unei funcționalități: planificare, analiza cerințelor, proiectarea, codificarea, testarea,
documentarea. Aceste model este unul simplu si ușor de uti lizat, implicand o adaptare
ridicată la posibile schimbări.
1.3 MOTIVAȚIE
Scopul acestei aplicații este de a ușura procesul de realizare a programărilor , și de a
prezenta numeroase avantaje utilizatorilor acesteia . Realizarea acestui proiect provine din
din insuficienț a de satisfacere a nevoilor actuale ale clienț ilor în ceea ce priveș te modul de
programare cât și din insuficiența de satisfacere a nevoilor celor care gestionează salonul.
Motivul esenț ial care a d us la realizarea acestei aplicaț ii, este ne voia de efi cientizare a
realiză rii programă rilor, prin implementarea modului de realizare a acesto ra online ,
reducându -se astfel durata de timp în care se î nregistrează o programare ș i sistematizandu –
se întregul proces. Existența unui panou de administrare a bazei de date cât și manipularea
anumitor date din site aduce numeroase avantaje î n ceea ce privește gestionarea salonului.
Totodată prin imple mentarea acestui sistem se dorește creșterea calității serviciilor oferite
de acesta , atât din punct de ved ere al funcționalităților oferite cât și a relevanț ei info rmați lor
prezentate.

7

Prin urmare ,obiecti vele care se doresc a fi atinse , sunt urmatoarele:
 simplificarea procesului de realizare al prog ramărilor economisindu -se timp s i
resurse, fara apeluri tele fonice, programările realizandu -se online;
 organizare foarte buna a activităț ii evitâ ndu-se riscul suprapunerii programărilor;
 existența unei baze de date care să permită o gestionare eficientă a salonului;
 evidența clienților și programărilor într-o bază de date;
 existența unei platforme de administrare pentru gestionarea bazei de date și
manipularea anumitor date existente în site ;
 posibilitatea de programare la orice ora din zi ;
 crearea unei interfeț e utilizator -friendly ;

În urma analiz ei realizate, voi folosi diagrama fishbone pentru a evidenț ia cauzele care
au dus la realizarea acestui tip de sistem . Această diagramă cauză -efect , are ca ș i obiectiv
identificarea tuturo r cauzelor posibile ce determină apariț ia unei anumite probleme.
Diagra ma mai este cunoscută și sub numele de Diagrama Ishikawa , după numele
creatorului să u. “Diagramele cauză și efect sunt desenate pentru a ilustra în mod clar
diferitele cauze care afectează calitatea produsului prin sortarea și relatarea cauzelor. Prin
urma re o diagram cauză și efect este bună dacă se potrivește scopului, și nu există nici o
formă definită. Cel mai important este că îndeplinește fiecare scop.” (Ishikawa, 1991)

8

Realizarea ineficientă a
programărilor
Lipsa modalității de
programare online
Lipsa posibilității de
programare la orice ora
Resursa de timp
Lipsa unui panou de
administrare a site -ului
și a bazei dateLipsa unei Baze de dateLipsa funcționaliății de
gestionare a datelor din baza de
date
Lipsa funcționalității de manipulare a
anumitor date afișate în siteLipsa unei evidențe a
clienților și a
programărilor făcuteRegăsirea dificilă a
datelor
Insuficiență în satisfacerea
nevoilor cliențiilor și în
gestionarea salonului
Figura 1.2 Diagrama Fishbon e
După cum se poate observa in figura 1 .2, cauzele principale care au dus la realizarea
acestui tip de sistem pot fi grupate astfel: realizarea progra mărilor, lipsa unei baze de date ,
lipsa unui panou de a dministrare a site -ului ș i a bazei de date. Program ările putându-se
realiza doar telefonic, nexistâ nd posibilitatea de programare onl ine aduce î n prim plan o
primă cauză a realiză rii acestui sistem. Totodata res ursa de timp , importantă î n orice
activitate implica o durată de timp mai mare î n compara tiv cu realizarea unei programă ri
online , care pe langă faptul ca sunt mult mai rapi de sunt ș i mai comode clientului. Existenț a
unei baze de dat e ar implica avantaje în gestionarea salonului , deoarece anumite informaț ii
pot fi vizualizate î n timp util iar accesul la date este mult mai rapid. Manipularea anumitor
date din site și din baza de date este îngreunată de inexistența unui panou de administrare
al site -ului. Toate acestea au dus la necesitatea unui astfel de sistem.

9
În figura 1.3 sunt clasificate c auzele care au stat la baza realizării acestui sistem,
în funcție de importanța pe care o au în dezvoltarea acestuia.

Figura 1.3 –Diagrama Pareto

Motivele prin cipale care stau la baza realiză rii ac estui sistem , dupa cum se poate
vedea ș i in figura 1.3 au fost urmatoarele: lipsa posibilității de programare online, lipsa
unei baze de date, lipsa unui panou de administrare a site -ului si a bazei de date
,manipularea dificilă a anumitor date din site, dificultate î n regăsirea anumitor date . Cea
mai important ă cauza este reprezentată de lipsa posibilităț ii de programare online , care
îngreunează procesul de realizar e a prgramărilor ș i nu ofer ă o modalitate eficie ntă de
realizare a acestora. Programarea onl ine oferă clienților pe langă economia de timp și
posibilitatea de programare la orice ora din zi , deoarece sistemul ar funcț iona 24/7 . Lipsa
unei baze de date și a unui panou de administrare a site -ului presupune manipulare dificilă
a datelor din baza de date, gestionare dificilă atat pe parte de programări cât și pe parte de
actualizări, modificări și obtinere de informații î n timp util.
Obiectivul principal al acestui sistem îl reprezintă satisfacerea necesităților
beneficiarilor. Acest obiectiv p rincipal poate fi descompus în sub -obiective. Astfel
realizarea obiectivului principal presupune o realizare a tuturor acestor sub -obiective. 0%10%20%30%40%50%60%70%80%90%100%
05101520253035
Lispa posibilitatii de
programare onlineLipsa unei baze de
dateLipsa unui panou de
administrareManipulare dificila a
anumitor date din
siteDificultatea regasirii
anumitor date
Frecventa Procent

10

Un sistem care să satisfacă nevoile
beneficiarilor
Crearea posibilității de
programare onlineCrearea unei baze de dateCrearea unui panou de
administrare a site -ului si a
bazei de date
Manipulare anumitor date
din site Gestionarea
datelor din baza
de date

Figura 1.4 -Diagrama de descompunere a obiectiv elor

Diagrama din figura 1.4 este formată din trei obiective principale : crearea
posibilit ății de programare online, cre area unei baze de date care sa îmbunatățească
gestionarea salonului și a programă rilor ș i nu î n ultimul râ nd crearea unui panou de
admi nistrare a site -ului și a datelor din baza de date.
1.4 CERINȚE DE SISTEM
1.4.1 SURSE DE CERINȚE
Atunci când vine vorba de dezvoltarea unui sistem este foarte importantă
înțelegerea a ceea ce se dorește a fi realizat și definirea cât mai clara a cerințel or pentru
a putea fi în final realizate.
Principala cauză pentru realizarea unui sistem este îndeplinirea cerințel or
stakeholderilor, astfel principală sursa de cerințe este reprezentată de stakeholderi,
deoarece aceștia sunt cei care vor beneficia de tot ceea ce oferă sistemul. Pe langă
cerințele funcționale , partile implicate sunt interesat e și de partea non -funcțională

11
precum: forma de prezentare, viteza de răspuns a sistemului la cerințele utilizatorului,
costurile produsului software. Domeniul în care va opera aceasta aplicație este o alta sursă
de cerințe care poate fi identificată. Domeniul in care va opera apl icația este domeniul
pomovării ș i prezentării serviciilor, ca atare sistemul care constă într -o aplicatie web
pentru ge stiunea saloanelor de înfrumuseț are trebuie să urmarească anumite cerințe
specifice domeniului .
1.4.2ELICITAȚIA CERINȚELOR
În dezvoltarea aplicației procesul de extragere a cerințelor de la stakholderi este
unul extrem de important deoarece acestea se bazează pe necesită ți ale utilizatorilor, pe
tehnologii și funcționalităti care rez olvă anumite obiective propuse. Proiectu l de dezvoltare
va avea impact asupra parților implicate, va eficient iza modul de realizare și gestiune a
programărilor , iar pe de altă parte un alt bene ficiu adus este posibilitatea ad ministratorului
de a introduce înregistrări î n baza de date din panoul de administrare a sistemului.
Metodele de elicitați e folosite sunt : metoda C azurile de utilizare ș i metoda Interviului.
Metoda Cazurilor de utilizare fu rnizează o descrierea a modului în care poate fi
utilizat sistemul, cine va interacționa cu sistemul și de asemenea ce interfețe trebuie să
ofere acesta. Principalii actori în cadrul cazurilor de utilizare sunt: administratorul
sistemului și vizitatorul ob ișnuit.
În urmatorul tabel au fost descriși actorii ș i rolul acestora în sistem.

Rol Descriere Obiective
Administrator Are abilitatatea de a gestiona
datele existente in baza de
date și de a vizualiza
programarile în panoul de
administrare . -Posibilitate a de a se loga
-Gestionează baza de date
-Gestionează conț inutul
anumitor pagini
-Gestionează programă rile

12
Utilizator obisnuit Poate vizualiza informațile
existente în paginile
aplicației ș i poate realiza o
programare . -Regăsește informaț ii
-Realizează programă ri

Tabelul 1.1 –Actorii cazurilor de utilizare

Vizualizeaz ă informații
Realizeaz ă programareClient
LoginAdministratorGestioneaz ă servicii
Gestioneaz ă program ările<<include >><<include >>
Gestionează conținutul anumitor pagini<<include >>Gestioneaz ă personal
<<include >>

Figura 1.5–Diagrama cazurilor de utilizare

13
În tabelul 1.6 sunt descrise succint cazurile de utilizare existente:

Nr. Caz de util izare Descriere
1. Login Posibilitatea de logare a administratorului
Descriere :
Administaratorul va da click pe butonul “Login”.Va introduce numele și parola
în cele do uă câmpuri existente. Daca datele introduse au fost corec te acesta va
fi redire cționat că tre panoul de administrare.
2. Baza de date Adaugă, șterge sau modifică date în baza de date
Descriere :
Odată autentificat, administrat orul, din panoul d e administrare poate selecta
opțiunea “ Baza de date “din meniu, un drop -down de unde va pu tea alege baza
de date pe care dorește să realizeze modificari. Odata aleasă opțiunea va fi
redirecț ionat imediat către pagina aferentă. Acesta va avea opțiune de a da click
pe butoanele adaugă , modifică ș i respectiv șterge date . Modif icările făcute vor
fi adăugate în baza de date iar ulterior și în site .
3. Realizaează
programari Adaugare programare
Descriere:
Vizitatoru l aplicaț iei ar e posibilitatea de a selecta categoria în care dorește să
realizeze o programare. După selectarea acesteia va avea pos ibilitatea de a
alege angajatul pe care il dorește, fiind redirecționat apoi pentru a vedea
disponibilitatea acestuia. Dacă se dorește realizarea unei programari, se va da
click pe butonul Programează -te care va afișa un formularul nece sar
programării. Dacă datele introduse au fost corecte, va primi un mes aj de
confirmare a programării.

14
4. Vizualizeaza
informatii Operația de vizualizare a informaț ilor
Descriere :
Utlizatorul pote selecta din meniul site-ului categoria de informații pe care
dorește să le vizualizeze, care vor fi transmise în mod automat.

Tabelul 1.2 Cazuri de utilizare

Scenarii de utlizare:
1.Login

Nr. Secțiune Explicaț ie
1. Nume Autentificare administratorului in secțiunea
de administrare
2. Auto r Cheșcheș Bianca Ioana
3. Scurtă descriere Aute ntificare î n panoul de admi nistrare
pentru a realiza operaț iuni asupra datelor
4. Scop Gestionarea datelor din baza de date prin
adăugare ,modificare sau ștergere
5. Actor Administrator
6. Precondiție -existenț a dreptului de login
-existența credenț ialelor in baza de date
7. Postcondiție Administratorul să rămână autentificat
8. Rezultat Autentificarea î n panoul de administrare de
unde poate re aliza modificari asupra bazei
de date

15
9. Pașii scenariului -Se deschide aplicaț ia
-Se dă click pe butonul de Login
-Se introduce numele utilizatorului ș i parola
-Sistemul permite accesul î n panoul de
administrare daca datele introduse au fost
corecte
-Utilizatorul este autentificat

Tabelul 1.3–Scenariu de uti lizare login

2.Vizualizare informaț ii
Nr. Secțiune Explicaț ie
1. Nume Vizualizarea informațiilor existente
2. Autor Cheșcheș Bianca Ioana
3. Scurtă descriere Vizualizarea datelor existente în site din
diferite categorii
4. Scop Vizua lizare informatii lor existente ș i a
serviciilor prestate
5. Actor Administrator ,Personal,Vizitator
6. Precondiție Datele corespunzatoare cate goriei care se
doreste a fi afișată

7. Postcondiție Datele trebuie afiș ate
8. Rezultat În funcț ie de alegerea utilizatorului , datele
corespunzatoare vor fi afis șate în browser
9. Pașii scenariului -Selectarea unei categorii din meniu

16
-Sistemul trimite eventuale informaț ii din
baza de date
-Afișarea informaț iilor

Tabelul 1.4 –Scenariu de utilizare –Vizualizarea informațiilor

3.Realizare programare
Nr. Secțiune Explicație
1. Nume Realizare programare
2. Autor Cheșcheș Bianca Ioana
3. Scurtă descriere Realizarea unei programări pentru diverse
servicii oferite de salon
4. Scop Realizarea programarii online
5. Actor Vizita tor
6. Precondiție Alegerea categoriei , a angajatului și
respectiv a serviciilor pe care le dorește

7. Postcondiție Programarea trebuie să fie realizată
8. Rezultat În funcție de alegerea utilizatorului, datele
corespunzatoare vor fi afișate în brows er
9. Pașii scenariului -Se intră pe site
-Se selectează categoria „ Programă ri
online ” din meniul site -ului
-Sistemul trimite domeniile din baza de date
în care își desfășoară activitatea salonul
– Se selectează aria în care se doreș te
programarea

17
– Sistemul afișează angajații din baza de
date care își desfășoară activitatea în acel
domeniu
-Se selectează angajatul care să se ocupe de
servciul dorit
-Se afișează disponibilitatea în funcție de
datele existente în baza de date sub forma
unui calendar
-Se dă click pe butonul „Programează -te”
-Se completează formularul aferent
realizării programă rii
-Se dă click pe butonul “Realizează
programare ”
-Se afișează mesajul „Programarea a fost
realizată”

Tabelul 1.5 –Realizare programare

Cea de -a doua metodă de elicitație folosită este metoda interviului. Metoda
interviului are ca scop furnizarea problemelor , cerinț elor, respectiv a ceea ce sist emul
trebuie să respecte din perspectiva utilizatorilor, clienților și a altor stakeholderi.
Cel ce va beneficia de acest sistem a fost intervievat , adresandu -i-se o serie de întrebă ri
pentru a putea culege informaț ii.

18
Întrebare Ce se doreș te de la acest ă aplicaț ie pe partea de administrare si
gestionare?
Răspuns Se dorește existența unei baze de date , a unui panou d e administrare ,
unde administratorul se va loga p entru a gestiona baza de date ș i
pentru a vizualiza programă rile existente.

Întrebare Ce se dorește în principal de la această aplicaț ie pe partea de
utilizator?
Răspuns Se doreș te realizarea unui sistem care să p ermită utilizatorilor
posibilitatea de a realiza programă ri online fară crearea unui cont .

Întrebare Ce așteptări sunt în ceea ce privește interfața grafică cu
utilizatorul(GUI)?
Răspuns Să fie user -friendly și să pună la dispoziție o serie de functionalităț i
cu apli cabilitate și vizibilitate în interfaț a cu utlizatorul.

Tabelul 1.6 –Metoda interviului

1.4.3 DOCUMENTAREA CERINȚELOR
În urma aplicării metodelor de e licitație s -au determinat cerinț ele si trăsă turile
sistemului. Princi palele categorii de cerinț e sunt: cerințele funcționale, cerințele calitative
și constrângerile.

Cerințele funcționale
Aceste cerințe fac referire la funcționalitățile pe care sistemul trebuie sa le realizeze.

19
 Aplicația trebuie să permită administratorulu i să se logheze pe platforma de
administrare
 Aplicația trebuie să permită utilizatorilor să vizualizeze datele din site pe baza
anumitor criterii
 Aplicația trebuie să permită administrat orului să realizeze modifică ri în baza de
date, să introducă , să modi fice sau să ștergă date din aceasta și în anumite pagini
ale site -ului
 Aplicația t rebuie să permită utilizatorilor să realizeze o programare online fără ca
aceștia să își facă un cont pe site
 Aplicația trebuie să ofere utilizatorilor o serie de funcțional ități

Cerințe calitative
Se referă la atributele calitative ale sistemului.
 Aplicația trebuie să poată fi utilizat ă cu usurință ș i să ofere o interfață grafică(GUI)
user-friendly
 Aplicația trebuie să fie dispo nibil pentru a putea fi accesată ș i pentr u a of eri serviciile
corespunzatoare î n orice moment
 Aplicația trebuie să fie eficient ă în ceea ce privește timpul necesar pentru
introducerea unei programări ș i afișarea datelor dorite
 Aplicația trebuie să permită realizarea unei programă ri într -un mod f acil

Constrângeri
Sunt acele specifică ri care restricționează modul de dezvoltare al aplicației.
 Aplicația trebuie să corespundă anumitor norme specif ice domeniului caruia i se
adres ează

20

1.4.5 PROCESE SI ACTIVITĂȚI

Realizarea sistemului includ e anumite procese precum : autentificarea în panoul de
administrare, realizarea unei programări, gestionarea și vizualizarea datelor din baza de
date .
În figura 1.6 este exemplificat procesul de autentificare î n panoul de administrare .

Deschide
Aplica ția
Introducere
Creden țiale
Verificare
creden țiale
în baza de
date
Redirectionare
in panoul de
administrare
Sunt corecte
creden țialele ?DaNu
Inchide
aplica ția

Figura 1 .6 Diagrama proceselor specifică autentificării

Dupa ce link -ul pentru a ajunge la panoul de administrare a fost accesat, se vor introduce
email -ul și parola adiministratorului. Se va verifica existența credenț ialelor î n baza de date
iar în cazul î n care n u există sau nu au fost gă site, acesta este obl igat să reintroducă alte
credențiale. În caz contrar autentificarea va fi realizată ș i va fi redirecționat către panoul
de administrare al sistemului.

21

Autentificar
e în
panou
Adăugare de date noi in
baza de date
Modificarea datelor din
baza de date
Stergerea datelor din
baza de date
Salvarea
modificarilor in
baza de date
Primire mesaj
de confitmareCe actiune
se doreste ?

Figura 1.7 – Diagrama proceselor specifice activității de gestionare

În figura 1 .7 este reprezentat procesul de gestionare a datelor din baza de date. După
ce administaratorul s -a autentificat în panoul de administrare, acesta alege secțiunea de
date pe care o dorește, având urmatoarele posibilități: adaugare de date noi, modificarea
datelor existente sau ștergerea datelor. Dupa ce a fost ale asă secțiunea ș i una dintre cele
trei posibilități, se vor salva modificăril e aferente în baza de date , afișându -se un mesaj
de confirmare.

22

Deschid
e
aplicația
Selectare
categorie în care
se dore ște
realizarea
program ării
Introducerea
datelor necesare
în formularul de
programare
Validarea
datelor
Sunt
corecte ?Nu
Trimitere date
catre baza de
date
Primire mesaj de
confirmare Da
Selectarea din
meniu a opțiunii
Programare
online
Selectare
angajatului
dorit
Selectare opțiunii
Programează -te
Figura 1 .8 – Diagr ama proceselor specifice realiză rii unei programă ri
Fiecare utilizator, poate realiza o programare online fără a avea nevoie de un cont. Acesta
are posibilitatea de a alege categor ia în care d orește să realizeze programarea, angajatul de
care dorește să beneficieze, în funcție de disponibilitatea acestuia selectarea opțiunii de
programare, moment în care este redirecționat pentru a completa datele necesare
programării. Daca datele n u sunt valide, acesta trebuie să le reintroducă , în caz contrar
datele vor fi trimi se către baza de date urmând să primească un mesaj de confirmare.
În următorul capitol este prezentat ă proiectarea sistemului prin intermediul
proiectării logice și pro iectării fizice.

23

CAPITOLUL 2. PROIECTAREA SISTEMULUI
2.1 PROIECTAREA LOGICĂ
Proiectarea logică a aplicației se realizează treptat și se bazează pe arhitectura
software care separă structura sistemului î n componente. Obiectivul pr oiectă rii presupune
stabilirea concepț iei logice a sistemului , analiza datelor de ieș ire, a bazei informaț ionale și
a funcț ionalităților dorite î n sistem . Componente sun t independente unele de altele , pot
accepta intrari , pot produce ieșiri, prelucra date sau p ot fi modificate și înlocuite .
Prelucrare a datelor va fi salvat ă pe un singur server, oferind integritate datelor ș i o
securitate mai bună .
Administrator
Server
Login
Introdece
date
Baza de date
Recepționează
output
Afișeaza
rezultatele
introduceriiCerere de login
Răspuns de loginAutentifică
administrator
Rezultatul autentificariiIntroducere inputTransmitere input
Transmitere output Transmitere
rezultate

Figura 2 .1 Diagrama Flux de Date

24
Diagrama Flux de Date evidențiată în figura 2 .1 descrie transferul de date din
momentul în care aplicația este deschisă până în momentul în care este închisă.
Administratorul pornește procesele în momentul în care v a introduce credențialele de login.
Dupa autentificare i se permite administratorului să g estioneze baza de date prin adă ugări,
ștergeri sau modifcări urmând ca acestea să poată fi apoi vi zualizate de către utilizatori.
Arhitectura sistemului reprezintă punctul de plecare în proiectarea logica a sistemului care
se va finaliza ulterior cu realiza rea programului care va interacț iona cu utilizatorul.
2.1.1ARHITECTURA SISTEMULUI
În dezvoltarea sistemul ui, tipul de arhitectură folosit este arhitectura MVC (Model –
View -Controller) . Arhitectura sistemului implementat separă structura sistemului în trei
componente prin separ area logicii aplicației de partea de prezentare prin c are se comunică
cu utilizatorul astfel încât schimbările efectuate unei componente să nu af ecteze cealaltă
componentă. Componente le aferente acestei arhitecturi sunt: componenta Model,
componenta View și componenta Controller.

View
(prezentare + interactiune )
Model
(structura datelor )
Controller
(procesare )

Figura 2.2 Arhitectura web – MVC

25
Componenta Mode l constiutuie reprezentarea baze i de date. Fiecărui model
existent îi corespunde un tabel prin intremedi ul careia se realizează interacț iunea cu
respectivul tabel din baza de date . View reprezintă componenta vedere , ceea ce este afișat
utilizatorului. Acestea conțin cod Html și Css. Ele au rolul de a interpreta un mode l ca un
element de interfața, astfel încât să se realizeze interacțiunea. Unui model îi po ate
corespunde în funcție de scopul pe care îl au, mai multe vederi. Componenta
Controller(control) este aceea compnentă prin inter mediul căreia se realizează comunicarea
între model și vedere. Cotrollerele sunt clase care procesează acțiunile din interfață
realizate de utilizator și răspunde la acestea.
Etapele specifice arhitecturii MVC sunt urmatoarele:
 Cererea trimisă de client ( navigatorul Web)
 Routingul –dirijarea cererii către un anumit Controller
 Recurgerea la un model
 Furnizarea datelor dorite
 Apelarea unui view
 Transmiterea conținutului către client

Client
Routing
Controller
Model

View

Figura 2.3 Etapele specifice MVC

26
În fIgura 2.3 (MALI, 2017) sunt prezentate etapele specifice MVC . Controller -ul preia
cererile de la clienți în funcție de tipul acestora(cereri GET/POST transmise pe baza actiunilor
utilizatorului), gestioneaza resursele necesare satisfacerii cererilor primite prin apelarea unui
model selectand apoi un view care va furniza modalitatea de prezentare a datelor.
Deoarece sistemul implementat este o aplicație web , arhitectura existentă este arhitec tura
client -server formată din : client, server ș i baza de date. Clientul este partea din aplicaț ie care cere
informaț ii, cea care interacționează cu utilizatorul. Cererile î nregistrate de la client sun t transmise
către server care le procesează și r eturnează rezultate clien ților afișâ ndu-le în browser.
Componenta server se ocupă de conectarea/deconectarea de la baza de date precum ș i de
securitatea acesteia.
ClientCerere
RăspunsBaza de
dateTrimiteCauta
Server

Figura 2 .4 Arhitectura client -server

O aplicaț ie web conț ine u n program prin intermediul căruia sunt transmise cererile
de la utilizator , o baza de date care conț ine datele cât ș i un progra m care prezintă datele
cerute î ntr-o forma asteptată .
Rolul serverului este de a: răspunde l a cererile clientului prin HTTP, furniza un
mediu de comunicare transparent pentru utilizator și un serviciu corespunzător pentru

27
utilizator. Rolul aplicației este de a: analiza datele din ră spunsurile primite de la server, de
a avea o interfață grafică utilizator care să permită ut ilizarea ef icientă a aplicației și trimite
interogări asupra serverului de baze de date prin intermediul HTTP.
Arhitectura aplicației pe 3 nivele , este o arhitectură care cuprinde 3 aspecte ale
aplicaț iei:
 Prezentare: navigatorul ș i serverul care returnează datele într-o forma
afișabilă (Interfaț a Web)
 Logica aplicaț iei
 Baza de date :care reprezintă sursa de date

Baza de date
MySqlInterfată Web
Interfată Bază de
dateWeb Server (Apache )Browser Utilizator
TCP/IpConexiune
HTTP /HTTPS
Server Baza de date

Figura 2.5 Digrama Deployment

Diagrama Deployment prezentată î n figura 2.5 prezintă modul în care utilizatorul obișnuit
navighează prin interfaț a web a site -ului prin intermediul browserului. Pentru a realiza o
cerere la server browserul trebuie să emită o cerere HTTP /HTTPS . Utilizatorul este cel

28
care inițializează cererea și asteaptă răspuns din partea serverului. Daca cererea este o
pagina Html, execuția presupune doar transmiterea paginii, i ar daca cererea presupune
execuț ia unui program, tipul acestuia e determinat de extensia folosita. Pentru mentinerea
legăturii dintre utilizat or și server se folosește conceptul d e sesiune.

2.1.2 BAZA INFORMAȚIONALĂ
Baza informațională este alcatuită din datele supuse prelucrărilor ș i fluxurilor
informaț ionale, date pe baza cărora se desfășoară activităț ile între baza de date și ap licație,
de exemplu: datele stocate î n baza de date; date introduse de utilizatorul c are face o
programare pe site și introduce date în câ mpurile form ularelor; date intoduse de
administrator pentru a se putea autentifi ca pe platforma de administrare , care sunt mai apoi
verificate de existența î n baza de date; date introduse de administrator în baza de date după
autentificarea pe platforma de administrare prin completarea câ mpurilor formularelor
existente de adaugare a datelor in baza de date ;
2.2PROIECTAR EA TEHNIC Ă
2.2.1 STRUCTURA DATELOR
În cadrul sistemului informatic, baza de date este unul din instrumentele
fundamentale de organizare a informației. Accesarea datelor din baza de date este
importantă și de asemenea este complexă . Structura datelor împreu nă cu relațiile dintre
entități, precum și constrângerile de integritate formează schema bazei de date. Un
ansamblu de programe sau un mediu avansat de programare destinat managementului
datelor din cadrul unei baze de date, poartă numele de Sistem de Gest iune al Bazelor de
Date (SGBD). (Sitar -Dan, 2010)
Datele aferente aplicației sunt stocate conform modelului relațional în baza de date
MySql care rulează pe serverul Apache. MySQL este cea mai populară bază de date open
source cu performanță, fiabilitatea și ușurință în utilizare, devenind alegerea de bază a

29
pentru aplicațiile web . Baza de date facilitează memorarea, regăsirea, modificarea, și
ștergerea datelor prin diverse operații specifice.

Sistemul fiind bazat pe gestionarea unui salon de înfrumusetare ,cuprinde urmatoarele
 Totalitatea angajaților cu date despre ei
 Domeniile salonului de î nfrumuseț are
 Serviciile pe care le oferă
 Clienții salonului care au realizat programări
 Programările existente
 Serviciile dorite în cadrul fiecărei programări

Baza de date care conț ine un numă r de 6 tabele a fost creată în linie de comandă .
Framework -ul Laravel folosit în dezvoltarea aplicației interacționează cu baza de date fie
prin cod SQL, prin query builder sau prin Eloquent ORM . (Rees, 2016) Laravel query
builder oferă o interfață pentru crearea ș i rulare facilă a interogă rilor. ORM(Objec t
Relational Mapper ) reprezintă o altă tehnică de interogare a bazei de date facilă , pusă la
dispoziț ie de Laravel , considerând tabel ele din baza de date ca fiind obiecte . Fiecă rui tabel
din baza de date ii corespunde u n model care interacț ionează cu acel tabel. Se crează o
clasă specifică pentru fiecare tabel care permite int erogarea bazei de date precum și
adăugarea d e date noi. (Malatesta, 2015) . Crearea tabelelor precum ș i construirea scheme i
bazei de date a fost realizată î n framewor k prin intermediul migraț iilor. Clasa specifică
unei migrații conține două metode, up și down .Metoda up este folosită pentru a introduce
sau a modifica tabele iar metoda down pentru a anula operațiile fă cute de comanda down.

30
Conectarea claselor cu baza de date s-a realizat prin configurarea fișierului .env astfel :

Figura 2.5 -Conectarea la baza de date
În cadrul bazei de date s -au dorit următoarele:

 clienții care fac o programare pe site să se rețină în baza de date împreună cu date
ale acestor;
 fiecare programare realizată de un client să fie salvată în baza de date împreună cu
datele specifice;
 pentru fiecare angajat se rețin datele personale, aria în care lucrează și salariul;
 domeniile în care își desfășoară salonul activitatea să fie salvate în baza de date
iar pentru fiecare domeniu să existe o subcategorie denumită servicii în care să se
salveaze serviciile oferite în cadrul fiecăruia ;
 fiecare client poate e fectua una sau mai multe programări ;
 fiecare programare poate conține una sau mai multe servicii ;
 o programare trebuie realizată de un client ;
 un angajat poate realiza una sau mai multe pr ogramări ;
 o programare trebuie realizată de un angajat;
 un domeniu conține unul sau mai multe servicii;

31
Baza de date a sistemului cuprinde 6 tabele cu relații specifice între ele :
 Employees
 Domains
 Appointments
 AppServices
 Services
 Clients
În continuar e, sunt descrise tabelele :
Tabela Domains a fost creat ă pentru a putea clasifica serviciile în fu ncție de
categoria din care fac parte. Exemplu de domenii: Coafor, Manichiura -Pedichiura,
Makeup . Fiecărui domeniu îi apațin mai multe servicii astfel că s -a creat tabela Services .
Tabela Services stochează informaț iile cu privire la serviciile oferite de salon și este în
legătură cu tabela domains prin cheia străină cod_dom. Tabela Employees a fost creat ă
pentru a deține informații cu privire la angajații salonului și este legat ă de tabela
Domains prin cheia straina cod_dom , care ne pe rmite o clasificare a acestora în funcț ie
de domeniul în care activează . În tabela Clients se stochează informațiile cu privire la
clienții care au realizat programări în cadrul s ite-ului. Pentru a stoca informaț iile legate de
o programare s -a creat tabela Appointments care este legată de tabela Employees prin
cheia st răină cod_angajat și de tabela Clients prin cheia străină cod_client.
Între tab elele Appointments și Services există relația many -to-many deoarece o
programare poate conține mai multe s ervicii , iar un serviciu poate fi conținut în mai
multe programări . AppServices este tabela creată între tabela Appointments și Services.
În această tabelă au fost introduse cheile primare ale programarilor și cheile primare din
tabela servicii .

În tabelele create s -au folosit următoarele tipuri de atribute:
– atribute opț ionale, care pot fi completate sau nu;
– atribute obligatorii, care trebuie completate;
– chei primare, care de asemenea sunt obligatorii, fiind unice;

32
– chei straine, care conțin valori corespuzând unor chei primare din alte tabele;

Figura 2. 6 Diagrama ERD

În capitolul care urmează este prezentat ă dezvoltarea sistemului informatic prin
modelul de dezvoltare folosit în realizarea aplicației cât și prin modul de implementare a
al acesteia.

33
CAPITOLUL 3. DEZVOLTAREA SISTEMULUI INFORMATIC
3.1 MODEL DE DEZVOLTARE
În dezvoltarea aplicaț iei am optat pentru metodele agile care se bazează pe o
dezv oltare incrementală și rapidă. Metodologiile Agile împart problema în probleme mai
mici planificate pe perioade scurte de timp . După terminarea fiecarei iterații trebuie să
existe o versiune funcțională a sistemului.
Utilizarea metodologiilor Agile în dezvoltarea aplicației presupun :
 Adaptare la posibile schimbari
 Software utilizabil l ivrat frecvent
 Feedback continuu din partea utilizatorilor
 Dezvoltare continuă a produsului
 Simplitate
 Usurință în testare
 Flexibilitate

CerințeDesign si
dezvoltareTestare Implementare
Design și
dezvoltare
Design și
dezvoltareTestare
TestareImplementare
Implementare

Figura 3.1 Dezvoltare incrementală

34
3.2 IMPLEMENTARE

În cadrul framework -ului folosit, d ezvoltarea funcționalităț ilor aplicaț iei
presupune utilizarea unor clase care permit reali zarea operaț iilor de introducere a datelor,
de modificare ș i ștergere a de date în baza de date. Deoarece Laravel separă partea logică
de partea vizual ă a aplicației, pașii în realizarea unei funcționalit ăți sunt evidențiați în figura
3.2.

Baza de dateLaptop
Rute
ControllerViewHttp ://some -page
Model

Figura 3.2 Ciclul MVC de impementare a diferitelor funcționalități

35
Clasele implementate pentru ope rațiile realizate la nivelul bazei de date au fost
adaptate în funcț ie de tipul de date care trebuie afișate , prin schimbarea câtorva linii de
cod. Pentru operaț iunile de updatare, inserare, afișare, ștergere s -au folosit în cadrul acestor
clase urmatoar ele funcții : index(), create(), store(), edit() ,update(), destroy(). Funcț ia
index() aduce toate înregistră rile din baza de date cu eventuale filtre pe care le -am aplicat
și le stoc hează într -o variabilă, returnând un view căruia îi va transmite înregist răriele
stocate în acea variabilă. Funcția create() are rolul de a încă rca formularul necesar pentru
adăugarea unei noi înregistrări, returnâ nd un view corespunzător. Funcția store() validează
inputurile transmise și stochează datele tansmise. Funcția edit () preia înregistrarea cu id
care îi este trimis ca parametru, returnând un view pentru modificarea datelor acelei
înregistrari, transmițându -i mai departe parametrul. Funcția update () o să preia id -ul
transmis, validează datele transmise iar apoi pe baza id-ului tran smis va transmite noile
modifică ri. Pentru executarea acestor operatii,pentru a știi momentul în care ele se vor
execută, partea de view comunică cu aceste funcții.
Afișarea datelor transmise de funcția index() se realizeză prin pr ezența următoarei
structuri de control . Pentru tabela services se verifică dacă tabelul services nu este gol iar
daca nu este, se afișează pentru fiecare serviciu memorat î n variabila $services , numele
aferent împreună cu , codul acestuia.
@if (count($domains ) > 0)
@foreach ($domains as $key => $domain )
<tr>
<td>{{ $domain ->cod }}</td>
<td>{{$domain ->denumire}}</td>
</tr>
@endforeach
@endif

Pentru restul tabelelor , afișarea s -a realizat în aceelași mod ca și în cazul tabelului services
însă modificat.

36
La executarea funcției store(), când se realizează a dăugarea unei înregistrări în
baza de date are loc v alidarea datele transmise prin intermediul formularului. În exemplul
de mai jos este realizată validarea pentru datele transmise din formular pentru a fi stocate
în tabela services.
public function store(Request $request)
{
$this ->validat e($request, [
'denumire' => 'required',
'pret'=> 'required',
'durata'=> 'required',
'dom_id'=> 'required'
]);
Această validare este utilizată și în cazul validării altor câmpuri din altă tabelă a bazei de
date prin schimbare unor linii de cod.

Autentificarea în panoul de administrare presupune completarea unui formular
compus din două câmpuri, denumite Username si Password. După introducerea datelor și
apăsarea butonului de tri mitere, se transmite o cerere către baza de date, care va verifica
corectitudinea datelor introduse. Dacă datele există, utilizatorul va fi autentificat, în caz
contrar i se va afișa un mesaj de eroare.

Structura de control specifică acestei funcționalit ăți este următo area:
if ($this ->auth ->guest()) {
if ($request ->ajax()) {
return response('Unauthorized.', 401);
} else {
return redirect() ->guest('auth/login');
}
}

37
Obținerea datelor necesare afișării programărilor în calendar, pe pagina aferentă
fiecărui angajat, se realizează prin intermediul funcției indexCalendar(). În variabila
$appointments se preiau toate datele din tabela appoitments. În ciclul for, în vectorul $data,
se stochează titlul, start -ul, end -ul și culoarea. Start -ul reprezintă data și ora la care s -a
realiza t programarea. End -ul reprezintă data și ora la care se termină programa rea. Prin
intermediul funcț iei private mergeDateT ime(($data, $ora), se real izează concatenarea datei
și a orei.
public function indexCalendar(Request $request) {
$appointments = Appointment::all();
$data = array();
for($i=0;$i<count($appointments);$i++){
$data[$i] = array(
"title" => 'Ocupat',
"start"=>$this ->mergeDateTime($appointments[$i] ->data,$appointments[$i] –
>ora),
"end"=>$this ->mergeDateTime($appointments[$i] ->data, $time ->format('H:i:s')),
"color" => '#ff0000'
);
}
return Response() ->json($data);
}

private func tion mergeDateTime($data, $ora) {
$date = new DateTime($data);
$time = new DateTime($ora);
$merge = new DateTime($date ->format('Y -m-d') .' ' .$time ->format('H:i:s'));
return $merge ->format('Y -m-d H:i:s');
}

38
3.3 REALIZAREA INTERFEȚEI GRAFICE
Interfața grafică (GUI) reprezintă puntea de comunicare între sistem si utilizator , așadar
este o componentă importantă în dezvoltarea aplicației. Acesta nu reprezintă doar designu l
aplicației ci și modul în care funcționează , fiind un echilibru între nevoile utlizatorul și ale
business -ului. Interfața grafică a aplicației oferă posibilitatea de interac țiune a utilizatorului
cu sistemul prin introducerea de input, permințându -i de a semenea și sistemului să producă
output pe baza cereri lor venite de la utilizatori. Rolul in terfeț ei cu utilizatorul este de a pune
la dispozitie funcționalităț i de introducere, afișare a anumitor date din baza de date prin
intermediul anumitor contro ale web.
Interfața grafica cu utilizatorul este reprezent ată de view -uri. Acestea conțin partea
vizuală a aplicației . Views sunt fișiere cu extensia blade.php stocate în resurces/views ,
care oferă o sintaxa ușoară pentru folosirea datelor obținute din p artea logică fără
necesitatea de a introduce cod Php. Folosirea teampleat -urilor blade ne permite setarea unei
master page care poate fi extinsă ulterior de alte pagini individuale. Aceste master pages
usurea ză scrierea codului grupând parț ile comune ale p aginilor precum meniul și stilul,
furnizînd aceeași structură în toate paginile care o extind. Extinderea acestei pagini se
realiz ează prin includerea tag -urilor @extends(‘master.page) în antetul fiecărei pagini.
Website -ul pune la dispoziție un meniu car e prezintă principalele categorii de
informații prezentate: Home, Echipă , Servicii, Galerie, Programare online, Contact. În
cazul anumitor pagini , afișarea conținutului acestora se face în mod dinamic , din baza de
date. Prin adaugarea de exemplu a unui serviciu nou oferit de salon din partea de
administrare a site -ului, acesta va fi vizibil și în interfața grafică. Este posibilă manipulare
datelor existente pe anumite pagini direct din panoul de administrare al site -ului.

39
Sistemul va avea doua mod ule, unul pentru administratorul salonului ș i altul pentru
utilizatorul obiș nuit. Elementele intefeței cu utilizatorul sunt: butoane de submit, casete de
tip text , label -uri. Proiectarea interfeței ține cont de diferite aspecte precum :
Pe partea de admin istrator:
 Prezența formularului de log -in și a formularului de înregistrare;
 Prezența elementului de log -out pentru a ieși din sistem;
 Prezența meniului pentru gestionarea datelor și a formularelor pentru manipularea
datelor;
 Aspectul GUI;
Pe partea de uti lizator:
 prezența meniului ;
 manipularea eficientă a evenimentelor: create, details;
 mecanism de navigare ;
 aspectul GUI;
 fiecare pagină va conține o legătură către pagina vizitată anterior pentru evitarea
utilizării butonului de ‹Back› al browser -ului;

Pentru interfața aplicației s -a folosit Bootstrap, un framework frontend pentru design
HTML/CSS și Javascript. Bootstrap este responsive, ușor de învațat și oferă posibilitatea
de realizarea a unei interfețe moderne ș i prietenoase , fiind compatibil cu un gru p mare de
browsere. Totodată acest framework te ajută sa devii mai eficient, nemaifiind nevoit să
repeți anumite structuri de cod. Bootstrap v ine cu setă ri prestabilite însă aceste pot fi
modificate din CSS.
În capitolul al treilea intitulat “Testarea “, sunt prezentate cazurile de testare realizate
pentru identificarea eventualelor erori apărute în sistem.

40
CAPITOLUL 4. TESTAREA

Testarea este o etapă importantă în realizarea unei aplicații deoarece are sco pul de
a găsi posibile bug -uri și probleme de funcț ionare a sistemului. Deoarece în realizarea
sistemului a fost utilizată metodologia Agile, testarea a avut loc dupa efectuarea fiecărei
iterații. Pentru fiecare funcționalitate implementată s -au analizat cerințele, s -a conceput un
design pentru integr area codului, după care a avut loc testarea propriu -zisă și validarea la
ceea ce s -a obținut.
Testarea aplicației dezvoltate a constat în realizarea unor cazuri de testare asupra
funcționalităților existente, pentru descoperirea eventualelor erori.
Funcț ionalitatea testată prima dată, este cea de login, în panoul de administrare.
Cel care se poate loga în panoul de administrare este administratorul, autentificarea fiind
realizată prin completarea câmpurilor email și password. Pentru a testa acestă
funcți onalitate s -au introdus credențialele administratorului existente în baza de date iar
mai apoi un set de credențiale greșite pentru a verifica daca vreuna dintre ele are succes.
ID
1

Numele
cazului de
testare
Testare login în panoul de administrare
Prioritate
Ridicată
Rezultat
așteptat
Autentificare în panoul de administrare
Scop
Verificarea funcționalității de login utilizând credențiale valide
Autor
Cheșcheș Bianca

41
Pași
Descriere Rezultat

Deschiderea aplicației Browser -ul deschide site -ul cu
formularul de login
Sunt introduse în formular
credențialele următoare
Email :
chesches.biancaioana@gmail.com
Password:
asdf1234
Click pe butonul de submit Sistem ul nu realizează
autentificarea

Tabelul 4.1 – Plan de testare pentru autentificare cu credențiale valide

Al doilea caz de testare reprezentat în tabelul 4.2, este reprezentat de încercarea de
autentificare în panoul administratorului utilizând alte credențiale, inexistente în baza de
date.
ID
2
Numele
cazului
de testare
Testare login în panoul de administrare
Prioritate
Ridicată
Rezultat
așteptat
Autentificare în panoul de administrare
Scop
Verificarea funcționalității de login utilizând credențiale invalide
Autor
Cheșcheș Bianca

42
Pași
Descriere Rezultat

Deschiderea aplicației Browser -ul deschide site -ul
cu formula rul de login
Sunt introduse în formular
credențialele următoare
Email :
chesches.bianca @gmail.com
Password:
acdfgrt
Click pe butonul de submit Sistemul nu realizează
autentificarea

Tabelul 4.2 – Plan de testare pentru aute ntificare cu credențiale invalide

A doua funcționalitate testată este posibilitatea de a realiza operații asupra bazei de
date din panoul de administrare. Aceste operații sunt posibile doar daca autentificarea a
fost realizată anterior. Primul caz testat în ceea ce privește această funcționalitate este
introducerea unor date în tabelul Services din baza de date.
ID
3

Numele cazului de
testare
Testare introducere date în baza de date
Prioritate
Ridicată
Rezultat așteptat
Introducere reușită
Scop
Verificarea posibilității de introducere a aumitor date în baza de
date.
Autor
Cheșcheș Bianca

43
Pași
Descriere Rezultat

Selectarea tabelului în care se
dorește introducerea de dat e Se deschide pagina services
Click pe butonul de Adaugă
serviciu nou Se deschide formularul de
introducere a datelor
Sunt completate în formular
câmpurile existente
Click pe butonul Add Se trimite către baza de date
cererea de introd ucere,
datele fiind introduse în
tabela aferentă
Se verifica existența noii
înregistrări în tabelul afișat pe
pagina services. Înregistrarea a fost
introdusă cu succes

Tabelul 4.3 – Plan de testare pentru autenti ficare cu credențiale invalide

Al doilea caz de testare reprezentat în figura 4.4, verifică operația de editarea a unor
date din tabela services.
ID
4

Numele cazului de
testare
Testare editare
Prioritate
Ridicată
Rezultat așteptat
Editare reușită
Scop
Verificarea posibilității de editare a unor date existente în baza de
date.
Autor
Cheșcheș Bianca
Pași
Descriere Rezultat

44
Selectarea tabelului în care se
dorește introduc erea de date Se deschide pagina services
care afișează un tabel cu
datele existente în tabela
Services
Click pe butonul de Edit Se afișează o eroare

Tabelul 4.4 – Plan de testare pentru editarea unei înregistr ari
Eroarea afișată se referă la faptul că în momentul în care se dă click pe butonul de
edit, nu a fost transmis id -ul respectivei înregistrări funcției edit din Controller. Rezolvarea
acestuia bug a constat în transmiterea id -ul catre Controller prin in termediul rutei
corespunzatoare butonului Edit.

În tabelul 4.5 este testat procesul de ștergere a unei înregistrări din tab ela
Employees din baza de date.

ID
5

Numele cazului
de testare
Testare ștergere
Prioritate
Ridicată
Rezultat așteptat
Stergere reușită
Scop
Verificarea posibilității de ștergere a unor date existente în baza de date.
Autor
Cheșcheș Bianca

45
Pași
Descriere Rezultat

Selectarea tabelului în care se
dorește ștergerea unei înregistrări
de date Se deschide pagina services care
afișează un tabel cu datele
existente în tabela Employees
Click pe butonul Delete Înregistrarea este ștearsă din
tabelul afișat de browser în pagina
employees și d in baza de date.

Tabelul 4.5 – Plan de testare pentru ștergerea unei înregistrari

A treia funcționalitate testată este posibilitatea de introducerea a unei progrmări din
site. Acestă operație nu presu pune o logare ulterioară , deoarece realizarea programarilor
nu presupun existența unui cont. Realizarea unei programări presupune aplegerea unei
categorii din lista de categorii afișate pe pagina Programare online. După alegerea
categoriei utilizatorul t rebuie să alegă anagjatul pe care îl dorește, fiind redirecționat spre
o pagină unde este afișată disponibilitatea angajatului prin intermediul unui calendar cât și
un buton pentru realizarea unei programări. În tabelul 4.6 este testată funcționalitatea
formularului afișat dupa ce se dă click pe butonul programări.

ID
6

Numele cazului de
testare
Testare realizarea unei programări
Prioritate
Ridicată
Rezultat așteptat
Adaugare programare în baza de date
Scop
Verificarea posibilității de adăuga re a unei programări în baza de
date.
Autor
Cheșcheș Bianca

46
Pași
Descriere Rezultat

Click pe butonul Programează -te Se deschide formularul de
introducere a datelor
Sunt completate datele în
formularul afișat Se trimite către baza de date
cererea de introducere,
datele fiind introduse în
tabela aferentă
Click pe butonul Add Se trimite către baza de date
cererea de introducere,
datele fiind introduse în
tabela afere ntă
Se verifică existența noii
înregistrări în tabelul
appointments din baza de date Programarea a fost realizată
cu succes

Tabelul 4.6 – Plan de testare pentru adăugarea unei programări

Testarea aplicației dezvoltate a constat în realizarea unor cazuri de testare asupra
funcționalităților existente, pentru descoperirea eventualelor erori și a calității sistemului.
Pentru testare s -a folosit metoda Black box și White box. Testarea Black spre deosebire de
White box care pr esupune cunoasterea logicii, nu presupune cunoșterea codului aplicației
ci ceea ce realizează aceasta.
În urmatorul capitol, intitulat “Concluzii” ,sunt evidențiate co ncluziile trase în urma
dezvoltă rii sistemului.

47
CAPITOLUL 5. CONCLUZII

Scopul pri ncipal al acestei lucrări, și anume posibilitatea realizării programărilor
online cât și gestionarea eficientă a saloanelor de înfrumusețare, a fost atins iar prin cele
prezentate ulterior, se poate afirma că folosirea framework -ului Php, Laravel, a fac ilitat
dezvoltarea aplicației web cu funcționalitățile necesare prin mijloacele de care dispune.
Laravel fiind un framework complet , acoperă atât partea de comunicare a site -ului cu baza
de date cât ș i parte a vizuală a aplicației. Arhitectura MVC a frame work -ului separă fiecare
componentă a aplicației în cod indiv idual, care po ate fi manipulat uș or fără a aduce
eventuale riscuri altor componente sau întregii aplicații. Laravel are o sintaxa ușoară și
creativă care facili tează scrierea codului PHP.
În urma realizării aplicatiei web se pot evidenția următoarele concluzii:
 Implementarea aplicației s -a realizat prin intermediul framework -ului Laravel.
 Introducerea posibilității de programare online faciliteză procesul de realizare a unei
programări.
 Prin intermediul panoului de administrare gestionarea datelor din baza de date și a
anumitor părț i din site este mult mai eficientă ș i facilă.
 Au fost aplicate cazuri de testare asupra funcționalităților din site pentru verificarea
posibilelor eror i .
 Calendar ul dinamic prezent în site , permite afișarea orelor disponibile pentru realizare
unei programări la un anumit angajat al salonului.
 Prin intermediul sistemului creat s -a dovedit o posibilitate de gestionare a unui salon și
de realizare a programărilor mult mai eficientă.
Prin intermediul sistemului implementat gestionarea unui salon devine mult mai
eficientă și mult mai facilă. Automatizarea întregului proces de realizare a programărilor
și eliminarea etapei prin care clientul primește o confirmare telefonica pentru programarea
făcută aduce multiple avantaje beneficiarilor .

48
Dezvoltarea sistemului se referă la ceea ce ar putea veni ca o dezvoltare ulterioară a
aplicației realizate , pentru a îmbunatăți anumite aspecte sau pentru a oferi un plus de
functionalități . În acest sens sunt enumerate mai jos posibile dezvol tări ale acestui sis tem
implementat :
 Dezvoltarea sistemului astfel încât fiecare angajat să aibă în panoul de administare
un cont unde se poate loga pentru a vedea prog ramările sale.
 Implementarea unor funcționalită ți diponibile administratorului în panoul de
administrare pentru a vedea anumite statistici ș i rapoarte cu privire la angajaț i și
progr amări.
 Dezvoltarea sistemului astfel încât fiecare utilizator , care a rea lizat o programare să
prime ască o notificare prin email sau telefon înai nte cu câteva ore ca programarea
să aibă loc.

49
BIBLIOGRAFIE

Ishikawa, K. (1991). Guide to Quality Control, Tokyo,Japan: Asian Productivity
.Organization
Malatesta, F. (20 15). Learning Laravel’s Eloquent.
Mali ,G.(2017). Retrievedfrom http://savecontactform7.com/everything -you-need -toknow –
about -laravel -framework.
Moca M(2017) ,Suport de curs – Analiza si proiectarea sistemelor informatice, Cluj-Napoca.
Rees, D. (2016). Web application development for the Laravel framework version 4 for
beginners.
Simplaceanu ,S.(2011 ), Project Stakeholder , http:// pmexpert.ro/2011/10/stakeholder/
Sitar -Dan. (2010). Suport de curs:SGBD –Aspecte Fundamentale

Similar Posts