Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
MEDIU DE TESTARE - APLICATIE PENTRU TESTAREA CUNOSTINTELOR ELEVILOR SI URMARIREA PERFORMANTELOR ACESTORA - proiect
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 

v3k7ko
CUPRINS

1. INRODUCERE

1.1. LOCUL EXPLOATARII APLICATIEI
1.2. SPECIFICATII DE DEFINITIE
1.3. NECESITATEA ELABORARII APLICATIEI
1.4. SPECIFICAREA CERINTELOR

2. MEMORIU TEHNIC

2.1. APLICATIE CENTRATA PE BAZE DE DATE
2.2. ABORDAREA METODICA A ACTIUNII DE PROIECTARE A APLICATIEI
ANALIZA
PROIECTARE
Diagrama Entitate-Relatie
Diagrama Functionala
Tipul arhitecturii pentru aplicatia creata
IMPLEMENTARE
TESTARE
DOCUMENTARE

3. MEMORIU JUSTIFICATIV

3.1. SCHEMA BAZEI DE DATE
3.2. CONTRIBUTII PERSONALE

4. CAIET DE SARCINI

5. MANUAL DE OPERARE

5.1 INSTALARE
5.2 UTILIZARE

6. DEZVOLTARI ULTERIOARE

CONCLUZII

BIBLIOGRAFIE

ANEXE

1. ANEXA TABELE SI CAMPURI DIN TABELE
2. ANEXA COD SQL VEDERI
3. ANEXA COD
4. ANEXA TABELE
5. ANEXA FIGURI


1. INTRODUCERE

In prima parte a lucrarii voi prezenta limbajul de programare PHP, functionarea acestuia, de ce este mai avantajos si mai putin costisitor acest mediu de programare in comparatie cu alternativele lui (CGI, ASP.NET sau JSP), precum si motivele din care s-a ales acest mediu de programare drept mediu de realizare al proiectului, cauzele care m-au determinat sa aleg acesta aplicatie pentru proiectul de diploma.

1.1 CE ESTE “PHP”?
Initial, PHP a reprezentat abrevierea de la Personal Home Page (pagina de baza personala). Limbajul a fost creat in anul 1994 de catre Rasmus Lerdolf, pentru a-si indruma vizitatorii spre curriculum vitae-ul personal, publicat in Internet. Pe masura ce utilitatea si caracteristicile sale s-au dezvoltat, pe masura ce programul a inceput sa fie utilizat in situatii cu un caracter mai profesional, PHP a ajuns sa aiba semnificatia PHP: Hypertext Preprocessor (procesor de hipertext). In esenta, semnificatia acestei definitii consta din aceea ca PHP manipuleaza datele inainte ca acestea sa se transforme in HTML (HyperText Markup Language).
A afirma ca PHP este inglobat in HTML este echivalent cu faptul ca poate fi scris in interiorul programului dumneavoastra HTML -; acesta fiind programul in care sunt construite toate paginile dumneavoastra web.
De asemenea, HTML este un limbaj de redactare a scripturilor si nu un limbaj de programare. Aceasta inseamna ca PHP este conceput sa efectueze o anumita operatie numai dupa producerea unui eveniment.
Trebuie sa intelegem ca PHP este o tehnologie pe parte de server. Aceasta se refera la faptul ca toate operatiile pe care le executa PHP se produc pe server (nu pe client, care este un teminal, calculatorul folosit de persoana care vizualizeaza siteul Web). Un server este un calculator special care stocheaza paginile pe care le vizualizati cand va deplasati la o adresa Web cu browserul dumneavoastra (Netscape Navigator, Microsoft Internet Explorer, Mozilla, etc.).
De asemenea, PHP are caracter inter-platforma, acest lucru insemnandca poate fi utilizat pe sisteme de operare diferite precum: UNIX, Windows, Macintosh si altele. Spre deosebire de majoritatea celorlalte limbaje de programare care fac parte din categoria lui, permite si transpunerea fisierelor dintr-o platforma in alta cu modificari reduse sau chiar inexistente.




1.2. CUM FUNCTIONEAZA “PHP”?
PHP este un limbaj de programare pe parte de server, ceea ce inseamna ca liniile pe care le scrieti in PHP sunt rezidente intr-un calculator gazda care serveste pagini browserelor Web.
Cand faceti o cerere catre un site Web (www.forum.edu.ro, de exemplu), furnizorul dumneavoastra de servicii Internet (ISP) directioneaza cerea spre serverul care gazduieste informatiile din siteul respectiv. Serverul citeste codul PHP si il prelucreaza in conformitate cu instructiunile continute in script. Pe scurt, PHP creeaza instantaneu o pagina HTML, pe baza parametrilor doriti de utilizator.

1.3. DE CE SA UTILIZAM “PHP”?
PHP este mai bun, mai rapid si mai usor de invatat decat alternativele sale. Pentru proiectarea unui site Web, pricipalele alternative la PHP sunt limbajul HTML simplu, scripturile CGI (Common Gateway Interface -; interfata comuna de tip poarta, scrisa de obicei in Perl), ASP (Active Server Pages) si mai recentul ASP.NET, Macromedia ColdFusion si JSP (Java Server Pages). Java script nu reprezinta o alternativa efectiva la PHP si nici invers deoarece JavaScript este o tehnologie pe parte de client. Avantajul PHP in raport cu HTML simplu consta din aceea ca ultimul este un sistem limitat, care nu permite nici flexibilitate, nici responsivitate. De asemenea PHP poate interactiona cu baze de date si fisiere, poate manipula mesaje de posta electronica (e-mail) si este capabil de multe alte operatii inaccesibilie limbajului HTML.
Tehnologiile pe parte de server, precum si scripturile CGI, si-au castigat o popularitate mare din cauza ca aceste sisteme permit proiectantilor de pagini Web sa creeze aplicatii Web care sunt generate dinamic, luand in considerare toate elementele dorite de programator. Deseori conduse de bazele de date, aceste siteuri complexe pot fi actualizate si intretinute cu mai mare usurinta decat paginile HTML statice.

1.4. DE CE LIMBAJUL “PHP” SI NU “CGI”, “ASP.NET” SAU “JSP”?
? PHP este mult mai usor de invatat si utilizat.
? PHP este gratuit.
? PHP este inter-platforma.
? PHP provine dintr-o sursa deschisa, utilizatorii PHP sunt cei care determina evolutia, nu o entitate corporatisca sau alta.
? PHP a fost scris special pentru crearea de pagini Web dinamice.
? in prezent PHP este cel mai popular instrument pentru realizarea de siteuri Web dinamice.
? si nu in ultimul rand pentru ca am invatat acest limbaj de programare in anul III de colegiu, avand curs si proiect in PHP.

1.5. NECESITATEA ELABORARII APLICATIEI

