Documente Academic
Documente Profesional
Documente Cultură
LUCRARE DE LICENTA
Conducător ştiinţific:
Autor:
Laurențiu PARTAS
Bucureşti, 2019
Conducător ştiinţific:
Autor:
Laurențiu PARTAS
2
Bucureşti, 2019
3
CUPRINS
1. INTRODUCERE
1.1. Ce este sistemul de numărare al oamenilor
1.2. Oportunitatea alegerii temei
1.3. Scopul si obiectivele temei
1.4. Justificarea alegerii temei
2. Prezentarea sistemului informatic
2.1. Descrierea generală a sistemului informatic
2.2. Specificarea cerințelor
2.2.1.Diagrama cazurilor generale de utilizare
2.2.2.Descrierea textuală a cazului de utilizare
2.2.3.Diagrama de stare
2.2.4.Diagrame de interacțiune
3. PROIECTAREA SISTEMULUI INFORMATIC
3.1. Proiectarea diagrama de clase
3.2. Proiectarea diagramei bazei de date
3.3. Proiectarea diagramei interfeței utilizator
4. IMPLEMENTAREA SISTEMULUI INFORMATIC
4.1. Tehnologii utilizate în implementarea aplicatiei informatice
4.1.1.HTML
4.1.2.СSS
4.1.3.JavaScript
4.1.4.JQuery
4.1.5.Bootstrap
4.1.6.PHP
4.1.7.Symfony
4.1.8.Twig
4.1.9.MySQL
4.1.10. Doctrine
4.2. Prezentarea pe scurt a funcționalității sistemului
5. Concluzii
4
1. INTRODUCERE
Acest sistem a devenit popular datorită importanței sale în lumea afacerilor, si desi s-au găsit mai
multe modele distincte a sistemelor de numărare, cum ar fi sistemul de numărare a vehiculelor și
clădirilor (mall-uri, hoteluri, galerii etc.), aceste sisteme folosesc diferite tehnologii chiar dacă au același
scop. Unele depind de senzori foto pentru numărarea directă, altele folosesc senzori inerți sau senzori
termici. De asemenea, există sisteme care utilizează tehnici wireless pentru transferul de date, iar altele
folosesc tehnologia prin cablu. Companiile care produc sisteme de numărare aleg metoda potrivită pentru
a construi designul potrivit potențialului clientilor care solicita un astfel de sistem.
Numărarea persoanelor în multiple medii de afaceri este necesară din multe puncta de vedere, astfel
ca un sistem de acest tip poate să evalueze și să genereze rezultate utile in diverse analize. Chiar și astăzi,
o metodă principală de numărare a traficului implică angajarea de auditori umani pentru a sta și a potrivi
manual numărul de vizitatori care trec printr-o anumită locație. Dar colectarea datelor bazate pe factorul
uman implica o mare cheltuială. În consecință, măsurarea continua a traficului a fost prohibitivă pentru
majoritatea comercianților cu amănuntul. Acest lucru nu mai este cazul in ziua de azi.
În comunitatea globală de astăzi, lucrurile se schimbă în mod constant, oamenii sunt în continua
mișcare, tehnologia avansează iar comportamentele umane diferă de la o zi la alta. Deoarece multe
organizații și mulți manageri doresc să-și evalueze activitatea făcând comparații și statistici privind
5
numărul de persoane care vizitează centrele lor și care sunt interesate de produsele lor, sa născut Sistemul
People Counting.
Sistemul de numarare a persoanelor poate oferi o perspectivă unică asupra comportamentului uman.
În prezent, unele dintre industriile care utilizează soluțiile de numărare a persoanelor includ:
Aproape fiecare loc sau entitate poate avea nevoie de informații de acest tip și pot fi utilizate pentru
măsurarea volumului, timpului si a direcției traficului de persoane.
Multe țări si medii de lucru depind în zilele noastre de sistemul de numărare a populației în diferite
aplicații. În aceasta lucrare vom vorbi despre sistemul de numărare a oamenilor, despre utilizarea,
importanța, tipurile și sectoarele de activitate din intreaga lume care folosesc acest sistem.
6
1.3 Scopul si obiectivele temei
Expresia "există putere în număre" este adevărată din multe puncte de vedere, acest lucru
fiind valabil mai ales pentru un proprietar de afaceri. Știind de cât personal este nevoie pentru un
magazin, restaurant sau orice alt tip de afacere unde clientii joaca un rol important, un sistem de
numarare persoane ar fi un factor-cheie în evaluarea performanței unei afacerii, mai ales ca ar
avea un rol important în crearea de previziuni privind veniturile și în determinarea si obtinerea
celor mai eficiente tehnici de marketing.
Acest proiect este important și va fi foarte util pentru utilizatorii săi datorita următoarelor aspecte:
- In cazul companiilor de transport public din cadrul administratiilor locale dintr-un oras,
cunoscand numarul de calatori care circula zilnic cu retelele de transport, acestea pot genera
imbunatatiri ale serviciilor pe care le pun la dispozitia calatorilor, intrucat in baza rapoartelor cu
privire la numarul de calatori din fiecare interval orar al zilei, acestia pot suplimenta numarul de
autobuze, tramvaie, trenuri sau masini in traseu, evitand astfel discomfortul aglomeratiei atat din
trafic cat si din interiorul unitatilor de transport. Stim cu totii ca un oras cu o retea de trasnport
public bine pusa la punct, incurajeaza populatia sa renunte la masinile persoanle si sa foloseasca
retaua de transport public astfel diminuand aglomeratia din trafic, implicit reducand cantitatea de
noxe din aer. Sistemul People Counter permite înțelegerea și anticiparea fluxului de pasageri al
rețelei de transport, astfeel ca se pot obtine date, dacă este necesar să se știe când sunt necesare
vehicule suplimentare pentru a se încadra în traficul de ore de vârf, dacă se dorește identificarea
modului de transport cel mai frecvent utilizat, dacă se dorește să se verifice că pasagerii cumpără
bilete, sau dacă trebuie să asigure o repartizare adecvată a veniturilor între diferite sectoare de
transport public.
- In cazul mall-urilor, cladirilor de birouri, bibliotecilor, salilor mari de evenimente sau orice alta
cladire, un sistem de acest gen poate fi de un real folos atunci cand vine vorba despre o ventilatie
cat mai potrivita in functie de numarul de oameni care se afla in locatie. De multe ori ne-am
intalnit cu situatii in care instalatiile de aer conditionat sau ventilatie ale cladirilor/salilor nu erau
potrivite sau corect configurate din punct de vedere tehnic pentru numarul de oameni prezenti in
acel loc. Asadar, un sistem de acest gen poate regla automat instalatia de aer conditionat sau
ventilatie a cladirii doar cuoscand numarul real al persoanelor aflate in interior, diminuand astfel
disconfortul multimii.
- In cazul unitatilor de vanzare din zona de retail, un sistem de acest tip poate fi benefic, intrucat
rezultatele campaniilor publicitare si strategiilor de promovare dezvoltate de manageri pot fi
7
masurate mult mai corect, cunoscand nu doar numarul vanzarilor, cat si numarul total al celor
care au vizitat acele unitati, astfel ca stiindu-se aceste numere de catre manageri, acestia pot
genera un raport mult mai calitativ asupra campaniilor si strategiilor adresate clientilor.
- In cazul expertilor care masoara popularitatea unei echipe sportive sau a unei trupe de muzica,
acestia pot avea o viziune mult mai clara asupra numarului de participanti la un meci pe stadion
sau la un concert, intrucat nu doar din numarul biletelor vandute in cadrul acestor evenimente se
pot genera statistici, cat si din numarul celor care participa la un meci sau concert cu intrare
libera.
Acestea sunt doar cateva exemple de domenii unde un astfel de sistem isi poate gasi utilitate.
Bineinteles ca un astfel de sistem ar putea fi benefic si in domenii precum celor din zona spitalelor,
rezervatiiolor animale, garilor, autogarilor, aerogarilor, armatei si marinei militare, parcarilor aflate in
sarcina administratiei publice etc.
Mai jos voi enumera cateva modalități prin care o astfel de soluție poate genera avantaje si beneficii
in cazul implementarii acesteia:
Programarea resurselor
Una dintre funcțiile cele mai de bază ale unui sistem de numărare a persoanelor este sa genreze
date despre când oamenii intră și ies dintr o unitate de vanzare. După utilizarea aceastei tehnologii pentru
o săptămână, o lună sau un an, se poate stabili un model al zilelor și orelor în care magazinul este cel mai
aglomerat și poate ajuta la programarea personalului în consecință. Acest lucru ajuta la asigurarea faptului
ca exista suficienti angajati intr-un magazin pentru a asigura personalul corespunzător pe fiecare
departament. În acest fel, nimeni nu este neasistat sau nemonitorat în timpul orelor de vârf, iar resursele,
de orice natura ar fi ele, nu sunt irosite. Astfel ca un sistem de numărare a persoanelor va ajuta la luarea
deciziilor atunci cand vine vorba de cresterea sau diminuarea resursei umane in cadrul unei companii. De
asemenea, va ajuta la identificarea zilelor cele mai aglomerate ale săptămânii, in cazul sectoarelor de
activitate unde numarul clientilor prezenti in unitate este unul semnificativ. Utilizarea sistemului poate
ajuta la identificarea perioadei optima a zilei pentru pauza de masa a angajatilor sau chiar perioada
optima din an pentru concediile acestora. Acest tip de soluție poate oferi o analiză detaliată a numărului
de persoane din magazine în orice moment.
Performanţe
In cazul celor care dețin mai multe magazine sau locații, acest tip de sistem poate fi folosit pentru
a ii ajuta să determine exact ce locație are cel mai mare trafic de clienti și perioada traficului. De
asemenea, poate utiliza un sistem de numărare a persoanelor pentru a identifica care dintre angajații
lucrează cel mai eficient. Acest tip de soluție va lua în considerare performanța pentru orice perioadă de
8
timp care trebuie examinata pentru revizuirea performanțelor pe termen lung. O soluție de numărare a
persoanelor poate fi, de ce nu, un indicator cheie de masurare a performanței.
Un manager de magazine poate vedea exact unde se mișcă clienții lor în interiorul magazinelor și
cât timp petrec în fiecare zonă prin datele analitice ale sistemului de numărare a populației. Este vital să
fie păstrați clienții în magazine pentru a mări dimensiunea medie a valorii coșului de cumparaturi și a
veniturilor prin utilizarea strategiilor de atracție din magazine.
Se pot utiliza diferite teme moduri cum sa arate o unitete de vânzare cu amănuntul, se poate
modifica destinațiile de plasare a produselor și se pot utiliza alte activități de merchandising împreună cu
promoțiile existente pentru a atrage traficul în magazine. Cu un sistem de numărare a persoanelor, se
poate măsura rata totală de trafic și de conversie și modul în care acestea au fost afectate de diverse
mijloace de atracție. Se pot lua decizii asupra modului in care trebuie implementate campaniile de
promvare, fie din zonă in zonă, fie in tot magazinul, pentru a obține o vedere de asamblu a ceea ce trebuie
facut pentru a îmbunătăți traficul total.
Evaluarea promoțiilor
Acele flyere și material de promovare pot fi scumpe uneori, deci este bine de stiut care sunt
promoțiile care atrag trafic spre o unitate de vanzare sau un restaurant și care nu sunt interesante pentru
clienți. Un sistem de numărare a persoanelor va număra vizitatorii care trec pragul, dar aceasta este doar o
parte a ecuației. Unele sisteme pot fi integrate in terminalul POS pentru a urmări o creștere a vânzărilor
unui anumit produs sau serviciu în timpul perioadei promoționale. Dacă este trimis un cupon pe e-mail
tuturor celor aflati in baza de date de corespondență a unitatii de vanzare și există o creștere a
cumpărătorilor care vin la magazin pentru a utiliza cuponul, datele POS vor analiza acest lucru. Cu toate
acestea, dacă nu există nicio creștere a numărului de vânzări pentru elementul sau serviciul recomandat,
este un indiciu solid că promovarea trebuie revizuită și eventual modificată înainte de a încerca din nou.
Per total, principala logică din spatele utilizării unui sistem de numărare a persoanelor este de a
analiza comportamentul atat al angajatilor, cat si al clientilor. Odată ce sunt analizate datele, pot fi luate
decizii de afaceri mai eficient în funcție de rezultatele primite prin intermediul sistemului.
9
1.4 Justificarea alegerii temei
Personal, consider ca eficientizarea si gestiunea resurselor de care dispune o afacere sunt aspecte
foarte importante pentru a asigura un management eficient si orientat catre rezultat. Sunt de parere ca nu
doar experienta, bunele cunostinte si aptitudinile manageriale ajuta la obtinerea de solutii si strategii
potrivite unei afaceri, ci si instrumentele pe care acestea aleg sa le utilizeze.
Un astfel de sistem informatic, poate creste valoarea unei afaceri cu mult peste asteptari. Cum am
argumentat si in subcapitolul anterior, avantajele unui astfel de sistem nu se regasesc doar la adresa
clientilor, ci si la adresa angajatilor, intrucat in zilele noastre, un management orientat catre angajati
conduce de sine la calitatea serviciilor prestate de acestia in randul clientilor.
Este o tema de suflet, in care cred foarte mult, si consider utila implementarea acesteia pe viitor in cat
mai multe afaceri aflate pe piata.
10
2. Prezentarea sistemului informatics
2.1. Descrierea generală a sistemului informatic
-------------------------------------------------------------------------------------------------------------------------------
Multe organizații lucrează cu cantități mari de date. Datele sunt valori ce trebuie stocate si
organizate intr-o baza de date. Mulți oameni consideră că datele sunt sinonime cu informațiile, totuși,
informațiile sunt formate din date ce au fost organizate in asa fel incat sa răspunde la întrebări spre a
rezolva probleme. Un sistem de informații este definit ca fiind un software care ajută la organizarea și
analizarea datelor. Deci, scopul unui sistem informatic este de a transforma datele brute în informații utile
care pot fi folosite pentru luarea deciziilor într-o organizație. (https://study.com/academy/lesson/what-
are-information-systems-definition-types-quiz.html)
În schimb, există o serie de sisteme de informații specializate care au fost special concepute
pentru a sprijini un anumit proces în cadrul unei organizații sau pentru a efectua sarcini de analiză foarte
specifice. De exemplu, planificarea resurselor întreprinderii (ERP) este un sistem informatic utilizat
pentru a integra gestionarea tuturor informațiilor interne și externe într-o întreagă organizație. Un alt
exemplu este un sistem de informații geografice (GIS), care este utilizat pentru a gestiona și analiza toate
tipurile de date geografice. Sistemele expert sunt un alt exemplu de sisteme informatice. Un sistem de
experți este conceput pentru a rezolva probleme complexe, urmând raționamentul unui expert.
Deși sistemele de informații pot diferi în ceea ce privește modul în care sunt utilizate în cadrul
unei organizații, ele conțin în mod obișnuit următoarele componente:
11
- Software: Acestea sunt programele utilizate pentru organizarea, procesarea și analizarea datelor.
- Rețea: Diferitele elemente trebuie să fie conectate între ele, mai ales dacă multe persoane
diferite dintr-o organizație folosesc același sistem de informații.
- Proceduri: Acestea descriu modul în care sunt procesate și analizate datele specifice pentru a
obține răspunsurile pentru care a fost proiectat sistemul informatic.
Primele patru componente fac parte din tehnologia generală a informațiilor (IT) a unei
organizații. Procedurile, a cincea componentă, sunt foarte specifice tipului de informații necesare pentru a
răspunde la o problema.
-------------------------------------------------------------------------------------------------------------------------------
Primul sistem de informare mecanică pe scară largă a fost tabelul recensământului lui Herman
Hollerith. Inventat cu mult timp in urma pentru a procesa recensământul din 1890 din S.U.A., mașina lui
Hollerith a reprezentat un pas important în automatizare, precum și o inspirație pentru dezvoltarea
sistemelor informatice computerizate. (Vladimir Zwass, Information system
https://www.britannica.com/topic/information-system)
Unul dintre primele computere utilizate pentru prelucrarea acestor informații a fost UNIVAC I,
instalat la Biroul de recensământ al SUA în 1951 pentru uz administrativ și la General Electric în 1954
pentru uz comercial. Începând cu sfârșitul anilor 1970, computerele personale au inceput sa aduca unele
avantaje ale sistemelor informatice către întreprinderi mici și către persoane fizice. La începutul aceluiași
deceniu, Internetul și-a început expansiunea ca rețea globală de rețele. În 1991, World Wide Web,
inventat de Tim Berners-Lee ca metoda de accesare a informațiilor interconectate stocate în calculatoarele
global dispersate, insa conectate prin Internet, a început să funcționeze și a devenit principalul serviciu
livrat în rețea. Pătrunderea globală a Internetului și a Webului a permis accesul la informații și alte resurse
și a facilitat formarea relațiilor între oameni și organizații la o scară fără precedent. Progresul comerțului
electronic pe internet a dus la o creștere dramatică a comunicărilor interumane digitale (prin e-mail și
rețele sociale), distribuirea de produse (software, muzică, e-cărți și filme) și tranzacții de afaceri
(cumpărare, vânzarea și publicitatea pe Web). Odată cu răspândirea în întreaga lume a smartphone-urilor,
tabletelor, laptopurilor și a altor dispozitive mobile bazate pe computere, toate fiind conectate prin rețele
de comunicații fără fir, sistemele informatice au fost extinse pentru a sprijini mobilitatea ca o condiție
umană naturală. (Vladimir Zwass, Information system https://www.britannica.com/topic/information-
system)
Dat fiind faptul că sistemele informatice au permis activități mai diverse, au exercitat o influență
profundă asupra societății. Aceste sisteme au grăbit ritmul activităților zilnice, au permis oamenilor să
dezvolte și să mențină relații noi și, adesea, mai pline de satisfacții, au afectat structura și mixul
organizațiilor, au schimbat tipul de produse cumpărate și au influențat natura muncii. Informațiile și
cunoștințele au devenit resurse economice vitale. Totuși, împreună cu noi oportunități, dependența de
sistemele informatice a adus noi amenințări. Inovația intensă a industriei și cercetarea academică dezvoltă
în permanență noi oportunități, în scopul de a contracara amenințările.
13
telecomunicațiile constituie tehnologia informației (IT), care este acum bine înrădăcinată în operațiunile
și gestionarea organizațiilor.
Computer hardware
Astăzi, în întreaga lume, pana si cele mai mici firme, precum și multe gospodării, dețin sau
închiriază computere. Persoanele fizice pot deține mai multe computere sub formă de smartphone-uri,
tablete și alte dispozitive portabile. Organizațiile mari utilizează de obicei sisteme informatice distribuite,
de la servere puternice de procesare paralelă situate în centre de date, pana la computere personale și
dispozitive mobile dispersate pe scară largă, integrate în sistemele informaționale organizaționale.
Senzorii devin din ce în ce mai răspândiți în mediul fizic și biologic pentru colectarea datelor și, în multe
cazuri, pentru controlul prin intermediul dispozitivelor cunoscute ca actuatoare. Împreună cu
echipamentele periferice, cum ar fi discurile de stocare magnetică sau solidă, dar si dispozitivele de
intrare-ieșire și echipamentele de telecomunicații, constituie hardware-ul sistemelor informatice. Costul
hardware-ului a scăzut constant și rapid, în timp ce viteza de procesare și capacitatea de stocare au crescut
foarte mult. Această evoluție a apărut sub legea lui Moore: puterea microprocesoarelor în centrul
dispozitivelor de calcul sa dublat la fiecare 18-24 de luni. Cu toate acestea, utilizarea hardware-ului de
energie electrică și impactul său asupra mediului reprezintă preocupări adresate de designeri. Din ce în ce
mai mult, serviciile de computere și de stocare sunt livrate direct din cloud catre facilitățile comune
accesate prin rețelele de telecomunicații.
Computer software
14
Telecomunicațiile
Sunt posibile diferite configurații de rețele de calculatoare, în funcție de nevoile unei organizații.
Rețelele locale (LAN) leaga calculatoarele la o anumita retea, cum ar fi o clădire de birouri sau un
campus universitar. Rețelele metropolitane (MAN) acoperă o zonă limitată densă și sunt infrastructura
electronică a "orașelor inteligente." Rețelele WAN (Wide Area Networks) se conectează la centre de date
distribuite pe scară largă, desfășurate frecvent de diferite organizații. Rețelele peer-to-peer, fără un control
centralizat, permit partajarea largă a conținutului. Internetul este o rețea de rețele, conectând miliarde de
computere situate pe fiecare continent. Prin intermediul rețelelor, utilizatorii obțin acces la resursele
informaționale, cum ar fi bazele de date mari, și la alte persoane, cum ar fi colegii, clienții, prietenii sau
persoanele care împărtășesc interesele lor profesionale sau private. Serviciile de tip Internet pot fi
furnizate în cadrul unei organizații și pentru utilizarea exclusivă de către diverse intraneturi care sunt
accesibile printr-un browser; de exemplu, un intranet poate fi implementat ca un portal de acces la o bază
de documente partajată corporativă. Pentru a vă conecta cu partenerii de afaceri prin Internet într-o
manieră privată și sigură, extraneturile sunt create ca așa-numitele rețele private virtuale (VPN) prin
criptarea mesajelor.
Un val mare de " Internet of things" a luat nastere in zilele noastre, deoarece senzorii și
dispozitivele de acționare au fost distribuite pe scară largă în mediul fizic și furnizează date, cum ar fi
aciditatea unei bucati de pământ, viteza unui vehicul care ruleaza, sau tensiunea arterială a unui individ.
Disponibilitatea acestor informații permite o reacție rapidă atunci când este necesar, precum și luarea
unor decizii susținute pe baza procesării datelor masive acumulate.
Infrastructura extinsă de rețea se mutata incet incet spre cloud computing, resursele sistemului de
informații fiind partajate între mai multe companii, ceea ce duce la eficiența utilizării și libertatea de
localizare a centrelor de date. Rețelele definite prin software oferă control flexibil al rețelelor de
telecomunicații cu algoritmi care răspund cerințelor în timp real și disponibilităților de resurse.
15
Baze de date și depozite de date
Multe sisteme informatice sunt în primul rând vehicule de livrare pentru datele stocate în baze de
date. O bază de date este o colecție de date inter-relaționate organizate astfel încât să poată fi recuperate
înregistrări individuale sau grupuri de înregistrări pentru a satisface diferite criterii. Exemple tipice de
baze de date includ înregistrările angajaților și cataloagele de produse. Bazele de date sprijină operațiile și
funcțiile de gestionare ale unei întreprinderi. Depozitele de date conțin datele de arhivă colectate de-a
lungul timpului, care pot fi extrase pentru informații pentru a dezvolta și comercializa noi produse, pentru
a servi mai bine clienții existenți sau pentru a ajunge la clienți potențiali noi. Oricine a cumpărat vreodată
ceva cu un card de credit, fie fizic in magazin, prin comandă prin poștă sau prin Web, este inclus automat
în aceste colecții de date.
Colectarea și prelucrarea masivă a datelor cantitative sau structurate, precum și a datelor textuale
adesea adunate pe Web, s-au dezvoltat într-o inițiativă largă cunoscută sub numele de "Big Data". Multe
beneficii pot rezulta din deciziile bazate pe fapte reflectate de date mari. Exemplele includ medicina
bazată pe dovezi, economia resurselor ca urmare a evitării pierderilor și/sau recomandările unor produse
noi (cum ar fi cărți sau filme) bazate pe interesele si comportamentul online al utilizatorului. Big Data
genereaza modele inovatoare de afaceri. De exemplu, o firmă comercială colectează prețurile mărfurilor
prin conceptul de crowdsourcing (colectând date de la numeroase persoane independente), acesta
realizăndu=se prin intermediul telefoanelor inteligente din întreaga lume. Datele agregate furnizează
informații rapide cu privire la mișcările prețurilor, permițând luarea deciziilor mult mai eficient si rapid
decât era posibil in trecut.
16
calculatoare. În plus, toți lucrătorii dintr-o organizație trebuie instruiți să utilizeze cât mai bine
functionalitatile sistemelor informatice. Miliarde de oameni din întreaga lume învață despre sistemele
informatice pe măsură ce folosesc Web-ul.
Procedurile de utilizare, exploatare și întreținere a unui sistem informatic fac parte din
documentația sa. De exemplu, trebuie stabilite proceduri pentru a rula un program de salarizare, inclusiv
când să îl executați, cine este autorizat să îl execute și cine are acces la rezultatele lui. În inițiativa
autonomă de calcul, centrele de date se execută din ce în ce mai mult in mod automat, cu procedurile
integrate în software-ul care controlează aceste centre.
17
Fig. 1 Structura sistemului informațional organizational (2017, Information system, Vladimir
Zwass)
Acest subcapitol oferă un set generic de sarcini pentru diferitele componente software implicate
în ingineria software în timpul etapei de definire a cerințelor software. Stadiul de definire a cerințelor
software de dezvoltare traduce nevoile, așteptările și constrângerile părților interesate într-un set
echilibrat și realizabil de cerințe software. Aceasta implică dezvoltarea specificațiilor pentru produsul
software , mediul de calcul și procesele ulterioare dezvoltării. Mediul de calcul impune constrângeri
asupra modului în care produsul software funcționează pentru a sprijini procesele de tranzacționare a
datelor. Un artefact cheie al acestei etape este un model al procesului de business sau embedded
sistem pe care acesta este destinat să îl permită. Modelul operațional formează baza pentru derivarea
produsului software, a mediului de calcul și a cerințelor interfeței software . Etapa de specificare a
cerințelor software se încheie cu revizuirea cerințelor software. (2.
https://www.sciencedirect.com/science/article/pii/B9780124077683000173 Richard F.
Schmidt, in Software Engineering, 2013)
O diagramă a cazurilor de utilizare UML este forma principală a cerințelor de sistem / software
pentru un nou program software dezvoltat. Cazurile de utilizare specifică comportamentul așteptat
(ce) și nu metoda exactă de a face acest lucru (cum). Cazurile de utilizare, după ce au fost specificate,
pot fi indicate atât cu reprezentare textuală, cât și vizuală (cum ar fi UML). Un concept cheie de
modelare a cazurilor de utilizare este acela că ne ajută să proiectăm un sistem din perspectiva
utilizatorului final. Este o tehnică eficientă pentru comunicarea comportamentului sistemului în
termenii utilizatorului, prin specificarea tuturor comportamentelor vizibile din exterior ale sistemului.
O diagramă a cazurilor de utilizare este, de obicei, simplă. Nu arată detaliile cazurilor de utilizare:
- Sintetizează doar unele dintre relațiile dintre cazurile de utilizare, actorii și sistemele.
- Nu arată ordinea în care sunt efectuati pași pentru a atinge obiectivele fiecărui caz de utilizare.
18
Așa cum am spus, o diagramă a cazurilor de utilizare ar trebui să fie simplă și să conțină doar
câteva forme. În cazul în care conține mai mult de 20 de cazuri de utilizare, probabil că nu folosim
diagrama cazurilor de utilizare.
Figura de mai jos prezintă ierarhia diagramei UML și poziționarea diagramei UML Use Case.
După cum putem vedea, diagramele cazurilor de utilizare aparțin familiei de diagrame
comportamentale.
19
Fig. 3 Diagrama cazurilor generale de utilizare
Afișarea diagramei cazurilor de utilizare în notarea UML nu este suficientă. Fiecare caz de
utilizare trebuie sa fie însoțit de un text care explică scopul utilizării cazului, precum și ce funcționalitate
este îndeplinită atunci când se execută un caz de utilizare.
Specificația cazului de utilizare este de obicei creată în faza de analiză și proiectare într-o manieră
iterativă.
- La început, este scrisă doar o scurtă descriere a pașilor necesari pentru a realiza fluxul normal al
cazului de utilizare (adică, ce funcționalitate este furnizată de cazul de utilizare).
- Pe măsură ce analiza progresează, pașii sunt detaliați pentru a adăuga mai multe detalii.
- În cele din urmă, fluxurile excepționale sunt adăugate cazului de utilizare
- Fiecare proiect poate adopta un șablon standard de caz de utilizare pentru crearea specificației
cazului de utilizare.
20
Fig. 4 Caracterul cazului de utilizare (https://www.visual-paradigm.com/guide/use-case/what-
is-use-case-specification/)
In continuare este prezentata descrierea sub forma de sablon a cazului general de utilizare.
21
A: 1. Utilizatorul furnizează informații in vederea creearii unui cont de
utilizator (email, nume de utilizator si parola)
Fluxuri alternative 2. Se continuă scenariul cu punctul 2
Relatii Se extinde prin CU04 Resetare parola
Frecventa utilizarii Zilnica
Reguli ale afacerii Utilizatorul poate să schimbe parola accesând link-ul primit prin email
Diagramele de stare modelează sistemul din punctul de vedere al unei singure clase și
evenimentele care pot afecta obiectele din clasă. Acestea arată toate comportamentele posibile ale
obiectelor dintr-o clasă și înregistrează ordonarea evenimentelor. Aceste informații despre constrângerile
de temporizare sunt esențiale pentru înțelegerea sistemului nostru și nu sunt înregistrate în niciunul dintre
celelalte modele de diagrame pe care le acoperim în această lucrare.
Deși diagramele de stare sunt o tehnică foarte utilă și importantă de modelare, nu este necesar să
se faca una pentru fiecare clasă. În majoritatea sistemelor, complexitatea rezultă din interacțiunea dintre
obiectele diferitelor clase. Este posibil ca în orice sistem, în special în sistemul informațional, doar câteva
clase să afișeze un comportament dinamic și astfel au nevoie de o diagramă de stare pentru a modela ceea
ce se întâmplă. Mai jos voi incerca să documentez toate comportamentele posibile ale obiectelor din clasă
prin intermediul unei diagrame de stare. (Carol Britton, Jill Doake, in A Student Guide to Object-Oriented
Development, 2005, https://www.sciencedirect.com/topics/computer-science/state-diagrams )
22
Fig. 5 Diagrama de stare
Diagramele de interacțiune sunt modele care descriu modul în care un grup de obiecte
colaborează într-un anumit comportament, de obicei un singur caz de utilizare. Diagramele prezintă un
număr de obiecte exemplu și mesajele care sunt transmise între aceste obiecte în cazul de utilizare.
Voi ilustra abordarea cu următorul exemplu simplu de utilizare. În acest comportament, actorul
initieaza procesul de logare in aplicatie. Sistemul informatic trimite apoi mesajul “Logarea a avut
success”. In momentul acesta, actorul are posibilitatea vizulizarii raportului zilnic, sau rapoartele
impartite pe perioade ale zilei, care in final alcatuiesc raportul zilnic. Daca rapoartele perioadice ale zilei
nu sunt complete, raportul zilnic nu poate fi vizualizat, implicit nu poate fi descarcat. In cazul acesta,
sistemul trimite mesaj catre actor “Raport incomplet”. Daca rapoartele periodice ale zilei sunt gata,
raportul zilnic poate fi vizualizat si descarcat din sistem.
23
Fig. 6 Diagrama de Interactiune
Cheia de a proiecta un sistem de informatics de succes este un design bun. Ne vom uita la design din
mai multe perspective diferite.
Diferiți oameni folosesc cuvântul de design în contexte diferite. Atunci când profesioniștii de sisteme
informatice vorbesc despre design, se referă la procesele de afaceri. Problemele trebuie analizate și
cerințele documentate înainte ca soluțiile să fie proiectate, dezvoltate și implementate. În definitiv, dacă
designul nu satisface nevoia de afaceri, atunci care este scopul? Cu toate acestea, satisfacerea necesității
afacerii este într-adevăr un standard de bază. Sistemul de nostru de gestionare a fluxului de persoane
descris in aceasta lucrare satisface nevoia de afaceri de numarare a clientilor.
24
3.1. Diagrama de clase
În ingineria software-ului, o diagramă de clasă în limba unificată de modelare (UML) este un tip
de diagramă a structurii statice care descrie structura unui sistem prin afișarea claselor sistemului si a
atributelor acestora.
Designul bazeei de date este o colecție de procese care facilitează proiectarea, dezvoltarea,
implementarea și întreținerea sistemelor de management al datelor unei întreprinderii. Obiectivele
principale ale proiectării bazelor de date sunt de a produce modele logice și fizice de proiectare a
sistemului de baze de date propuse. Modelul logic se concentrează pe cerințele de date și pe datele care
trebuie păstrate independent de considerentele fizice. Nu se referă la modul în care datele vor fi stocate
sau unde vor fi stocate fizic.
Modelul de design fizic al datelor implică traducerea designului logic al bazei de date pe
suporturi fizice folosind resurse hardware și sisteme software precum sistemele de gestionare a bazelor de
date (DBMS).
25
Proiectarea bazelor de date este crucială pentru sistemul de baze de date de înaltă performanță. În
afară de îmbunătățirea performanței, baza de date proiectată în mod corespunzător este ușor de întreținut,
îmbunătățește consistența datelor și este rentabilă în ceea ce privește spațiul de stocare pe disc.
Ciclul de viață al dezvoltării bazei de date are o serie de etape care sunt urmărite atunci când se
dezvoltă sisteme de baze de date. Pașii din ciclul de viață al dezvoltării nu trebuie să fie urmăriți religios
într-o manieră secvențială. Pe sistemele de baze de date mici, ciclul de viață al sistemului de bază de date
este de obicei foarte simplu și nu implică o mulțime de pași.
Diagramele de interfață de utilizator sunt folosite în mod obișnuit pentru unul din cele două
scopuri. În primul rând, ele sunt folosite pentru a modela interacțiunile pe care le au utilizatorii cu
software-ul nostru, așa cum este definit într-un caz de utilizare unică. De exemplu, un caz de utilizare se
poate referi la mai multe ecrane și oferă o perspectivă asupra modului în care sunt utilizate. Pe baza
acestor informații, putem dezvolta o diagramă a interfeței utilizator care reflectă viziunea
comportamentală a cazului de utilizare unică. În al doilea rând, acestea ne permit să obținem o imagine de
ansamblu la nivel înalt a interfeței utilizator pentru aplicația nostra. Această prezentare generală este în
mod eficient combinația tuturor opiniilor comportamentale derivate din cazurile noastre de utilizare
prezentate mai sus, rezultatul fiind denumirea imaginii arhitectonice a interfeței noastre de utilizator
26
(Constantine și Lockwood 1999). Prefer să iau abordarea generală la nivel înalt, denumită și abordarea
arhitecturală, deoarece imi permite să înțeleg întreaga interfață de utilizator pentru un sistem.
Acest capitol oferă un set generic de sarcini pentru diferitele organizații software implicate în
ingineria software în timpul etapei de implementare a software-ului. Etapa de implementare a software-
ului implică transformarea pachetului de date tehnice software într-unul sau mai multe elemente de
configurare software fabricate, integrate și testate, care sunt gata pentru testarea acceptabilă a software-
ului. Implementarea de software include rularea “uscată” a testelor de acceptare a software-ului. Acest
exercițiu uscat este destinat să asigure că procedurile de testare din faza de recepție sunt eficiente, iar
produsul software îndeplinește specificațiile software. O rulare uscată oferă o demonstrație a pregătirii
27
produsului software pentru testarea acceptării. Deficiențele software identificate în etapa de implementare
a software-ului trebuie rezolvate. (Software Engineering, P. 323-333)
Tema propusa doreste sa imbine intr-un sistem informatic atat o zona hardware cat si o zona
software, necesara realizarii unei aplicatii web ce va afisa rezultatele obtinute sub forma unor statistici si
grafice cu scopul de a monitoriza traficul de persoane din transportul public dar si de a evalua eficacitatea
campaniilor de marketing dintr-o zona de retail, design-ul si structura cladirilor si/sau popularitatea
anumitor marci sau produse in magazine.
HTML este un limbaj de calculator conceput pentru a permite crearea de site-uri web. Aceste
site-uri pot fi vizualizate de oricine realizeaza o conexiune la internet. Este relativ ușor de învățat,
elementele de bază fiind accesibile majorității oamenilor într-o singură ședință, și destul de puternic în
ceea ce ne permite să creăm. Se află în curs de revizuire și evoluție pentru a răspunde cerințelor
publicului din ce în ce mai mari.
HTML vine de la Hyper Text Markup Language. HyperText este metoda prin care ne deplasăm
pe web, făcând clic pe un text special numit hyperlink care ne duce la pagina următoare. Faptul că este
hyper, înseamnă că nu este linear, adică putem merge în orice loc pe Internet ori de câte ori dorim, făcând
clic pe link-uri. (Ross Shannon, What is HTML? )
HTML este un limbaj, deoarece are cuvinte cheie și sintaxă ca orice altă limbaj.
4.1.2. СSS
Cascading Style Sheets (CSS) este un style sheet language utilizat pentru descrierea prezentării
unui document scris într-un limbaj de markup precum HTML. CSS este o tehnologie de bază a World
Wide Web, alături de HTML și JavaScript. (Flanagan, David. JavaScript)
CSS este conceput pentru a permite separarea prezentării și a conținutului, inclusiv aspectul,
culorile și fonturile. Această separare poate îmbunătăți accesibilitatea conținutului, poate oferi mai multă
flexibilitate și control în specificațiile caracteristicilor de prezentare, permite mai multor pagini web să
28
împărtășească formatarea prin specificarea CSS relevantă într-un fișier .css separat și reducerea
complexității și repetării în conținutul structural.
4.1.3. JavaScript
JavaScript, adesea abreviat ca JS, este un limbaj de programare high-level. JavaScript are o
sintaxă de tip curly-bracket, tastare dinamică, este orientat pe obiecte bazate pe prototipuri și funcții de
primă clasă.
Alături de HTML și CSS, JavaScript este una dintre tehnologiile de bază ale World Wide Web.
JavaScript permite creearea de pagini web interactive și este o parte esențială a aplicațiilor web. Marea
majoritate a site-urilor web utilizează acest limbaj, iar browserele web majore au un motor dedicat
JavaScript pentru al executa.
4.1.4. JQuery
4.1.5. Bootstrap
Bootstrap este un set de instrumente open source pentru dezvoltarea cu HTML, CSS și JS. Ne
putem creea rapid ideile sau sa consturim întreaga aplicație cu variabilele și mix-urile Sass, sistemul grid
reactiv, componentele preexistente extinse și pluginurile puternice construite pe jQuery.
4.1.6. PHP
PHP: Hypertext Preprocessor (sau pur și simplu PHP) este un limbaj de programare general
conceput inițial pentru dezvoltarea web. Acesta a fost inițial creat de Rasmus Lerdorf în 1994,
implementarea de referință PHP fiind acum produsă de The PHP Group. PHP inițial a fost utilizat pentru
Personal Home Page, dar acum reprezintă un inițial recursiv PHP: Hypertext Preprocessor.
Codul PHP poate fi executat cu o interfață de linie de comandă (CLI), încorporată în cod HTML
sau poate fi folosită în combinație cu diferite sisteme de șabloane web, sisteme de gestionare a
conținutului web și cadre web. Codul PHP este procesat, de obicei, de un interpret PHP implementat ca
un modul într-un server web sau ca executabil al unei interfețe Common Gateway Interface (CGI).
Serverul web combină rezultatele codului PHP interpretat și executat, care poate fi orice tip de date,
inclusiv imagini, cu pagina Web generată. PHP poate fi folosit pentru multe sarcini de programare în
afara contextului web, cum ar fi aplicațiile grafice separate, și controlul robotului robotic.
4.1.7. Symfony
Symfony este un cadru de aplicații web PHP și un set de componente / biblioteci PHP
reutilizabile. Symfony a fost publicat ca software liber în 18 octombrie 2005 și lansat sub licența MIT.
30
Symfony își propune să accelereze crearea și întreținerea aplicațiilor web și să înlocuiască
sarcinile de codificare repetitive.
Symfony are un nivel scăzut al performanței, folosit cu o memorie cache de tip bytecode.
Symfony are scopul de a construi aplicații robuste într-un context al întreprinderii și are scopul de
a oferi dezvoltatorilor controlul complet asupra configurației, de la structura directoarelor la bibliotecile
străine, aproape totul poate fi personalizat. Pentru a se potrivi liniilor directoare pentru dezvoltarea
întreprinderii, Symfony este asociat cu instrumente suplimentare pentru a ajuta dezvoltatorii să testeze, să
depaneze și să documenteze proiectele.
4.1.8. Twig
Twig este un motor de șablon pentru limbajul de programare PHP. Sintaxa sa provine din
șabloanele Jinja și Django. Este un produs open source licențiat sub licență BSD și întreținut de Fabien
Potencier. Versiunea inițială a fost creată de Armin Ronacher. Sistemul Symfony PHP vine cu un pachet
de suport pentru Twig ca motor de șablon implicit de la versiunea 2.
4.1.9. MySQL
MySQL, este un sistem de management relațional bazat pe baze de date relaționale (RDBMS)
Numele lui este o combinație de "My", numele fiicei co-fondatorului Michael Widenius, și "SQL",
abrevierea pentru Language Structured Query.
MySQL este software gratuit și cu sursă deschisă, în condițiile generale GNU General Public
License și este disponibil și sub o variante cu licențe de proprietate. MySQL a fost deținut și sponsorizat
de compania suedeză MySQL AB, care a fost cumpărată de Sun Microsystems (acum Oracle
Corporation). În 2010, când Oracle a achiziționat Sun, Widenius a forțat proiectul open source MySQL
pentru a crea MariaDB.
MySQL este o componentă a pachetului de software pentru aplicații web LAMP (și altele), care
este un acronim pentru Linux, Apache, MySQL, Perl / PHP / Python. MySQL este folosit de multe
aplicații web ce contin baze de date, inclusiv Drupal, Joomla, phpBB și WordPress. MySQL este, de
asemenea, folosit de multe site-uri populare, inclusiv Facebook, Twitter, Flickr și YouTube.
31
4.1.10. Doctrine
Doctrin este un set de biblioteci PHP axate în primul rând pe furnizarea de servicii de persistență
și funcționalitate aferentă. Proiectele sale premiate sunt un object-relational mapper (ORM) și stratul de
abstractizare a bazei de date.
Una dintre trăsăturile cheie ale Doctrinei este opțiunea de a scrie interogări de bază de date în
Doctrine Query Language (DQL), un dialect orientat pe obiecte din SQL.
O caracteristică a Doctrin este nivelul scăzut de configurare necesar pentru a începe un proiect.
Doctrin poate genera clase de obiecte dintr-o bază de date existentă, iar programatorul poate specifica
relații și poate adăuga funcții personalizate claselor generate. Nu este nevoie să generați sau să mențineți
scheme complexe de baze de date XML, așa cum se vede în multe alte framework-uri.
Un contor de persoane este un dispozitiv electronic care este utilizat pentru a măsura numărul de
persoane care traversează un anumit pasaj sau intrare. Printre exemple se numără clicuri manuale simple,
grinzi sau bariere cu infraroșu, sisteme cu imagini termice, dispozitive de urmărire WiFi și contoare video
utilizând algoritmi avansați de învățare automată. Acestea sunt cateva exemple de tehnologii hardware
utilizate în mod obișnuit de către companiile de transport public si unitățile de comerț cu amănuntul
pentru a evalua design-ul și structura retelelor de transport public sau a clădirilor, eficacitatea campaniilor
de marketing și popularitatea anumitor mărci sau produse.
Tema propusa doreste sa imbine intr-un sistem informatic atat o zona hardware cat si o zona
software, necesara realizarii unei aplicatii web ce va afisa rezultatele obtinute sub forma unor statistici si
grafice cu scopul de a monitoriza traficul de persoane din transportul public dar si de a evalua eficacitatea
campaniilor de marketing dintr-o zona de retail, design-ul si structura cladirilor si/sau popularitatea
anumitor marci sau produse in magazine.
Acest sistem are cinci pași pentru a da utilizatorului funcția dorită: Colectarea datele de la poarta
utilizând senzori fiabili, procesarea datelor provenind de la senzori și analizarea acestora, transferal
datelor pe computer și receptia acestora pentru a efectua diferite sarcini, cum ar fi rapoartele și
statisticile , stocarea datelor intr-o baza de date si generarea de rapoarte sub forma de foi de calcul. Acești
pași explică intr-un mod foarte simplu modul în care funcționează sistemul nostru de numarare persoane.
32
In cazul temei de fata, ca si tehnologie hardware am folosit doua bariere cu senzori IR, senzori ce
au fost integrati pe un microcontroler cu o singură placă Raspberry Pi, acesta fiind un calculator cu
dimensiuni reduse, similare unui card de credit, care se poate conecta la un computer sau la un televizor,
și utilizează o tastatură și un mouse standard. Este un dispozitiv capabil, mic care permite oamenilor să
exploreze computerele și să învețe cum să programeze în limbi precum Scratch și Python.
Am ales aceasta metoda intrucat am dorit sa asigur un nivel de securitate in plus, acest protocolul
fiind unul cu atentficare. SFTP protejează împotriva atacurilor cu parolă și a atacurilor de tip "man-in-the-
middle". Reuseste sa protejeze integritatea datelor utilizând funcțiile de criptare hash criptografic și
autentifică atât serverul, cât și utilizatorul. SFTP (SSH File Transfer Protocol) este un protocol de transfer
de fișiere securizat. Rulează prin protocolul SSH. Acesta susține funcționalitatea completă de securitate și
autentificare a SSH.
Acest protocol poate fi utilizat peste o conexiune Lan, WIFI sau 3G/4G.
Ca si server, am ales Apache HTTP Server Project intrucat reuseste efortul de a dezvolta și
menține un server HTTP open-source pentru sistemele de operare moderne, inclusiv UNIX și Windows.
Scopul acestui proiect este de a furniza un server securizat, eficient și extensibil care să asigure
sincronizarea serviciilor HTTP cu standardele HTTP curente.
Am configurat atat in apache cat si in Rasbery Pi credentialele de acces pentru transmisia de date
prin SFTP.
Mai jos exemplific printr-o diagrama de componente, modul de utilizare si interconectare a partii
hardware ce se regaseste in aceasta lucrare.
33
Fig. 10 Diagrama componentelor hardware
34
Bibliografie
6. 1990, Designing Information Systems Stanley G. Blethyn and Carys Y. Parker, Butterworth-
Heinemann https://www.sciencedirect.com/book/9780750610384/designing-information-
systems
7. Constantine, L. L., & Lockwood, L. A. D. (1999) Software for Use: A Practical Guide to the
8. Models and Methods of Usage-Centered Design. Boston: Addison-Wesley.
9. Ross Shannon, https://www.yourhtmlsource.com/starthere/whatishtml.html
10. Flanagan, David. JavaScript - The definitive guide (6 ed.). p. 1. JavaScript is part of the
triad of technologies that all Web developers must learn: HTML to specify the content of web
pages, CSS to specify the presentation of web pages, and JavaScript to specify the behaviour
of web pages.
11. Press release announcing JavaScript, "Netscape and Sun announce JavaScript", PR
Newswire, December 4, 1995
35