Principalele limbaje de programare ce stau la baza implementării aplicației. [624160]

Tehnologii

Principalele limbaje de programare ce stau la baza implementării aplicației.

1. HTML (HyperText Markup Language)

HyperText Markup Language (HTML) este un limbaj de marcare utilizat pentru
crearea paginilor web ce pot fi afișate într-un browser (sau navigator).

Tehnologia evolueaza rapid, într -un ritm alert, în toate domeniile, HTML -ul este
limbajul markup cel mai folosit în acest moment pentru paginile web, însă acesta a
"suferit" un upgrade simțitor prin intermediul HTML5.
HTML5 este cea mai recentă versiune de HTML, în scopul de a simplifica
dezvoltarea de aplicatii web. Este a cincea revizuire a standardului HTML (creat în 1990
și standardizat ca HTML4 din 1997) și din octombrie 2011 este în curs de dezvoltare .
Obiectivele sale principale au fost acelea de a îmbunătăți limbajul cu un suport pentru
cele mai recente apariții multimedia în același timp menținându -l ușor de citit de oameni
și bine înțeles de computere și device -uri ( browsere web , parsere , etc.).
HTML5 își propune să însumeze nu numai HTML4 , dar și XHTML 1
și DOM2HTML (îndeosebi JavaScript ). Urmărind predecesorii săi imediați, HTML5 este
un răspuns la observația că HTML și XHTML utilizate în comun pe World Wide Web sunt
un amestec de caracteristici introduse de specificații diferite, împreuna cu acestea mai
sunt și caracteristicile diferite aduse de software, de browsere, și multe erori de si ntaxă
în documnentele web existente. Astfle, HTML5 devine o încercare de a defini un
singur limbaj de marcare care poate fi scris în oricare dintre sintaxele HTML sau/și
XHTML. Acesta include modele detaliate de prelucrare pentru a încuraja mai multe
implementări interoperabile; extinde, îmbunătățește și raționalizează disponibilitățile
pentru documentele web și introduce marcarea și aplicații API ( application programming
interfaces ) pentru aplicații web complexe. Din aceste motive, HTML5 este un posibil
candidat: [anonimizat]5 au fost
create din considerarea că va trebui să devină capabil să ruleze pe dispozitive cum ar fi
smart -phonurile sau tabletele.
În special, HTML5 aduce multe noi caracteristici sintactice. Acestea cuprind
elemente ca <video>, <audio>, <header> și <canvas> elemente HTML , precum și
integrarea conținutului SVG care a înlocuiește utilizarea tag -ului generic <object>. Aceste
noutăți sunt proiectate pentru a facilita includerea și man ipularea în web a conținuturilor
multimedia și grafice fără a fi nevoie să se recurgă la proprietățile de plugin și API. Alte
noi elemente ca <section>, <article>, <header>, și <nav> sunt proiectate să
îmbunătățească conținutul semantic al documentelor. Noi atribute au fost introduse în
același scop, în același timp unele elemente și atribute au fost îndepărtate. Unele

elemente ca <a>, <cite> și <menu> au fost schimbate, redefinite și standardizate. API -urile și
DOM -urile ( document object model ) sunt certitudini și sunt părți fundamentale în
specificațiile HTML5. HTML5, de aseme nea, definește in câteva detalii prelucrările
necesare pentru documentele invalide, astfel încât sintaxa erorilor va fi tratată uniform
de toate browserele cunoscute.1
Istorie
Web Hypertext Application Technology Working Grou p (WHATWG) a început să lucreze
la un nou standard în 2004, când Consorțiul World Wide Web era concentrat pe evoluțiile
viitoare ale XHTML 2.0 și HTML 4.01 care nu au fost actualizate din anul 2000. În 2009
W3C a permis cartei XHTML 2.0 Working Group să expire, și a decis să nu o reînoiască.
W3C și WHATWG lucrează în prezent împreună pentru dezvoltare a HTML5.
Chiar dacă HTML5 a fost bine cunoscut ani buni printre dezvoltatorii de web, el devine
subiectul degneral de discuție în media în Aprilie 2010 după ce Steve Jobs , CEO la Apple
Inc. atunci, a dat publicității o scrisoare cu titlul "Gânduri despre Flash" în care a
concluzionat că Flash nu mai este necesar pentru a urmări filme și pentru a consuma orice
tip de resursă web și asta datorită standardelor noi create și deschise în era mobilului,
cum ar fi HTML5, care vor câștiga. Aceasta a strârnit o dezbatere în cercurile de web
devel operi unde unii sugerau că, atîta tip cât HTML5 va livra funcționalități solide,
developerii vor trebui să ia în considerare varietatea suporturilor de browsere din
diferite părți și standarde precum și alte diferențe funcționale între HTML5 și Flash.