Pentru a explica necesitatea elaborarii aplicatiei, care vine in sprijinul cadrelor didactice dar in egala masura si al elevilor (studentilor), voi aduce ca argument principal necesitatea inlocuirii muncii manuale -intr-o pondere cat mai mare - cu munca automatizata si utilizarea tehnicilor moderne, care aduc o imbunatatire considerabila in procesul instructiv-educativ al elevilor. Insa, eficienta aceasta si necesitatea existentei unei aplicatii trebuie calculata in termenii contextului prezent si viitor.
Important pentru un profesor faptul de a avea la indemana instrumente moderne si eficiente de evaluare, deoarece evaluarea se face foarte simplu cu economie de timp, eleiminand-se corectarile clasice, astfel incat evaluarile se pot face foarte des realizand o evaluare continua in acest fel profesorul are o viziune clara, obiectiva asupra nivelului de pregatire si evolutie al elevului.
De mentionat este faptul ca in institutiile de invatamant preuniversitar exista de cativa ani o platforma care vine in sprijinul cadrelor didactice, secretariatului si elevilor care se numeste “Asistent educatioanl pentru licee” (A.E.L.) care este foarte bine realizata dar care este foarte stufoasa, in sensul ca pentru functionarea normala a aplicatiei este necesar sa fie parcursi o multime de pasi, exemplu: declararea institutiei de invatamant, declararea nivelurilor de invatamant existente in institutie (liceu, scoala profesionala, S.A.M., ucenici), crearea componentelor pentru fiecare nivel de invatamant, dupa fiecare an scolar trebuie ca toti elevii sa fie promovati in anul urmator si lista poate continua cu foarte multe exemple. Si fiint toata ziua prezent intr-o astfel de institutie am avut contacte cu numerosi profesori care doreau sa foloseasca sistemul “A.E.L.” dar din cauza ca este prea dificil pentru ei sa-l foloseasca, am ajuns la concluzia sa pot concepe eu o platforma asemanatoare, care sa vina in sprijinul cadrelor didactice si al elevilor, dar aplicatia rezultata sa fie usor de utilizat atat de catre elevi precum si de profesori, usor accesibila, usor de intretinut, sa poata fi accesata de la orice terminal conectat la Internet 24 de ore pe zi, 7 zile din saptamana.
Aplicatia este orientata stict pentru profesori si elevi si vine in ajutorul acestora pentru partea de testare a elevilor precum si urmarirea rezultatelor elevilor atat de catre profesor cat si de catre elev, avand posibilitatea de a-si urmari din contul sau evolutia la toate disciplinile la care a sustinut test.

1.6. SPECIFICAREA CERINTELOR

Mi-am propus sa realizez o aplicatie care sa se poata rula in conditiile de dotare existente in institutie. Drept pentru care am optat la tipul de aplicatie cu arhitectura multistrat, deoarece in aproape toate institutiile de invatamant din Romania exista cel putin un server, fie cu un sistem de operare Windows fie cu o versiune de Linux, precum si o retea de cel putin 25 de statii impartite fie intr-un singur laborator fie in doua laboratoare de informatizare. Aceste laboratoare au fost concepute in asa fel sa satisfaca cerintele profesorilor de mai multe discipline, deci in aceste laboratoare se tin ore, pe langa orele clasice de “Informatica” si „Tehnologia informatiei si comunicarii” si ore de „Bilogie”, „Chimie”, „Fizica”, „Laborator tehnologic”, „Geografie”, „Istorie”, „Limbi straine”, etc. Scopul aplicatiei s-a dorit a fi o culegere de discipline, la fiecare disciplina putandu-se declara un numar nelimitat de tematici, pentru fiecare tematica un set de intrebari, preferabil sa fie peste 18 la numar, iar o intrebare poate avea 3 variante de raspuns si numai una corecta. Elevii care doresc sa-si evalueze cunostintele, acest lucru putand fi impus de catre profesorul lor, se inscriu pe site (isi creaza cont gratuit) si sa-si urmareasca in evoluatia pe diferite discipline si tematici la care parcurge teste.
Un profesor poate avea cont doar pentru o disciplina, iar la o disciplina pot fi inscrisi mai multi profesori, deci pot folosi acelasi material educational pentru disciplina in cauza.
Deasemenea profesorul are la dispozitie instrumente de urmarire a rezultatelor elevilor pentru disciplina la care cont, aceasta consta in faptul ca pentru fiercare tematica inregistrata profesorul are posibilitatea de a vizualiza rezultatele unui anumit elev, avand chiar instrumente de cautare a elevilor dupa cateva creiterii (nume de utilizator, numele elevului precum si prenumele). Vizualizarea evolutiei elevilor pe diferite tematici este posibila prin intermediul unor grafice care arata profesorului, dar in acelasi timp si elevului, datele calendaristice la care a fost parcurs testele, nota obtinuta, numarul de intrebari din care este compus testul, nota de la care a pornit testul (care poate sa fie nota „0”, „1”, „2”, „3” si nota „4”) in functie de preferintele elevului, precum si numarul de intrebari pentru fiecare grad de dificultate „I”, grad „2” si „III” care deasemenea ramane la latitudinea elevului inainte de pornirea testului.
Testele (intrebarile cu raspunsurile) sunt concepute numai de catre profesori, in functie de obiectivele urmarite de fiecare profesor in parte pentru tematica sau lectia pentru care sunt inregistrate, insa elevul are posibilitate sau privilegiul de a-si alege singur numarul de intrebari din care sa fie compus testul precum si gradele de disficultate al intrebarilor. Altfel spus daca elevul „X” doreste sa parcurga un test la disciplina „Engleza”, daca pentru aceasta disciplina nu sunt inregistrate tematici sau lectii, va pri mesaj ca nu poate sa parcurga test, deasemenea in cazul in care sunt inregistrate intrebari dar prea putine, adica un numar mai mic de 3 intrebari pentru fiecare grad de dificultate ( „I”, „II”, „III”), elevul nu poate sa-si evalueze cunostintele pentru aceasta disciplina. In cazul in care sunt indeplinite aceste dependente functionale, elevului i se da posibilitate sa-si alega tematica din care doreste sa se evalueze, numarul de intrebari pentru fiecare grad de dificultate in parte si in cele din urma elevului i se va genera un teste cu numarul de intrebari dorit de catre acesta, si afisarea intrebarilor se face in mod aleator pentru fiecare grad de dificultate in parte, astefel incat daca testul se da la cur unei clase intregi si elevii sunt postati alaturi nu pot comunica in vafoarea lor, in sensul sa se ajute reciproc, deoarece testul generat unui elev nu va corespunde exact cu testul generat colegului sau de alaturi, cu toate ca toti elevii au ales acelasi tip de test si numar de intrebari din aceasi categorie de dificultate.

2. MEMORIU TEHNIC

Aplicatia este abordata ca aplicatie baze de date.

2.1. APLICATIE CENTRATA PE BAZE DE DATE

