Sunteți pe pagina 1din 51

Academia de Studii Economice din Bucureti

Facultatea de Cibernetic, Statistic i Informatic Economic


Specializarea Informatic Economic

LUCRARE DE LICEN

Aplicaie destinat unei coli


de dans

COORDONATOR TIINIFIC
Paul Pocatilu
ABSOLVENT
Ileana Simona Scarlat

Bucureti 2016

Declaraie privind originalitatea


coninutului i asumarea rspunderii

Prin prezenta declar c rezultatele prezentate n aceast lucrare sunt n ntregime


rezultatul propriei mele creaii cu excepia cazului n care se fac referiri la rezultatele altor
autori. Confirm faptul c orice material folosit din alte surse (reviste, cr i, articole si site-uri
de Internet) este n mod clar referit n lucrare i este indicat n lista de referine bibliografice.

Cuprins
1.

Introducere............................................................................................................1

2.

Automatizarea gestiunii........................................................................................3
2.1. Dansul o manifestare artistic........................................................................3
2.2. Studiu de pia privind actualitatea domeniului................................................5
2.3. Probleme existente prestri de servicii...........................................................5
2.4. Aplicaii similare..............................................................................................7

3.

Tehnologii utilizate.............................................................................................10
3.1. ASP . NET.......................................................................................................10
3.2. Model-View-Controller (MVC)......................................................................12
3.3. Microsoft SQL Server.....................................................................................13
3.4. HTML, CSS, Javascript, jQuery.....................................................................14

4.

Prezentarea sistemului informatic.......................................................................17


4.1. Diagramele cazurilor de utilizare....................................................................18
4.2. Analiza sistemului informatic.........................................................................23
4.3. Proiectarea sistemului informatic....................................................................28

5.

Implementarea solutiei........................................................................................30

6.

Concluzii.............................................................................................................38

Bibliografie...................................................................................................................39
Anexa 1 cod surs controler evenimente...................................................................41
Anexa 2 - cod sursa view creare curs...........................................................................43

1. Introducere
Dansul reprezint o modalitate diferit de comunicare, al crui limbaj este creat din
sute de micri pe un fundal sonor, cu scopul de a crea bun dispozi ie i de a contribui la
meninerea unui corp sntos. Mai mult dect att, dansul ofer posibilitatea de exprimare a
potenialului fizic i psihologic al unei persoane prin creterea abilitii de exprimare a
gndurilor, ideilor, sentimentelor, prin simplificarea stabilirii unor relaii interpersonale, prin
conferirea unei energii aparte corpului i prin ajutorul oferit la minimizarea tensiunilor
acumulate pn la momentul actual [1] .
Analiznd aplicaiile existente deja pe pia n acest domeniu, constat c 90% dintre
acestea se adreseaz clienilor, oferind informaii cu privire la stilurile de dans oferite, tarifele
corespunztoare sau disponibilitatea cursurilor de dans n diferite intervale orare. Problema
identificat n cadrul prestrii acestui serviciu este inexistena unui sistem informatic care s
realizeze o gestiune automat a informaiilor, care s efectueze actualizarea informaiilor n
timp util de pe site-ul aferent, fr s fie necesar cutarea i compensarea n expresie
monetar a unei persoane specializate n programare. De asemenea, o alt problem
identificat este reprezentat de modul de comunicare cu clientul, aceasta putndu-se realiza
prin intermediul apelrii telefonice, respectiv prin trimiterea unor mesaje n format text,
implicnd astfel existena unei persoane al crei rol este dat de verificarea constant a
mesajelor primite i oferirea unui rspuns concordant.
Prezenta lucrare i propune s ofere o simplificare a procesului de gestiune a
informaiilor pentru o coal de dans prin minimizarea resurselor umane i a timpului de
procesare a informaiilor. Prin minimizarea resurselor umane fac referire la eliminarea
dependenei ntre furnizorii de servicii n domeniul dansului i dezvoltatorul aplicaiei web
destinat colii de dans. n acest fel, se reduce timpul de preluare a informa iei ce trebuie
modificat de ctre dezvoltatorul aplicaiei i se minimizeaz costurile suportate de furnizorii
serviciului, realizndu-se astfel o interdependen a ntregului sistem de gestiune a
informaiilor de o singur persoan ce nu deine cunotine n programare. n plus, aplicaia i
propune furnizarea informaiilor necesare unui client n alegerea cursului de dans n cadrul
cruia dorete s activeze i posibilitatea ulterioar de a efectua cereri de retragere din cursul
ales, respectiv cereri de editare a informaiilor furnizate la prima nscriere.
Coninutul lucrrii este structurat n patru capitole ce realizeaz analiza domeniului ales,
analiza tehnologiilor utilizate pentru implementarea soluiei informatice, proiectarea aplica iei
prin intermediul unor diagrame succinte i modul n care am realizat implementarea soluiei.

C a p it o lu l 2

Capitolul doi prezint un scurt istoric al dansului i beneficiile exercitate la nivel fizic i
psihologic asupra celui ce l practic, un studiu de caz privind actualitatea domeniului, o
form detaliat a problemelor cu care se confrunt furnizorii de servicii din domeniul dansului
cu soluiile identificate i o comparaie a aplicaiei curente cu alte aplicaii adiacente.
Menionez c necesitatea unei soluii informatice deriv din problemele specificate.
Concepte generale
Scurt istoric
Beneficii
Actualitatea domeniului
Probleme existente i
soluii identificate
Aplicaii similare

Figura 1.1 Structura capitolului doi

Figura 1.1 conine o structurare a informaiei din componena Capitolului doi.


Capitolul trei rezum informaiile cu privire la tehnologiile pe care le-am utilizat
pentru implementarea soluiei ce realizeaz integrarea aplicaiei web destinat clientului cu
aplicaia ce realizeaz o gestiune automat a site-ului aferent.
Capitolul patru descrie structura sistemului implementat i rolul acestuia n raport cu
problemele identificate.
Capitolul cinci ofer o detaliere a elementelor componente ale sistemului implementat,
descrie funcionalitatea fiecrui modul ce aparine sistemului, modalitatea de implementare a
principalelor fu.

2. Automatizarea gestiunii
2.1.

Dansul o manifestare artistic

Concepte generale
Dansul este perceput ca o modalitate de exprimare a gndurilor, sentimentelor, ideilor
ntr-o manier nonverbal ce cuprinde o varietate de gesturi, mimica, micri ritmice i poziie
a corpului. Mesajul transmis prin intermediul micrilor corporale reflect starea interioar a
dansatorului, starea acestuia de spirit avnd un impact semnificativ asupra informa iilor pe
care ncearc s le comunice publicului. Modul distinctiv n care dansatorii i execut
micrile se datoreaz strilor sufleteti ce i acapareaz la un moment dat.
Exist o multitudine de factori ce influen eaz manifestarea trilor unui
dansator prin intermediul micrilor ritmice, cum ar fi: imaginaia, gesturile mprtite pe
parcursul reprezentaiei i vestimentaia.
Scurt istoric
Din cauza faptului c nu au existat dovezi vizibile, nu se pot face afirmri cu privire la
anul n care a luat natere aceast form de manifestare. Joseph Jordania a asociat dansul cu o
form de identitate vizual i a afirmat c dansul a luat natere odat cu apari ia umanitii.
Din cele mai vechi timpuri, dansul coexist n ritualurile religioase, ceremoniilor vntore ti,
dar aceast form de manifestare era frecvent practicat i de rzboinici nainte de nceperea
luptei devastatoare.
Arta dansului a cunoscut o un prag maxim de dezvoltare n periada Rena terii,
fiind practicat de ntreaga omenire. n perioada respectiv a existat i o delimitare a stilurilor
de dans. De-a lungul timpului, dansul a fost perceput ca o modalitate de exprimare artistic i
este ntr-o permanen expansiune, aprnd la intervale scurte de timp noi stiluri de dans.
Beneficiile dansului
Dansul prezint beneficii multiple pentru sntatea mental i fizic a individului.
Printre acestea pot fi menionare se regsesc: scderea n greutate, combaterea depresiei,
ntrirea oaselor i tonifierea muchilor, ncetinirea mbtrnirii i protejarea sistemului
cardiovascular.
Dansul contribuie la scderea n greutate deoarece corpul depune un efort pentru a
efectua anumite micri corespunztoare unui stil de dans particular. n felul acesta, surplusul
de kilograme este diminat progresiv fr c individul s constate acest fapt.