Markup
HTML5 introduce un număr de noi elemente și atribute care reflectă utilizarea
tipică a unui site modern. Unele dintre ele sunt semantic înlocuite cu utilizări comune de
blocuri generice (<div>) și de elemente inline (<span>), de exemplu <nav> – block de
navigatie în site -, <footer> – în mod normal se referă la partea de jos a unei pagini web
sau la ultima linie de cod HTML – sau <audio> și <video> în loc de <object>.
Unele elemente depreciate din HTML 4.01 au fost șterse, incl usiv nevinovatul
element de prezentare <font> și <center>, al căror efect este realizat cu CSS ( Cascading
Style Sheets ). Se pune astfel accent pe importanța DOM scripting (e.g. JavaScript) în
comportamentul web.
Sintaxa HTML5 nu mai este bazată pe SGML în ciuda asemănării cu marcajele acestuia.
Oricum a fost dezvoltată pentru compatibilitatea cu parserele comune de HTML mai
vechi. Aceasta vine cu o nouă linie introd uctivă, arată ca tipurile de declarare
SGML, <!DOCTYPE html>, care declanșează modurile standard de redare. Din 5 ianuarie
2009, HTML5 include de asemenea Web Forms 2.0 , anteriorul caiet de sarcini WHATWG.

1 https://ro.wikipedia.org/wiki/HTML5

PHP (Hypertext Preprocessor )

PHP (Hypertext Preprocessor) este un limbaj de scripting de uz general, cu cod –
sursă deschis (open source), utilizat pe scară largă, și care este potrivit în special pentru
dezvoltarea aplicațiilor web și poate fi integrat în HTML.
Limbajul PHP, în marea majoritate a cazurilor, se folosește sub formă de secvențe
de cod inserate în cadrul unui document HTML. Din acest motiv, vom prefera termenul
de „script PHP” celui de program PHP. Structura unui scr ipt PHP este foarte
asemănătoare cu cea a unui cod scris în limbajul C, mai ales în sensul în care structurile
de programare au aceeași sintaxă și aceeași funcționalitate. Rolurile de bază ale unui
script PHP constau în aceea că scipt -ul poate prelua date trimise de către o pagină web de
la un client și de a executa o secvență de program în urma căreia va rezulta un cod HTML,
cod pe care clientul îl va primi sub forma unei pagini web. Clientul nu va avea acces la
codul efectiv al script -ului, ci, prin fapt ul că acesta se află pe server și se rulează tot pe
acesta, va primi direct HTML -ul generat de script.
Pentru a crea scripturi PHP, majoritatea programatorilor PHP folosesc un editor
de texte obișnuit. Sub Microsoft Windows se utilizează frec vent Windows Notepad ,
WordPad sau chiar un procesor de texte precum Microsoft Word.
Modalitatea prin care un script PHP genereaza conținut pentru o pagina ce va fi
afisata de browser, este prin folosirea etichetelor <?php ?>. Tot codul sursa t rebuie
introdus între acele etichete, asa cum codul html trebuie introdus în etichetele
<html></html>.
PHP este un limbaj de programare de tip interpretat, asta insemnand ca fișierele ce
conțin cod PHP sunt interpretate ca atare în timpul execuției. Practic, în execuția unei
porțiuni de cod sursă, nu este necesara modificarea lui într -o forma inte rmediara ( cod
binar ), și este folosit exact așa cum a fost scris.

SQL Structured Query Language
Limbajul numit SQL (Structured Query Language) este utilizat intens în
prelucrarea bazelor de date structurate conform modelului relațional. Unul din motivele
popularității de care se bucură acest limbaj este faptul că el a fost standardizat
de American National Standards Institute (ANSI). În plus, limbajul a fost inițial dezvoltat
și comercializat de IBM, ceea ce i -a asigurat o mare răspândire . Principala aplicație în
limbajul SQL, efectuată de utilizator, este interogarea bazei de date (BROOKSHEAR 1998,
379).