Notiunea de baza de date este strans legata de notiunea de date, care refera „fapte culese din lumea reala” a1i. Baza de date se refera la un volum mare de date, care sunt stocate pe suport fizic; ea reprezinta, in cazul sistemului computerizat, echivalentul arhivei din viata reala. Mai poate fi inteleasa ca o colectie de fisiere de date intr-un sistem de calcul a2i.
Pentru o baza de date cel mai important lucru este manipularea datelor continute in acea baza de date. Aceasta „manipulare” refera operatiile care se pot efectua asupra datelor: operatii de adaugare a unor date noi, operatii de regasire, de modificare, de stergere a datelor existente a2i.
In continuare voi rezuma argumentele care au stat la temelia alegerii pe care am facut-o -; alegerea unei aplicatii centrata pe baze de date.
Aveam nevoie ca aplicatia sa permita stocarea unui volum mare de date, la care sa existe acces tot timpul. Se stie ca in cazul bazelor de date, accentul este pus pe operatiile de memorare si regasire, efectuate asupra unor volume mari de date si mai putin asupra operatiilor de prelucrare a datelor, care este domeniul altor categorii de aplicare a informaticii. Acest aspect a constituit pentru mine argumentul principal, care m-a determinat sa aleg acest tip de aplicatie.
Securitatea datelor este o problema actuala. ea este tratata in cazul unora din SGBD-uri (sisteme de gestiune de baze de date), care ofera accesul la date prin intermediul numelui de utilizator si al parolei, sub forma unor restrictii asupra operatiilor care se doresc a fi executate si asupra tabelelor care privesc aceste operatii (exemple MSSQL Server 2000, ORACLE9i, DB2).
Doresc ca baza de date pe care o utilizez in aplicatia mea, mTest, sa memoreze toate datele cu privire la discipline, tematicile aferente acestora precum si rezultatele elevilor la teste. Evident ca pentru a realiza acest lucru este nevoie sa se pastreze si date care nu au fost enumerate mai sus, dar care fac parte din elementele componente ale aplicatiei. De exemplu informatiile cu privire la datele personale ale utilizatorilor.

2.2 ABORDAREA METODICA A ACTIUNII DE PROIECTARE A APLICATIEI

Pentru a ajunge la un rezultat satisfacator am parcurs etapele de analiza si proiectare, care sunt independente de o implementare anume, urmate de etapele de implementare, testare si documentare.

ANALIZA
Tabel 1
LISTA CU ENTITATI SI ATRIBUTE PENTRU CONSTRUIREA DIAGRAMEI ER

TERMEN
CALITATE
Entitate (E) / Atribut (A) users E userId A username A password A intrebareRecuperare A raspunsRecuperare A nume A prenume A adresa A varsta A email A securityLevel A disciplinaId A activ A disciplina E disciplinaId A disciplina A tematica E tematicaId A tematica A disciplinaId A

acontinuare tabeli

TERMEN
CALITATE
Entitate (E) / Atribut (A)

intrebari E intrebId A intrebare A grad_dificultate A tematicaId A disciplinaId A raspunsuri E raspunsId A raspuns A corectLogic A intrebId A tematicaId A disciplinaId A raspunsTest E raspunsTestId A data A calificativ A grad1 A grad2 A grad3 A notaPlecare A disciplinaId A tematicaId A userId A

Tabel 2

ENTITATILE CARE INTRA IN SCHEMA BAZEI DE DATE

DENUMIRE ENTITATE TIPUL ENTITATII ENTITATI CU CARE ARE LEGATURA user entitate de baza - disciplina
- teste disciplina entitate de baza - users
- tematica

acontinuare tabeli

DENUMIRE ENTITATE TIPUL ENTITATII ENTITATI CU CARE ARE LEGATURA tematica entitate de baza - intrebari intrebari entitate de baza - raspunsuri raspunsuri entitate de baza - raspunsTest raspunsTest entitate de baza - users
- raspunsuri

Pentru schema BD am nevoie ca sa fac analiza fiecarui atribut pentru a stabili tipul si lungimea maxima pe care o admite. Pentru aceasta am intocmit un tabel cu atribute (vezi tabelul 3).
Tabel 3
ATRIBUTELE DIN SCHEMA BAZEI DE DATE

DENUMIRE ATRIBUT TIPUL ATRIBUTULUI LUNGIME MAXIMA username sir de caractere 25 password sir de caractere 25 intrebareRecuperare sir de caractere 255 raspunsRecuperare sir de caractere 255 nume sir de caractere 50 prenume sir de caractere 100 adresa sir de caractere 255 varsta numeric 2 email sir de caractere 150 securityLevel numeric 1 disciplina longtext tematica longtext intrebare longtext grad_dificultate numeric 1 raspuns longtext corectLogic numeric 1 data data grad1 numeric 2 grad2 numeric 2 grad3 numeric 2 notaPlecare numeric 2
Pentru a construi diagrama Entitate-Relatie care conduce la crearea bazei de date, trebuie sa stabilesc ce relatie exista intre entitati.
Intre entitati pot exista trei tipuri de relatii: relatie 1:1 (unei instante din stanga relatiei ii corespunde o instanta din dreapta relatiei), relatie 1:N (unei instante din stanga relatiei ii corespunde una sau mai multe instante din dreapta relatiei) si relatie M:N (unei instante din stanga relatiei ii corespunde una sau mai multe instante din dreapta relatiei si unui instante din dreapta relatiei ii corespunde una sau mai multe instante din stanga relatiei).
Pentru a remarca mai usor ce tip de legatura exista intre entitati am folosit tehnica grilajului deoarece imi permite o buna vizualizare a relatiilor dintre entitati prin modul de aranjare al acestora - sub forma unui „grilaj”. Sunt prezentate legaturile directe dintre entitati, cele indirecte se deduc.
Tab. 4
TIPUL LEGATURILOR DINTRE ENTITATI FOLOSIND TEHNICA GRILAJULUI
Nr crt ENTITATE
ENTITATE utilizator
1. utilizator - elev
2. elev - - profesor
3. profesor - - - administrator
4. administrator - - - - disciplina
5. disciplina - - 1:N 1:1 - tematica
6. tematica - - - - 1:N - intrebari
7. intrebari - - - - - 1:N - raspunsuri
8. raspunsuri - - - - - - 1:N - raspunsTest
9. raspunsTest - 1:N - - - - - 1:N -

Voi da doua exemple de citire a tabelului de mai sus.

Fig. 1 EXEMPU DE CITIRE A RELATIILOR INTRE ENTITATILE DIN GRILAJ

profesordisciplina 1 : N
Un profesor poate administra o disciplina si pentru o disciplina poat exista mai multi profesori.

disciplina tematica 1 : N
O disciplina are mai multe tematici si mai multe tematici pot exista pentru o disciplina.

