Proiect Licenta Automatica Popescu V D Ionut Cosmin 54967(2) [610729]

UNIVERSITATEA
POLITEHNICA BUCUREȘTI
Facultatea de Automatică și
Calculatoare

Specializarea Automatic ă și Informatică Aplicată

Aplicație WEB de management al
timpului pentru organizarea d e
evenimente ștințiifice

Coordonator,
Prof. dr. ing. Daniela -Anca IONIȚĂ

Absolvent: [anonimizat]
2016

2

Cuprins

Introducere ………………………….. ………………………….. ………………………….. ………… 3
1 Analiza si stemelor existente ………………………….. ………………………….. ………………………….. … 6
1.1 Sisteme de ma nagement al evenimentelor științ ifice ………………………….. 6
1.2 Sisteme generale pentru managementul timpului ………………………….. … 15
1.3 Elemente predefinit e pentru even imente ș tiințifice organizate de IEEE .. 15
2 Prezentarea tehnologiilor folosite ………………………….. ………………………….. ……………….. 17
2.1 Front – End…………………………………………………………………………………………… 17
2.2 Back -end și baza de date ………………………………………………………………………18
3 Prezentarea aplicației dezvoltate ………………………….. ………………………….. …………………. 24
3.1 Modelarea aplicaț iei ………………………….. ………………………….. ……………. 24
3.2 Atribuirea conturilor de utilizator conform rolurilor tipice IEEE …………… 28
3.3 Descrierea func ționalităț ilor ………………………….. ………………………….. …. 29
Concluzii și potenț ial aplicativ ………………………….. ………………………….. ………………………….. …. 37
Bibliografie ………………………………………………………………………………………………………… 38

3

Introducere

În prezenta lucrare voi prezenta trei sisteme de management al evenime ntelor
științifice și aplicații de management al timpului. De asemenea voi detalia procesul de
realizare a unui sistem informatic, respectiv o aplicație WEB de management al timpului.
Lucrarea este structurat ă în patru părți și anume : Introducere , Analiza sistemelor
existente, Prezentarea tehnologiilor folosite și Concluziile , plus potențialul aplicativ .
Introduce re – În ace astă parte a lucrării este prezentat evenimentul științific, tipuri de
evenimente și , de asemenea, sunt trecut e în revistă aspectele or ganizatorice pentru o
conferință .
Cap. 1 Analiza sistemelor existente
Cap. 2 Prezentarea tehnologiilor folosite – Referire la arhite ctura aplicației, framework -ul
în care a fost dezvoltată aplicația, limbajele de programare .
Cap.3 Prezentarea aplicației d ezvoltate – Acest capitol va include prezentarea funcțiilor
aplicației. De asemenea se prezintă diagrama de clase și diagrama bazei de date .
Concluzii și p otențial aplicativ – Răspunsul la întrebarea ”Pot implementa această aplicație
în cadrul unei facultă ții?” plus concluzii rezultate în urma realizării aplicației și lucrării .
Bibliografie

4
Evenimentul științific este un eveniment care se desfășoară cu precăde re în mediul
academic. Activitățile ce se încadrează la tipul de eveniment științific pot fi conferințe ,
congrese, wor kshop -uri, simpozioane , seminarii sau alte activități cu sc op științific ce se
desfășoară î n mediu l academic.
În activitățile care se desf ășoară î n cadrul evenimentului se prezintă descoperiri
tehnice sau științifice, anumite tehnolo gii sau rezultate care s -au obținut î n urma cercetării
științifice într -un anumit domeniu. De obicei acestea sunt prezentate la conferințe, congrese
sau simpozioane – un caracter teoretic.
Workshop -urile pot fi ș i ele încadrate la categoria evenimentelor ș tiințifice cu condiția
să fie or ganizate de o entitate academică cum ar fi o universitate sau o academie (Academia
Română). În cadrul acestora , participanții au ocazia s ă experimenteze o nouă metod ă pentru
rezolvarea unei probleme, o noutate adus ă unei teh nologii existente, o soluție tehnic ă sau
utilizarea unui dispozitiv. Workshop -urile au un caracter practic.
Exemple de evenimente științifice organiza te în Facultatea de Automatică și
Calculatoare sunt: RAAD – conferința anual ă în domeniul roboticii, Altis simo – workshop
organizat î n septembrie 2014 cu tema lega tă de programare multi -agenți , 20th International
Conference on Control Systems and Computer Science (CSCS 20) organizată î n mai 2015 cu
tematică referitoare la sisteme automate de control si știința calculatoarelor.
Prin organizarea acestor evenimente , prestigiul instituției creste, alături de expunerea
acesteia în comunitatea științific ă. Pentru o universitate este foarte important ă organizar ea
acestor evenimente, deoarece se pot pune î n valoare rez ultatele activității de cercetare
realizată de profesori și chiar studenți. De asemenea , universitatea devine mai atractivă pentru
viitorii studenți.
Unul din factorii importanți pentru succesul unui eveniment științific este reprezentat
de planificarea ev enimentului. Aceast ă planificare face referință la pregătirile dinaintea
evenimentului științi fic și desfășurarea acțiunilor î n timpul evenimentului.
Fiecare persoană care face parte din echipa de organiz are are roluri bine stabilite
cărora le vor corespu nde sarcini de r ealizat în timpul pregătirilor și î n timp ce evenimentul
propriu -zis se desfășoară. Conform recomandărilor IEEE pentru conferințe avem următoarele
roluri:

