Proiectarea, Realizarea Si Implementarea Sistemului Informatic
Capitolul 1
Introducere
Acest proiect constă în realizarea unei aplicați WEB, prin intermediul căreia se dorește emularea unei universități virtuale: înscrierea studenților în cadrul universității virtuale la anumite materii; susținerea de examene în cadrul unei materii; consultarea cursurilor puse la dispoziție de către profesori; comunicarea între profesori – studenți și studenți – studenți; gestionarea internă a datelor înregistrate prin funcții de: adăugare, ștergere,modificare, creare, selectare.
Datorită utilizării de componente multi-media, aplicația “IE” permite realizarea unei comunicări on-line între toți utilizatorii programului. Acest lucru permite realizarea unui proces de învățământ care nu se bazează doar pe acumularea de informații, ci și pe o dinamică mai bună a procesului de învățământ.
Aplicația “IE” a fost realizată cu ajutorul limbajului de programare PHP, beneficiind de facilitățile acestui limbaj, cum ar fi: operații cu fișiere, administrarea bazelor de date, facilitați client-server, management-ul informației Web, programarea CGI (Comon Gateway Interface), avantajele programării OOP (Object Oriented Programming).
S-a optat pentru implementarea aplicației, în primul rând, pentru servere de tip (u)NIX, datorită multiplelor avantaje pe care le permite în comparație cu cele de tip 9x/NT. Printre principalele avantaje enumerăm: stabilitatea extrem de ridicată, existența unei mai bune securități client-server, viteza de execuție foarte ridicată, și nu în ultimul rând faptul că majoritatea sistemelor de operare (u)NIX și majoritatea programelor ce rulează pe aceste servere sunt gratuite.
Cu toate acestea, în momentul realizării aplicției s-a ținut cont și de posibilitatea portării pe servere de tip 9x/NT. Astfel, compatibilitatea între servere de tipul (u)NIX și 9x/NT este asigurată prin folosirea comenzilor MySQL pentru (u)NIX și a comenzilor de tip SQL pentru 9x/NT.
1.1. Învățământul electronic
1.1.1. Avantajele învățământului electronic ar fi:
centrarea pe student, participant
accesul în timp-real la cunoștințe, de oriunde și oricând
nu sunt necesare cheltuieli de deplasare, nici întreruperea activității profesionale curente
participanții colaborează și învață ( să lucreze ) împreuna – putem face o paralelă între învățământul tradițional și cel online urmărind datele psihologului William Glasser, care spune că reținem:
10% din ce citim
20% din ce auzim
30% din ce vedem
50% din ce vedem și auzim
70% din ce discutăm cu alții
80% din ce experimentăm
95% din ce îi invățăm pe alții
materialul este de multe ori personalizat cunoștințelor și experienței anterioare a studentului –
de multe ori sistemul integrat de învățare oferă funcțiuni ca cele legate de înregistrare, plata online, monitorizarea progresului studenților, testare automată.
1.1.2. Dezavantaje:
Studiile realizate indică faptul că pregătirea unui curs online este mai costisitoare decât cea a unuia tradițional ( dar costurile sunt apoi amortizate rapid ), în echipa de "construire" a unui curs intrând persoane specializate în web design, design instrucțional.
eLearning poate fi eficient atunci când dotarea cu calculatoare este corespunzătoare, când conexiunile la Internet există și sunt rapide – altfel, poți avea senzația că stai la ușa amfiteatrului, neputând intra.
Costul unui curs online este destul de ridicat – pentru a urma un astfel de curs, trebuie să ai încredere că ceea ce ți se oferă este de calitate.
Participarea la un curs online se constituie într-o adevarată experiență de viață; interacțiunea extraordinară între participanți și cu facilitatorul, comunitatea la crearea căreia fiecare participă, te face să vrei să repeți experiența, odată trăită. Fiecare astfel de curs este unic – chiar același fiind mediul și materialul cursului, animarea pe care o capătă prin tactul, talentul de moderare al facilitatorului, individualitatea participanților, fac ca întotdeauna scenariul să fie altul.
Ceea ce trebuie realizat la noi în timpul cel mai scurt este o metodologie clară de evaluare și atestare a cursurilor online. Trecerea de la declarații la acțiune se impune, mai ales că multiple programe universitare au beneficiat de fonduri importante ale Comunității Europene, firme românești de software au dezvoltat platforme de eLearning, sau oferă deja cursuri online.
Față de sistemul clasic de formare, din punctul de vedere al cursantului, avantajele constau în faptul că nu depinde de o anumită locație, de un anumit program de studiu impus, iar acumularea de cunoștințe este decisă de student, în funcție de disponibilitatea fizică sau intelectuală a acestuia. Alte avantaje sunt: apartenența la o comunitate cointeresată de subiectul respectiv, dezvoltarea capacităților de muncă în colaborare, mult apreciate de angajatori și, nu în ultimul rând, dezvoltarea unor noi abilități și aptitudini prin folosirea noilor tehnologii informaționale. Societatea de mâine, societatea cunoașterii, va face o selecție dură a resurselor umane pe baza acestor criterii…
Din punctul de vedere al tutorului, ca pedagog într-un mediu eLearning, participarea la Academia Online este un caștig de experiență, perfecționare în folosirea tehnologiilor, însușirea unei flexibilități în tratarea diverselor probleme de conținut obținută prin lipsa de liniaritate a grupurilor de studenți și un loc de muncă care nu-i solicită prezența fizică sau un program strict.
Din punctul de vedere al instituției de formare, avantajele se concretizează în: resurse materiale implicate, considerabil mai mici, în comparație cu inițierea unui proiect care să implice și o locație fizică a instituției de învățământ, independența numărului de cursanți față de spațiul fizic disponibil, reducerea cheltuielilor cu materialele didactice, lipsa unor cheltuieli de întreținere a dotărilor interioare etc.
1.1.3. Impactul învățământului electronic.
Evoluția de la o zi la alta a numărului de utilizatori ne-a indicat faptul că românii așteptau de mult să poată avea acces la un astfel de mediu prin care să studieze în limba română. În numai o lună și jumătate de la lansare am ajuns la un număr de peste 11500 de vizitatori din care 2200 au devenit utilizatori, înscriși în sistem, iar aceștia au înregistrat peste 3500 de înscrieri la cursuri. Reacțiile sunt cât se poate de bune. Site-ul este viu, iar acest lucru se simte prin mesajele continue primite în care iși exprimă dorința de participare la cursuri, de afirmare la seminariile online, de a se autoevalua si testa, de a intra în legătură cu colegii de echipă sau cu tutorii. Mesajele de încurajare și felicitare primite din partea cursanților ne-au dat certitudinea că ceea ce am realizat este de calitate, funcționalitatea sistemului a fost ușor înțeleasă iar designul folosit pentru prezentarea vizuală atât a părții publice cât și a materialelor de curs place.
Cei care aleg învățământul electronic ca mijloc de perfecționare și cunoaștere sunt în proporție de peste 60% femei. Majoritatea utilizatorilor au între 20-40 de ani, peste 35% fiind reprezentați de cei între 25-29 de ani. Singurele vârste unde bărbații depășesc femeile sunt cele de până la 20 și peste 50. Interesant este faptul că există și utilizatori de peste 65 de ani. Peste 64% sunt persoane care urmează încă o facultate, au absolvit o instituție de învățământ superior sau urmează/au absolvit cursuri postuniversitare. 97% sunt români,rezidenți în România iar din aceștia 66% sunt din țară, iar 34% sunt din București.
1.1.4. Tendințe în România
Folosirea internă a unui sistem de eLearning de către companiile cu o mare nevoie de instruire a personalului nu poate fi decât un câștig pentru aceștia și pentru societate în general și de acest lucru își vor da seama tot mai mulți manageri.
Tendința în ce privește folosirea de către instituțiile de învățământ și a celor de formare profesională a unui sistem de eLearning care să înlocuiască clasicul învățământ la distanță este clar una de dezvoltare. În ce privește dezvoltarea de astfel de sisteme în România, grefate pe necesitățile de instruire specifice învățământului nostru – în acest moment nu avem cunoștință de existența unui alt sistem de o asemenea complexitate.
Capitolul 2
Componente soft utilizate pentru realizarea aplicatiei
2.1. Limbajul PHP
2.1.1 Introducere în PHP
PHP (oficial "Personal Home Page: Hypertext Preprocessor") este un un limbaj de programare inclus practic in HTML. Pentru a înțelege această afirmație trebuie urmărit următorul exemplu:
<html>
<head>
<title>Exemplu</title>
</head>
<body>
<?php echo "Salut; sunt un script PHP!"; ?>
</body>
</html>
Se poate observa diferența față de un script CGI scris în Perl sau C – în loc să se scrie un program cu o mulțime de comenzi pentru codul HML, se poate scrie un script HTML cu un cod inclus pentru a realiza anumite lucruri (în cazul de față tipărirea unui text).
Ceea ce distinge PHP-ul față de Javascript este faptul că, codul este executat pe server. Clientul primește doar rezultatul executării scriptului, nepermițând în nici un fel determinarea codului.
Ceea mai mare parte a sintaxei este împrumutată din C, Java și Perl, cu câteva proprietăți unice PHP-ului. Scopul acestui limbaj este de a permite programatorilior WEB dezvoltarea rapidă și dinamică a programelor.
PHP-ul a fost dezvoltat la sfârșitul anului 1994 de către Rasmus Lerdorf, și a fost utilizată în scopuri personale. Prima versiune care a fost folosita și de alți programatori a apărut la începutul anului 1995, fiind cunoscuta ca Personal Home Page Tools. Această versiune permitea înțelegerea câtorva funcții și macro-uri folosite în mod regulat pentru realizarea de guestbook-uri si de contoare. Acesta a fost momentul în care programatorii din toata lumea au început să-și aducă contribuția la dezvoltarea limbajului. La sfârșitul anului 1997, PHP/FI era folosit în peste 50.000 de sit-uri Web din întreaga lume. În 1997, Zeev Suraski și Andi Gutmans au rescris de la zero serverul de PHP/FI, iar noua versiune lansată pe piață a devenit cunoscută sub denumirea de PHP. La mijlocul anului 1999, numărul de servere pe care rula PHP-ul ajunsese la 1.000.000.
Dezvoltat inițial pentru sistemul de operare (u)NIX, serverul de PHP a fost portat cu succes și pe servere 9x/NT.
Poate ceea mai puternică și mai importantă componentă a PHP-ului este suportul cu bazele de date. Scrierea unei baze de date pentru Web este extrem de simplă. Bazele de date cu care PHP-ul știe să lucreze sunt:
Securitatea în PHP
PHP este un puternic limbaj de programare, capabil să acceseze fișiere, să execute comenzi, să deschidă conexiuni de rețea. Aceste proprietăți fac ca tot ce rulează pe server să fie expus la un grad mare de insecuritate.
PHP-ul a fost creat special pentru a fi mai sigur decât CGI-urile scrise în Perl sau C, iar în cazul în care a fost configurat corect asigură combinația perfectă de libertate și securitate. Din cauza diferitelor moduri de utilizare a PHP-ului, există multe posibilități de configurare și control. Marea diversitate de opțiuni, garantează utilizarea PHP-ului pentru o mulțime de scopuri, dar permite de asemenea o configurare greșită care poate duce la o instalare cu urmări grave în securitatea server-ului.
Cele două moduri de instalare a PHP-ului conduc la două abordări diferite în ceea ce privește securitatea.
Caracteristici ale limbajului
Principalele caracteristici ale limbajului sunt:
Puterea limbajului – PHP oferă o gama largă de module, permițând utilizarea codului PHP pentru dezvoltarea de aplicații Windows ASP și Shockwave Flash; ceea mai puternică caracteristică a programului este însă, numărul mare de baze de date cu care poate lucra și ușurința folosirii acestora;
Viteza de dezvoltare a programelor – în PHP programele se pot scrie folosind orice editor de texte; programul nu necesită să fie compilat, putând fi incorporat direct în paginile HTML;
Portabilitatea – programeuri Web din întreaga lume. În 1997, Zeev Suraski și Andi Gutmans au rescris de la zero serverul de PHP/FI, iar noua versiune lansată pe piață a devenit cunoscută sub denumirea de PHP. La mijlocul anului 1999, numărul de servere pe care rula PHP-ul ajunsese la 1.000.000.
Dezvoltat inițial pentru sistemul de operare (u)NIX, serverul de PHP a fost portat cu succes și pe servere 9x/NT.
Poate ceea mai puternică și mai importantă componentă a PHP-ului este suportul cu bazele de date. Scrierea unei baze de date pentru Web este extrem de simplă. Bazele de date cu care PHP-ul știe să lucreze sunt:
Securitatea în PHP
PHP este un puternic limbaj de programare, capabil să acceseze fișiere, să execute comenzi, să deschidă conexiuni de rețea. Aceste proprietăți fac ca tot ce rulează pe server să fie expus la un grad mare de insecuritate.
PHP-ul a fost creat special pentru a fi mai sigur decât CGI-urile scrise în Perl sau C, iar în cazul în care a fost configurat corect asigură combinația perfectă de libertate și securitate. Din cauza diferitelor moduri de utilizare a PHP-ului, există multe posibilități de configurare și control. Marea diversitate de opțiuni, garantează utilizarea PHP-ului pentru o mulțime de scopuri, dar permite de asemenea o configurare greșită care poate duce la o instalare cu urmări grave în securitatea server-ului.
Cele două moduri de instalare a PHP-ului conduc la două abordări diferite în ceea ce privește securitatea.
Caracteristici ale limbajului
Principalele caracteristici ale limbajului sunt:
Puterea limbajului – PHP oferă o gama largă de module, permițând utilizarea codului PHP pentru dezvoltarea de aplicații Windows ASP și Shockwave Flash; ceea mai puternică caracteristică a programului este însă, numărul mare de baze de date cu care poate lucra și ușurința folosirii acestora;
Viteza de dezvoltare a programelor – în PHP programele se pot scrie folosind orice editor de texte; programul nu necesită să fie compilat, putând fi incorporat direct în paginile HTML;
Portabilitatea – programele scrise in PHP pot fi executate fără nici o modificare atât in sistemele de operare (u)NIX, cât și în orice versiune de servere 9x/NT;
Prețul – ca majoritatea limbajelor și programelor dezvoltate pentru (u)NIX, și PHP este distribuit gratuit, utilizatorul trebuind să respecte doar specificațiile GNU (Anexa A).
Există câteva modalități pentru a începe și a termina un program în PHP:
<? echo “prima metodă”; ?>
<? php echo “a doua metodă; pentru documente XML”; ?>
<% echo “a treia metodă; folosind taguri ASP”; %>
PHP-ul permite inserarea de comentarii oriunde în program. Practic modalitatea de introducere a comentariilor este identică cu ceea din C, C++ și shell-ul (u)NIX.
Astfel, există trei modalități de introducere a unui comentariu:
// Prima modalitate de introducere a unui comentariu
# A doua modalitate de introducere a unui comentariu
/*A treia modalitate de introducere a unui comentariu */
2.1.4. Câteva referiri la limbajul PHP
Variabile în PHP
Variabilele în PHP sunt reprezentate de semnul dolar ($) urmat de numele variabilei. Numele variabilelor sunt case-sensitive.
$var = "Bob";
$Var = "Joe";
$täyte = "mansikka"; // valid; "ä" este caracterul ASCII 228.
PHP-ul pune la dispoziția utilizatorului un număr mare de variabile predefinite. Multe din aceste variabile, din pacate, nu pot fi complet documentate deoarece depind de server-ul pe care rulează, versiunea server-ului și modul în care a fost instalat.
Iată câteva variabile predefinite:
SERVER_NAME – conține numele host-ului pe care serverul rulează;
SCRIPT_NAME – conține calea scriptului care rulează;
SERVER_PROTOCOL – conține numele și revizia protocolului prin care pagina a fost accesată (ex. ‘HTTP/1.0’);
Un alt tip de variabile importante în PHP, sunt variabilele cu nume variabil. Acestea sunt variabile al căror nume poate fi setat dinamic.
$a = "hello";
$$a = "world";
echo "$hello"; // se returnează world
Variabila $a primește șirul de caractere ”hello”, în timp ce a doua instrucțiune atribuie variabilei $hello șirul de caractere ”world”.
Tipuri de date
PHP suportă următoarele tipuri de date:
întregi – cu o valoare maximă uzuală de 2 milioane (32 biți);
ex: $a = 1234;
flotante – cu o valoare maximă uzuală de 1.8e308 și o precizie de 14 zecimale; ex: $a = 1.2e3;
string – un string este delimitat de semnul (“), si poate să conțină orice caracter din codul ASCII; ex: $a=”acesta este un string”;
array – poate fi definit atât element cu element, cât și cu ajutorul funcției array( );
ex: //array definit pe elemente
$a[0] = "abc";
$a[1] = "def";
$b["foo"] = 13;
//array definit cu ajutorul funcției
$a = array(
"color" => "red",
"taste" => "sweet",
"shape" => "round",
);
Structuri de control
Construcția if este una dintre cele mai importante componente a oricărui limbaj. Permite executarea condiționată a unui fragment de cod.
if (expr)
cod 1 …
else
cod 2 …
Ceea mai simplă expresie repetitivă din PHP este while. Aceasta execută un cod atita timp cât expresia evaluată este adevărată (TRUE).
while (expr):
cod …
endwhile;
Expresia for, este ceea mai complexă expresie repetitivă din PHP.
for (expr1; expr2; expr3)
cod …
Prima expresie (expr1 – expresie de intrare), este evaluată (executată) necondiționat la începutul buclei.
La începutul fiecărei iterații, (expr2 – expresie condițională) este evaluată. Dacă evaluarea returnează TRUE, bucla continuă iar codul este executat. Dacă se returnează FALSE, executarea buclei se oprește.
La sfârșitul fiecărei execuții a buclei, (expr3 – expresie de reinițializare) este evaluată (executată).
Funcții
O funcție poate fi definită în PHP cu următoarea sintaxă:
function foo ($arg_1, $arg_2, …, $arg_n)
{
echo "Funcție exemplu.\n";
return $retval;
}
Informația este trecută funcției prin intermediul argumentelor.
2.2. Limbajul MySQL
2.2.1. Introducere în MySQL
MySQL a fost creeat de Michael Widenius. Este o bază de date relațională (SGBD) mică și cu o viteză de execuție mare.
Utilizarea MySQL este restricționată doar de specificațiile GNU (Anexa A).
Principalele componente pe care le oferă MySQL-ul sunt:
suport pentru queri-uri multiple și simultane
câmpuri cu valoare fixă și variabilă
driver pentru ODBC (inclusiv sursa)
un sistem de protecție eficient
suport pentru chei unice, chei primare în sintaxa CREATE
un sistem malloc rapid
salvarea datelor în formatul ISO8859_1
posibilitatea de folosire a alias-urilor
capabilitatea de redefinire a tabelelor
Administrarea serverului MySQL
Programul care este inima sistemului MySQL se numește mysqld. Programul mysqld rulează ca un daemon în sistem, acceptând conexiunile de la programele client, executând interogări și returnând rezultate. Conține un sistem multi-threading, ceea ce înseamnă că poate accepta și executa mai multe interogări in același timp.
Baza de date MySQL folosește un sistem special de tabele pentru a asigura accesul privilegiat la baza de date. Fiecare user folosește o parolă criptată.
În momentul în care se cere o conexiune la server, are loc următorul dialog între client și server:
în momentul conexiuni serverul atribuie un număr aleator clientului
clientul calculează un nou număr aleator din numărul primit de la server și din parola criptată pe care o primește de la user; numărul rezultat este trimis către server
serverul calculează un număr din parola salvată în tabel-ul său și din numărul aleator primit de la client; dacă numărul este
Capitolul 3
Proiectarea, realizarea și implementarea sistemului informatic.
Sistemul informational este ansamblul de elemente implicate în procesul de colectare, transmisie, prelucrare, etc. de informații.
În cadrul sistemului informational se regasesc : informația vehiculată, documentele purtatoare de informații, personalul, mijloace de comunicare, sisteme de prelucrare a informației, etc
Astfel majoritatea activităților se pot desfasura cu ajutorul tehnicii de calcul, se pot prelucra datele primare și apoi, rezultatul poate fi transferat mai departe, către alt compartiment spre prelucrare.
3.1.1 Obiective și activități în etapa de proiectare
Proiectarea sistemelor informatice presupune îndeplinirea urmatoarelor activități:
1. Structura sistemului informatic
2. Proiectarea logică și fizică a situațiilor cu rezultate finale
3. Proiectarea codurilor
4. Proiectarea logică și fizică a intrărilor informaționale
5. Proiectarea logică și fizică a bazei de date
6. Proiectarea logică și fizică a prelucrarilor
7. Proiectarea interfeței cu utilizatorul
8. Descrierea limbajului de programare utilizat
3.1.2 Structura sistemului informatic
Sistemul informatic va avea următoarea configurație:
3.1. 3 Proiectarea codurilor
Pentru realizarea sistemului informatic au trebuit proiectate o serie de tabele, fiecare tabelă având un anumit cod de identificare a înregistrărilor, cod folosit drept cheie primară sau externă, pentru stabilirea relațiilor între tabele. Mai multe detalii despre cheile primare ale tabelelor la punctul: „Proiectarea logică și fizică a bazei de date”.
3.1. 4 Proiectarea logică și fizică a intrarilor
Datele de intrare parcurg o succesiune de etape în cadrul sistemului informatic, de la momentul generării și culegerii lor, pana la momentul utilizării lor în cadrul sistemului.
Astfel, etapele intermediare parcurse de datele de intrare sunt reprezentate de înregistrarea datelor pe documentul de intrare, conversia datelor într-o formă acceptată de sistemul de calcul, respectiv, transpunerea datelor pe suportul tehnic, verificarea sintactică si semantică a datelor de intrare și corecția datelor eronate.
3.2. Blocurile componente ale aplicației
3.1.1. Baza de date
Proiectul “IE” conține un număr de tabele organizate într-o bază de date numită “ie”, rezidentă pe server-ul unde rulează aplicația. Pentru definirea tabelelor din baza de date, s-a utilizat mediul de programare PHP, compilat cu suport MySQL. Pentru a fi posibilă o astfel de compilare, este necesar ca în prealabil să fie instalat pe server aplicația MySQL, fără de care această compilare nu poate fi realizată.
Aplicația “IE” conține două tipuri de tabele:
tabele predefinite – sunt creeate în momentul instalării programului “IE”
tabele generate de program – sunt tabelele generate în momentul creerii de cursuri, examene, și conțin informații cu privire la acestea.
Pentru servere de tipul (u)NIX, instalarea aplicației poate fi făcută doar de persoane cu drept de root pe server-ul pe care se dorește acest lucru. Aceasta datorită faptului că, programul trebuie să creeze baza de date, împreună cu tabelele aferente într-un director care de obicei este protejat la scriere pentru user-ii normali ai server-ului.
Creearea tabelelor se face cu ajutorul comenzilor MySQL (SQL) incluse în limbajul de programare PHP.
Ex:
$conn=mysql_connect("localhost","root"); // conectare la server MySQL
$database=mysql_select_db("ie"); // conectare baza de date
$qstr="CREATE TABLE profesors (ID int(8) NOT NULL AUTO_INCREMENT,
PRIMARY KEY(ID), username char(10), password char(15), first_name char(25), last_name char(25), email char(20), specialty char(30), address text)";
$qry=mysql_query($qstr); // transmitere interogare
3.2.2 Model relațional al bazei de date.
Modelul relațional este un model logig al bazei de date care sa impus datorită naturaleții sale și simplității în înțelegerea și manipularea structurilor de date. Rrezentarea unei baze de date sub formă de relații se numește model relațional al bazei de date.
O relație este formată dintr-un tabel bidimensional în care coloanele corespund atributelor iar fiecare linie corespunde unei entități.
Fiecare relație se identifică printr-un nume unic în cadrul unei baze de date.
Fiecare atribut are un nume unic și trebuie să sugereze semnificația acestuia.
O linie a relației se numește tuplu al relației .Prin relație materializăm o clasă de entități în care fiecare tuplu reprezintă o entitate.
Intre tabelele inscrisi si class exista o legatura 1 :m deoarece intr-o calasa exista mai multe studenti.
Intre tabelele profesor_baze_de_date si profesor_baze_de_date_class exista o legatura m:m, pentru ca intr-o calsa sunt mai multi profesori, iar un profesor poate fi distribuit in mai multe calse.
3.2.3 Descrierea tabelelor bazei de date.
Stocarea datelor in baza de date este facuta cu ajutorul motorului de stocare implicit MyISAM.
Fiecare tabela MyISAM este stocat pe disc in 3 fisiere. Fisierul are nume care incepe cu numele tabelei respective si are o extensie care indica tipul fisierului.
*.frm = stocheaza formatul tabelului
*.myd = stocheza datele
*.myi = indexul
Tabela admin:
Conține 2 campuri, ambele fiind de – char avand o limita de 10 respectiv 15 caractere.
Funcția tabelului este logharea cu drepturi de administrator (moderator) prin cele 2 campuri username si password .
Tabela calss:
Top of Form
Bottom of Form
Conține 3 campuri dintre care ID – int(8), Class – text, username – varchar(10).
Campul class reprezinta numele clasei.
Campul username reprezinta numele profesorului coordonator.
Inserarea datelor in tabela class se face prin crearea unei noi clase de catre profesori.
Tabela exam_setup:
Top of Form
Bottom of Form
Conține 7 campuri dintre care: ID – int(8), username – varchar(10), class – text, exam – text, question_no – char(2), alternative_answer – char(2), time – char(3).
Roulul tabelei exam_Setup este ca profesorul sa poata inițializa examene pe care studenții le pot promova sau pica in funcție de punctajul obtinut.
Profesorul introduce parametrii,profilul, numarul de intrebari, numarul de raspunsuri alternative si timpul alocat examinarii.
Examenle nu pot fi initțializate decat de catre profesori dupa logarea acestora. Rezultatul examenului va fi afisat in timp real dupa terminarea examenului sau dupa terminarea timpului alocat examinarii.
Tabela inscrisi:
Conține 10 campuri dintre care: ID – int(8), username – varchar(10), password – varchar(15), first_name – varchar25), last_name – varchar(25), email – varchar(20), address – text, zi – char(2), luna – varchar(20), an – varchar(4).
Funcția tabelei este inregistrarea studenților individual in baza de date pentru a avea acces la cursuri, seminarii, clase, chat, forum si examene in cadrul Universitatii Online.
Conține 5 campuri dintre care: type -tinyint(4), room – text, user – text, time – int(11), message – longtext.
Tabelul messages funcționeaza in genul unui forum. Oricine este inregistrat in baza de date a Universitatii Online poate posta mesaje (administrator, professor, student).
Tabela profesors:
Conține 8 campuri dintre care: ID – int(8), username – varchar(25), password – varchar(15), first_name – varchar(25), last_name – varchar(25),
email – varchar(20), specialty – varchar(30), address – text.
Funcția tabelei este inregistrarea profesorilor de catre administrator in cadrul Universitatii Online cu drepturile aferente.
Tabela user:
Conține 3 campuri dintre care: room – text, user – text, time – int(11).
Campul – room reprezinta chatroom-ul care poate fii privat sau public.
Campul – user utilizatorul care a accesat chat-ul.
Capurile se completeaza in funcție de studentții sau profesorii care folosesc chat-ul pentru a comunica.
Tabela log:
Conține 6 campuri dintre care: ID – int(8), data – char(15), user – char(25), pass – char(25), tip – char(20), IP – char(25).
Funcția tabelei este inregistrarea tutror intrarilor si iesirilor care se fac in cadrul Univesitatii Online. Salveaza cine s-a conectat, la ce data cu ce username, ce parola, tipul contului folosit si IP-ul calculatorului de unde s-a facut conectarea.
Tabela profesor _matematica:
Conține 4 campuri dintre care: PRIMARY KEY ID – int(8), classname – text, bibname – text, calefis – text.
Tabell se creaza in urma initierii de catre professor a unei clase de specialitate. Coloana bibname reprezinta bibliografia necesara sustinerii examnului.
3.1.2. Scripturile
Aplicația “IE” este structurată pe mai multe nivele de configurare, ceea ce permite o ușurință în administrare și exploatare, sau într-o eventuală depanare a softului. În primul rând se disting două mari nivele:
programul de învățământ – aici intră tot ceea ce ține de cursuri, adăugarea de mesaje off-line, administrare, etc;
chat-ul on-line – permite comunicarea în timp real între studenți-studenți, studenți-profesori.
Cu toate că cele două nivele amintite mai sus, privite din exterior funcționează ca un tot unitar, din punct de vedere al programării ele trebuie privite individual.
Programul este în totalitate configurabil din “exterior”, adică nu necesită cunoștințe de programare în PHP sau MySQL. Configurarea programului se realizează cu ajutorul script-ului setup.php.
Pe parcursul dezvoltării aplicației sau urmărit cinci componente principale:
realizarea conexiunii cu baza de date;
creearea diverselor componente (script-uri) necesare bunei funcționări a programului de învățământ;
creearea diverselor componente (script-uri) necesare bunei funcționări a chat-ului;
asigurarea unei securități ridicate.
implementarea unui sistem multi-language.
3.1.2.1. Realizarea conexiunii cu baza de date și tabelele aferente
Utilizarea mediului de programare PHP în realizarea proiectului , simplifică mult accesul și management-ul bazelor de date.
Pentru a putea realiza o legatură între program și baza de date, sunt necesari doi pași. În primul rând se realizează conexiunea la server-ul MySQL, prin intermediul comenzii mysql_connect, după care se poate stabili legătura cu baza de date, utilizând comanda mysql_select_db.
$conn=mysql_connect("$host","$user","$pass");
$database=mysql_select_db("ie");
În acest moment legătura între aplicație și baza de date este realizată, se creează două obiecte, $conn – care conține conexiunea către server-ul MySQL și $database – care conține conexiunea cu baza de date.
Din acest moment se poate trece la “interogarea” diferitelor tabele. Realizarea unei astfel de “interogări” se realizează utilizând funcția mysql_query.
$qstr="select * from profesors";
$qry=mysql_query($qstr);
Funcția mysql_query, transmite bazei de date interogarea select.
while ($row = mysql_fetch_array ($qry))
{
…..
}
În interiorul buclei se preiau datele, corespunzătoare interogării, în tablouri, după care se pot executa diferite operații asupra acestora.
Pașii prezentați mai sus, sunt valabili în realizarea tuturor “interogărilor” realizate aszpra tabelelor din aplicația “IE”.
Deoarece realizarea conexiunilor și a interogărilor din cadrul aplicației sunt în general asemănătoare, se va prezenta în continuare metoda folosită pentru log-area user-ilor. Metoda de transmitere a parametrilor, dintr-o pagină html către script, utilizează variabilele de tip POST. Aceste variabile conțin date introduse de utilizator în câmpurile din pagina html.
În cazul script-ului de log-are (login.php), se transmit doi parametrii username (nume utilizator) și password (parola). Imediat după realizarea transmiterii, scriptul realizează conexiunea cu baza de date.
$conn=mysql_connect("$host","$user","$pass"); // conectare la server mysql
$database=mysql_select_db("ie"); // conectare la baza de date ie
În funcție de tipul de log-are executat (student, profesor sau administrator), se intră după caz în una din cele 3 bucle existente. Presupunând că log-area s-a facut de un student, programul va apela bucla specifică.
if ($log=='stud') //se intra pe bucla de studenti
{
$qstr="select * from inscrisi where username='$username' and password='$password'";
$qry=mysql_query($qstr);
}
Astfel, se realizează interogarea tabelului care conține toți studenți înscriși în cadrul programului “IE. Dacă username-ul a fost gasit în tabel se va returna o singură înregistrare conținând username-ul și parola cu care a fost înregistrat, în caz contrar programul va semnala o eroare prin intermediul funcției:
ie_error('no_usser'); // User name neînregistrat
Presupunând că user-ul există se trece la extragerea parolei, din tabelul de studenți înscriși, cu care acesta a fost înregistrat și compararea ei cu ceea introdusă în momentul log-ării.
$row=mysql_fetch_array($qry);
$passw=$row[password]; // variabila $passw primește parola corectă
if ($passw==$password) // se realizează comparația între parole
{
……
}
else
{
ie_error('err_pass');
}
Dacă și parola a fost introdusă corect, are loc încărcarea paginii specifice studenților. În caz contrar se apelează funcția ie_error('err_pass'); care semnalează că parola nu este validă.
Organigrama scriptului de log-are este prezentată în cele ce urmează:
Figura 3.1.2.1–1 Organigrama scriptului de log-are
3.1.2.2. Realizarea diverselor scripturi – învățământul la distanță
În continuare se va prezenta modul de realizare a celor mai importante scripturi, componente ale aplicației “IE” care se încadrează în categoria învățământ la distanță.
A. Înscriere studenți
Creearea unui cont de student presupune completarea anumitor informații privitoare la persoana care dorește acest lucru. Informațiile completate (într-un fișier tip html, inclus în codul php) sunt preluate prin intermediul variabilelor POST, verificate și apoi înregistrate într-un tabel, operații realizate prin intermediul scriptului inscriere.php.
La creearea de noi conturi s-au urmărit trei lucruri:
denumirile utilizatorilor să fie unice;
câmpurile “User name” (“Nume utilizator”) și “Password” (“Parola”) să fie completate;
dubla introducere a parolei, pentru evitarea greșeli involuntare în scrierea ei.
….
if ($password==$re_password && $user_name !='')
{
….
if ($rows==0) //se verifica daca mai exista un user name identic
{
//daca nu exista, datele sunt valide si sunt scrise in tabel
if ($user_name !=''&$password !=''&$first_name !=''&$last_name !='')
{
$qst="insert into inscrisi (username, password, first_name, last_name,
email, address, zi, luna, an) values('$user_name', '$password',
'$first_name', '$last_name', '$email', '$address', '$zi',
'$luna', '$an')";
$qry=mysql_query($qst);
….
B. Creearea de examene
Este componenta principală, pusă la dispoziția profesorului, prin care acesta, poate realiza un test grilă pentru verificarea cunoștințelor studenților. Creearea unui astfel de test grilă, necesită doi pași importanți:
setarea unor variabile pentru testul respectiv
introducerea întrebărilor și a răspunsurilor
Setarea variabilelor se face cu ajutorul script-ului setup_exam.php, iar
introducerea întrebărilor și răspunsurilor este realizată de scriptul create_exam.php.
Scriptul setup_exam.php, nu permite unui profesor să creeze examene cu nume identice.
….
$qst="insert into exam_setup (username, class, exam, question_no,
alternative_answer, time) values ('$nam','$select_class',
'$exam_name', '$question_no', '$alternative_answer', '$time')";
$qry=mysql_query($qst);
….
Toate variabilele ce țin de un examen sunt salvate în tabelul “exam_setup”.
Scriptul create_exam.php generează pagina html, pe baza variabilelor setate de profesor în pasul anterior, în care se introduc întrebările împreună cu raspunsurile aferente.
Generarea pagini html se realizează prin apelul funcției ie_afis(). Funcția este descrisă în librăria ie.lib.
….
echo "<form method=\"POST\"action=\"create_exam.php?put=ok&sub=next&nr_crt =$nr_crt\">";
echo "<div align=\"center\"><center>";
$nr=$nr_crt-1;
echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"80%\">
<tr>
<td width=\"20%\"><font size=\"3\"><b>Question no $nr</b></font> </td>
<td width=\"80%\"><textarea rows=\"3\" name=\"question\" cols=\"55\">
</textarea></td>
</tr>
</table>
<br>";
….
for ($i=1; $i<=$altern; $i++)
{
echo "<tr>
<td width=\"20%\"><font size=\"3\"><b>Answer no $i </b></font></td>
<td width=\"30%\"><input type=\"text\" name=\"answer_$i\" size=
\"61\"></td>
<td width=\"25%\" align=\"center\"><b><font size=\"3\">
correct</font></b></td>
<td width=\"25%\"><select size=\"1\" name=\"correct_$i\">
<option value=\"Yes\">Yes
<option value=\"No\">No
</select></td>
</tr>";
}
Funcția primește doi parametrii:
numărul de răspunsuri alternative la o întrebare
numărul întrebării curente
Pentru fiecare examen creeat, se generează un tabel de forma:
username_denumirecurs_denumireexamen
Organigrama creerii unui nou examen este descrisă în cele ce urmează:
Figura 3.1.2.2–1 Organigrama creerii de noi examene
C. Susținerea examenului de către student
Prin această componentă a programului “IE”, un student poate susține unul sau mai multe examene, puse la dispoziție de către profesori.
Timpul alocat unei întrebări a fost setat de către profesor în momentul creerii testului, el fiind același pentru toate întrebările conținute de test. În cadrul scriptului, timpul este setat, în funcție de cel ales de profesor în momentul creerii testului, cu ajutorul unei funcții javascript:
….
function go()
{
open("view_exam.php?kk=auto&nr_crt=$nr_crt&inreg=$inreg","index_center");
}
….
<BODY onLoad="timeout =setTimeout('go()',<?echo"$tim";?>);">
….
if ($kk=='auto')
{
if ($nr_crt<=$quest_no)
{
for ($i=1; $i<=$altern; $i++)
{
$temp="$nam"."_"."temp";
$alter="alter table $temp add cor_$i char(3)";
$qry=mysql_query($alter);
}
….
Dacă studentul nu reușește să răspundă în timpul alocat întrebării, are loc o reapelare a scriptului, iar întrebarea respectivă este validată cu time_out.
Întrebările din cadrul testului sunt parcurse în ordine crescătoare. După fiecare apăsare a butonului “Next” are loc o interogare a bazei de date, iar raspunsurile date de student sunt comparate cu cele alese de profesor, iar după ce se validează raspunsul la întrebarea respectivă se salvează rezultatele în tabel.
În momentul începerii unui test de către student, se crează în baza de date “ie”, un tabel (cu numele: username_stud_denumirecurs_denumireexamen), care va conține răspunsurile date de student la întrebări și nota obținută. Acest tabel poate fi consultat de student în orice moment prin apelarea butonului “Results”.
Odată dat răspunsul la o întrebare, sau în cazul în care timpul a expirat, studentul nu mai poate reveni asupra întrebării respective.
În cazul în care se pierde legătura între client (student) și server (aplicația “IE”), studentul poate reveni și continua testul din momentul pierderii legăturii.
Organigrama susținerii unui examen este descrisă în cele ce urmează:
Figura 3.1.2.2–2 Organigrama susținerii de examene.
3.1.2.3. Realizarea diverselor scripturi – chat-ul on-line
După cum s-a spus mai sus, privit din exterior chat-ul on-line “IEChat” este o parte integrantă a programului “IE”, însă din punct de vedere al programării el trebuie privit ca un program independent.
Scripturile care intră în componența chat-ului, împreună cu fișierele de configurare aferente se găsesc în directorul chat din cadrul aplicației “IE”.
Studenții și profesorii pot utiliza această componentă pentru realizarea de discuții on-line (în timp real). În momentul apelării butonului “On-line Chat”, se apelează scriptul index.php, care permite setarea unor variabile importante în modul de funcționare al acestuia.
Ceea mai interesantă parte, din punct de vedere al programării, este funcționarea chat-ului propriuzis. Astfel se pot distinge 2 parți importante în funcționarea acestuia:
scrierea și transmiterea informațiilor
recepționarea informațiilor
Scrierea mesajelor se face într-un text-box (căsuță pentru text):
….
<INPUT TYPE="text" NAME="M" SIZE="50" MAXLENGTH="299"> // text-box pt. mesaj
….
Transmiterea mesajului se face utilizând o funcție javascript:
….
document.Form.M.focus();
parent.messages.location = parent.messages.document.URL;
….
Toate mesajele se salvează într-un tabel messages, de unde cele care depășesc 30 de minute de când au fost salvate vor fi șterse automat.
….
$Temp->query("INSERT INTO ".C_MSG_TBL." (type, room, user, time, message) VALUES ($T, '$R', '$U', ".time().", '$M')");
….
$Chat->query("DELETE FROM ".C_MSG_TBL." WHERE time < ".(time() – C_MSG_DEL * 60)); // mesajele se șterg automat după 30 de minute
….
S-a ales această metodă, deoarece în acest caz nu este nevoie de scrierea unui server chat dedicat care să ruleze tot timpul pe server. În cazul chat-ului “IEChat”, sarcina de server revine astfel clientului cu prioritatea ceea mai mare (primul user din chat).
Recepționarea mesajelor (informației) se face prin intermediul tabelului de mesaje messages, care este interogat pentru aflarea ultimelor mesaje:
$LastMaj->query("UPDATE ".C_USR_TBL." SET time = ".time()." WHERE room LIKE '$R' AND user LIKE '$U'")
După “interogarea” tabelului informația este afișată cu ajutorul funcției:
while((list($Time,$User,$Message) = $Messages->next_record()) && ($Nb < $N))
{
$Nb++;
echo("<P CLASS=msg><SPAN CLASS=time>".date("H\hi", $Time)."</SPAN> <B>
[{$User}]</B> ${Message}</P>");
}
3.1.2.4. Asigurarea securității
În realizarea aplicației “IE” s-a ținut cont de două aspecte importante pentru sucurizare:
securizarea în cadrul programului
securizarea datelor vehiculate între server-client și client-server
Securizarea în cadrul programului, constă în faptul că, toate URL-urile sunt criptate în momentul încărcării pagini, folosind funcția rawurlencode(URL)
echo '<A HREF="http://dark/',rawurlencode('modif_class.php?sub=ok’) ,'">';
Securizarea datelor vehiculate se realizează cu ajutorul protocolului SSL, din modulul OpenSSL. Deoarece utilizarea acestui modul este restricționată de anumite legi, în funcție de țara în care este utilizat, înainte de activarea acestei opțiuni de protecție trebuie citită Anexa A.
În cazul în care legile în vigoare permit utilizarea modulului, și administratorul server-ului pe care rulează aplicația este de acord cu restricțiile impuse de Licența de utilizare a modulului (Anexa B), el poate fi activat.
Cum tema proiectului de față nu include și administrarea unui server (u)NIX, nu va fi prezentat modul de instalare și configurare al modulului OpenSSL.
În cazul în care aplicația “IE” este portată pe un server 9x/NT, acest modul nu mai poate fi utilizat, singura soluție fiind achiziționarea unei licențe SSL, eliberată de un organ abilitat.
Cele două aspecte prezentate mai sus se încadrează în metodele active de protecție a programului.
Pe lângă aceste două metode s-a mai implementat o metodă de prevenire a penetrării server-ului, prin înregistrarea într-un tabel de log-uri a tuturor utilizatorilor care au s-au log-at la server sau au încercat acest lucru. Tabelul de log-uri conține:
ora log-ării sau încercăii de log-are
user name-ul folosit
tipul de user folosit (student, profesor, administrator)
adresa IP de pe care s-a încercat log-area
Tabelul poate fi consultat de administrator în orice moment, acesta putând să hotărască dacă s-a încercat o penetrare a server-ului și dacă da, să ia măsuri de prevenire corespunzătoare.
3.1.2.4. Implementarea sistemului multi-language
Aplicația “IE” a fost concepută în așa fel încât în orice moment să se poată adăuga o nouă “limbă”, toate mesajele apărând în “limba” selectată. Pentru adăugarea unei noi “limbi”, trebuie să se urmeze pașii ce vor fi prezentați în ceea ce urmează:
fișierul setup.php trebuie să aibă drepturi de execuție ( Ex: chmod +x setup.php);
se execută, prin intermediul unui browser setup.php;
se selectează opțiunea “Add language”, și se urmează pașii necesari adăugării unei noi “limbi”.
Toate fișierele de configurate pentru o anumită limbă, se găsesc în directorul ie/cfg/lang, și au structura de forma:
– exemplu pentru limba engleză
<?
// Text for buttons on the index_left_principal.php
$but1_princip = "Click here to register a new student";
$but2_princip = "Students click here to login";
$but3_princip = "Teachers click here to login";
$but4_princip = "Administrator click here to login";
// Text for buttons on the index_studenti
$but1_stud = "Click here to list all classes";
$but2_stud = "Click here to list all exams";
$but3_stud = "Click here to list all rezultates";
$but4_stud = "Click here to list all class ads";
$but5_stud = "Click here to enter the chat";
$but6_stud = "Click here to log out";
….
?>
– exemplu pentru limba română
<?
// Text pentru butoanele din index_left_principal.php
$but1_princip = "Înregistrare student";
$but2_princip = "Login Studenți";
$but3_princip = "Login Profesori";
$but4_princip = "Login Administrator";
// Text pentru butoanele din index_studenti
$but1_stud = "Afișare cursuri";
$but2_stud = "Afișare examene";
$but3_stud = "Rezultate examene";
$but4_stud = "Adaugare mesaj";
$but5_stud = "Intrare chat";
$but6_stud = "Logout";
….
?>
În cazul în care se dorește se poate realiza adăugarea unei “limbi” și direct adăugând fișiere, de forma celui prezentat mai sus și a celor deja existente, urmărind menținera structurii de directoare existente.
Capitolul 4 – Utilizare program “IE”
4.1.1. Introducere
Aplicația “IE” a fost realizată cu scopul de a simula o universitate “virtuală”. În cadrul acestei universități “virtuale” se pot distinge patru mari secțiuni, fiecare cu scopul său bine definit. Astfel cele patru secțiuni sunt:
Register Students (Înregistrare studenți)
Login Students (Acces studenți)
Login Teachers (Acces profesori)
Login Admin (Acces administrator)
Aceste secțiuni vor fi prezentate pe larg în ceea ce urmează.
Totodată pentru funcționarea corectă a aplicației, trebuie avut în vedere o instalare și o configurare corectă. Pașii necesari precum și modul de realizare vor fi descriși în cadrul sub-capitolului Instalare și Configurare.
4.1.2. Secțiunea Register Students
Această secțiune permite oricărei persoane să se înscrie în cadrul universități “virtuale”, prin completarea câtorva detalii de identificare: username, parolă, nume, prenume, email, adresă, data nașterii (Figura 4.1.2-1).
Figura 4.1.2–1 Formular înscriere.
Acest pas este obligatoriu pentru orice persoană care dorște să devină membru al universității.
După ce toate datele au fost completate, utilizatorul va fi înregistrat în tabelul studenților. În acest moment, utilizatorul are acces la secțiunea “Students” și la toate opțiunile pe care această secțiune le pune la dispoziția sa.
Deoarece programul “IE” a fost conceput ca un instrument gratuit pentru învățământ, nu se pune problema de a utiliza o carte de credit pentru accesul la resursele de învățământ puse la dispoziție. Această opțiune se va putea adăuga pe viitor în cazul în care se va dori o completare a programului actual.
4.1.3. Secțiunea Login Students
Accesul la resursele puse la dispoziție de secțiunea studenți se face introducând un User name (nume utilizator) și un password (parolă) valid (Figura 4.1.3–1), care se obțin în urma înregistrării (Secțiunea Register Students).
Figura 4.1.3–1 Log-are studenți cu nume utilizator și parolă
Dacă numele utilizator și parola introduse de student se dovedesc a fi valide, acesta primește dreptul de a accesa resursele puse la dispozițiea sa (Figura 4.1.3–2):
List all clasess – Afișare cursuri existente
List all exams – Afișare examene
List all resultates – Afișare ruzultate obținute la diferite teste date de student
[anonimizat] – Posibilitatea de vizualizare a anunțurilor existente precum și
posibilitatea de adăugare a unui anunț nou
On-line chat – Accesul la chat-ul on-line
Log out – Părăsire secțiune
Figura 4.1.3–2 Opțiunile puse la dispoziția studentului.
4.1.3.1. Selectarea cursului dorit
În acest moment studentul poate să aleagă unul sau mai multe cursuri care au fost puse la dispoziție de către profesori. Pentru acest lucu se selectează cursul respectiv profesorul dorit (Figura 4.1.3.1–3). În urma alegerii făcute studentul primește informații privitoare la bibliografia pentru cursul respectiv, precum și posibilitatea de a download-a suportul de curs.
Figura 4.1.3.1–1 Selectarea cursului dorit.
4.1.3.2. Susținerea examenelor
În secțiunea List all exams, studentul are posibilitatea de susține examene la cursurile pe care le-a ales.
Examenele puse la dispoziția studenților sunt sunt de tip “grilă”, studentul fiind obligat să răspundă la toate întrebările din cadrul examenului într-un timp limită specificat de profesor în momentul creerii testului.
Testele pot fi de mai multe tipuri, în funcție de modul în care profesorul a dorit să le structureze. Astfel, testele pot să conțină de la 10 până la 40 de întrebări, cu 3 până la 5 răspunsuri alternative pentru fiecare întrebare. De asemenea, fiecare întrebare poate să aibă unu sau mai multe răspunsuri corecte, sau poate să nu aibă nici un răspuns corect. În cazul în care studentul nu reușește să răspundă corect la o întrebare în timpul alocat acesteia de profesor, întrebarea este invalidă, ne acordându-se punct pentru ea.
Figura 4.1.3.2–1 Întrebare din cadrul unui examen
În cazul în care apare o întrerupere în conexiunea cu server-ul în timp ce se susține un examen, studentul va putea relua examenul de la întrebarea imediat următoare întreruperii conexiunii. De exemplu, dacă studentul a răspuns la 8 întrebări și se afla la întrebarea 9 în momentul în care s-a întrerupt conexiunea, examenul se va relua de la întrebarea 10, pentru întrebarea 9 fiind considerată invalidă și ne acordându-se punct.
În momentul în care studentul dorește să susțină un examen, se va verifica dacă el este înscris în clasa profesorului pentru care dorește să susțină examenul. Dacă nu este înscris, va fi automat adăugat în clasă, cu condiția ca, în clasă să mai fie locuri vacante. Numărul de locuri dintr-o clasă este de 25.
Un loc în clasă devine vacant, în momentul în care studentul a promovat examenul respectiv, sau în cazul în care nu a reușit să-l promoveze de două ori.
În eventualitatea că profesorul a conceput mai multe teste pentru aceeași materie el poate să susțină oricare din aceste teste.
4.1.3.3. Vizualizare rezultate examene
În cazul în care studentul a susținut examene, notele acordate pentru acestea pot fi aflate consultând arhiva de note (Figura 4.1.3.3-1).
Figura 4.1.3.3-1 – Vizualizare note.
4.1.3.4. Vizualizarea și adăugarea de mesaje
Figura 4.1.3.4–1 Adăugarea de mesaje.
Cu ajutorul acestei secțiuni se pot face anunțuri cu caracter general (Figura 4.1.3.3–1). Mesajele pot fi scrise și vizualizate atât de studenți cât și de profesori.
Vizualizarea anunțurilor făcute până în momentul respectiv se face cu ajutorul opțiunii View all entries (Vizualizare mesaje), mesajele apărând în ordine descrescătoare datei la care au fost făcute, adică primul mesaj va fi afișat ultimul introdus (cel mai nou), câte șase mesaje pe o pagină. (Figura 4.1.3.3–2).
Figura 4.1.3.4–2 Afișarea mesajelor existente.
După cum se poate observa din figura 4.1.3.4–2 în momentul afișării mesajelor, se specifică data când acesta a fost scris, tipul user-ului care a făcut anunțul, user-ul precum și numele și prenumele acestuia.
Un lucru important de menționat este că, chiar dacă în câmpul Messages (Mesaje) s-au introdus caractere speciale html (<br>, <body>, <table>, etc) acestea vor fi ignorate în momentul afișării pentru a nu altera structura tabelului existent.
4.1.3.5. Chat-ul on-line
Atât pentru secțiunea Studenți, cât și pentru secțiunea Profeori, se pune la dispoziție un chat on-line. Acest chat a fost realizat cu scopul de a permite comunicare în timp real între cele două tipuri de utilizatori.
Utilizarea chat-ului nu restricționează în nici un fel alte activități în cadrul universității “virtuale”, deoarece el va funcționa independent într-o fereastră nouă.
Prin apăsarea butonului On-line chat (Chat on-line), utilizatorul are acces la un set de opțiuni pentru setarea funcționării chat-ului (Figura 4.1.3.5–1) .
Cu ajutorul acestor opțiuni, utilizatorul poate alege:
numărul de mesaje afișate
timpul după care pagina este reactualizată
tipul de “cameră” în care se dorește accesul:
“cameră” publică – nu există nici o restricție
“cameră” privată existentă
posibilitatea de a creea o “cameră” privată
Figura 4.1.3.5–1 Setarea opțiunilor pentru chat-ul on-line.
După ce aceste setări au fost făcute, utilizatorul poate să converseze în timp real cu toate persoanele aflate în momentul respectiv în “camera” în care el a intrat (Figura 4.1.3.5–2).
Figura 4.1.3.5–2 Fereastra de chat.
Folosirea următoarelor tipuri de combinații produc imagini asociate în momentul afișării:
Cu ajutorul acestei secțiuni, profesorul poate să răspundă în timp real la întrebările puse de către studenți, practic el poate sa țină seminarii pe baza suportului de curs pus la dispoziția studenților.
Prin implementarea acestui chat s-a urmărit o mai bună comunicare între studenți și profesori.
4.1.3.6. Log-out
Această opțiune are ca rezultat părăsirea corectă a aplicației “IE”. În cazul în care se omite utilizarea acesteia pentru ieșirea din program, utilizatorul se expune la riscul de a deveni vulnerabil în cazul unui atac din exterior.
4.1.4. Secțiunea Login Teachers
Secțiunea este dedicată în exclusivitate profesorilor, punând la dispziția acestora un set de instrumente necesare creerii de cursuri și examene.
Accesul la această secțiune se face, ca în cazul studenților, pe baza unui user name (nume utilizator) și a unui password (parole). Pentru obținerea unui user name și a unui password, profesorul trebuie să se adreseze administratorului programului “IE”.
În cazul întroducerii unui nume utilizator și a unei parole valide, profesorul primește accesul la funcțiile puse la dispoziția sa de program (Figura 4.1.4–1).
Figura 4.1.4 – 1 Opțiuni puse la dispoziția profesorului (meniul principal)
După cum se poate observa în figura de mai sus, ultimele trei opțiuni din meniul principal sunt identice cu cele din meniul studenților (Figura 4.1.3–2) și de aceea nu vor mai fi discutate aici.
4.1.4.1. Cursuri și Examene
Sub-meniul Classes & Exams (Cursuri și Examene), poate fi apelat în momentul accesării butonului cu același nume. Acesta pune la dispoziția profesorului un set de unelte necesare creerii și actualizării cursurilor și examenelor pe care el le predă (Figura 4.1.4.1–1).
Figura 4.1.4.1 – 1 Sub-meniul Classes & Exams
Primul pas pe care un profesor trebuie sa-l facă, este de a creea un curs nou. Acest lucru este posibil cu ajutorul butonului Create new class (Creeare curs nou). Profesorul trebuie să aleagă un nume pentru cursul creeat, precum și să indice bibliografia pe care studenții o vor folosi pentru curs (Figura 4.1.4.1 – 2)
Figura 4.1.4.1 –2 Creearea unui curs nou.
Numele cursului creeat trebuie să fie cât mai sugestiv, un profesor nu poate să creeze mai multe cursuri cu același nume.
După ce a creeat cursul, profesorul poate trece la generarea examenelor. Acest lucru se face cu ajutorul butonului Create new exam (Creeare de examene noi).
Creearea de examene presupune doi pași importanți pe care profesorul trebuie să-i urmeze:
setarea variabilelor pentru examen
introducerea setului de întrebăr și răspunsuri
Deoarece generarea examenelor se poate face în orice moment, profesorul trebuie să aleagă, pe lângă denumirea examenului, și denumirea cursului pentru care se dorește acest lucru (Figura 4.1.4.1–3) .
Tot acum, profesorul trebuie să seteze următoarele date pentru examen:
numărul de întrebări – profesorul poate alege între 10, 20, 30 sau 40 de întrebări
numărul de răspunsuri la o întrebare – se pot selecta 3, 4 sau 5 variante de răspuns
timpul maxim pentru rezolvarea unei întrebări – se alege între trei variante: 20, 30 sau 40 de secunde pentru o întrebare.
Figura 4.1.4.1–3 Setarea parametrilor examenului
În cazul în care se introduce un nume de exame care există deja, se va semnala o eroare, profesorul fiind nevoit să modifice numele examenului.
După ce toți acești parametrii au fost setați, profesorul poate să înceapă introducerea întrebărilor și a variantelor de răspuns (Figura 4.1.4.1–4)
Figura 4.1.4.1–4 Generatorul de întrebări.
În funcție de setările efectuate anterior, profesorul va trebui să introducă numărul de răspunsuri alternative pentru fiecare întrebare, precum și varintele corecte/incorecte de răspunsuri.
Daca nu se introduce nimic în câmpul alocat textului întrebării atunci se va înregistra o eroare, iar utilizatorului i se va sugera să completeze toate câmpurile care compun formul respectiv. Dacă se înregistreaza “succes”, utilizatorul poate trece la următorul pas: înregistrarea întrebării următoare.
O altă unealtă pusă la dispoziția profesorului de către programul “IE” este Modify exams (Modificare examene). Această secțiune este deosebit de utilă în cazul în care un profesor dorește completarea sau rescrierea unor întrebări anume din cadrul unui examen.
Fiecare profesor poate să vizualizeze doar examenele creeate de el, programul nu permițând modificarea sau vizualizarea examenelor altor profesori. Asemănarea din punc de vedere vizual cu secțiunea de mai sus (Creeare examene) este foarte mare, singura deosebire față de ceea mai sus amințită este că, în cadrul acesteia câmpurile sunt deja completate, profesorul putând să le modifice sau să adauge noi întrebări (Figura 4.1.4.1–5).
Figura 4.1.4.1 – 5 Modificarea/actualizarea examenelor.
4.1.4.2. Secțiunea “Utilitare”
În cadrul acestei secțiuni, profesorul dispune de două componente utile prin care profesorul poate să afle toate informațiile despre un student și poate să șteargă un anunit cont (Figura 4.1.4.2–1)
Figura 4.1.4.2 – 1 Sub-meniul “Utilitare”.
În cazul în care un profesor dorește să afle amănunte despre un student (adresă, examene susținute, note obținute, etc), poate folosi secțiunea Search Students (Căutare Studenți). În urma apelării acesteia, profesorul va trebui să introducă user name-ul, numele și prenumele studentului (Figura 4.1.4.2 – 2).
Figura 4.1.4.2 –2 Căutare student.
Dacă profesorul a introdus corect un user name precum și numele și prenumele aferente, se vor afișa inormațiile privitoare la studentul respectiv (Figura 4.1.4.2–3), în caz contrar se va semnala o eroare.
Informațiile privitoare la note, precum și răspunsurile date de student se pot vizualiza în urma apelării View results (Vizualizare rezultate) (Figura 4.1.4.2–4) .
Figura 4.1.4.2–4 Vizualizare rezultate student.
Aplicația “IE” dă posibilitatea profesorului să șteargă contul unui student. Această operație se face după ce profesorul a introdus corect numele și prenumele studentului pe care dorește să-l șteargă, și a ales user name-ul din lista derulantă (Figura 4.1.4.2–5).
Această operațiune este irevocabilă, odată executată ștergera unui student se șterg toate informațiile referitoare la el, ne mai putânt fi recuperate.
4.1.5. Secțiunea Admin
Secțiunea este dedicată administrării diferitelor componente ale aplicației “IE”. Accesul la resurse se face pe baza unui user name (nume utilizator), care în cazul aplicației de față este unic, și pe baza unei parole. În cazul în are acestea sunt valide, utilizatorul primește drept de administrare (Figura 4.1.5–2).
În momentul instalării user name-ul și parola pentru contul de administrator sunt:
user name = root
password = root
După ce instalarea și configurarea aplicației s-a încheiat cu succes, acestea trebuie schimbate. Pentru a putea schimba user name-ul și parola de administrator se va realiza o log-are pe contul de administrare, în momentul în care user name-ul și parola au fost validate, va apărea fereastra în care se vor specifica noul user name și noua parolă (Figura 4.1.5–1).
Figura 4.1.5–1 Schimbare user name și parolă administrator.
Figura 4.1.5 – 2 Meniul de administrare.
După cum se poate observa din figura de mai sus, în cadrul secțiunii de administrare, se pot executa trei operațiuni importante:
Add teacher – adăugare profesor
Delete teacher – ștergere profesor
View logs – Vizualizare log-uri
Componenta Add teacher (Adăugare profesori), este utilizată pentru a creea conturi profesorilor. Aceasta presupune completarea unui formular prin care se specifică câteva date care vor descrie contul profesorului: nume utilizator, parolă, nume, prenume, email, specialitate și adresă (Figura 4.1.5–3).
Figura 4.1.5–3 Adăugare cont profesor.
Câmpurile User name (Nume utilizator) și Password (Parolă) sunt obligatorii, în cazul în care nu sunt completate se returează o eroare și contul nu este creeat. De asemenea, nu pot să existe user cu nume identic.
Câmpul Password (Parolă) este dublat, pntru a evita introducerea eronată a unei parole.
Componenta Delete teacher (Ștergere profesor) (Figura 4.1.5–3) este asemănătoare cu ceea de ștergere studenți. În momentul în care un profesor este șters, se pierd toate informațiile privitoare la el, inclusiv cursurile și examenele pe care acesta le-a creeat. Din această cauză, utilizarea acestei opțiuni trebuie folosită cu grijă, în caz contrat putând apărea repercursiuni nedorite în funcționarea corectă a programului.
Figura 4.1.5–3 Ștergere cont profesor.
Opțiunea View logs (Vizualizare log-uri) oferă administratorului posibilitatea de a consulta listele cu fișiere log care s-au creeat în urma intrării sau încercării de intrare în sistem a unuia dintre membrii acestuia. Structura unui astfel de fișier log este compusă din: nume utilizator care a intrat sau a încercat intrarea în sistem, parola folosită, IP-ul calculatorului de pe care s-a încercat log-area, precum și data/ora la care a avut loc aceeasta.
4.2. Instalarea și configurarea programului “IE”
Această secțiune (Figura 4.2–1) este foarte importantă pentru rularea corectă și în siguranță a aplicației “IE”. Utilizarea, de către persoane neavizate a programului de instalare și configurare (setup.php), poate distruge sau altera datele existente în cadrul universității “virtuale”. Imediat după instalarea programului, administratorul acestuia va trebui să-și ia măsuri de prevenire. Un mod simplu pentru a evita utilizarea acestuia pe viitor, de către perosane neautorizate, este interzicerea tuturor drepturilor pentru directorul setup/ (Ex: chmod 000 setup/). Dacă pe viitor se va dori rularea programului de setup, se vor acorda din nou drepturi acestui director (Ex: chmod 777 setup/).
Figura 4.2–1 Instalare și configurare program “IE”.
Cel mai important lucru din cadrul programului de instalare și configurare, este setarea corectă a variabilelor MySQL. Deoarece acestea depind de modul în care programul MySQL a fost instalat și de modul în care administratorul server-ului le-a configurat, pentru configurarea acestora este necesară consultarea lui.
5. Concluzii
Aplicația “IE” a fost realizată cu scopul de a emula o universitate “virtual”. În momentul de față, aplicația este un instrument puternic, pus la indemâna studenților și a profesorilor, prin care se poate realiza o mai bună aprofundare a cunoștințelor sau chiar învățarea de lucruri noi. În momentul concepției acestui program s-a avut în vedere accesul liber la toate informațiile puse la dispoziție de către profesori studenților. Din această cauză nu s-a implementat un sistem de tipul e-commerce, orice utilizator putând să urmeze gratuit cursurile puse la dispoziția sa. Pe viitor, în cazul în care se va dori o îmbunătățire a programului actual, se va putea ține cont și de posibilitatea introducerii unei astfel de componente.
Aplicația a fost concepută să ruleze pe servere de tipul u(NIX), datorită multiplelor avantaje pe care un astfel de sistem le are față de cele 9x/NT (stabilitate foarte ridicată, securitate excelentă, etc).
Compatibilitatea programului “IE” cu servere-le de tip 9x/NT este realizată în întregime
5.1. Avantaje
Programarea aplicației “IE” în limbajul PHP, simplifică utilizarea bazelor de date în cadrul ei.
Folosirea bazei de date MySQL, conferă un plus de viteză în execuție și asigură o foarte bună protecție a datelor.
Scrierea programului pentru servere de tipul u(NIX), a permis: implementarea multiplelor opțiuni de securizare, utilizarea tuturor componentelor de programare fără a fi nevoie de cumpărarea lor. Toate acestea au dus la realizarea unui produs competitiv din punc de vedere al prețului și al calități.
Implementarea în cadrul programului, a unui chat on-line, care permite comunicarea în timp real între profesori și studenți.
Asigurarea unui sistem multi-language.
Multiplele setări pe care un profesor le poate face în momentul creerii unui examen, conduce la posibilitatea realizării de examene diverse în cadrul aceluiași curs.
Studenți se înscriu într-o clasă înaintea susținerii unui examen, în limita locurilor disponibile.
5.2. Dezavantaje
Inexistența unei componente de tipul e-commerce nu permite perceperea de taxe pentru studenții înscriși.
Portarea aplicației pe servere 9x/NT necesită mici modificări în codul sursă.
5.3. Îmbunătățiri
Asigurarea unui modul de tip e-commerce la creearea conturilor studenților.
Implementarea de meniuri realizate în shockwave.
Bibliografie
1. Titlu: PHP Manual
Autor(i): Stig Sćther Bakken, Alexander Aulbach
Editura: Egon Schmid
Anul publicării: 2000
2. Titlu: MySQL Documentation
Autor: Michael J. Miller Jr.
Editura: DataKonsulter AB
Anul publicării: 2000
3. Titlu: Open SSL – User manual
Autor: Ralf S. Engelschall
Editura: –
Anul publicării: 2000
4. Titlu: HTML & CGI Unleashed, Professional Reference Edition
Autor(i): John December; Mark Ginsburg
Editura: Macmillan Computer Publishing
Anul publicării: 1996
5. Titlu: GNU General Public Licenses
Autor(i): Free Software Foundation, Inc.
Editura: –
Anul publicării: 1991
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Proiectarea, Realizarea Si Implementarea Sistemului Informatic (ID: 149162)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