Dansul contribuie la combaterea depresiei deoarece acesta provoac bun dispozi ie i


elimin tulburrile psihice instalate n creierul uman. Explicaia acestui fapt se datoreaz
faptului c micrile ritmice ajut la instalarea strii de echilibru a psihicului i eliminarea
tensiunilor emoionale existente pn la momentul actual.
Conform unui studiu realizat de instructorii de la coala de dans Madness Dance,
dansul contribuie la ntrirea oaselor i tonifierea musculaturii, rezultatul acestei cercetri
susinnd faptul c tractiunile i presiunile musculaturii exercitate n timpul dansului ajut la
prevenirea osteoporozei.
Dansul contribuie la ncetinirea procesului de mbtrnire deoarece micarea reprezint
un factor semnificativ al longevitii. Explicaia acestui fapt se datoreaz reducerii stresului
organic i psihic, cauza principal a procesului de mbtrnire
Dansul acioneaz ca un protector al sistemului cardiovascular deoarece n timpul
micrilor ritmice, btile inimii cresc treptat contribuind la intensificarea circulaiei, la
creterea gradului de oxigenare a organismului i la mbuntirea tonusului cardiovascular.
[2]
Distrac
ie

Sntat
e

Beneficii
le
dansului

ncrede
re

Via
social

Relaxar
e

Figura 2.2 Beneficiile dansului

Figura 2.2 ilustreaz beneficiile multiple pe care dansul le are asupra oamenilor ce l
practic n mod frecvent.

2.2.

Studiu de pia privind actualitatea domeniului

Potrivit unui studiu realizat de WGBH Television, industria colilor de dans se afl
ntr-o continu expansiune, dat fiind faptul c peste un milion de oameni pe an doresc s
urmeze cursuri de dans la un nivel profesional. Acelai studiu afirm c ncepnd cu anul
1985, numrul amatorilor n acest domeniu artistic a crescut cu cel puin 25% n fiecare an.
(Dance Studio Business Plan) [3]

1985

1986

> 25%

1987

> 25%

...

2015

2016

> 25%

Figura 2.3 Evoluia industriei colilor de dans

Figura 2.3 evideniaz tendina industriei colilor de dans de la un an la altul.


n Romnia se nregistreaz o cretere a numrului de angajai din domeniul dansului,
ceea ce implic o cretere a numrului de coli destinate acestui domeniu artistic. Conform
articolului (4) publicat n ziarul Gndul Financiar, se constat c Bucureti reprezint centrul
cultural deoarece acesta deine cea mai mare pondere de salariai n domeniul dansului,
actoriei i muzicii. n anul 2013 s-a nregistrat o cretere de aproximativ 1% fa de anul
precedent privind numrul salariailor din domeniile menionate anterior. Pe locul doi n topul
judeelor cu cei mai muli artiti se afl Cluj, urmat de Timi, acesta din urm nregistrnd o
cretere de 3% n anul 2013 fa de anul precedent.

2.3.

Probleme existente prestri de servicii

Problema principal cu care se confrunt majoritatea furnizorilor de servicii este


stocarea persistent a unui volum mare de date, nsoit de disponibilizarea unor informa ii de
interes general i posibilitatea accesrii lor de un numr foarte mare de utilizatori. Pentru
rezolvarea acestei inconveniene, au aprut o multitudine de soluii informatice care s ofere o
stocare persistent a datelor prin intermediul bazelor de date, fiind posibile opera ii de
tergere, respectiv de modificare a anumitor informaii.
5

n cadrul aplicaiei implementate, am considerat c existena unei baze de date ce


conine mai multe tabele intercorelate folosind legturi externe, ar rezolva problema stocrii
unui volum de date cu elemente componente interdependente. Pentru rezolvarea problemei de
disponibilizare i accesare concomitent a informaiilor de interes general, am considerat c
partajarea informaiilor prin intermediul unei aplicaii web reprezint soluia potrivit .
Principalul avantaj al realizrii unei aplicaii web este reprezentat de integritatea i
posibilitatea ajustrii n funcie de cerinele clientului i de gradul de personalizare cerut de
acesta n timp. O aplicaie web poate fi accesat de pe orice sistem de operare, n felul acesta,
dezvoltatorul nu este nevoit s construiasc un client pentru a permite vizualizarea
informaiilor de ctre utilizatori. Exist o serie de alte motive pentru care e de preferat
utilizarea acestei soluii, cum ar fi: disponibilitatea aplicaiilor web indiferent de or, locaie
sau sistem de operare, cost foarte sczut, multi-platform, posibilitatea de revizualizare de un
numr infinit de ori, fr existena unor ntrzieri, compatibilitatea acesteia cu tot ce este
necesar i spaiu redus de stocare.

Stocare persistent
date

Disponibilizare i
accesare informaii

Soluie bazat pe
aplicaie web i
baze de date

Figura 2.4 Problemele existente i soluia identificat

Figura 2.4 sintetizeaz principalele probleme din punctul de vedere al costurilor i


resurselor umane i soluia identificat pentru evitarea acestora.
O problem specific cu care se confrunt furnizorii de servicii n domeniul dansului
este minimizarea costurilor i a resurselor umane implicate n procesul de realizare a
activitii propriu-zise. n acest scop, am considerat c o soluie a acestei probleme poate fi
crearea unei aplicaii care s permit prin intermediul unei interfee uor de utilizat
gestionarea informaiilor existente pe site i adugarea unor faciliti ce presupun crearea
automat a unui template ce va fi trimis ulterior tuturor cursanilor existen i n baz de date cu
scopul de a-i informa cu privire la evenimentele ce se desfoar n perioada urmtoare.
Automatizarea gestiunii informaiilor prezint o serie de avantaje deoarece rolul
acestuia este de a furniza un comportament autonom prin administrarea unitar a
informaiilor. Printre avantaje se regsesc urmtoarele: regsirea rapid a datelor, eficien a la
distan, optimizare i claritate n urmrirea informaiilor.
6

Minimizare
resurse umane

Minimizare
costuri

Eliminare
timpi mori

Automatizarea
gestiunii
informaiilor printr-o
aplicaie integrat

Figura 2.5 Alte problemele existente i soluia identificat

Figura 2.5 sintetizeaz problemele specifice cu care se confrunt furnizorii de servicii


din punctul de vedere al eficientizrii procesului de preluare i actualizare a informaiilor.

2.4.

Aplicaii similare

Dance Studio Pro


Figura 2.6 Funcionalitatea aplicaiei Dance Studio Pro

Figura 2.6 conine dou capturi de ecran din cadrul aplicaiei software Dance Studio
Pro (5).

Similaritatea ntre aplicaia implementat i Dance Studio Pro const n modalitatea


de gestionare a informaiilor despre cursani, a cursurilor de dans oferite i a evenimentelor
din domeniul dansului. Aplicaiile au n comun informarea cursanilor prin trimiterea de
mesaje text concomitent cu privire la diverse informaii de actualitate. Diferen a const n
faptul c aplicaia recunoscut c cel mai bun software existent pe pia dedicat furnizorilor de
servicii din domeniul dansului gestioneaz separat entitile referitoare la categoriile
menionate mai sus, lipsand cu desvrire o corelaie ntre cursant i cursul n cadrul cruia sa nscris. O particularitate a aplicaiei Dance Studio Pro este dat de posibilitatea trimiterii
unor mesaje vocale concomitent unor grupuri de cursani/profesori sau altor categorii de
persoane cu privire la diverse modificri ce au survenit n programarea cursurilor de dans. De
asemenea aplicaia Dance Studio Pro realizeaz o gestiune a plilor pentru un anumit curs de
dans, minimiznd astfel timpul i atribuiile furnizorului de servicii din acest domeniu.
Dei ambele aplicaii se concentreaz pe simplificarea procesului de gestiune a
informaiilor unei coli de dans prin intermediul unei interfee facile pentru utilizator,
eliminnd dependena furnizorilor de servicii din domeniul dansului de o persoan
specializat n programare, aplicaia de automatizare a gestiunii se evideniaz prin integrarea
aplicaiei n cadrul site-ului destinat clienilor, crearea unei interdependene ntre acestea i
realizarea unei gestiuni unitare a ntregului proces de nscriere, vizualizare i modificare a
informaiilor. Pe de-o parte, aplicaia de automatizare a gestiunii colii de dans ofer n plus
facilitatea de vizualizare cu ajutorul infograficelor a situaiei cursanilor nscrii pn n
momentul actual, oferind o imagine de ansamblu a persoanelor ce frecventeaz diferite cursuri
de dans. Pe de alt parte, aplicaia realizeaz trimiterea concomitent a unui newsletter ce
conine evenimente din domeniul dansului ce se desfoar n perioada imediat apropiat.