5
– Responsabilul general (general chair ): acesta este numit de organizația care
sponsori zează evenimentul. El/ea este responsabil/ă cu alegerea locației. Numește
șefii altor comitete care fac parte din organizare .
– Trezorier : În funcție de mărimea conferinței, trezorierul va trebui să se asigure c ă
toate cerințele financiare sunt îndeplinite . Cerințele pot include deschidere a unui
cont bancar, taxe, cheltuieli, rapoarte financiare.
– Responsabilul de program (Program chair): este responsabil de programul
conferinței .
– Responsabil de publicații : Coordonează publicațiile confe rinței ce pot include
lucrări, sumarii etc.
– Responsabil relații publice (Publicity & Public Relations Chair ): Rol în
promovarea evenimentului. Este contactul cu publicațiile media. De asemenea , se
ocup ă și cu dezvoltarea unui pagini web pentru promovarea evenimentului și
partea de rețele sociale – pagina de Facebook, Twitter s.a.
În funcție de mărimea evenimentului ș i scopul acestuia responsabilii pot organiza
comitete cu care să lucreze. Aici nu este specificat un anumit număr sau comitete cu anumite
funcții , ele organizându -se în funcție de necesități.
Însă, planificarea nu este o sarcină ușoar ă, acesta fiind proporțională cu mărimea
evenimentului, adică cu cât evenimentul este mai complex, cu atât este mai dificil de
planificat fiecare aspect ale ace stuia. Pentru o planificar e bună , au apărut aplicații de
management al timpului, unele chiar dedicate pentru evenimentele științifice de tip conferințe,
cum ar fi Easy Chair.
În următoarele capitole îmi propun să descriu câteva sisteme dedicate pentru
conferințe. Aceste sisteme conț in și elemente de management al timpului cum ar fi sistem de
notificari, planificator și altele.
De asemenea voi realiza o aplicație web pentru gestionarea timpului în cadrul unui
eveniment. Aplicația va permite crearea evenimentului, alegerea persoanelor care s ă facă
parte din comitetul de organizare. Se vor putea asigna task -uri pentru fiecare persoan ă, acestea
vor avea posibilitatea de a marca statutul taskului, adică „efectuat ”, „în lucru ”, „nu m -am
apucat de task ”. Se va implementa și un sistem de notificări prin email.

6

Cap. 1 Analiza sistemelor existente
1.1 Sisteme de management al evenimentelor științifice

În acest capitol vor fi prezentate câteva elemente de management al timpului și
sisteme de management al timpului. Adițional sunt prezentate tr ei sisteme de management al
timpului pentru evenimente științifice si anume EasyChair, Open Conf și Primoris .
Managementul timpului se referă la procesul de planificare ș i control asupra timpului
aloca t desfășurării unor activități ce vor duce la realizar ea unui obiectiv. Scopul este creșterea
producti vității și a eficienței . Există o mult itudine de tehnici și sisteme care au drept scop
îmbunătățirea activităților de management al timpului .
Sistemele informatice de management al timpului sunt reprezentate de aplicații î n care
se regăsesc elemente care ajută î n plani ficarea unei activități. De exemplu , aplicațiile pot
conține un planificator de sarcini (task scheduler), calendar. De asemenea , pot fi trimise
automat e -mail-uri de reamintire (email reminder) . Acest e aplicații pot fi clasificate î n
aplicații web – interfaț a lor este re dată de un browser, aplicații stand – alone – se instalează pe
calculator si aplicații mobile, destinate smartphone – urilor și tabletelor .
Planificarea unui eveniment științific e ste un exemplu î n care aplicațiile informatice
sunt de mare ajutor. În cadrul unui eveniment științific se întâlnesc diferite sarcini cu
deadline -uri stricte care trebuie s ă fie îndeplinite de persoanele cărora le sunt alocate.
Neîndeplinirea sarcinilor în ainte de deadline ar putea întârzia evenimentul.
Pentru aceste tipuri de evenimente s -au dezvoltat aplicații tip , dintre care se po t
menționa EasyChair, Open Conf. Acestea sunt aplicații specializate pe domeniul
evenimentelor științifice și se deosebesc p rin gama de funcționalități de aplicații le generale de
management al timpului cum ar fi TODOIST .

EasyChair este unul dintre cele mai cunoscute și utilizate sisteme de management al
conferințelor. Acesta are funcții care permit:
 Managementul și monitoriza rea;
 Trimiterea automată a lucrărilor științifice ;

7
 Evaluarea acestora ;
 Trimitere de recenzii ;
 Trimitere de mail -uri;
 Generarea ș i publicarea programului conferinței ;
 Generare de broșuri ale conferinței .
Trebuie menționat c ă aplicația suportă două modele. Modelul standard cu un singur
comitet de program ș i modelul multi -track pentru conferințele care au mai multe track -uri cu
fiecare track având propriul sau comitet .

Fig. 1 .1 Pagina de home a aplicatiei EasyChair
Instalarea aplicației – EasyChair este o aplicație web, rulând î ntr-un browser deci, nu
necesită instalare pe calculator .
Accesul î n aplicație se fac e prin înregistrare , însă pentru a putea utiliza
funcționalitățile acesteia utilizatorul tr ebuie să fie membru în comitetul de organizare al unei
conferințe . Pentru a fi membru î n comitetul de organizare trebuie ca adresa de email a