Printr -o singură instrucțiune SQL se poate exprima o interogare care presupune o
secvență de operații SELECT, PROJECT și JOIN, nefiind n ecesară o anumită ordine a
acestora. Deși forma de exprimare a unei instrucțiuni SQL pare a fi imperativă, în esență
instrucțiunea este de tip declarativ. Drept urmare limbajul SQL îl scutește pe utilizator de
necesitatea dezvoltării unei secvențe de pași care trebuie parcurși pentru obținerea
informației dorite – tot ce are de făcut este să descrie informația de care are nevoie.
Majoritatea instrucțiunilor din SQL sunt executabile, ele putând fi interpretate și
executate imediat în mod interactiv sau putân d fi incluse în diferite aplicații scrise în
limbaje de programare cum sunt APL, BASIC, C, COBOL, FORTRAN, PL/I, ASSEMBLER,
etc., executându -se în momentul rulării programului respectiv (BÂSCĂ 1997, 55).
MySQL
MySQL este un limbaj specializat pentru gestiunea bazelor de date relaționale pe
Internet, având la bază limbajul SQL. MySQL gestionează baze de date care se găsesc pe
un server. Baza de date poate fi foarte lesne exploatată prin intermediul limbajului PHP,
dar și cu alte limb aje (de exemplu Java).
CSS Cascading Style Sheets
Noțiunea de stil este, pentru un document HTML, asemănătoare cu formatarea
documentului, spre exemplu, pentru un document Word. Exisă o mulțime de atribute prin
care se pot stabili font -urile, caracteristicile de aliniere a textului, forma elementului,
culorile de fond și ale literelor, marginile, poziția elementelor, etc. Pentru a putea
gestiona cât mai eficient stilurile, a fost pus la dispoziția programatorilor de pagini web
un limbaj prin care se poate realiza acest lucru. Acest limbaj este cunoscut sub numele de
CSS.
CSS Cascading Style Sheets este un standard pentru formatarea elementelor unui
document HTML . Stilurile se pot atașa elementelor HTML prin intermediul unor fișiere
externe sau în cadrul documentului, prin elementul <style> și/sau atributul style . CSS se
poate utiliza și pentru formatarea elementelor XHTML , XML și SVGL2.
CSS3 reprezintă un upgrade ce aduce c âteva atribute noi și ajută la dezvoltarea noilor
concepte in webdesign.
Unele dintre cele mai importante segmente noi adăugate acestui standard pentru
formatarea elementelor HTML aduc un plus considerabil î n dezvoltarea activități
webdesign.

Cele ma i importan te modulele adăugate î n CSS3:
 Selectors

2 https://ro.wikipedia.org/wiki/Cascading_Style_Sheets

 Box Model
 Backgrounds and Borders
 Image Values and Replaced Content
 Text Effects
 2D/3D Transformations
 Animations
 Multiple Column Layout
 User Interface
Serverul Apache este caracterizat ca fiind un software gratuit și open source, acesta fiind cel mai
popular server HTTP. Este rapid, fiabil și sigur. Acesta poate fi extrem de personalizate
pentru a satisface nevoile de mai multe medii prin utilizarea de extensii și module.
JavaScript
JavaScript este un limbaj de programare orientat pe obiecte. În ciuda numelui și a
unor oarecare similarități în sintaxă, între JavaScript și Java nu există nici o legătură.
JavaScript are o sintaxă apropiată de cea a C -ului; din acest motiv un programator care
cunoaște C poate cu ușurință să învețe JavaScript. Deși acest limbaj are o plajă mai largă
de extindere, cel mai des întâlnit este în scriptarea paginilor web. Programatorii web pot
îngloba în paginile HTML script -uri pentru diverse activități, cum ar fi verificare datelor
introduse de utilizatori, sau crearea de meniuri ori de alte efecte animate. Browser -ele
rețin în memorie o reprezentare a paginii web sub forma unui arbore de obiecte, punând
aceste obiecte la dispoziția JavaScript -ului, care le poate citi și manipula. Acest arbore de
obiecte, de care ne vom ocupa în paragraful următor, poartă numele de DOM (Document
Object Model).

5. Proiectarea bazei de date

Noțiuni generale

Baza de date reprezintă un ansamblu structurat de date , înregistrate pe suporturi
accesibile calculatorului, în scopul satisfacerii simultan, a mai multor cereri din partea
utilizatorilor, în mod selectiv, și în timp optim.
O bază d e date este o colecție de date centralizate, creată și menținută computerizat,
în scopul prelucrării datelor în contextul unui set de aplicații. Prelucrarea datelor se
referă la operațiile de introducere, ștergere, actualizare și interogare a datelor.
Proiectarea unei baze de date trebuie să parcurgă următoarele etape:
– Analiza cererilor și strângerea de informații referitoare la aplicație.
– Proiectarea conceptuală a bazei de date.
– Alegerea unui sistem de gestiune al bazelor de date.
– Proiectarea l ogică a bazei de date.
– Proiectarea fizică a bazei de date.
– Implementarea bazei de date și a aplicației .