Triumph Dance Academy

Figura 2.7 Funcionalitatea aplicaiei Trimph Dance Academy

Figura 2.7 conine o captur de ecran a site-ului Triumph Dance Academy [4].
Similaritatea identificat ntre aplicaia de automatizare a gestiunii i Triumph Dance
Academy se bazeaz pe furnizarea informaiilor despre cursurile de dans oferite i orarul
8

corespunztor fiecrui curs. Comparativ cu Triumph Dance Academy, aplicaia web ce


nglobeaz utilizarea aplicaiei de automatizare a gestiunii ofer clientului posibilitatea de a
efectua un mic test al crui rezultat ar putea influena decizia acestuia cu privire la nscrierea
la un anumit curs de dans, respectiv ar putea confirma concordan ntre nclina ia spre un
anumit stil de dans i personalitatea acestuia. Mai mult dect att, aplicaia web implementat
se evideniaz prin posibilitatea oferit clientului de a trimite cereri de nscriere pentru un
anumit curs, de a edita informaiile furnizate la prima nscriere (identificarea clientului fiind
fcut pe baz CNP-ului acestuia) i de a se retrage din cadrul unui curs pe care l-a urmat o
perioad de timp.

The Royal Ballet School

Figura 2.8 Funcionalitatea aplicaiei The Royal Ballet School

Figura 2.8 conine o captur de ecran a site-ului The Royal Ballet School. [5]
Spre deosebire de site-urile celorlalte coli de dans i a aplica iei implementate n
aceast lucrare, The Royal Balltet School permite disponibilitatea unui raport anual al
reprezentaiilor efectuate pe parcursul unui an. De asemenea, aceast aplicaie permite o
structurare mai eficient a informaiilor i ofer filtrarea rezultatelor cu privire la evenimente
pe diferite categorii de interese.

Figura 2.9 Filtrarea evenimentelor in aplicaie similar

Figura 2.9 conine dou capturi de ecran pentru a evidenia prin ce se difereniaz
aplicaia The Royal Ballet School de aplicaia implementat.
Comparativ cu The Royal Ballet School, aplica ia prezentat n aceast lucrare prezint
deficiene din punctul de vedere al filtrrii rezultatelor pe domenii de interes, un volum de
informaii de interes general de dimensiune mai mic, inexistena unor recomandri cu privire
9

la dezvoltarea profesional prin dans, lipsa unui album de fotografii i un raport al


evenimentelor anual.

10

3. Tehnologii utilizate
n continuare voi prezenta succint tehnologiile pe care le-am utilizat n realizarea
aplicaiilor destinate unei coli de dans.

ASP
.NET

Javascri
pt

HTML

SQL
Server

CSS

Figura 3.10 Tehnologii utilizate

Figura 3.10 prezint o structurare a tehnologiilor pe care le-am utilizat n


implementarea soluiei.

3.1.

ASP . NET

ASP .NET reprezint o tehnologie conceput de Microsoft prin intermediul creia de


pot alctui aplicaii i servicii web de complexitate ridicat. Aceast tehnologie nglobeaz o
succesiune de beneficii, dintre care menionm: scrierea aplicaiilor folosind funciile
limbajelor i mediilor de programare dezvoltate, existena unei familiarizri cu anumite
tehnici de scriptare (PHP, respectiv Javascript) i posibilitatea conceperii unor servicii web.
n tehnologiile uzuale, controalele sunt realizate manual, iar sarcina programatorului
este de a implementa modul de afirmare al acestora n func ie de ac iunile exercitate de
utilizator.
.NET reprezint un framework ce acioneaz independent de platform. Acesta are
capacitatea de a suporta o multitudine de limbaje de programare, cum ar fi c#, VB .NET i
altele. Cel mai important beneficiu al acestui framework este reprezentat de capacitatea de a
oferi un set comun de biblioteci de clase, acesta putnd fi accesat indiferent de limbajul de

11

programare .NET. Ceea ce i confer un plus de valoare este faptul c nu exist o


separabilitate ntre seturile de clase i biblioteci n funcie de limbajul vizat.
Microsoft .NET este perceput ca un software ce stabilete conexiunea ntre oameni,
informaie, dispozitive i sisteme. n componena lui se afl clieni, unelte de dezvoltare i
servere.
n Figura 3.11 este evideniat conexiunea ce coexista ntre framework-ul Microsoft
.NET i celelalte elemente cu care intr n contact direct: oameni, informaie, sisteme,
dispozitive.

Informai
e

Oame
ni

Microsof
t .NET

Dispoziti
ve

Siste
me
Figura 3.11 Conexiune ntre Microsoft .NET i alte elemente

Beneficiile framework-ului .NET sunt mutiple, remarcndu-se astfel o capacitate a


acestuia de a suporta mai mult de douzeci de limbaje de programare distincte, abilitatea de a
administra o mare parte din instalaiile direct implicate n procesul de dezvoltare a softwareului i capacitatea de a simplifica edificarea, gestionarea i amplasarea unor aplica ii cu un
nivel ridicat de siguran, rezistente i la un nivel ridicat de performan. Din componen a
framwork-ului .NET fac parte common language runtime i un set unitar de biblioteci de
clase.
Common Language Runtime (CLR)
CLR este specializat pe servicii run-time, cum ar fi procesul de integrare a limbajelor,
creterea nivelului de securitate, modul de utilizare eficient a memoriei i modalitatea de
manipulare a firelor de execuie.
Biblioteca de clase
Clasele de baz pun la dispoziie un set uniformizat de funcionaliti: opera ii de
intrare/ieire, modul de comunicare n reea i altele. Clasele ADO. NET faciliteaz
posibilitatea ca dezvoltatorii s poat interaciona cu date aflate n format XML, acestea
putnd fi accesate prin intermediul interfeelor OLE DB, Oracle, SQL Server i ODBC.
12

Clasele XML faciliteaz cutarea, manipularea i translatarea XML. Clasele ASP


.NET reprezint postamentul necesar pentru dezvoltarea aplicaiilor Web, respectiv servicii
Web. Clasele bazate pe Windows Forms ofer suportul necesar pentru a asigura dezvoltarea
unor aplicaii complexe adresate sistemelor desktop. [6]

3.2.

Model-View-Controller (MVC)

Model-View-Controller a aprut ca o soluie la simplificarea modului de lucru al


utilizatorilor privind gestionarea datelor i se concentreaz pe divizarea responsabilitilor [6].
Denumirea notiunii MVC ofer o explicaie precis cu privire la modul de operare al acestuia,
astfel se pot asigna cuvintele cheie din compoziia acesteia cu urmtoarele responsabiliti:

model gestioneaz starea i logica aplicaiei, ignorndu-se modul de

interaciune dintre utilizator i interfaa corespunztoare


view gestioneaz crearea interfeei utilizator pe baza datelor i

modificrilor survenite privind strile prin care trece modelul. Aceast parte
ignor logica aplicaiei precum i modul de preluare a datelor i se
concentreaz doar pe corectitudinea strii n care se afl modelul la un moment
dat de timp
controller gestioneaz traducerea comenzilor efectuate de utilizator ntr-un
limbaj cunoscut de compilator. Aceast parte ignor cauza pentru care se
realizeaz translatarea aciunilor executate de utilizator.

MVC cuprinde o varietate de avantaje, cele mai importante fiind transpunerea


unei informaii (model) sub diferite forme, inserarea, modificarea sau tergerea facil a
interfeelor utilizator concomitent cu procesul de execuie sau/i compilare a programului i
actualizarea concomitent a interfeei, datelor de intrare sau logica fr c cellalt cod surs s
fie afectat.
Dei prile unui Model-View-Controller par entiti independente, acestea
comunic frecvent, n caz contrar nefiind posibil atingerea obiectivului. Comunicarea dintre
cele trei pri este asigurat de existena n cadrul fiecrei entiti separabile a unei referin e
ctre obiectul cu care interacioneaz.
Controller-ul analizeaz semnalele primite i trimite modelului comenzile pentru
executarea modificrilor cerute. Sarcinile modelului sunt de a controla unul su mai multe
componente ale sursei de date i de a trimite un rspuns concordant cu starea actual a
sistemului, lundu-se n calcul i gradul n care aceast stare poate fi modificat. Partea de
view reprezint o punte de legtur ntre utilizator i aplicaie.
13