8
utilizatorului sa fie adăugată de președintele conferinței. Aplicația este oferită în mai multe
ediții, fie care din aceasta corespunzâ nd unei versiuni .
OpenConf este o ap licație web pentru managementul unui eveniment științ ific.
Principalele funcții ale aplicației cuprind trimiterea de lucrări, asignarea acestora către
membrii din comitetul de evaluare, evaluarea lucrărilor cu opțiuni precum respingere,
acceptare, bidding, selecția lucrărilor, creare program eveniment cu doua versiuni – desktop și
mobil precum și disponibilitatea aplicației în mai multe limbi străine.

Fig. 1.2 Pagina principală a OpenConf
Aplicația este disponibilă în trei ediții, fiecare ediție diferenți indu-se prin
funcționalități și preț. Community Edition este versiunea gratuită. Acesta oferă
funcționalitățile de bază prezentate în primul paragraf. Alături de această versiune mai sunt
prezente și edițiile Plus Edition și Profesional Edition, acestea fi ind versiuni cu plata și, spre
deosebire de prima ediție a aplicației, oferă un set mai larg de funcționalități precum diferite
moduri de acceptare, asignare automată, verificare anti plagiat și altele.

9

Fig. 1.3 Edițiile aplicației OpenConf

Instalarea a plicației
Spre deosebire de EasyChair, Open Conf poate fi și instalată pe un server a l unei
universități. Ediția care poate fi descărcată este Community Edition. Aplicația necesit ă PHP
minim versiunea 5.3.7 si MySQL 5+ sau MariaDB 5+ pe serverul fizic.
De asemenea , aplicația poate fi rulată precum EasyChair – fără a fi descărcată .
Accesul î n aplicație . Trebuie menționat c ă o parte din funcționalitățile aplicației pot fi
testate cu folosind un cont de demonstrație , restul de funcționalități fiind dezactivate .
Pe prima pagina a contului de demonstrație se poate vedea un program al
evenimentului. Autorii lucrărilor pot trimite submisii, pot edita detalii de identificare precum
numele autorului, titlul academic, organizația, topicul î n care se încadrează lucrar ea, ce a
trimis, rezumatul lucrării precum și altele . De asemenea , pot să încarce fișiere, pot să retragă

10
lucrarea sau s ă verifice statusul acesteia, dacă a fost acceptată sau nu precum ș i comentariile
membrilor din comitetul de evaluare .

Fig. 1.4 Pagina participant conferință
Membrii comitetului de recenzie și program se pot loga. Prin logare pot vedea
lucrările trimise, le pot evalua. Se o feră ș i posibi litatea de a selecta o lucrare ș i persoana care
să o evalueze. Membrii com itetului pot discuta între ei despre o anumit ă submisie precum și
alte facilită ți. În plus , aceștia își pot edita detaliile despre ei, pot trimite un email președinte lui
conferinței .

11

Fig. 1.5 Pagina membri comitet de recenzie
Președintele de conferință are controlul complet asupra evenimentului. Acesta poate să
editeze detaliile despre eveniment, poate să adauge module precum: asignare automată,
CAPTCHA (metodă de securitate), discuții, verificare anti plagiat și multe altele. D e
asemenea, poate să vadă detalii despre statutul tuturor submisiilor, are posibilitatea de a
adăuga sau elimina membri din diferite comitete, are opțiuni de selecție a lucrărilor. Mai sunt
puse la dispoziție setări de Deschidere sau Închidere a conferințe i, creare și editare program și
altele.

12

Fig. 1.6 Pagină președinte conferință

Primoris (Primus Inter Pares ) – un alt sistem de management al evenimentelor.
Acesta pune la dispoziția utilizatorilor funcții precum submis ie de lucrări, recenzii ale
acestora și rolurile clasice ale membrilor comitetului de organizare ale unei conferințe .

Instalarea aplicației
Primoris este o aplicație web, deci nu necesită instalare pe un calculator si nici nu
poate fi descărcată și pusă pe un server precum OpenConf. Se recomandă o rezoluție de
minim 1024 pe 768 pentru o experiența vizuală optimă.

13

Fig. 1.7 Pagina principal ă a aplicației Primoris

Accesul în aplicație
Este asemănător cu celelalte aplicații. Utilizatorul trebuie s ă își creeze un cont. Spre
deosebire de OpenConf nu mai este prezent un cont demo pentru testarea anumitor
funcționalități, deci utilizatorul trebuie s ă fie membru într -un comitet de organizare al unei
conferințe .
Fig. 1.8 Pagina utilizatorului – limitată.

14

Fig. 1.9 Pagina editare detalii de spre utilizator

Comparând cele trei sisteme de management al conferințelor , cu scopul de a avea o
perspectiva clară asupra funcționalităților lor , pot fi remarcate o serie de asemănări și
deosebiri sintetizate în continua re:
Asemănări
 Toate cele trei aplicații prezentate oferă suportul informatic necesar pentru
organizarea si planificarea cu succes a evenimentelor științifice ;
 Aplicațiile sunt gratis, însă pentru setul complet de funcții va fi nevoie de