Proiectarea unei baze de date se compune din două etape:
– Proiectarea logică, în care proiectantul decide asupra structurii logice a bazei de
date;
– Proiectarea fizică, în care proiectantul decide cum se va implementa structura
logică în sistemul de gestiune a bazelor de date (SGBD).

Înainte de a se proiecta efectiv o bază de date, este necesar să se cunoască ce rezultate se
așteaptă potențialii utilizatori să obțină de la baza de date respectivă și documentarea
asupra informațiilor ce sunt disponibile pentru aceasta.

Având cerințele formulate precis și concis se poate trece la elaborarea schemei
conceptuale utilizând un model de nivel înalt. S chema conceptuală reprezintă o descriere
concisă a datelor utilizatorului, incluzând descrierea detaliată a tipurilor de date, a
relațiilor și restricțiilor acestora.
Următoarea etapă este cea de construcție a bazei de date ținând cont de detaliile actuale ,
cu ajutorul unui sistem de gestiune a bazelor de date (SGBD). Această etapă înglobează
etapele de alegere a unui SGBD, de proiectarea logică a bazei de date și cea de proiectarea
fizică a bazei de date.

Modelul entitate – relație
Modelul entitate -relație este cel mai utilizat model conceptual de nivel înalt, care
reprezintă schema conceptuală a bazei de date cu ajutorul entităților și a relațiilor dintre
acestea .
O entitate este un obiect al lumii reale, cu o existență indepen dentă și poate
reprezenta un obiect fizic, o activitate, un concept. Orice entitate are o serie de proprietăți
numite atribute, ce descriu entitatea respectivă.
In cazul aplicației noastre , s-au identificat următoarele entități:
– utilizatori
– discipline
– profesori_discipline
– lecții
– elevi_profesori_discipline
– întrebari
– întrebari_lec tii
– elevi_ră spunsuri
– elevi_rezultate .

Atributelor li se asociază valori care au ca scop identificarea entității. Această
atribuire de valori pentru fiecare atribut formează o înregistrare a tabelului respectiv.
În proiectarea bazelor de date se definesc relații sau asocieri între mulțimile de
entități componente, pentru a reprezenta anumite aspecte ale realității pe care o
modelează baza de date .
Relația reprezintă o legatura între doua sau mai multe entități. O valoare a unei relații
este o comunicare între valorile entităților care le leagă. Existența unei asocieri este
subordonată existentei entităților care le leagă.

Modelul logic
Acest model folosește concepte ce mai pot fi înțelese încă de către utilizator, dar care
presupun reprezentări referitoare la modul în care utilizatorul dorește să vizualizeze
datele. În continuare tehnicile de înmagazinare a datelor rămân transparente

utilizatorului. Proiectul logic al unei baze de date relaționale creează și validează modelul
logic de date local. Scopul urmărit este acela de a construi un model logic de date bazat
pe modelul conceptual de date creat anterior, după care se trece la validar ea acestui
model cu ajutorul tehnicii normalizării.
– utilizatori( codu , nume , prenume , utilizator, email, tip_utilizator, foto )
– discipline( codd , denumire )
– profesori_discipline( id, codu, id_disciplină )
– lectii( id_l,id_util ,titlu ,ordine )
– elevi_profesori_discipline( id_profesor_disciplina, id_elev,id_l )
– întrebari(id,intrebarea ,raspuns_corect ,tip_întrebare )
– întrebari_lectii( id_l, id_întrebare )
– elevi_răspunsuri( id_elev,id_întrebare ,răspuns )
– elevi_rezultate( id_elev, id_l , rezultat )

Modelul conceptual al bazei de date

Modelul fizic

Tabela „utilizator ” conține date generale despre userii aplicației:
– codu: cheie primară;
– nume
– prenume
– utilizator
– parolă
– email
– tip_utilizator
– foto

Tabela „profesori_discipline” : conț ine codul fiecarui utilizator și discpilina:
– id: cheie primară
– codu: cheie externă, reprezintă codul de utilizatator;
– id_disciplină: cheie externă către tabela „discipline”;