Figura 3.12 Modul de operare al Model-View-Control-ului

n Figura 3.12 este pus n evidena modul n care prile componente ale unui MVC
interacioneaz pentru atingerea unui obiect comun.
Prin urmare, responsabilitatea modelului este de a organiza informa ia i de a notifica
schimbrile ulterioare survenite. n esen, acesta trebuie s descrie o reprezentare ct mai
apropiat de realitate a sistemelor sau proceselor. Partea de view este responsabil cu
interconectarea elementelor vizuale ale unui hardware.

3.3.

Microsoft SQL Server

SQL reprezint o arhitectur avansat prin intermediul creia se pot crea i manipula
baze de date relaionale ntr-o varietate de platforme. Limbajul SQL este referit sub diverse
forme, cu meninea c toate acestea au c element fundamental standardul ANSI SQL/ Sql
este asociat de ctre Microsoft SQL Server cu denumirea de Transact-SQL. [6]
Limbajul Sql este divizat n dou categorii: limbaj de definire a datelor (DDL) i
limbaj de manipulare a datelor (DML). Operaiile permise de limbajul pentru definire a
datelor sunt crearea i tergerea bazelor de date, comparativ cu operaiile de adugare,
tergere, modificare i interogare puse la dispoziie n cadrul limbajului destinat manipulrii
datelor.
Microsoft SQL Server este utilizat pentru eficientizarea i simplificarea analizei i a
tehnicii de manipulare a informaiilor. Scopul acestuia este de a facilita gestiunea bazelor de
date, asigurndu-le un nivel ridicat de siguran. Avantajele oferite de Sql Server vizeaz
sigurana, fiabilitatea, scalabilitatea, performana, partajarea datelor i maximizarea
productivitii aplicaiilor ntreprinse. Figura 3.10 conine operaiile fundamentale aplicate n
cadrul bazelor de date.

Comanda SQL

Funcionalitate
14

CREATE

USE

crearea bazei de date i ntocmirea ulterioar a tabelelor de


date
pointarea ctre baza de date vizat pentru utilizare imediat

ALTER

transformarea structurii bazei de date

DROP

stergerea bazei de date

SELECT

regsirea datelor ntr-o tabel specificat

INSERT
UPDATE
DELETE

- popularea unui tabel specificat


- modificarea coninutului unei anumite nregistrri
- stergerea unei nregistrari specificate

Tabelul 3.1 Principalele operaii n SQL

SQL Server poate fi utilizat din trei perspective diferit, n funcie de necesitatea
utilizatorului:

Enterprise Data Management utilizat pentru conceperea unor aplicaii

analitice, respectiv de business. Se identific prin siguran i productivitatea


conferit aplicaiilor.
Business Intelligence utilizat n cazul n care aplicaia presupune utilizarea

unui volum mare de date, deplasarea input-urilor i necesitatea de a se integra


cu diverse produse. Se identific prin ascensiunea rapid a calitii aplicaiei.
Proceduri stocate asociai cu termenul de constructor din limbajele de
programare orientat obiect. Se identific prin facilitarea unui proces de
dezvoltare simplificat. Mecanismul prin care procesul de dezvoltare scade n
complexitate este dat de gruparea unor comenzi Transact-SQL, care pot fi
parametrizate ulterior.

Microsoft SQL Server contribuie la creterea nivelului de performan, reducerea


costurilor, eficientizarea codului surs i sporirea nivelului de securitate privind asignarea
drepturilor de autor.

3.4.

HTML, CSS, Javascript, jQuery

HTML ( acronimul de la Hypertext Markup Language) reprezint unul din elementele


fundamentale ale Wolrd Wide Web i are rolul de a descrie modul de repartizare i vizualizare
a documentelor pe Web. Un avantaj important al acestuia l constituie independena fa de
platform, la care se pot adaug modalitatea de ierarhizare a formatrii i legturile hypertext.

15

Navigatorul nu se ocup cu afiarea marcajelor HTML, n schimb, acesta le folose te


pentru a realiza o interpretare a coninutului unei pagini. Indicaiile furnizate de marcajele
HTML prezint o variatie din punctul de vedere al gradului de simplitate.
De asemenea, marcajele HTML au un rol important deoarece permit specificarea
metadatelor ce nglobeaz informaii despre document sau informaii privind modul de
structurare al documentului. Legturile dintre documente se numesc hiperlegturi [7].
CSS (acronimul de la Cascading Style Sheets) reprezint un limbaj de stilizare al
tagurilor i elementelor HTML. Modul prin care sunt asignate stiluri diferitelor elemente
HTML se face cu ajutorul unor fiiere externe sau chiar n interiorul documentului, folosinduse cuvntul cheie style. O alt modalitate prin care se poate utiliza CSS este data de
formatarea elementelor SVGL, XML i XHTML.
CSS a luat natere din nevoia de separare a coninutului documentului scris n HTML
de stilizarea acestuia folosind culori, orientare i font. Necesitatea acestei separri confer
flexiblitate si control din punctul de vedere al specificiarii i modificrii anumitor
caracteristici din prezentare. O facilitate important oferit de acest limbaj este eliminarea
redundanei cu privire la repetabilitatea specificrii unui stil pentru multiple elemente vizate.
n plus, CSS ofer posibilitatea ca aceeai pagin s beneficieze de formate diferite din
punctul de vedere al modului de prezentare i depinznd de metoda de redare. [8]

Avantaje
Separator ntre
coninut i
prezentare

Dezavant
aje
Incompatibilita
te ntre
navigator i
CSS

Definirea
stilurilor ntrun singur loc

Utilizare
variat pentru
HTML si XML

Figura 3.13 Avantaje i dezavantaje ale limbajului CSS

n Figura 3.13 am pus n eviden principalele avantaje i dezavantaje ale limbajului


CSS. Avantaje i dezavantaje ale limbajului CSS

Sintaxa CSS este categorizat n trei nivele:

16

Nivelul 1 cuprinde caracteristicile etichetelor din componena unui document

HTML. n acest caz se utilizeaz atributul style


Nivelul 2 cuprinde informaia localizat n blocul HEAD. n acest caz se

utilizeaz marcajul <style>


Nivelul 3 cuprinde comenzile localizate n pagini separate

Nivelul unu este nivelul cu prioritatea maxim, comparativ cu nivelul trei, ce con ine
prioritatea minima.
Aplicaia implementat n aceast lucrare utilizeaz CSS pentru o prezentare ct mai
atractiv a coninutului i a paginilor aplicaiei implementate.
Javascript reprezint un limbaj de programare orientat-obiect ce se bizuie pe
conceptul prototipurilor i a fost conceput de Communications Corporation si Brenden Eich.
Acesta este utilizat frecvent ndeosebi pentru introducerea anumitor funcionaliti n paginile
web, codul acestui limbaj fiind rulat de browser. Sintaxa acestui limbaj este similar cu cea a
limbajului C.
Fiind un limbaj de creare a scripturilor, rolul acestuia este s confere interactivitate
paginilor n format HTML. Acesta prezint o serie de avantaje prin instrumentul de
programare ce reprezint un suport pentru proiectanii HTML, prin modalitatea dinamic de
inserare a unui text n componena unei pagini HTML, prin modul n care reac ioneaz la
evenimente, prin citirea i scrierea elementelor HTML, prin ratificarea datelor, prin modul de
creare a unor cookies i prin modalitatea de detecie a browser-ului unui anumit utilizator [9].
jQuery este o bibliotec menit s confere simplitate scripturilor de pe partea de
client, mai exact cele efectuate cu ajutorul componentelor HTML. Acest limbaj ofer avantaje
multiple prin simplificarea navigrii ntr-un document, realizarea animaiilor, selectionarea
elementelor din DOM, dezvoltarea unor aplicaii de tip AJAX si gestionarea evenimentelor.
Prin intermediul acestui limbaj, dezvoltatorii au posibilitatea de a concepe extensii ce
vor fi ulterior incorporate n bibliotecile Javascript. n acest fel, se obine o abstractizare a
efectelor, animaiilor, respectiv a interaciunilor [10].

17

4.

Prezentarea sistemului informatic

Aplicaiile software existente n prezent pe pia nu reuesc s acopere integral nevoile