modificarea licențe i (EULA) .
Deosebiri
 EasyChair și Primoris necesită ca utilizatorul să iși creeze un cont , ba chiar m ai
mult, acesta trebuie sa fie în comitetul de organizare a evenimentului pentru a
avea acces la funcțiile aplicațiilor , spre deosebire de Op enConf care poa te fi
testată fă ră a avea nevoie de cont sau de a fi membru ;

15
 Deși ambele aplicații au propriul site , OpenConf poate fi descărcat ă
(descărcarea fișierelor) și rulată pe un server local.

1.2 Sisteme generale pentru management ul timpului

TODOIST este o ap licație web care o voi încadra la categoria de sistem de
management al timpului. Pune la dispoziție funcții precum adăugarea de task -uri, crearea de
categorii pentru acestea, sistem de notificări prin email și în aplicație.
De asemenea , pentru a î l face pe utilizator să efectueze acele task -uri oferă și o fu ncție
de recompens ă, adică ”puncte karma” (degeaba adaug un task dacă eu nu îl efectuez în
realitate). Acest concept este cunoscut sub numele de ”gamification”. Este împrumutat din
jocurile video și as emănător cu jucătorul care primește puncte pentru fiecare obiectiv
îndeplinit așa și utilizatorul primește puncte pentru fiecare sarcină efectuată. Acest concept
este prezent în mai multe aplicații .
Google Calendar face parte din suita de productivitate a companiei. Este un calendar
în care se pot adăuga diferite evenimente/sarcini. Notificări trimise pe mail plus diferite
moduri de afișare sunt prezente. De asemen ea, calendarul are posibilitatea de a folosi alte
aplicații Google cum ar fi Hangouts.
De asemenea se pot adăuga multiple persoane pentru evenimentul respectiv
Acestea însă sunt sisteme generale făcute cu scopul de a ajuta utilizatorii s ă își
organizeze mai bine timpul și să își plani fice mai eficient sarcinile spre deosebire de sistemele
preze ntare in subcapitolul 1.1 care sunt specifice pentru organizarea conferințelor
1.3 Elemente predefinite pentru evenimente științifice organizate de IEEE

Unul din primii pași care trebuie făcuți în vederea organizării unei conferințe este
reprezentat de fo rmarea unui comitet, alcătuit din persoane responsabile de fiecare aspect al
evenimentului. Institute of Electrical and Electronics Engineers definește cele cinci roluri pe
care per soanele care fac parte din comitetul de organizare trebuie s ă le aibă și an ume:
 General chair (președintele conferinței) ;

16
 Finance Chair and Treasurer (trezorier );
 Program Chair (responsabil de program) ;
 Publications Chair (responsabil de publicații) ;
 Publicity & Public Relations Chair (responsabil relații publice) ;
Aceste roluri se găsesc în aplicația prezentat ă și pot fi asignate de președintele de
conferință către membri comitetului. În plus , se mai afl ă și rolul ”Others”. Acesta poate fi un
rol, dar spre deosebire de cele cinci este specific conferinței . Exe mplu de rol la categoria
”Others” – voluntari, care pot fi studenți.
De asemenea există o serie de task -uri predefinite pentru orice eveniment IEEE.
Aceste taskuri sunt grupate după rolurile persoanelor din comitetul de organizare.
Task -urile se încadreaza in urmatoarele categorii:
– Inițializare conferință
– Locul unde se va desfășura evenimentul
– Sponsorizări și aprobare de buget
– Închidere conferință

17

Cap. 2 Prezentarea tehnologiilor folosite

Acest capitol este dedicat prezentării tehnologiilor folosite p entru a realiza acest ă
aplicație.
Când auzim termenul de aplicație web ne gândim la o aplicație a cărei interfața este
randată cu ajutorul unui browser. Se poate face o asemănare cu un iceberg – ceea ce vede
utilizatorul (front -end), este partea care iese la suprafața apei, iar partea din iceberg de sub
apă, care este mult mai mare reprezintă back -end-ul aplicației.
Google Docs, o aplicație web pentru editare de documente cu o interfața simpla dar
ceea ce este in spate, partea de server este foarte comple x.

2.1 Front – End

Front end – ul unei aplicații web se referă la ceea ce randează browser -ul sau , mai
expli cit, ceea ce vede utilizatorul î n fereastra navigatorului.
Pe partea de front -end (client) au fost folosite următoarele tehnologii:
– HTML5
– CSS3
– Javascript
– Bootstrap
HTML5 este un limbaj de marcare. Acesta este procesat de motorul browser -ului rezultând
în afișarea unei pagini web. Exemple de elemente html: div, table, p și altele. Toate
elementele de interfaț ă prezentate în capitolul trei sunt de fa pt construite fosind aceste tag -uri
și au aplicate diferite stiluri reprezentând font -uri, culori, dimensiunni și compor tament al
acestora folosind CSS și Javascript .