Toate aceste atribute si entitati iau viata in prezenta unor evenimente si a unor functii; functii care sunt apelate de evenimentele respective. Doresc sa arat, referitor la prezenta aplicatie, lista cu evenimentele care ar putea surveni si functiile corespunzatoare acestor evenimente.
Tabel 5
LISTA CU EVENIMENTE SI FUNCTII
EVENIMENT FUNCTIA ATASATA
EVENIMENTULUI EXPLICATIE
(Ce presupune functia atasata evenimentului ?)
1 Profesorul apeeaza administratorul pentru un cont. Intocmirea formularului de catre administratorul aplicatiei. - preluarea datelor de la profesor
- completarea formularului de inregistrare cu numele de utilizator dorit de profesor, adresa de mail al profesorului si disciplina pentru care opteaza profesorul
- inregistrarea noului cont, cont care este inactiv
- se genereaza un mail automat cu numele de utilizator al profesorului
- se completeaza de catre profesor formularul de inscriere cu datele personale, nume, prenume, adresa, varsta, intrebarea de securitate si raspunsul la intrebarea de securitate

acontinuare tabeli

EVENIMENT FUNCTIA ATASATA
EVENIMENTULUI EXPLICATIE
(Ce presupune functia atasata evenimentului ?)
2 Tematica noua. Creare tematica noua. - completarea formularului cu tematica dorita, daca aceasta mai este deja inregistrata se afiseaza mesaj de eroare
- daca tematica nu mai este inregistrata pentru disciplina respectiva, tematica va fi inregistrata
3 Intrebare noua. Inregistrarea unei intrebari pentru o tematica. - completarea formularului cu datele dorite pentru intrebare
- alegerea tematicei pentru care se doreste inregistrarea
- alegerea gradului de dificultate al intrebarii
- inregistrarea datelor
4 Raspuns nou. Inregistrarea unui raspuns nou pentru o intrebare. - alegerea intrebarii pentru care se doreste inregistrarea raspunsului
- completarea formularului cu enuntul raspunsului, alegerea variantei de raspuns corect / incorect
- inregistrarea raspunsului
5 Rezultate elevi. Vizualizarea evolutiei elevilor pentru fiecare tematica in parte. - alegerea tematicii pentru care se doreste vizualizarea rezultatelor elevilor
- vizualizarea elevilor care au parcurs teste pentru o tematica aleasa
- alegerea unui elev pentru care se doreste vizualizarea rezultatelor la teste

acontinuare tabeli

EVENIMENT FUNCTIA ATASATA
EVENIMENTULUI EXPLICATIE
(Ce presupune functia atasata evenimentului ?)
6 Cautarea de rezultate a unui elev. Cautare rapida a rezultatelor elevilor. - completarea formularului cu numele de utilizator, numele sau prenumele cursantului care se doreste a fi cautat
- apasarea butonului de cautare
- returnarea sau nu de date in functie de criteriul cautat
7 Un profesor doreste sa parcurga un test pentru verificarea intrebarilor. Alegerea tematicei din care se doreste a se da testul. - selectarea tematicii prin apasarea unui radiobuton aferent tematicii respective
- completarea formularului pentru a genera testul, prin alegerea de intrebari din fiecare grad de dificultate (I, II si III)
- se afiseaza in mod aleator intrebari care corespund setarilor de la pasul anterior
- se raspunde la intrebari prin bifarea raspunsurilor care se cred corecte dupa care se verifica corectitudinea raspunsurilor prin validarea formularului
- se afiseaza rezultatul testului printr-o nota in functie de raspunsurile corecte precum si variantele corecte ale intrebarilor din componenta testului
8 Profesorul doreste cautarea rapida a unor intrebari sau a unor raspunsuri Scrierea cheii de cautare. - se completeaza cuvantul sau fraza dupa care se doreste efectuarea cautarii
- se aleg parametrii de cautare, care consta in: cautare dupa intrebare sau raspuns, dupa gradul de dificultate al intrebarii, tipul de sortare (ASC sau DESC) precum si criteriul de cautare

acontinuare tabeli

EVENIMENT FUNCTIA ATASATA
EVENIMENTULUI EXPLICATIE
(Ce presupune functia atasata evenimentului ?)
9 Se doreste modificarea datelor personale ale profesorului. Actualizarea datelor personale ale profesorului. - completarea formularului cu noile date despre persoana in cauza (profesorul).
- testarea datelor completate in formular prin actionarea butonului de inregistrare.
- actualizarea datelor personale.
10 Un elev doreste sa parcurga un test pentru verificarea cunostintelor. Alegerea disciplinii si tematicii din care se doreste evaluarea. - selectarea disciplinii din lista disciplinelor inregistrate pana la acea ora.
- alegerea unei tematici pentru disciplina aleasa prin apasarea unui radiobuton aferent tematicii respective.
- completarea formularului pentru a genera testul, prin alegerea de intrebari din fiecare grad de dificultate (I, II si III) .
- se afiseaza in mod aleator intrebari care corespund setarilor de la pasul anterior.
- se raspunde la intrebari prin bifarea raspunsurilor care se cred corecte dupa care se verifica corectitudinea raspunsurilor prin validarea formularului.
- se afiseaza rezultatul testului, se acorda o nota care tine cont de raspunsurile corecte ale elevului.
- inregistrarea rezultatului testului.

acontinuare tabeli

EVENIMENT FUNCTIA ATASATA
EVENIMENTULUI EXPLICATIE
(Ce presupune functia atasata evenimentului ?)
11 Un elev doreste sa-si urmareasca evolutia la o anumita disciplina. Alegerea disciplinii pentru care se doreste vizualizarea rezutatelor. - selectarea disciplinii din lista de discipline disponibile, pentru care se doreste afisarea rezultatelor.
- alegerea tematicii pentru care se doreste afisarea rezultatelor.
- afisarea rezultatelor pentru tematica aleasa.
12 Se doreste modificarea datelor personale ale elevului. Administrarea contului de elev. - completarea formularului cu noile date personale ale elevului
- testarea datelor completate in formular prin actionarea butonului de inregistrare
- actualizarea datelor personale ale elevului prin inregistrarea lor

PROIECTARE

In aceasta etapa voi tine cont de cea ce am specificat pana acum la punctele de dinainte si anume: de lista cu entitati si atribute pentru a crea diagrama Entitate-Relatie, de lista cu evenimente si functii pentru a realiza diagrama de funtii cu evenimentele corespunzatoare.
Diagrama Entitate-Relatie este o forma intermediara intre „schita” de entitati si atribute, descrisa anterior si schema bazei de date. Aceasta diagrama este independenta de sistemul de baza de date ales.
Anticipez ca in implementare voi folosi ca sistem de baza de date produsul MySQL.
La implementarea propriuzisa a schemei bazei de date am folosit utilitarul bine cunoscut, phpMyAdmin versiunea 2.6.1- pl3, care este o aplicatie Web foarte complexa construita in limbajul de programare PHP, si care face posibila comunicarea cu serverul de daze de date prin intermediul browserului astfel usurandu-ne mult munca, nefiind obligati sa interogam serverul de baze de date in linia de comanda.