Tabela ,,lecții ” conține :
– id_l cheie primară;
– id_util cheie străină cu referință la tabela
profesori_discipline(id);
– titlu reprezintă denumirea lecției;
– ordine reprezintă odinea lecțiilor.

Tabela întrebări_lecții conține:
– id_l:cheie st răină cu referință către tabela lectii(id_l)
– id_intrebare : cheie străină cu refe rință către tabela
întrebari(id)

Tabela întrebări
– id: cheie primară;
– intrebarea
– raspuns_corect
– tip_intrebare: cu alegerea simplă, de completare, alegere
multiplă.

Tabela elevi_rezultate:
– codu: cheie străină cu referină la tabela utilizatori(codu),
– id_l: cheie străină cu referință la tabela lectii(id_l)
– rezultat reprezintă

Tabela elevi_răspunsuri:
– id_elev:cheie străină cu referință către tabela utilizatori(codu);
– id_intrebare :cheie străină cu referință către tabela intr ebari(id);
– raspuns: reprezintă răspunsul oferit de elevi la un anumit test.

Tabela elevi_pro fesori_discipline :
– id_profesor_discipli na: cheie străină cu referință către tabela
profesori_discipline(id)
– id_elev : cheie străină cu referintă către tabela utilizatori(codu)
– id_l: cheie stăină cu referință către tabela lectii(id_l)

Tabela „discipline” conține:
– codd: cheie primară;

– denumire : reprezintă numele disciplinei.

Proiectarea interfeței

ANTET
SIDEBAR

CONȚINUT

SUBSOL

În secțiunea ANTET – se găsește logo -ul aplicației și un meniu care permite utilizatorilor să
vizualizeze:

– prima pagină a aplicației – cu informații generale
– lecțiile propuse de fiecare cadru didactic ordonate după disciplină
– informații generale despre utilizatorii elevi
– un formular de căutare a informației pe site
În secțiunea SIDEBAR (partea stângă a aplicației):
– un formular de autentificare accesibil fiecărui utilizator al aplicației(1 – elev, 2 –
profesor, 3 – admin)
– sunt afișați profesorii care au p ropus lecții și disciplinele acestora
În secțiunea CONȚINUT, înainte de autentificare, sunt prezentate informații generale despre
aplicație.
În secțiunea SUBSOL, se găsesc informații despre realizatorul acestei aplicații.

Pagina care conține secț iunea ADMIN
– adaugă, modifică și șterge informațiiledespre elevi și profesori;
– adaugă, modifică și șterge informații despre lecțiile și întrebările adăugate de cadrele
didactice;
– adaugă, modifică și șterge informații despre discipline.

Pagina care conține secțiunea Profesori
Un profesor primește un nume de utilizator și o parolă de la adminstrator
Cadrul didactic, intr -o secțiune destinată doar lui poate efectua următoarele operații:
– adaugă, modifică și șterge lecțiile și întrebările de la discplina lui;
– adaugă elevi la disciplina pe care o predă;
– vizualizează rezultatele obținute de fiecare elev la fiecare lecție;
– vizualizează o statistică cu numărul de întrebări de la fiecare test, numărul de
utilizatori înscriși la fiecare lecție și numărul de teste susținute la fiecare lecție;

– iși poate modifica datele personale primite de la administrator.

Pagina care conține secț iunea Elevi
Un elev primește un nume de utilizator și o parolă de la profesor sau adminstrator
După autentificare, elevul poate efectua următoarele operații:
– iși poate modifica numele de utilizator și parola;
– poate să parcurgă lecțiile la care a fost înscris de unul sau mai mulți profesori;
– poate să susțină unul sau mai multe teste de evaluare la lecțiile la care a fo st înscris
de către profesor, în funcție de rezultatul obținut la test elevul poate sau nu să
parcurgă următoarea lecție;
– vizualizează lecțiile la care este înscris și rezultatele pe care le -a obținut la fiecare
test de evaluare.

Implementarea aplicației
Prima pagină a aplicației este index.php. Acest modul este format din:
– conectare.php – care conține informații cu privire la conectarea la baza de
date MySQL
– funcții.php – conține funcții pentru determinarea utilizatorului logat, pentru
afișarea datei calendaristice, etc….
– antet.php – conține informații existente în secțiunea ANTET paginii Web

– continut.php – conține informații ce se afișează în secțiunea CONȚINUT a
paginii Web
– stanga.php – conține informații ce se vor afișa în se cțiunea SIDEBAR
– subsol.php – conține informații ce se vor afișa în secțiunea SUBSOL

Similar Posts