18
CSS este folosit pentru stilul aplicației, adică culorile, font -urile și modul în care
elementele se poziționează pe pagină la diferite dimensiuni ale ferestrei browser -ului (lucru
determinat și de rezoluția ecranului) .
Javascript este un limbaj de programare folosit pentru dezvoltare web. Acesta rulează
pe client și determină comportamentul p aginii web respective (de exemplu, utilizatorul dă
click pe un buton și apare un mesaj).
În aplicație, Javascript este folosit pentru transportul datelor spre server și de la server,
validarea formularelor – datele sunt în formatul corect.
Trebuie mențio nat că în aplicație mai sunt prezente și JQuery, bibliotecă Javascript
care simplifică programarea pe partea de client. Acest ă bibliotec ă poate select a diferite
elemente de pe pagină folosind selectori de tip id, clasa, nume, gestiune de evenimente și
anim ații.
Bootstrap este un framework pentru dezvoltarea interfețelor site -urilor și aplicațiilor
web. Acesta permite ca aplicația sa fie ”responsive”, adică se adaptează la rezoluții diferite. In
felul acesta se poate nav iga prin aplicație de pe telefon, tab letă – dispozitive cu ecrane de
dimensiuni mai mici , fără a fi nevoie de realizarea unei versiuni pentru mobil.

2.2 Back -end și baza de date

Acest ă componentă este responsabilă de partea de logică, adică ce trebuie s ă facă
server -ul când primește o soli citare de la client. Acesta solicitare este cunoscută sub numele
de HTTP request. Cererile HTTP sunt reprezentate de PUT, POST, GET, DELETE. Acestea
sunt cele mai comune.
De exemplu , completarea unui formular se realizează folosind cererea POST și pentru
aducerea de informații se folosește GET .
În back -end se află interacțiunea cu baza de date și gestiunea conturilor utilizatorilor.
Tehnologiile implicate aici sunt:
 C#;
 Entity Famework;

19
 SQL Server.

C# este un limbaj de programare orientat pe obiecte dezvol tat de Microsoft. În acest
limbaj a fost implementată partea logică a aplicației – interacțiunea cu baza de date, crearea
conturilor, logare, privilegii.
Entity Framework are rolul de a face legătura la baza de date și interacțiunea cu
aceasta. De asemenea , traduce tabelele din baza de date în clase ale aplicației. Pune la
dispoziția dezvoltatorului trei metode de abordare – database first, model first și code first.
Ultima abordare este cea folosită în aplicație. Code first se referă la faptul că interacți unea
programatorului cu baza de date se face scriind cod C#. De exemplu , pentru a adăuga un tabel
se construiește o clasă, pentru o interogare se folose ște LINQ (language integrated query),
asemănătoare din punct de vedere sintactic cu SQL.

var todayTask = from task in pl.Tasks
select new
{
task.Eveniment,
task.Stare_Task,

task.Descriere_Suplime
ntara
}

În exemplul de mai sus avem o interogare LINQ care returnează task -urile în ziua
curentă ( a se observa asemănarea cu SQL).
Sql Server este serverul de baze de date al aplicației.
Alături de tehnologiile prezentate mai sus, se alătură ASP.NET MVC și Kendo UI.
ASP.NET MVC reprezintă framework -ul în care s -a realizat dezvoltarea. Oferă funcționalități
precum diferite mecanisme de logare , ca de exemplu : logare cu rețele sociale, securitate,
scalabilitate (odată cu creșterea numărului de utilizatori aplicația trebuie sa facă față, să
scaleze).

20
De asemenea , folosirea unui framework aduce beneficii legate de securitatea
aplicației. Atacuri de genul ”cross site scripting” – injectare de cod javascript, posibil malițios
sau atac uri de tipul ”Sql Injection” – acces neautorizat la baza de date sunt blocate sporind
securitatea aplica ției.

Fig. 2.1 ASP.NET blochează un atac informatic

Kendo UI e ste un framework special , făcut pentru interfețe web moderne , cu o mare
varietate de st iluri. Pune la dispoziție diferite wi dget-uri precum calendar, date -time picker,
grid (un tabel cu funcții de sortare, căutare) pentru afișarea datelor sub o form ă convenientă
pentru utilizator.
Permite adăugarea de liste, vizualizare de tip grid(forma ta belară) a datelor cu
posibilitate de editare, sortare, grupare, adăugarea de elemente de managemant al timpului
precum calendar, planificator de taskuri.

21
Implementarea aplicației
Aplicația a fost implementat ă folosind arhitectura MVC. Model View Cont roller este
un model arhitectural, care împarte aplicația în trei părți: modele, view -uri și controller .
Există mai multe versiuni ale acetei arhitecturi precum Model -View -Adapter, Model -View –
Presenter, Model -View -Viewmodel.

Fig. 2.2 Model Vi ew Controller
• Model – reprezintă clasele aplicației. Acestea sunt reprezentări ale tabelelor din baza
de date. În proiect există un director Models , în care se află aceste fișiere .
• View – reprezintă pagini web. Ele sunt ceea ce randeaz ă browser -ul. Tr ebuie să fie
dinamice, adică să arate informații î n funcție de ce utilizato r s-a logat, ce acțiuni poate să facă
etc. Prin intermediul lor utilizatorii interacționează cu aplicația . De asemenea gestionează și
modul în care sunt afișate informațiile prin fo losirea limbajului Javascript și a limbajului de
marcare și de stil HTML si CSS.
• Contro ller – grupează partea de logică a aplicației. Logica de logare, interacțiunea cu
baza de date este gestionată de controller . În aplicație fișierele care sunt în direc tor-ul
Controllers au numele d e ”UserGivenNameController.cs”, unde Controller este adăugat
automat. De asemenea acesta actualizează și View -ul bazat pe acțiunile utilizatorului.