Schema bazei de date se obtine foarte usor odata ce avem la dispozitie diagrama Entitate-Relatie. Aceasta diagrama este independenta de metoda de dezvoltare aleasa. Ea are rolul de a repartiza atributele la entitatile corespunzatoare si de a stabili legaturile care exista intre entitati asa cum se observa in figura 2.
In diagrama, in fata atributelor apare unul din simbolurile: # (diez), * (asterix); ele au o anumita semnificatie pentu atributul pe care il preceda. Semnul diez (#) indica faptul ca atributul este parte a elementului de identificare al entitatii de care apartine atributul si semnul asterix (*) semnifica un atribut obligatoriu.
Pentru a concepe structura bazei de date trebuie sa intelegem diagrama; pentru a o intelege si pentru a ne folosi de ea ulterior, este foarte important sa stim cum se citeste diagrama. Mai jos voi reda citirea diagramei intr-un tabel.

Tab. 6 CITIREA DIAGRAMEI ENTITATE - RELATIE

O DISCIPLINA poate fi pentru unul sau mai multi PROFESORI. si Un PROFESOR, care este subtip de USER, trebuie sa aiba o DISCIPLINA si numai una.

Pentru o DISCIPLINA poate exista una sau mai multe TEMATICI. si O TEMATICA trebuie sa fie pentru o DISCIPLINA si numai una.

Un ELEV, care este subtip de USER, poate parcurge unul sau mai multe TESTE. si Un TEST trebuie sa fie al unui ELEV si doar unui ELEV.

O TEMATICA poate avea inregistrata una sau mai multe INTREBARI. si O INTREBARE trebuie sa fie pentru o TEMATICA si doar unei TEMATICI.

O INTREBARE poate avea inregistrata unul sau mai multe RASPUNSURI. si Un RASPUNS trebuie sa fie pentru o INTREBARE si doar unei INTREBARI.
Un RASPUNS poate exista in mai multe TESTE. si Un TEST trebuie are un tip de RASPUNS si doar unul.

In tabel am folosit cuvinte italice pentru exprimarea tipului de relatie din diagrama: relatie optionala (redata in diagrama prin linie intrerupta) si relatie obligatorie (redata in diagrama prin linie continua). Am folosit cuvinte ingrosate pentru cuvintele din diagrama corespunzatoare legaturilor dintre entitati. Cuvintele scrise cu litere mari reprezinta entitatile.
Se observa din diagrama ca avem o relatie de tip-subtip intre entitatile: user (cu rol de supertip) si elev, profesor si administrator (cu rol de subtip), ceea ce inseamna ca un user poate sa joace un singur rol: de elev, de profesor sau de administrator.
Diagrama functionala (diagrama de functii) exprima modul in care se comporta sistemul la aparitia unui eveniment. Pentru construirea diagramei de functii am luat in calcul lista cu evenimente si funtii din tabelul 5.
In diagrama de functii evenimentele sunt redate cu sageti etichetate, iar functiile sunt date prin dreptunghiuri cu colturi rotunjite, deasemenea etichetate.
In figura 3 am reprezentat diagrama de functii.
Fig. 3

Continuare diagrama functionala profesor.


Continuare diagrama functionala elev.

Tipul arhitecturii pentru aplicatia creata
Pentru a argumenta tipul arhitecturii utilizate in aplicatie voi mentiona tipurile arhitecturilor de aplicatie existente la ora actuala.
Exista trei tipuri de arhitecturi de aplicatie. Le voi prezenta pe scurt in ordinea dezvoltarii.
Prima arhitectura numita desktop se distinge prin faptul ca atat baza de date (BD) cat si aplicatia sunt pe acelasi sistem de calcul.
Fig. 4 PREZENTAREA ARHITECTURII DESKTOP
Sistem de calcul

APLICATIE

BAZA DE DATE

In arhitectura client-server sunt implicate doua tipuri de sisteme de calcul asa cum reiese din denumirea arhitecturii: unul client si altul server. Pe sistemul client ruleaza „aplicatia client” care comunica cu baza de date situata pe alt sistem de calcul -; server de baze de date (serverul BD).

Fig. 5 PREZENTAREA ARHITECTURII CLIENT-SERVER
CLIENT SERVER



APLICATIE BAZA DE DATE


Al treielea tip de arhitectura -; arhitectura multistrat - se caracterizeaza prin existenta, generic vorbind, a trei sisteme de calul: clientul, serverul de aplicatii si serverul de BD. In realitate pot exista o multime de sisteme de calcul la fiecare strat.

Clientul are un browser de Internet, serverul de aplicatii este WEB server-ul care contine definitiile claselor ce descriu regulile de business (adica lucrurile care se schimba in timp) si exista, separat, serverul de BD. Aici se dovedeste importanta programarii obiectuale prin proprietatile ei de incapsulare a datelor (ascunderea detaliilor), mostenire (reutilizarea unei clase in modelarea altei clase care este o specializare a celei dintai) si polimorfism (proprietatea unei metode de a se adapta in functie de tipul obiectului care o apeleaza).

Fig. 6 PREZENTAREA ARHITECTURII MULTISTRAT (INTERNET)
CLIENT -WEB SERVER SERVER DE APLICATII
SERVER BD



APLICATIE CARE RULEAZA

REGULILE DE BUSINESS
ALE APLICATIEI BAZA DE DATE
BROWSER INTERNET








DEZVOLTARE

Ca si la orice aplicatie care se respecta, voi mentiona in randurile care urmeaza, ce voi imbunatatii in versiunea noua a aplicatiei „Mediu de testare”. Un element principal si o noutate, cred ca va fi bine salutata, in special de catre profesorii care fac parte din ariile curriculare stintifice si tehnice cum ar fi: matematica, fizica, chimie, tehnologie si altele, va fi posibilitatea atasarii de imagini la intrebari si raspunsuri oferindu-le astfel posibiltatea de a atasa imagini cu formule sau grafice si care cred ca va usura mult formularea intrebarilor si a raspunsurilor care la acet monent se rezuma doar la o descriere textuala, dar si acest fel de descriere este bine salutat mai ales de catre profesorii din ariile curriculare om si societate (istorie, limba romana, limbile straine si altele).
Ramanand la modulul de intrebari si raspunsuri, o alta dezvoltare ar fi posibilitatea inregistrarii a mai mult de 3 raspunsuri pentru o intrebare, precum si mai multe variante de raspuns, in sensul ca o intrebare poate avea mai multe raspunsuri corecte.
O alta dezvoltare care va avea impact mai mare asupra elevilor si profesorilor va fi posibilitatea comunicarii prin mesaje scrise intre profesor si elev, putand astfel discuta direct din conturile lor despre evolutia elevului.
Venind in sprijinul adinistratorului aplicatiei va fi creat module de vizualizare online a numarului de utilizatori precum si a numelor utilizatorilor aflati online.
In speranta ca acest produs, acesta aplicatie, in viitorul apropriat sau indepartat va putea intra pe „piata” educationala m-am gandit ca o varianta in limba engleza va fi bine venita.