furnizorilor de servicii din domeniul dansului privind reducerea personalului implicat n
desfurarea activitii, minimizarea costurilor i economisirea timpului de preluare i
procesare a datelor. n acest sens, obiectivul principal al aplicaiei de fa este dezvoltarea
unei aplicaii integrate n pagina web a colii de dans, al crei scop este s automatizeze
gestiunea tuturor informaiilor.
Aplicaia n cauz trebuie s permit stocarea persistent a unui volum mare de date,
aceste date fiind utilizate ulterior pentru reconstrucia a 70% din design-ul paginii web cu
informaii de actualitate privind prezentarea cursurilor de dans disponibile i seria de
evenimente programate n viitorul apropiat. De asemenea, utilizarea unor baze de date
complexe pentru stocarea informaiilor este necesar i pentru memorarea informa iilor
privind distribuia cursanilor n funcie de cursurile de dans disponibile.
Introducerea datelor ce vizeaz cursanii, cursurile i evenimentele se va face manual
de ctre directorul colii de dans prin intermediul unei interfee uor de utilizat. n acest fel,
funcionalitatea paginii web va fi independent de creatorul ei i sunt ndeplinite cele trei
nevoie ale furnizorului menionate n primul paragraf.
Existena aplicaiei integrate ce va realiza o gestiune automat a informaiilor va
permite manipularea majoritar asupra coninutului site-ului, obinndu-se astfel o
eficientizare a procesului de organizare i funcionare.

Specificarea cerinelor
Aplicaia n cauz urmrete s eficientizeze procesul de informare a clien ilor cu
privire la modificrile survenite privind prestarea serviciilor n domeniul dansului, s asigure
disponibilizarea informaiilor de actualitate n timp foarte scurt i s pstreze eviden e ale
persoanelor nscrise la cursurile de dans disponibile.
Acest capitol va conine o prezentare succint a cerinelor funcionale pe care trebuie
s le ndeplineasc aplicaia software prezent pentru ca obiectivele menionate mai sus s fie
ndeplinite, precum i, o metodologie de proiectare a sistemului informatic.

18

4.1.

Diagramele cazurilor de utilizare

Rolul principal al diagramei cazurilor de utilizare este de a corela persoanele implicate


n utilizarea aplicaiei (actori) i aciunile ce pot fi ntreprinse de acetia. Acest tip de
diagram va oferi o imagine de ansamblu privind funcionalitatea sistemului i modul n care
sistemul interacioneaz cu actorii.

Diagrama

cazurilor

de

utilizare

ce

vizeaz

utilizatorul

(clientul)

Figura 4.14 Diagrama cazurilor de utilizare pentru client

Aa cum reiese din diagrama, utilizatorului i sunt oferite urmtoarele facilit i:


vizualizarea informaiilor generale despre coala de dans (Seciunea Despre), a cursurilor de
dans disponibile la momentul actual sau a evenimentelor programate n urmtoarea perioad.
n cazul n care utilizatorul dorete s urmeze un anumit curs oferit de coala de dans aferent,
acesta poate completa un formular de nscriere cu informaiile personale, urmnd s fie
ntiinat cu privire la disponibilitatea locurilor pentru cursul de dans vizat. Lansarea unei
cereri de nscriere pentru un utilizator ce nu i-a creat un cont n prealabil, presupune mai nti
nregistrarea acestuia n baza de date. Dup autentificarea utilizatorului, acesta este consultat
cu privire la posibilitatea efecturii unui test al crui rezultat i indic ce dans i se potrivete n
funcie de preferinele i deprinderile acestuia. Dac se constat c respectivul curs dispune de
19

locuri libere, atunci cererea de nscriere a utilizatorului este lansat cu succes. Dup
autentificarea utilizatorului i lansarea a cel puin o cerere de nscriere n cadrul unui curs,
acesta poate edita informaiile personale sau poate opta pentru retragarea din cursul la care s-a
nscris.
Diagrama cazurilor de utilizare ce vizeaz administratorul

Figura 4.15 Diagrama cazului de utilizare Curs

Administratorul poate accesa aplicaia integrat i poate vizualiza, aduga, terge sau
edita informaii despre cursurile colii de dans. n acest scop, autentificarea acestuia este
necesar. Administratorul poate edita informaiile generale despre un anumit curs sau poate
edita informaiile privind orarul unu anumit curs de dans.

Element al cazului de
utilizare
Cod
Stare
Scop
Nume
Actor principal

Descriere
CU01
Schita
Gestionarea cursurilor
Gestiunea cursurilor de dans
Administrator

20

Descriere

Administratorul poate crea un curs nou de dans, acesta implicnd


crearea unui orar aferent cursului de dans care conine informaii cu
privire la sal, ziua sptmnii i ora alocate pentru desfurarea
cursului de dans respectiv
Administratorul poate terge un curs de dans existent n cazul n care
nu mai exist un instructor pentru cursul de dans respectiv
Administratorul poate edita detaliile despre un curs de dans, mai
exact, poate edita sala, ora i ziua sptmnii n care se desfoar
cursul aferent

21

Precondiii

S fie activ conexiunea la baza de date aferent cursurilor de dans.

Postcondiii
Declansator
Flux de baz

Administratorul
1. Sistemul percepe alegerea utilizatorului: adugare, tergere,
editare.
2. Pentru fiecare alegere se realizeaz conexiunea la baza de
date.
- n cazul n care utilizatorul apas butonul de adugare
curs, se realizeaz introducerea manual a informaiilor
aferente cursului i apoi se introduc informaiile cu orarul
aferent
- Dac utilizatorul apas butonul de tergere a unui curs,
cursul este ters din baza de date.
- Dac utilizatorul apas butonul de editare a unui curs,
acesta introduc manual modificrile aprute n orarul
aferent cursului Modificarile sunt executate pe baza de
date.

22

Figura 4.16 Diagrama cazului de utilizare Eveniment

Fluxuri alternative
Relaii
Frecvena utilizarii
Reguli ale afacerii

moderat
nu pot exista 2 cursuri cu acelai nume
nu se pot efectua cereri de tergere pe cursuri inexistente
nu se pot efectua cereri de editare pe cursuri inexistente
Administratorul are la dispoziie dou opiuni pentru gestionarea evenimentelor, cu
ajutorul crora mai trziu va fi generat newsletter-ul : acesta poate s vizualizeze i s
analizeze evenimentele curente sau poate s adauge un eveniment viitor.
Figura 4.17 Diagrama cazului de utilizare Cursant

23

Adminstratorul poate vizualiza graficul distribuiei cursanilor n func ie de cursurile


de dans oferite de coala de dans, poate vizualiza cursani, aduga cursani noi, terge un
cursant existent, modifica informaii despre un anumit cursant. Pentru a accesa aplica ia
integrat, autentificarea administratorului este necesar.