22

Fig. 2.3 Structura proiectului
Pentru transportul datelor de la partea de server la cea de client se folosește JSON
(Jvascript object notation). Acesta este un format de reprezentare a datelor folosind perechi de
tip atribut – valoare.

23

Fig. 2.4 Aplicația POSTMAN afișând datele in format JSON
În imagine se obser vă evenimentul IEEE Conf și este exact ceea ce afișează și
aplicația într-o forma dorită de un utilizator, forma tabelar ă cu informațiile organizate în
tabel. Javascript se ocupă de prelucrarea datelor care vin sub acel format.

24

Cap. 3 Prezentarea aplic ației dezvoltate
3.1 Modelarea aplicației

În acest subcapitol se va prezenta diagrama de clase, diagrama bazei de date precum și
organizarea proiectului .
Structura proiectului cuprinde următoarele directoare:
 Content – aici se g ăsesc fișierele de stil, cu extensia .css ;
 Controller – conține fișierele în care este implementată logica de business a aplicației ;
 DTO – Data Transfer Object – reprezintă clase create de programator pentru nevoi
specifice ;
 Fonts – fonturile folosite ;
 Images ;
 Migrations – migrați ile sunt folosite pentru a actualiza baza de date. În capitolul 3 s -a
prezentat Entity Framework cu abordarea ”Code First”. Folosind această abordare se
interacționează cu baza de date folosind cod C#. De exemplu , pentru a ad ăuga un tabel
se creează o clas ă cu câ purile dorite. Apoi se efectuează operația de migrare și apoi
actualizarea bazei de date ;
 Models – clasele corespunzătoare tabelelor din baza de date ;
 Scripts – fișierele Javascript ;
 Utilities – se afla o metoda care aplica funcția SHA1 asupra paro lei utilizatorului și o
funcție de comparare a șirurilor de caractere ;
 Views – paginile web .

25

Fig. 3.1 Diagrama UML pentru Controller -e

Relația dintre clasele create de programator și clasa Controller , care se afl ă implicit în
framework este relaț ie de generalizare .

Fig. 3.2 Clase controller

Figura ”Clase controller” reprezintă clasele cu metodele din directorul Controller. În
ele se află logica aplicației. Acestea moștenesc clasa ”Controller” care conține metode care
răspund la cererile HTTP. A plicația trebuie să răspundă la cererile HTTP.

26

Fig. 3.3 Clasele corespunzătoare tabelelor din baza de date

27
Clasele din diagrama de mai sus au același nume cu tabelele bazei de date . Acest lucru
este realizat de Entity Framework care face ace astă tradu cere. Însă, pentru a interacționa cu
baza de date prin clasele de mai sus este nevoie de contextul de baze de date.
Acesta este î n clasa ProiectLicenta.cs care moștenește ”DbContext”. Alături de ace astă
clasa, DbContext , mai avem DbSet . DBSet <TEntity> unde TEntity – clasă din directorul
Models reprezintă o colecție a tuturor entităților în context. entitățile sunt reprezentate de
clasele de mai sus. Acestea pot fi interogate precum tabelele unei baze de date. De asemenea
Metoda ”OnModelCreating ” reprezint ă o traducere a relațiilor dintre tabelele din baza de
date. Inițial acesta a fost generata deoarece baza de date a fost creată înaintea aplicației . De
asemenea prin se pot adăuga tabele în baza de date prin adăugarea claselor dorite si stabilirea
de relaț ii intre ele prin specificare in metoda respectivă.
De asemenea , exist ă posibilitatea de a defini relațiile î ntre tabele .

28

Echipa_Eveniment
Id
Id_Eveniment
Id_UtilizatorEveniment
Id
Denumire
Data_Start
Data_Sfarsit
Activ
Id_MO
Functie
Id
DenumireMembruEchipaXTask
Id_Task
Id_UtilizatorTask_Functie
Id
Id_Functie
Id_Tip_TaskTasks
Id
Id_Tip_Task
Id_Eveniment
Descriere_Suplimentara
Termen
Data_Creare_Task
Data_Sfarsit_Task
Stare_Task
Activ
Tip_Task
Id
Denumire
Utilizatori
Id
Nume_Utilizator
Email
Parola
Id_Functie

Fig. 3.4 Diagrama bazei de date a aplicației

3.2 Atribuirea conturilor de utilizator conform rolurilor tipice IEEE
Cele cinci roluri definite de IEEE sunt prezente în sistem. Acestea pot fi
asignate de chair (președintele de conferinț ă) numai către membri care fac parte din comitetul
de organizare.

29

Fig. 3.5 Asignare rol

3.3 Descrierea funcționalităților

Acest capito l cuprinde prezentarea propriu -zisă a aplicației de management al
timpului. Ideea pentru proiectarea acesteia a apărut după ce am folosit TODOIST – aplicație
de tip to-do (listă cu lucruri de făcut) și manager de task -uri și, după o perioad ă de rafinare a
ideii, am hotărât să o fac mai specifică, pentru anumite tipuri de evenimente – cele științifice.
Pentru a fi mai apropiată de aplicațiile prezentate, o parte dintre funcționalități se
regăsesc, însă trebuie facută o precizare importantă și anume: sistemul dezvoltat în lucrare nu
este un sistem de management al conferințelor – nu prezintă setul de funcții necesare pentru
acest lucru.
Ce set de funcții are aplicația?
 Crearea evenimentelor
 Formarea echipei care se va ocupa de evenimentul respectiv
 Adăugarea, editarea și vizualizarea evenimentelor, task -urilor
 Mod de vizualizare a sarcinilor pe un planificator de sarcini (task -scheduler)
 Trimitere de mesaje e -mail direct din aplicație