IMPLEMENTARE

La implementarea aplicatiei „mTest” am folosit limbajul de programare „PHP”, cu care am realizat partea dinamica a aplicatiei, care cred ca a fost foarte bine descris in prima parte a lucrarii de fata, cu avantajele, dezavantajele pe care le ofera.
Deasemenea ca sa lucrezi cu limbajul de programare „PHP” este absolut necesar sa lucrezi cu limajul „HTML”, fiindca se completeaza reciproc. La verificarea si validarea formularelor s-a folosit limbajul „Java Script” fiindca acest limbaj ofera posibilitatea de a verifica formularele fara ca acestea sa fie incarcate intr-o noua pagina. Tot cu ajutorul „Java Script” s-a realizat efectele pentru tabele, facandu-le astfel mai estetice, mai primitoare la impactul cu ochiul utilizatorului. Tot in „Java Script” este realizat si meniul aflat in stanga ecranului sus, pentru toate tipurile de utilizatori: elev, profesor si administrator.
Sereverul de baze de date este serverul „MySQL”, este un server de baze de date cu care limbajul „PHP” lucreaza foarte bine, de fapt pentru acest limbaj a fost creat, si deasemenea s-a tinut cont la alegerea acestor instrumente de realizare a proiectului, de faptul ca aceste aplicatii nu necesita licenta deci sunt gratuite, nemaivorbind de faptul ca daca alegeam varianta „Ms SQL” pentru serverul de baze de date si „ASP” limabajul de manipulare a datelor si de interactiune cu datele din serverul „Ms SQL” ar fi necesare licente care totusi sunt costisitoare pentru o institutie de invatamant.

TESTARE

Am folosit aceasta etapa pentru a-mi verifica rezultatele obtinute atat pe fiecare componenta in parte cat si pentru produsul final.
Pentru aceasta etapa, atat pentru testarea pe componente cat si pentru testarea produsului final, am folosit seturi de date virtuale, alese special in acest scop.
O monstra de test pentru produsul final o reprezinta exemplele din cadrul acestei lucrari si cele din partea de documentatie -; Instruire - pusa la dispozitia utilizatorului printr-o optiune de meniu.
Este demn de mentionat faptul ca pentru testarea aplicatiei am avut sprijinul unor colegi profesori din institutia unde lucrez, si astfel s-a realizat o testare efectiva cu profesorii care au completat tematici si intrebari cu raspunsurile aferente intrebarilor, pentru disciplinele la care au fost inregistrati. Pe de alta parte modulul de elev a fost testat pe langa mine, la fiecare pas in parte, si de catre elevi care au completat formularul de instriere in aplicatie, si astfel avand cont deschis au avut acces la modulele pe care aplicatia o pune la dispozitia lor si anume: modulul de testare propriuzisa unde isi evalueaza cunostintele, modulul de statistici unde poate vizualiza numarul de tematici, de intrebari si raspunsuri pentru fiecare disciplina in parte, precum si date despre numarul de utilizatori cu cont activat sau nu si alte statistici utile in orientarea lor, modul de vizualizare a evolutiei lor si modului de actualizare a datelor personale.

DOCUMENTARE

Pentru documentarea aplicatiei am folosit produsul Html Help Workshop. Acesta permite creare si asamblarea componentelor html. Eu am folosit produsul doar pentru asamblarea componentelor pe care le creasem anterior.
Utilizatorul are acces la partea de documentare prin intermediul unei optiuni din meniul principal al aplicatiei.
Interfata documentatiei o reprezinta o fereastra din care utilizatorul poate accesa doua pagini: pagina de index cu informatie organizata alfabetic si pagina de continut cu capitole corespunzatoare modului de lucru cu aplicatia, instalarii, exemplificarii.

3. MEMORIU JUSTIFICATIV

Pentru implementarea aplicatiei am ales produsul Macromedia Dreamweaver MX 2004 deoarece acest produs este destinat aplicatiilor Web, a limbajelor de programare dinamice centrate pe baze de date, dar si statice cum este „HTML”, si pune la dispozitia dezvoltatorului un set de unelte care-i usureaza foarte mult munca.

3.1. SCHEMA BAZEI DE DATE

Luand in considerare etapele anterioare de analiza si proiectare pot defini schema bazei de date. Aceasta contine 6 tabele conform entitatilor definite in tabelul nr. 2.

Fig. 7 BAZA DE DATE mTest CU TABELELE AFERENTE


Tabelele au intre ele legaturi de tipul 1 : N sau 1 : 1, legaturi care rezulta din tabelul nr. 4 in care am utilizat tehnica grilajului.

3.2. STRUCTURA BAZEI DE DATE mTest

Mentionez faptul ca in baza de date, mTest, nu am stabilit reguli de integritate referentiala pentru operatiile de: modificare, stergere si inserare, deoarece, am tinut cont de regulile intergritatii referentiale la implementarea acestor operatii in cod.

Fig. 8 Tabela „disciplina”

Fig. 9 Tabela „intrebari”

Fig. 10 Tabela „raspunsTest”

Fig. 11 Tabela „raspunsuri”

Fig. 12 Tabela „tematica”

Fig. 13 Tabela „users”

3.3. CONTRIBUTII PERSONALE

Exista mai multe posibilitati de abordare a unei aplicatii: pornind de la functii sau pornind de la date. In ambele cazuri exista diferite modalitati de realizare a operatiilor propuse. Eu am ales a doua varianta de implementare: pornind de la date.
Interfata cu utilizatorul este cea mai importanta, deoarece, ea este aceea care convinge utilizatorul de necesitatea unei astfel de aplicatii si de faptul ca munca lui devine astfel mult mai usoara si mai atractiva. Nu am optat pentru o grafica extraordinara si multe imagini din cauza ca acestea aduc aplicatiei o incarcare prea mare si deci in consecinta viteza de lucru va avea de suferit, dat fiind faptul ca aplicatie este orientata spre internet, unde fiecare utilizator are la dispozitie diferite viteze (trafic), am optat pentru a nu incarca prea mult paginile pentru a castiga la viteza de accesare a paginilor.
Aceasta aplicatie a fost conceputa pentru a veni in sprijinul profesorilo si ai ajuta pe elevi sa se evalueze continuu si mai eficient. Pentru accesul la aplicatie este nevoie de o autentificare pe baza unui nume de utilizator si a unei parole. Ce trebuie facut pentru a face rost de un nume de utilizator? Foarte simplu, din cauza ca aplicatia este pe trei niveluri de securitate, contul de profesor va fi elaborat de catre administratorul aplicatiei; exemplu: profesorul X din institutia Y doreste un cont pentru a crea tematici si astfel teste pentru elevi, el se adreseaza administratorului alpicatiei care ii creaza un cont partial doar cu numele de utilizator si adresa de mail al profesorului pentru disciplina la care a optat, astfel se genereaza un mail automat care va fi trimis la profesorul care a solicitat contul, el va urmari linkul generat in mail pentru asi finaliza inregistrarea. La finalizarea inregistrarii va primi un mesaj care ii transmite ca poate sa se autentifice in aplicatie deoarece toti pasii necesri inregistrarii au fost efectuati.
In cazul in care cel care doreste inregistrarea este elev el poate sa faca acest lucru din pagina principala de autentificare, unde scrie “Cont nou”. Tot de pe pagina de start a aplicatiei exista linkuri pentru recuperarea parolei campuri pentru completarea numelui de utilizator si a parolei acestuia precum si butonul pentru validarea datelor completate in cele doua campuri.