Element al cazului
Descriere
de utilizare
Cod
CU02
Stare
Schia
Scop
Gestionarea persoanelor ce urmeaza un curs de dans
Nume
Gestiunea cursantilor
Actor principal
Adminstrator
Descriere
Administratorul poate aduga un cursant nou n cazul prelurii unei
cereri informale de nscriere la un curs oferit de coal de dans.
Administratorul poate edita informaii despre un cursant existent, n
cazul n care cursantul dorete nscrierea la un curs nou.
Administratorul poate terge un cursant existent, n cazul prelurii unei
cereri informale de renunare a acestuia la un curs de dans n cadrul
cruia s-a nscris.
Administratorul poate vizualiza cursanii existeni dup modificrile
aprute (adugare/tergere/editare
24

Precondiii
Postconditii
Declansator
Flux de baza

Fluxuri alternative
Relatii
Frecventa utilizarii
Reguli ale afacerii

4.2.

S fie activ conexiunea la baza de date aferent cursanilor.


Adminstratorul
1. Sistemul percepe alegerea facuta de utilizator
2. Utilizatorul poate efectua urmatoarele cereri:
2.1 Adugare
2.1.1 se verific conexiunea la baza de date aferent
cursanilor
2.1.2 introducerea manual a informaiilor
corespunztoare unui cursant nou
2.2 Stergere
2.2.1 se verific conexiunea la baza de date aferent
cursanilor
2.2.2 stergerea cursantului specificat din baza de date
2.3 Editare
2.3.1 se verific conexiunea la baza de date aferent
cursanilor
2.3.2 efectuarea modificarilor pe cursantul selectat
2.4 Refresh
2.4.1 se verific conexiunea la baza de date
2.4.2 vizualizarea coninutului bazei de date
moderat
nu pot exista 2 cursani cu acelai nume
nu se pot efectua cereri de tergere pe cursani inexisteni
nu se pot efectua cereri de editare pe cursani inexisteni

Analiza sistemului informatic

Diagrame de activitate
Rolul diagramelor de activitate este de a descrie modul n care funcioneaz procesele
ce se execut la nivelul sistemului informatic.

25

Figura 4.18 Diagrama de activitate pentru autentificare

Diagrama de activitate de mai sus descrie fluxul procesului n cazul autentificrii unei
persoane. n cazul n care datele introduse sunt corecte, sistemul verific rolul celui care s-a
logat. n cadrul aplicaiei exist dou tipuri de roluri atribuite: admin i utilizator. n cazul n
care s-a realizat o autentificare a administratorului, sistemul va acorda accesul acestuia ctre
aplicaia integrat prin intermediul creia se realizeaz gestiunea automat a site-ului. Dac sa realizat o autentificare a utilizatorului, atunci acestuia i se va acorda doar dreptul de a
vizualiza site-ul aferent colii de dans.

26

Figura 4.19 Diagrama de activitate pentru lansarea unei cereri de inscriere

n cazul n care utilizatorul dorete s se nscrie la un curs oferit de coal de dans


aferent, acesta este consultat cu privire la efectuarea unui test al crui rezultat i indic stilul
de dans concordant cu preferinele i deprindele lui. Dac utilizatorul dorete efectuarea
acestui test, dup finalizarea acestuia, i se va trimite un mesaj cu rezultatul testului.
Utilizatorul poate opta sau nu pentru cursul care i-a fost recomandat n urma efecturii
testului. Indiferent de alegerea utilizatorului, acestuia i este pus la dispoziie un formular n
care va trebui s introduc date personale. Dup completarea tuturor cmpurilor, sistemul va
face o verificare a disponibilitii locurilor n cadrul cursului ales de utilizator. n cazul n care
locurile nu sunt ocupate integral, cererea de nscriere este lansat n execuie

Diagrame de interaciune
n diagrama de interaciune de mai sus se evideniaz modelarea aspectelor dinamice
ale sistemului, se pot observa relaiile care se stabilesc ntre obiecte, inclusiv mesajele care se
parseaz ntre acestea.

27

Figura 4.20 Diagrama de interaciune pentru trimiterea de newslettere

Aplicaia utilizeaz un tabel pentru stocarea evenimentelor. n momentul n care


administratorul apas butonul Send newsletter se produc urmtoarele aciuni:

Verific dac data evenimentului este mai mare dect data curent, n acest caz, terge
evenimentul din baz de date. Serverul va trimite doar informaii de actualitate
cursanilor;
Dac data evenimentului coincide cu data curent, iar ora de ncepere a evenimentului
este mai mic dect ora curent, serverul va ncapsula informaiile despre eveniment,
va realiza transpunerea grafic a acestora i va trimite n mod concurenial newsletterul tuturor cursanilor existeni n baz de date;
De realizarea newsletter-ului se ocup serverul, acesta prelunnd n mod automat toate
informaiile din baza de date i le va ncapsula ntr-un ablon predefinit. nainte de
trimiterea acestuia, utilizatorul poate s analizeze i s efectueaze anumite corecturi de
ultim moment.

28

Diagrama BPMN

Figura 4.21 Diagrama BPMN pentru trimiterea newsletter-ului

Diagrame de stare

Figura 4.22 Diagrama de stare pentru adugarea unui cursant

Administratorul poate efectua cereri de adugare a unui cursant nou prin introducerea
manual a informaiilor personale corespunztoare acestuia. Nu se permite introducerea
duplicitar a datelor.

29

Figura 4.23 Diagrama de stare pentru stergerea unui cursant

Administratorul poate efectua cereri de tergere a unui cursant, regsirea


acestuia fcndu-se prin cutarea prealabil n baza de date aferent cursanilor. n
cazul n care cursantul vizat nu exist n baza de date, administratorul va fi informat cu
privire la acest fapt prin intermediul unui mesaj precis.
Diagrama de stare pentru editarea unui cursant

Figura 4.24 Diagrama de stare pentru editarea unui cursant

Administratorul poate efectua cereri de editare pe un cursant existent n baza de date.


n cazul n care datele referitoare la acesta nu s-au regsit n baza de date, administratorul va
30

fi informat cu privire la acest fapt. n cazul unor erori survenite privind ac iunea de editare a
unui cursant, administratorul este ntiinat imediat.

4.3.

Proiectarea sistemului informatic

Proiectarea bazei de date


Aceast etap vizeaz modelarea cerinelor n ceea ce privete datele prin intermediul
unui model. n acest scop am realizat o proiectare conceptual a bazei de date aferent colii
de dans. Aceast proiectare a presupus identificarea entitilor implicate n model, stabilirea
asocierilor dintre entitile identificate i stabilirea componenei tabelor prin stabilirea
atributelor corespondente. Etapa de asociere a entitilor a presupus determinarea cardinalitatii
i opionalitii legturilor dintre elementele componente ale bazei de date. Etapa de stabilire a
componenei tabelelor a presupus determinarea atributelor fiecrui tabel implicat n baza de
date.
Entitile ce compun modelul sunt: categories, students, courses i events. Tabela
Categories gestioneaz categoriile n care se ncadreaz anumite cursuri de dans, denumirea
acesteia fiind asociat cu tipul unui anumit stil de dans. Tabela Courses gestioneaz informa ii
despre cursurile de dans oferite, fiecare curs aparinnd unei singure categorii precum i
informaii despre programarea fiecrui curs ntr-o anumit zi a sptmnii, la o anumit or,
ntr-o sal prestabilit. Tabela Students conine toate persoanele nscrise pn la momentul
actual la unul sau mai multe cursuri de dans cu meninea c persoanele ce au renun at la
frecventarea unui anumit curs de dans au fost terse din aceast tabel, pstrndu-se o
evidena doar a studenilor ce beneficiaz de cursuri n momentul actual. Tabela Events
gestioneaz informaiile privind evenimentele ce se desfoar n perioada imediat apropiat.
Tabela Categories este o tabel independent i are ca i cheie primar atributul
IdCategory. Tabela Courses este o tabel dependeta de tabela Categories, unui curs fiindu-i
asociat o singur categorie. Tabela Timetable este o tabel dependent de tabela Courses, un
orar aparinnd unui singur curs. Tabela Students este o tabel dependent de tabela Courses,
un cursant putndu-se nscrie la unul sau mai multe cursuri de dans. Tabela Events este o
tabela independent.
Atributele fiecrei tabele sunt evideniate n cadrul diagramei de mai jos.

31

Figura 4.25 Diagrama bazei de date aferent colii de dans

n Figura 4.25 este evideniat componena bazei de date, legturile de multiplicitate i


cardinalitate stabilite ntre acestea precum i atributele fiecrei tabele. Astfel, dup cum se
observ, ntre tabelele Courses i Categories exist o legtur de tipul unul la muli, iar ntre
tabelele Courses i Students exist o legtur de tipul muli la muli. n interiorul bazei de
date, aceasta a fost rezolvat prin crearea unei tabele intermediare, pentru a sparge legtur n
dou de tipul muli la muli.

32

5. Implementarea solutiei
Aplicaia este orientat n dou direcii, pe de-o parte reprezint un mijloc de
informare a cursanilor cu informaii de actualitate privind facilitile oferite de coala de
dans, iar pe de alt parte contribuie la simplificarea gestiunii unui volum mare de date
satisfcnd o mare parte din nevoile furnizorilor de servicii din domeniul dansului.
Aplicaia se numete Colours of dance i conine dou platforme interdependente.
La accesarea site-ului de ctre un utilizator/client oarecare sistemul informatic i va permit
accesarea informaiilor oferite de coala de dans aa cum este redat n Error: Reference
source not found. Site-ul colii de dans Colours of Dance. La autentificarea
administratorului, sistemul va recunoate rolul acestuia i i va pune la dispozi ie platforma
prin intermediul creia poate manipula coninutul site-ului. Att site-ul ct i aplica ia
integrat au fost implementate folosind tehnologia ASP .NET pus la dispozi ie de Microsoft
Visual Studio, acesta conferind accesul la alte tehnologii precum C#, Javascript, jQuery, Ajax,
CSS i HTML. Un rol important n realizarea funcionalitilor l-a avut Model-ViewController, spre deosebire de CSS, HTML i Bootstrap a cror responsabilitate a fost s
confere o prezentare atractiv din punct de vedere vizual.

Figura 5.26 Site-ul scolii de dans Colours of Dance

Figura 5.26 Site-ul scolii de dans Colours of Dance conine o captur de ecran a
meniului site-ului colii de dans. Coninutul acestui site i este destinat cu precdere
utilizatorului/clientului ce l acceseaz, dar i este vizibil i administratorului, acesta putnd

33

verifica n timp real concordan dintre modificrile efectuate i reflectarea acestora n


actualizarea site-ului.
Seciunea Despre a site-ului prezint informaii generale privind sistemul informatic
implementat, i anume o descriere succint a acestuia urmat de prezentarea beneficiilor
oferite aa cum este redat n Error: Reference source not found.

Figura 5.27 Continutul sectiunii Despre a site-ului

Seciunea Cursuri a site-ului prezint utilizatorului cursurile disponibile ncadrate n


anumite categorii. Coninutul acestei seciuni poate fi manipulat de administrator din aplicaia
integrat n acest site prin adugarea unor categorii noi urmat de inserarea unor cursuri noi
de dans oferite. Reconstrucia seciunii Cursuri se realizeaz din baza de date la run-time,
iar modificrile efectuate de administrator se reflect imediat asupra con inutului site-ului.
Cursurile disponibile conin informaii relevante pentru client, i anume o descriere succint a
acestuia i orarul aferent pe categorii de vrst. Categoriile de vrst disponibile sunt: Copii
(7-13 ani), Adolesceni (14-20 ani) i Aduli (20 40 ani). Modul de vizualizare a acestei
seciuni este redat prin intermediul unui side-bar.

34

Figura 5.28 Vizualizarea meniului sectiunii Cursuri

Seciunea Contact a aplicaiei conine informaii persomale ale dezvoltatorului


aplicaiei, deci implicit ale mele i aume, numrul de telefon, adresa de email, academia i
facultatea de provenien. Pentru realizarea acestei seciuni m-am folosit de beneficiile oferite
de Razor syntax i de crearea dinamic a categriilor i cursurilor aferente, acestea fiind
preluate din baza de date.

Dup cum se poate observa i din secvena de cod aferent, cererile sunt asincrone, de
tip Ajax pentru a evita o blocare a clientului pn la ncrcarea datelor.
Seciunea Evenimente informeaz utilizatorul cu privire la cele mai importante
evenimente din domeniul dansului ce se vor desfura n perioada apropiat. Adugarea
evenimentelor este realizat de administratorul site-ului din aplica ia integrat, aceste
informaii fiind stocate persistent n baza de date aferent. Reconstrucia con inutului acestei
seciuni este realizat prin citirea prealabil a informaiilor corespondene evenimentelor din
baza de date aferent.

35

Figura 5.29 Continutul sectiunii Contact

Seciunea Autentificare este necesar pentru ca un client s poat lansa cereri de


nscriere n cadrul unui sau mai multor cursuri sau pentru a putea vizualiza informa iile
privind datele personale furnizate de acesta la prima nscriere la care se adaug cursurile la
care este nscris i orarul/orarele aferent/aferente acestora. n cazul n care clientul se afl la
prima accesare a site-ului i nu dispune de un cont, acesta i poate crea unul prin apsarea
butonului Inregistreaza-te. Informaiile cerute n faza de nregistrare cuprind numele
utilizatorului i parola. n cazul n care, clientul introduce o parol ce con ine mai pu in de
ase caractere, acesta este informat cu privire la dimensiunea minima a parolei, a a cum este
redat n Figura 5.31. Dac datele introduse sunt corecte, autentificarea clientului se realizeaz
cu succes i acesta primete un mesaj n partea de sus a paginii i posibilitatea de a se
deconecta aa cum este redat n Figura 5.30.
Seciunea Inscrie-te ofer posibilitatea utilizatorului de a se nscrie la unul sau mai
multe cursuri disponibile la momentul actual. Mai mult dect att, clientul poate accepta
propunerea realizat de sistem de a efectua un test al crui rezultat l informeaz cu privire la
stilul de dans care i se potrivete. Modul n care este obinut rezultatul testului se bazeaz pe
un punctaj calculat n prealabil pe baza rspunsurilor alese pentru fiecare ntrebare n parte.

Utilizatorul trebuie s furnizeze informaiile personale privind numele, adresa de email,


Figura 5.30 Opiune dup
conectare

telefonul i vrsta pentru a putea fi contactat ulterior sau pentru a i se trimite newslettere
frecvente cu privire la evenimentele ce se vor desfura n viitorul apropiat. Dup
introducerea datelor personale, utilizatorul trebuie s aleag cursurile de dans n cadrul cruia
36

Figura 5.31 Crearea unui cont

dorete s se nscrie. Dup alegerea acestora, sistemul verific disponibilitatea locurilor i


anun utilizatorul n acest sens.
Gestiunea nregistrrilor de noi utilizatori este efectuat n controlerul Account,
responsabil cu toate operaiile pe cont (creare, autentificare, schimbri ulterioare, etc.).

ASP.NET MVC permite definirea de funcii ce poart aceeai denumire pentru


operaiile de GET i POST, acesta fcnd diferena prin intermediul adnotaiilor de deasupra
definirii funciei. n cazul aceasta, se difereniaz c funcia Register este destinat cazului
POST (atunci cnd este trimis formularul de nscriere), se permite acces anonim pe pagin i
este verificat request-ul s nu fie efectuat de un robot. n urma validrii formularului, are loc
redirecionare ctre pagina Home.
Pentru vizualizarea aplicaiei integrate este necesar autentificarea administratorului
pe baza numelui i parolei. Contul acestuia a fost creat n prealabil. Aa cum am men ionat
37

mai sus, administratorul are acces att la aplicaia integrat, ct i la meniul site-ului.
Autentificarea administratorului este redat n Figura 5.32.

Figura 5.32 Autentificarea administratorului

Administratorul poate gestiona informaiile referitoare la cursani, evenimente i


cursuri. De asemenea, punctul forte al aplicaiei este dat de simplificarea procesului de
trimitere a unor newslettere, al cror scop este de a informa cursan ii cu privire la evenimente
ce se desfoar n perioada urmtoare.
Gestiunea cursanilor
Administratorul poate manipula informaiile privind cursanii existeni la momentul
actual n baza de date sau poate aduga cursani noi n cazul recepionrii unor cereri
informale (cereri primite pe mail, telefon sau prin intermediul persoanelor implicate n
desfurarea activitii). Prin manipularea informaiilor referitoare la cursani fac referire la
efectuarea operaiilor de tergere sau editare a informaiilor unui cursant la recepionarea unor
cereri informale. Am previzionat apariia acestor cereri informale prin luarea n calcul a
persoanelor ce nu dispun aparate computerizate. Pentru introducerea unui cursant nou, se
utilizeaz ablonul cmpurilor din seciunea Inscrie-te a site-ului. Completarea tuturor
cmpurilor este obligatorie, nerespectarea acesteia genernd mesaje de informare n acest
scop. tergerea unui cursant implic existena n prealabil a acestuia n baza de date. Acela i
principiu se aplic i pentru editarea informaiilor unui cursant existent.
Gestiunea cursurilor
Administratorul poate aduga cursuri noi pentru o categorie existent sau poate crea
categorii noi, acest lucru implicnd i adugarea unor cursuri de dans. Reconstrucia seciunii
Cursuri se va realiza pe baza categoriilor i cursurilor introduse de acesta . Crearea unui
curs nou implica i adugarea unui orar aferent acestuia aa cum este redat in Figura 5.33.. Ca
i n cazul cursanilor nu se pot efectua operaii de tergere i editare pe cursuri ce nu sunt
salvate persistent n baza de date aa cum este redat in Error: Reference source not found.
Figura 5.33 Adaugarea unui curs nou

38

Gestiunea cursurilor, categoriilor i a evenimentelor este realizat prin intermediul


unor controlere separate, cu viewuri separate. Datele completate de utilizator sunt trimise
ctre controler care le verific corectitudinea. n caz negativ, sunt ncrcate datele n
formularul utilizatorului i este atenionat pentru datele incorecte introduse. Acest lucru poate
fi observat i n urmtoarea secven din controler Category. Codul surs complet pentru view
creare curs, poate fi regsit n Anexa 2. Mai jos regsim i funcia din controler responsabil
cu crearea unui curs.

Gestiunea evenimentelor
Administratorul are sarcina de a aduga frecvent evenimente ce se desfoar n
perioada apropiat prin introducerea manual a numelui evenimentului, locaia, o imagine
sugestiv, ora i data desfurrii acestuia. Reconstrucia site-ului este realizat pe baza
informaiilor existente n baza de date aferent evenimentelor, acest proces realizndu-se la
run-time. Utilizatorul poate vizualiza pe site la seciunea Evenimente o list a
evenimentelor din domeniul dansului. Codul surs al controlerului ce se ocup cu gestionarea
evenimentelor poate fi regsit n Anexa 1 a prezentei lucrri tiinifice.

Figura 5.34 Operaii efectuate pe cursuri

39

Automatizarea trimiterii unui newsletter


Administratorul lanseaz operaia de trimitere a unui newsletter prin apsarea
butonului Trimite newsletter. Acesta nu dispune de cunotine a modului de realizare al
acestui proces. Automatizarea trimiterii unui newsletter presupune preluarea informa iilor
corespunztoare evenimentelor din baza de date, generarea unui template ce presupune
asignarea informaiilor n cmpurile destinate fiecrui tip de input, selectarea tuturor
cursanilor din baza de date i trimiterea efectiv prin email.

40

6. Concluzii
n concluzie, pot afirma c tema aleas a presupus o cercetare amnunit a
problemelor cu care se confrunt furnizorii de servicii din domeniul dansului, ceea ce a
implicat identificarea unei soluii optime care s satisfac nevoile acestora. Aplicaia de
automatizare a gestiunii informaiilor a contribuit la minimizarea costurilor suportate de
proprietarul colii de dans, minimizarea resurselor umane i o eficientizare a procesului de
actualizare a coninutului site-ului.
Aplicaia implementat reuete s ating obiectivele din dou perspective diferite i
anume, disponibilizarea informaiilor persoanelor interesate de acest domeniu privind
serviciile prestate, eficientizarea procesului de actualizare a coninutului site-ului. n acest fel,
aplicaia este orientat pentru satisfacerea att a nevoilor utilizatorului, ct i a furnizorilor de
servicii din domeniul dansului.
n ceea ce privete extinderea funcionalitilor aplicaiei, menionez c pentru o
structurare mai eficient i concis, site-ul ar putea beneficia de posibilitate de filtrare a
informaiilor, orientat pe evenimente sau cursuri de dans. De asemenea, site-ul ar putea
conine i alte informaii de interes general, cum ar fi videoclipuri de instruire a nceptorilor
privind micrile de baz ale unui anumit stil de dans, videoclipuri ce conin competi ii
naionale, albume de fotografii, un istoric al tuturor competi iilor la care au participat trupe
din cadrul colii de dans i altele. Din punctul de vedere al aplicaiei integrate, extinderea
funcionalitii acesteia presupune trimiterea concomitent a unor mesaje vocale privind
modificri survenite n cadrul desfurrii cursurilor de dans, vizualizarea unui raport privind
numrul de vizitatori pe zile al site-ului, a persoanelor nscris n anumite intervale de timp i
altele. De asemenea, pentru a se adapta vremurilor actuale, pe lng aplicaia Web, ar putea fi
creat i una mobil, punnd mai uor la dispoziia utilizatorului toate informaiile necesare.

41

Bibliografie
[
[Interactiv].
Available:
http://www.romanialibera.ro/societate/utile/cinci[1] beneficii-extraordinare-ale-dansului-pentru-sanatate-269507.
[
Scribd, [Interactiv]. Available: https://www.scribd.com/doc/268976035/Rolul[2] Dansului-in-Formarea-Competentilor-Sociale.
[
[Interactiv].
Available:
[3] http://www.bplans.com/dance_studio_business_plan/market_analysis_summary_fc.php.
[

[Interactiv]. Available: http://www.triumph-dance.ro/.

[Interactiv]. Available: http://www.royalballetschool.org.uk/.

[Interactiv]. Available: http://dotnet.xhost.ro/.

[Interactiv]. Available: https://ro.wikipedia.org/wiki/Cascading_Style_Sheets.

[Interactiv]. Available: http://ciobanu.cich.md/lectii_view.php?id=1.

Javascript.

J. Resig, jQuery Cookbook, OReilly Media, 2009.

[Interactiv]. Available: http://dancestudio-pro.com/.

[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[
[Interactiv]. Available: http://blog.ideeaone.ro/sistem-de-gestiune-beneficii-si[12] avantaje/.
[

[Interactiv]. Available: http://it.webdesign-galaxy.ro/ce-este-css/.

[13]
[
[Interactiv]. Available: http://www.gandul.info/financiar/cati-artisti-cu-contract[14] de-munca-traiesc-in-romania-orasele-in-care-nu-locuieste-niciun-scriitor-12506378.
[

[Interactiv]. Available: http://www.gandul.info/financiar/cati-artisti-cu-contract42

[15] de-munca-traiesc-in-romania-orasele-in-care-nu-locuieste-niciun-scriitor-12506378.
[
[Interactiv]. Available:
[16] http://www.referatele.com/referate/noi/informatica/conceptul-de-design-82272414.php.

43

Anexa

cod

surs

controler

evenimente
namespace ColoursOfDance.Controllers
{
[Authorize(Users="Simi")]
public class EventController : Controller
{
private ColoursOfDanceEntities db = new ColoursOfDanceEntities();
public ActionResult Index()
{
return View(db.Events.ToList());
}
public ActionResult Details(int id = 0)
{
Events events = db.Events.Find(id);
if (events == null)
{
return HttpNotFound();
}
return View(events);
}
public ActionResult Create()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Events events)
{
if (ModelState.IsValid)
{
db.Events.Add(events);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(events);
}
public ActionResult Edit(int id = 0)
{
Events events = db.Events.Find(id);
if (events == null)
{
return HttpNotFound();
}

44

return View(events);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(Events events)
{
if (ModelState.IsValid)
{
db.Entry(events).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(events);
}
public ActionResult Delete(int id = 0)
{
Events events = db.Events.Find(id);
if (events == null)
{
return HttpNotFound();
}
return View(events);
}
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
Events events = db.Events.Find(id);
db.Events.Remove(events);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
}

45

Anexa 2 - cod sursa view creare curs


model ColoursOfDance.Models.Courses
@{
ViewBag.Title = "Adauga curs";
}
<h2>Creeaza curs</h2>
@using (Html.BeginForm("Create","Course",FormMethod.Post, new{@class="form-horizontal",
role="form"})) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="form-group">
@Html.LabelFor(model => model.Name, new { @class = "control-label col-sm-2" })
@Html.EditorFor(model => model.Name, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Name)
</div>

})

<div class="form-group">
@Html.LabelFor(model => model.Description, new { @class = "control-label col-sm-2"
@Html.EditorFor(model => model.Description, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Description)
</div>
<div class="form-group">
@Html.LabelFor(model => model.IdCategory, new { @class = "control-label col-sm-

2" })

@Html.DropDownList("IdCategory",
(IEnumerable<SelectListItem>)ViewBag.IdCategory, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.IdCategory)
</div>
<div class="form-group">
@Html.LabelFor(model => model.DayOfWeek, new { @class = "control-label col-sm-2"
})

@Html.EditorFor(model => model.DayOfWeek, new { @class = "form-control" })


@Html.ValidationMessageFor(model => model.DayOfWeek)
</div>
<div class="form-group">
@Html.LabelFor(model => model.Hour, new { @class = "control-label col-sm-2" })
@Html.EditorFor(model => model.Hour, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Hour)
</div>
<div class="form-group">
@Html.LabelFor(model => model.Room, new { @class = "control-label col-sm-2" })
@Html.EditorFor(model => model.Room, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Room)
</div>
<div class="form-group">
@Html.LabelFor(model => model.AgeGroup, new { @class = "control-label col-sm-

2" })

46

@Html.EditorFor(model => model.AgeGroup, new { @class = "form-control" })


@Html.ValidationMessageFor(model => model.AgeGroup)
</div>

@Html.ActionLink("Inapoi", "Index", "Course", new { @class = "btn btn-primary" })


<input type="submit" value="Creeaza curs" class="btn btn-success" />

@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}

47