30

Fig. 3.6 Home page

Accesul în aplicație se face accesând link -ul Intră in aplicație . Utilizatorul trebuie să
își creeze un cont. În About este prezentată o scurt ă descriere și în Contact se găsesc datele de
contact ale autorului.

Fig. 3.7 Creare eveniment
Aceast ă pagină pune la dispoziție formularele pentru crearea evenimen tului precum și
pentru actualizarea acestuia. De asemenea, tot din acest ă pagină se asignează echipa de
eveniment. Pentru un eveniment deja creat, se pot vedea personale implicate în organizare.
Submeniurile paginii sunt următoarele:
 Creare eveniment , de u nde se poate adăuga un eveniment nou ;
 Actualizare eveniment oferă posibilitatea de a efectua o actualizare dacă acest lucru se
impune ;
 Asignați echipa pentru eveniment – se asociază echipa de organizare pentru
evenimentul creat ;

31
 Vizualizare echipă .

Fig. 3.8 Fereastra principală a meniului de adaugare a evenimentelor

32

Fig. 3.9 Fereastra de editare –
Această fereastră apare doar când se apasă cu mouse -ul pe evenimentul din tabel (cel
selectat) .

33

Fig. 3. 10 Membr ii comitetului de organizare

Fig. 3.11 Adăugarea, editarea si vizualizarea de task -uri asociate evenimentului
Pagina cuprinde crearea de task -uri, vizualizarea acestora și editarea lor.

34
Un task poate s ă fie realizat de mai mulți membri din comitet ul de organizare dac ă
este compatibil cu funcția acestora.

Fig.3.12 Lista tuturor task -urilor plus persoanele care trebuie s ă le efectueze

Fig. 3.13 Vizualizare personalizat ă a task -urilor

Fereastra Planificator de task -uri (task scheduler)
Planifi catorul de task -uri este o modalitate de a afișa într -o manieră asemnătoare unui
calendar sarcinile care trebuie efectuate. Folosind acest planificator, echipa de organizare își
va gestiona mai eficie nt activitățile, va efectua task -urile associate în timp cât mai scurt.
De asemenea, există și opțiunea ”Show business hours”.

35
Planificatorul implementat ofer ă patru modulri de vizualizare și anume :
 Day – task-ul este afișat pe perioada unei zile;
 Week – sarcini afișate pe săptămîni;
 Month – se arată luna cu t oate task -urile;
 Agenda.

Fig. 3.1 4 Vizualizare de tip ”Day”

Fig. 3.1 5 Vizualizare de tip ”Week”

36

Fig. 3.1 6 Vizualizare ”Month”

Fig. 3.1 7 Vizualizare sub forma ”Agenda”

37
Formularul de email
Acest formular permite trimiterea rapidă a unu i email direct din aplicație:

Fig. 3.18 Formular trimitere mail

38

Concluzii și potențial aplicativ

Informația este prezentă în cantități mari, însă ea trebuie prelucrat ă, trecut ă prin filtrul
gândirii și extr ase cele mai relevante și interesante lucr uri pentru cititorii acestei lucrări.
Din punct de vedere tehnic, lucrând la aplicație am învățat s p lucrez cu framework -ul
prezentat în capitolul ”Prezentarea tehnologiilor folosite” folosind funcționalitățile relevante
pentru aplicație. De asemenea , am avut ocazia să folosesc anumite facilități ale limbajului C#
folosite de programatori profesioniști cum ar fi LINQ care au crescut prod uctivitatea, lucru
important în dezvoltarea software. Limbajele de programare evoluează rapid, pun la dispozi ția
programa torilor facilitați care ajută la creșterea vitezei de dezvoltare a aplicațiilor și la
productivitate.
Ce am lucrat
 Am realizat pagina de acces în aplicație ;
 Am creat pagina Profil cu meniu pentru acces la funcțiile aplicației. Anumite
elemente din meniu a par în funcție de utilizatorul logat ;
 Am realizat formularul de adăugare eveniment, asignare echipă pentru acel
eveniment și vizualizare a acesteia ;
 Creare pagin ă de adăugat task -uri, vizualizare a tuturor task -urilor și
vizualizare a acestora în funcție d e ce membru din echipa de organizare este
logat în sistem, editare task -uri;
 Am implementat un planificator de sarcini cu vizualizări multiple ale acestora ;
 Exist ă posibilitatea de a trimite mail direct din aplicație ;
 Este prezent și un landing page pentru a informa utilizatorul despre această
aplicație plus datele de contact ale autorului .

39

Potențial aplicativ
În Introducere s -a pus întrebarea cu privire la implementarea acestui sistem într-o
facultate. Răspunsul este DA! Acest sistem poate s ă fie imp lementat cu succes în cadrul
Facultății de Automatică și Calculatoare.
Scopul prezentei aplicații este s ă ajute la o mai bun ă organizare a sarcinilor care
trebuie îndeplinite pentru organizarea evenimentelor științifice și de a avea o mai bun ă vedere
asupra a ceea ce trebuie făcut.
Aplicația poate fi extinsă, se pot adăuga module ca cele prezentate în capitolul 1,
subcapitolul 1.1. Dezvoltarea acestei aplicații se poate desfășura pe parcursul programului de
master unde există și mai mult timp la dispoziț ie.