In functie de contul cu care se face autentificarea utlizatorul este directionat spre pagina de start unde in partea superioara stanga se afla meniul aplicatiei de unde se poate face navigarea spre modulele pe care le pune la dispozitie aplicatia. Aplicatia de fata are in dotare un meniu care difera in functie de niveul de securitate, astfel exista un numar de trei meniuri: unul pentru elev, unul diferit pentru profesor si un altul care la fel este diferit de celelalte doua, pentru administrator.
In figura urmatoare voi exemplifica meniurile:
Fig. 15 Meniurile aplicatiei.
Meniul elevului Meniul profesorului Meniul administratorului

De mentionat este faptul ca pentru realizarea meniurilor a fost nevoie de limbajul „Java Script” si ca nu este creatie a mea ci preluat de pe site-ul firmei „Soft Complex” aSoftCom2005i si adaptat aplicatiei de fata.

1. Meniul elevului
Dupa cum se poate observa meniul elevului refera mai multe operatii cum ar fi: a. „Parcurgere test” -; acest modul este pagina implicita care apare daca autentificarea este facuta fara erori si de aici se lanseaza evaluarea pentru disciplina aleasa conform figurii 16. b. “Rezultate teste” -; este modulul in care se pot vizualiza rezultatele la testele parcurse, conform Anexei 1. c. “Statistici” -; este pagina in care sunt afisate diferite statistici referitoare la materialul educational inregistrat, la utilizatori, etc, conform Anexei 2. d. “Editare profil” -; este modulul unde se afiseaza intr-un formular datele personale declarate la inregistrarea contului, avand posibilitatea de a modifica si deci actualiza atat parola de acces cat si datele personale ca de exemplu: numele, prenumele, adresa, adresa de mail precum si intrebarea de securitate cu raspunsul acesteia, care ne ajuta la recuperarea parolei in cazul in care s-a uitat, conform Anexei 3. e. “Vizualizare profil” -; afiseaza informatiile declarate in formularul de la pagina de “Editare profil” sub forma tabelara, conform Anexei 4.

2. Meniul profesorului
Modulele principale ale profesorului: a. “Inregistrari” -; este pagina pricipala (implicita) a profesorului daca atentificarea s-a facut cu succes. In acesta pagina se pot face mai multe operatii dupa cum se pot observa in Anexa 5 , printre ele amintesc declarare de tematici sau altfel spus lectii pentru o disciplina, introducerea de intrebari pentru o lectie selectata, directionare spre un modul de inregistrare intrebare direct dintr-un select, si un select in care se afla tematicile declarate care afiseaza un alt select ascuns in care sunt toate intrebarile inregistrate pe tematica repectiva, putand apoi selecta o intrebare pentru ai putea inregistra raspunsuri. b. “Tematici” -; in acest modul profesorul are posibilitatea de a administra tematicile inregistrate pentru disciplina, adica poate vizualiza sub forma tabelara tematicile, poate vizualiza numarul de intrebari inregistrate pentru fiecare tematica in parte, are link pentru directionarea spre modulul de inregistrare intrebari pentru tematica selectata, deasemenea are link pentru directionarea spre modulul de vizualizare a intrebarilor pentru tematica in cauza, dar are posibilitatea de a modifica numele tematicii si in acelasi timp are instrumente de a sterge una sau mai multe tematici, acest lucru fiind posibil de care butoanele “checkbox” care pot fi selectate unul cate unul cu ajutorul mousului sau prin selectarea unui “select” care are functia de a bifa (selecta) toare inregistrarile (tematicile) din tabel, iar stergerea se poate face prin actionarea butonului de “Sterge inregistrari selectate”. Daca se opteaza pentru stergerea unei tematici sau chiar mai multe trebuie stiut faptul ca odata stersa o tematica va fi sters toate intrebarile, toate raspunsurile precum si rezultetele elevilor care au fost testati din tematica sau tematicile respective. De mentionat este faptul ca functiile care fac posibila selectarea automata prin bifarea butoanelor “checkbox”, a tuturor inregistrarilor dintr-un tabel nu este creatie proprie ci este copiata de pe site-ul Inspectoratului Scolar Judetean Cluj: “https://isjcj.ro/webmail” . Un exemplu al acetui modul cu instructiunile de vigoare il puteti gasi in Anexa 6. c. “Intrebari” -; acest modul refera operatii ca vizualizarea tabelara a intrebarilor inregistrate pentru disciplina pe care esti conectat, posibilitatea sortarii intrebararilor dupa enut si gradul de dificultate al intrebarilor, contine linkuri care face directionarea spre module cum ar fi: inregistrare raspunsuri pentru intrebarea aleasa, vizualizarea raspunsurilor inregistrate pentru intrebarea aleasa, modificarea intrebarii precum stergerea de intrebari prezentat anterior la modulul “Tematici”. Acest modul are si o posibilitate de a naviga mai radid insensul daca exista un numar mare de intrebari pentru o disciplina, dupa cum se si intentioneaza, am facut posibila impartirea intrebarilor pe o pagina in functie de optiunea dorita de administratorul aplicatiei care va seta numarul preferat de intrebari per pagina din fisierul de configurare “function.php” setand variabila $maxPerPage, implici acesata variabila este setata la 14. Functia care face posibila navigarea din pagina in pagina (aproape din apropape) este displayPrevNxtLinks($pageNumber, $totalEntries, $maxPerPage). Dar am realizat deasemenea tot la acest modul, venin astfel in ajutorul profesorului, un lucru zic eu util, acela de a afisa numarul de pagini cu link la fiecare numar, astfel putandu-se sari oricand la pagina dorita fara a mai parcurge pagina dupa pagina. Acest modul este exemplificat in Anexa 7. d. “Raspunsuri” -; acest modul pune la dispozitia utilizatorului aceleasi module casi modulul precedent, “Intrebari” cu deosebirea ca datele de manipulat nu sunt intrebari ci raspunsuri. O explicatie in imagini va putea fi consultata in Anexa 8. e. “Statistici” -; este pagina in care sunt afisate diferite statistici referitoare la materialul educational inregistrat, la utilizatori, etc, conform Anexei 2. f. “Rezultate elev” -; este modulul in care profesorul poate vizualiza rezultatele elevilor care au parcurs teste la disciplina in cauza. Aceste grafice care arata evolutia elevului pot fi generate fie prin alegerea unei tematici si apoi prin alegerea elevului pentru care se doreste vizualizarea evolutiei, fie prin cautarea unui elev dupa cateva criterii de cautare. Acest modul poate fi zizualizat in proiect la Anexele 9 si 10. g. “Parcurge test” -; acest modul este acelasi modul ca cel descris la meniul elevului, cu deosebirea ca profesorul nu poate parcurge test doar la disciplina pentru care este autentificat, si o alta deosebire este faptul ca la generarea notei pentru profesor aceasta nu va fi inregistrata in baza de date fiind doar afisata. Acest modul a fost introdus pentru a putea verifica si vizualiza cum va arata testele care urmeaza a fi parcurde de catre elevi. O descriere in imagini va fi disponibila in Anexa 11. h. “Cautare avansata” -; este modulul in care profesorul gaseste instrumente de cautare rapida a intrebarilor si raspunsurilor dupa anumite criterii de cautare si sortare. Se pot cauta intrebari dupa: enuntul intrebarii, dupa gradul de dificultate, si datele rezultate sa fie sortate deasemenea ascendent sau descendent, dupa alegerea utlizatorului. La cautarea raspunsurilor deasemenea se pot alege urmatoarele criterii de cautare: dupa enuntul raspunsului si atributului raspunsului (care poate fi corect (TRUE) sau incorect (FALSE)) si deasemenea instrumente de sortare. O imagine mai clara despre acest modul se poate consulta in Anexel 12 si 13. i. “Editare profil” -; este modulul unde se afiseaza intr-un formular datele personale declarate la inregistrarea contului, avand posibilitatea de a modifica si deci actualiza atat parola de acces cat si datele personale ca de exemplu: numele, prenumele, adresa, adresa de mail precum si intrebarea de securitate cu raspunsul acesteia, care ne ajuta la recuperarea parolei in cazul in care s-a uitat, conform Anexei 3. j. “Vizualizare profil” -; afiseaza informatiile declarate in formularul de la pagina de “Editare profil” sub forma tabelara, conform Anexei 4.
La inregistrarea datelor, la modificarea si la stergerea datelor in si din baza de date am folosit formulare.
Un exemplu de formular este acela pe care elevii trebuie sa-l completeze pentru a putea folosi aplicatia, este formularul in care isi alege numele de utilizator, o parola si apoi isi declara datele personale necesare inscrierii pe site precum in figura 17.
Fig. 17. Formularul de inregistrare cont elev.