40

Bibliografie

1. Harrison N. – ASP:NET MVC Succinctly , Morrisville, North Carolina, Syncfusion, 2015;
2. Peres R. – Entity Framework Code First Succinctly , Morrisville, North Carolina,
Syncfusion, 2014;
3. Roberts J. – LINQ Succinctly , Morrisville, North Carolina, Syncfusion, 2015;
4. *** – A Guide to the project Management Body of Knowledge , Fourth Edition, 2008;
5. *** – Unified Modeling Language, Superstucture: Version 2.2 ;
6. https://www.ieee.org/conferences_events/conferences/organizers/roles_responsibilities. ht
ht;
7. https://www.computer.org/web/conferences/tasks -and-roles .
8. https://msdn.microsoft.com/en -us/librar y/gg696460(v=vs.113).aspx
9. http://www.entityframeworktutorial.net/

Similar Posts

  • Domeniul de master: Științe ale Comunicării [614554]

    1 Universitatea Politehnica Timișoara Facultatea de Științe ale Comunicării Domeniul de master: Științe ale Comunicării Specializarea Comunicare, Relații Publice și Media Digitală (interdisciplinar cu inginerie electronică și telecomunicații) Lucrare de disertație Conducător Științific Ș.l. dr. ing. Muguraș MOCOFAN Candidat: [anonimizat] 2017 2 MEDIA DIGITALĂ ȘI MANUALUL DE IDENTIFI CARE VIZUALĂ AL ORGANIZAȚIILOR Studiu de caz:…

  • Profesor indrumator: Absolvent: Asist. Dr. Ing. Adrian Pascu Vlădășel Robert Gheorghe Dorel CUPRINS: Partea I:… [305589]

    UNIVERSITATEA POLITEHNICA BUCUREȘTI FACULTATEA DE INGINERIE MECANICĂ ȘI MECATRONICĂ SPECIALIZAREA OPTOMETRIE PROIECT DE DIPLOMA Profesor indrumator: Absolvent: [anonimizat]. Adrian Pascu Vlădășel Robert Gheorghe Dorel CUPRINS: Partea I: Introducere………………………………………………………………………3-4 1. Anamneza……………………………………………………………………………5-18 1.1. Istoria cazului ……………………………………………………………………………………..6 1.2.Istoria vizuală………………………………………………………………………………..7 1.3. Istoria vizuală familiară……………………………………………………………………8 1.4. Starea de sănătate……………………………………………………………………………9 1.5.Aparența fizică și psihologică………………………………………………..12 1.6.Analiza nevoilor vizuale…………………………………………………….15 1.7.Caracteristici antropometrice…………………………………………………16 2. Inspecția…

  • Scolioza In s Mtrn [306250]

    Referat realizat de student: [anonimizat], [anonimizat] 204 A Facultatea de Științe ale Mișcării Sportului și Sănătății Specializarea: Kinetoterapie și motricitate specială CUPRINS I. Date despre afectiune I.1. Definiția scoliozei I.2. Cauzele apariției I.3. Semne I.4. Simptome I.5. Stadii de evoluție II. Evaluarea pacientului II.1. Evaluarea clinică (RMN, radiografii) II.2. Evaluarea funtională (teste funcționale) III. Diagnostic…

  • Șl.dr. Morărița Sânziana [309391]

    UNIVERSITATEA VALAHIA TÂRGOVIȘTE FACULTATEA DE INGINERIA MEDIULUI ȘI ȘTIINȚA ALIMENTELOR SPECIALIZAREA INGINERIA ȘI PROTECȚIA MEDIULUI ÎN AGRICULTURĂ PROIECT DE DIPLOMĂ Coordonator științific: Șl.dr. Morărița Sânziana Absolvent: [anonimizat] 2017 [anonimizat]: Șl.dr. Morărița Sânziana Absolvent: [anonimizat] 2017 ,,Deschideți-[anonimizat], [anonimizat]“ George Vâlsan CUPRINS Introducere………………………………………………………..………..5 Așezarea geografică……………………………………………………..7 [anonimizat] …………………………..12 Factorii ȘI PROCESELE PEDOGENETICE CE AU CONTRIBUIT LA FORMAREA ÎNVELIȘULUI…

  • Colecie iniiat i coordonat de Anatol Vidracu i Dan Vidracu [621659]

    Liviu ION *REBREANU Colec\ie ini\iat[ =i coordonat[ de Anatol Vidra=cu =i Dan Vidra=cu Concep\ia grafic[ a colec\iei: Vladimir Zmeev Coperta: Isai C`rmu REFERIN|E ISTORICO-LITERARE: Ov. S. Crohm[lniceanu, Lucian Raicu, Petru Mihai Gorcea, Alexandru Piru, Dumitru Micu, Mircea Zaciu. Grupul Editorial „Litera“ str. B. P. Hasdeu, mun. Chi=in[u, MD-2005, Republica Moldova tel./fax +(3732) 29 29 32,…