Dupa cum se poate vedea in figuar 17 datele necesre inregistrarii unui elev sunt: numele de utilizator, parola, o intrebare de securitate, raspunsul la intrebarea de securitate, numele, prenumele, adresa, varsta si adresa de e-mail. Este necesara adresa de e-mail pentru ca se va genera un mail de catre aplicatie, pe care il va primi solicitantul contului (in cazul de fata d-sorul Ionescu). Acest mail va contine un link care va directiona elevul spre pagina de activare a contului. Aceasta activare este necesara pentru a putea folosi contul proaspat creat. Daca urmariti in figura 17 la campurile de “Parola” si “Confirmare parola” intentionat am completat campul de “Confirmare parola” cu un caracter mai putin pentru a arata felul in care se genereaza erorile la validarea formularelor (fig 18), bineinteles daca acestea exista, in cazul in care nu exista erori la completarea formularelor se va genera un mesaj de succes (figura 19).
Fig. 18. Afisarea erorilor la formulare.

Fig. 19. Afisarea mesajului de succes operatie la formulare.

Formularul elevului
Elevul nu trebuie sa foloseasca multe formulare, deci are doar unul care se refera la modificarea detelor contului si se aseamana foarte mult cu formularul care il completeaza in momentul inscrierii pe site. Singura deosebire este faptul ca nu are dreptul sa modifice numele de utilizator dar in schimb poate modifica parola si datele personale. Pentru o vizualizare mai deaproape a formularului se poate consulta sectiunea cu anexe la Anexa 14.

Formularul administratorului
Singurul formular al administratorului este formularul cu ajutorul caruia administratorul creaza cont de profesor. Exemplu figura 20.
Fig. 20 Formular de inregistrare cont profesor.

Formularele profesorului
Formularul de inregistrare a tematicilor
Primul formular asupra caruia voi insista este formularul in care se inregistreaza o tematica noua sau altfel spus lectie noua pentru o disciplina.
Fig. 21 Formularul de inregistrare a tematicilor

Pentru o disciplina poate exista un numar nelimitat de tematici (prefer sa folsesc mai mult acest termen). Dar exista niste restrictii date prin programare, acela ca nu pot exista pentru o disciplina mai multe tematici identice, precum si lungimea unei tematici trebuie sa fie mai mare de 5 caractere. Acest lucru a fost realizat in felul urmator: dupa validarea formularului, se citeste intr-o variabila datele introduse in campul text, se face o scanare a tabelei “Tematica” cu comanda:
$sqlS="SELECT COUNT(*) AS nrTematica FROM tematica WHERE tematica='$tematica' AND disciplinaId='$disciplinaId'"; //se introduce in variabila $sqlS interogarea ce //contorizeaza tematicile cu numele tematicii care se doreste introdusa. $tematica -; este //variabila care prea valoarea introdusa in formular; $disciplinaI -; este variabila in care este numarul de indentificare a disciplinii in cauza
$resultS = mysql_query($sqlS) or die ("Nu poate executa comanda de caunt. "); // se executa interogarea.
In nrTematica se va inregistra rezultatul interogarii, daca acesta valoare este mai mare decat “0” inseamna ca exista inregistrata o tematica cu numele dorit si se va afisa un mesaj de eroare corespunzator, conform figurii 22. Daca rezultatul interogarii este “0” atunci se va inregistra tematica pentru disciplina in cauza, bineinteles afisandu-se un mesaj corespunzator de succes al operatiei.
Fig. 22

Formularul de inregistrare a intrebarilor
Acest formular este impartit in doua, in sensul ca se pot introduce intrebari in doua moduri: a. inregistrare intrebare pentru o tematica, tematica fiind aleasa dintr-o lista de tematici, conform figurii 23. b. inregistrare intrebare pentru o singura tematica, singura deosebire este aceea ca la aceasta optiune se introduc intrebari noi intr-o pagina separata, in care in partea inferioara a formularului se si afiseaza intrebarea inregistrata, si tematica este selectata o singura data, stindu-se astfel ca intrebarile vor fi inregistrate pentru tematica in cauza nu ca in cazul “a” cand trebuie facuta selectarea tematicii pentru fiecare intrebare care se doreste inregistrata, conform Anexei 15.
Fig. 23 Formularul de inregistrare intrebare


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta