Sistem Informatic Pentru Gestiunea Activitatii In Invatamantul Superior

Cuprins

Cap. I Introducere

Enunțul temei

Tema aceastei lucrări este: “dezvoltarea aplicaților cu baze de date pentru gestiunea școlarității”.

Obiectivul lucrării este de a definii sistemul din atât din punct de vedere structural cât și functional.

Aplicația are ca obiectiv oferirea informațiilor într-un mod mai simplu și mai rapid. Profesorii să afișeze notele fără a mai fi nevoiți să se deplaseze în incinta școlii, iar aceste informații vor ajunge la elevi și la părinții acestora într-un timp foarte scurt.

Aplicația trebuie să asigure patru servicii de bază:

Un serviciu pentru administrator cu rol privat

Un serviciu pentru profesor cu rol restricționat

Un serviciu pentru elev cu rol restricționat

Un serviciu pentru părinte cu rol restricționat

Serviciul pentru administrator asigură gestionarea utilizatorilor, popularea bazei de date precum și ștergerea anumitor câmpuri din baza de date.

Serviciul pentru profesor asigură posibilitatea adăugării de note, getionarea absențelor precum și publicarea anumitor notificări(de exemplu: despre comportamentul elevului la ore).

Serviciul pentru elev asigură vizualizarea notelor de la fiecare materie, posibilitatea de a-și vedea absențele și de a vizualiza notificările profesorului.

Serviciul pentru părinte este identic cu al elevului. Am considerat că este important ca părintele să aibe un cont separat de elev pentru a-l putea verifica mai ușor.

În cadrul aplicației, proiectarea bazei de date presupune utilizarea a 13 tabele, între ele existând legături.

Cap. II Fundamentare teoretică

2.1 PHP

PHP = Hypertext Preprocessor : este un limbaj de programare. Acesta, inițial a fost folosit pentru a producerea de pagini web dinamice, iar acum este folosit în dezvoltarea paginilor și aplicațiilor web. Se folosește în mod usual încorporat în codul HTML, dar începând de la versiunea 4.3.0 se poate folosi și în mod „linie de comandă” (CLI).

Exemplu de cod PHP:

Limbajul PHP, ca si C-ul, Pearl-ul sau începând de la versiunea 5 chiar Java este simpul de utilizat, având ca sintaxă o combinație a celor 3 limbaje de programare listate mai sus.

Cea mai importantă facilitate dar și caracteristică a PHP-ului este lucrul cu majoritatea bazelor de date : de la MySql la Oracle , s.a.

Sistemele de operare pe care poate rula PHP sunt: Windows, UNIX, și Mac OS X, acesta putând interacționa cu majoritatea serverelor web.

Codul PHP fiind interpretat de un server WEB ce generează un cod HTML care va fi vazut de către utilizator.

Extensiile fisierelor de tip PHP sunt: .php, .php3, .ph3, .php4, .inc, .phtml. fișierele vor fi interpretate de către serverul web, acesta din urmă va genera un cod HTML pentru a putea fi interpretat de către browser.

2.3 MySQL

Figura 2.3.1 Siglă MySQL

Principalul scop de a învăța un limbaj de programare PHP este lucrul cu bazele de date.

MySQL este un sistem de gestiune a bazelor de date, fiind destinat să fie utilizat împreună cu limbajul PHP, în principal pentru că este gratuit.

Înțelegerea SQL(Structurated Query Language):limbaj folosit pentru solicitarea datelor este făcută cu ajutorul bazelo de date relaționale.

SQL este un limbaj ce poate obține accesul la datele stocate în mai multe tabele, poate filtra datele dorite și poate sorta, rezuma și afișa rezultatele.

Chiar dacă cel mai des este folosit cu limbajul de programare PHP, cu baza de date MySQL si pot creea aplicații în orice limbaj major, cum ar fi: C++,C#,C,Perl,Python,Java, etc.

Administrarea bazelor de date MySQL se poate face in modul linie de comandă sau cu ajutorul unei interfețe grafice.

Un alt instrument de administrarea acestor baze de date este aplicația gratuită, scrisă în PHP, phpMyAdmin.

2.4 HTML

HTML = Hyper Text Mark-up Language și reprezintă codul ce sta la baza paginilor web. Paginile HTML conțin etichete sau tag-uri și au extensia .html sau .htm .Aceste etichete sunt pereche în majoritate cazurilor, una de deschidere <eticheta> și alta de închidere </eticheta>, mai există și cazuri în care nu se închid, atunci se folosește <eticheta /> iar browser-ul interpretează etichetele afișând rezultatul lor pe ecran. HTML-ul nu face deosebirea între litere mici și mari.

Paginile de tip HTML încep și se termină cu etichetele <html> și </html>.Iar în interiorul acestor etichete html , găsim perechile <head> </head> și <body> </body>.

Eticheta <head> conține titlul paginii între etichetele <title> și </title>, descrieri tipuri <meta>, de asemenea poate conține stilurile folosite pentru formatarea textului,chiar și scripturi și linkuri către fisiere.

Exemplu de cod HTML:

Crearea unui fișier de tip HTML este foarte simplă, putând fi făcută cu ajutorul oricărui editor de text.

Notepad++ este unul din editoarele ce pun în evidență elementele (tag-urile) limbajului HTML.

Există 216 astfel de constante pentru formatarea culorilor recunoscute de majoritatea browser-elor, așa cum putem vedea în imaginea de mai jos.

Figura 2.4.1 Codul culorilor

2.7 Platforma EasyPhp

EasyPHP este un pachet WAMP ce conține PHP server-side limbaj de scripting, serverul web Apache, MySQL SQL server, precum și instrumente de dezvoltare, cum ar fi manager de baze de date phpMyAdmin, debugger Xdebug și multe altele. Nimic pentru a configura. Sa făcut deja! Ai nevoie doar de a descărca, intall … și cod. Pagina de administrare vă permite să lista docroot, extensii, schimba portul Apache, zona de fus orar, schimba timpul de execuție, raportarea erorilor, încărcați dimensiunea fișierului max, adăuga / elimina alias, gestiona module .

Figura 2.7.1 Start Server

Figura 2.7.2 Start MySQL

Figura 2.7.3 Meniu EasyPHP

În figura de mai sus este prezentat meniul platformei. Selectând opțiunea Administration utilizatorul poate administra partea de PHP/Apache/MySQL.

2.9 Platforma Notepad++

Notepad++ este un editor de text gratuit pentru Windows. Programul permite editarea codului sursă specific unui număr mare de limbaje de programare, precum PHP, HTML, C, C++, etc.

Facilități remarcabile sunt:

Ajutor pentru 48 de limbaje de programare

Autocompletare

Utilizarea tab-urilor printr-o interfață cu mai multe ferestre

Notepad++ se bazează pe motorul Scintilla, fiind programat în C++ și utilizând Win32 API și biblioteca STL, asigurând astfel o execuție rapidă și un consum redus de resurse.

Figura 2.9.1 Notepad++

Cap. III Specificațiile Aplicației

Schema Bloc

Acest subcapitol conține schema bloc a aplicației.

Principalele componente ale aplicației:

Administrator

Profesor

Elev/Părinte

Login

Așa cum se poate vedea în figura 3.1 la rândul lor componentele sunt împărțite în sub-componente.

Astfel că componenta Administrator/Admin conține următoarele sub-module:

Elev

Profesor

Materii

Clase

Componenta Profesor conține următoarele sub-componente:

Note

Absențe

Notificări

Componenta Elev/Părinte conține următoarele sub-componente:

Note

Absențe

Notificări

Figura 3.1 Schema bloc

Funcționalități

În acest subcapitol vor fi prezentate viitoarele funcționalități ale aplicației. Aceasta va conține 4 module principale plus modulul de Login. De asemenea aplicația va avea o bază de date de 9 tabele.

În cadrul modulului Login va fi implementată o interfață care va asigura conectarea în condiții de siguranță la aplicația curentă. Vor fi implementați 4 tipuri de utilizatori: administrator, profesor, elev, părinte.

Fiecare utilizator după ce se va conecta va fi redirecționat în modulul din care face parte în funcție de tipul de utilizator pe care îl deține: tipul administrator va fi redirecționat la modulul Administrator, tipul elev/părinte va fie redirecționat la modulul Elev/Părinte, tipul Profesor va fi redirecționat la modulul Profesor.

În cadrul fiecărui modul utilizatorul va putea să acționeze doar componentele modulului respectiv, fiind restricționat de tipul de utilizator.

Componeta Administrator va implementa următoarele sub-module:

Elev

Profesor

Materii

Clase

Componenta Profesor va implementa următoarele sub-module:Note

Absențe

Notificări

Componenta Elev/Părinte va implementa următoarele sub-module:

Note

Absențe

Notificări

În continuare vor fi prezentate pe scurt tabele care vor alcătui baza de date a aplicației.

Aplicația va conține o bază de date cu 9 tabele:

Tabela login – va conține utilizatorii și tipul acestora

Notificare- va conține notificările profesorului despre elev

Elev – va conține datele elevului

Note- va conține notele elevului

Absente – va conține absențele elevului

Profesor – va conține datele profesorului

Listă_materii – va conține o listă cu toate materiile din școală

Profi_clasa – va conține repartizarea profesorilor pe clase

Clas – va conține o listă cu toate clasele din școală

Figura 3.2.1 Tabele

Cap. IV Documentația tehnică a aplicației

4.1 Descrierea structural-funcțională

4.1.1Structura generală

Scopul prezentei aplicații este de a implementa o platformă online pentru învățământul școlar, utilizând limbajul de script PHP și serverul de baze de date MySQL, legătura cu mediul web fiind limbajul HTML.

Aplicația trebuie să asigure 4 servicii de bază:

Un serviciu pentru administrator cu rol privat

Un serviciu pentru profesor cu rol restricționat

Un serviciu pentru elev cu rol restricționat

Un serviciu pentru părinte cu rol restricționat

Serviciul pentru administrator asigură gestionarea utilizatorilor, popularea bazei de date, ștergerea anumitor câmpuri din baza de date.

Serviciul pentru profesor asigură posibilitatea gestionarii notelor, absențelor și a notificărilor.

Atât serviciul pentru elev cât și cel pentru părinte asigură vizualizarea notelor de la fiecare materie,vizualizarea absențelor și a notificărilor din partea unui profesor.

Gestionarea informațiilor se realizează cu ajutorul unei baze de date MySQL.

În cadrul aplicației, proiectarea bazei de date presupune utilizarea a 9 tabele, între ele existând legături.

4.2 Modulul “Login”

Modulul are rolul de intrare în aplicație, de autentificare a utilizatorilor. Pentru acestea se verifică dacă utilizatorul există in baza de date și anume în tabela login. Dacă utilizatorul există și parola a fost introdusă corect atunci se verifică tipul utilizatorului , se deschide o nouă sesiune prin comanda session_start() și se salvează în variabile globale utilizatorul și tipul acestuia. Apoi utilizatorul este redirecționat către modulul asupra căruia are drepturi de acces. Redirecționarea se face cu ajutorul funcției header(„Location: URL”), URL reprezentând adresa redirecționării.

În cazul în care utilizatorul nu se află în baza de date sau parola este greșită acesta va fi redirecționat către pagina de login.

Realizarea verificării dacă utilizatorul se află în baza de date, iar parola coincide este ilustrată în scriptul de mai jos:

Acest modul conține și opțiunea schimbării parolei(figura 4.2). În vederea realizării acestui lucru se ține cont de vechea parolă, de utilizator și de noua parolă. Se verifică dacă numele utilizatorului și parola veche au fost corect introduse, dacă da se face un update în baza de date iar utilizatorul va avea o nouă parolă.

Dacă nu se efectuează update-ul în baza de date sau dacă parola sau numele utilizatorului sunt introduse greșit atunci se fa afișa un mesaj de atenționare. Mesajul conține un link de redirecționare către formularul de schimbare a parolei.

Mai sus se poate observa că s-a folosit funcția file_put_contents(). Aceasta are ca efect generarea unui document de tip text în cazul în care acesta nu există sau suprascrierea documentului în cazul în care documentul există deja. În document sunt salvate parola și numele utilizatorului și este poziționat într-o anumită locație.

Tabela folosită în acest modul este tabela login și conține următoarele câmpuri:

Figura 4.2.1 Tabela login

Câmpul ID este de tip întreg și este un identificator unic al înregistrărilor din tabelă, câmpul utilizator este de tip șir de caractere, având dimensiunea maximă de 50 de caractere și conține numele de acces în aplicație al utilizatorului, câmpul parola reprezintă parola iar câmpul tip_urilizator este tipul de utilizator acesta poate avea doar 3 valori: admin, profesor și respectiv elev.

Tabela conține în câmpul parola o criptare a parolei realizată într-un script PHP utilizând funcția crypt(str,salt). Unde str – este un câmp obligatoriu și reprezintă șirul de caractere ce urmează să fie criptat iar salt – este un câmp opțional și reprezintă numărul de caractere codate, dacă nu este furnizat atunci o să fie generat aleatoriu de către PHP.

Figura 4.2.2 Formular Schimbă Parola

Figura 4.2.3 Formular de Autentificare

4.3 Modulul Administrator

Modulul Administrator asigură administrarea aplicației de către un utilizator unic numit admin. Acesta conține 5 componente:

Elev

Profesor

Gestionare Clase

Repartizare Profesori

Repartizare Clase

Administratorul poate să interacționeze cu toate cele 5 componente doar în urma operației de autentificare. Activitatea de administrator se încheie, de preferat cu delogarea acestuia.

Figura 4.2.4 Pagină Administrator

4.3.1 Sub-modulul Elev

Componenta Student are 2 operații de bază: adăugarea și ștergerea. Administratorul poate adăuga în baza de date un student și automat se creează un utilizator cu numele și prenumele studentului iar parola este generată automat de un script PHP cu ajutorul funcției md5().

Inserarea se face conform funcției:

Mai jos este prezentat codul pentru generarea automată a parolei, respectiv criptarea ei și punerea datelor despre noul utilizator într-un fișier text:

Formularul care trimite datele spre scriptul de mai sus este de tip HTML. Informațiile sunt trimise cu metoda POST, așa cum se poate observa mai jos:

Informațiile sunt preluate cu ajutorul variabilelor de tip $_POST[] așa cum sugerează scriptul de mai jos:

După cum se poate observa mai sus se recreează data de naștere cu ajutorul a funcțiilor explode()- funcție ce transformă un string într-un array. Apoi se creează un array cu ajutorul funcției array_push(), după cu ajutorul funcției implode se creează stringul.

Ștergerea se face cu ajutorul funcției de mai jos:

Variabila $_GET[del] e trimisă către scriptul de mai sus printr-un link:

Mai sus se poate observa că se face o căutare a tuturor elevilor în baza de date, apoi aceștia sunt afișați într-un tabel. Administratorul poate selecta elevul pe care dorește sa-l șteargă și se va trimite ID-ul acestuia pentru a putea fi șters. ID-ul fiind una din cheile unice pe care le conține tabela elev.

4.3.2 Sub-modulul Profesor

Componenta Profesor are 2 operații de bază: adăugarea și ștergerea. Administratorul poate adăuga în baza de date un profesor și automat se creează un utilizator cu numele și prenumele profesorului iar parola este generată automat de un script PHP cu ajutorul funcției md5().

Inserarea se face conform funcției de mai jos:

Mai jos este prezentat codul pentru generarea automată a parolei, respectiv criptarea ei și punerea datelor despre noul utilizator într-un fișier text:

Formularul care trimite datele spre scriptul de mai sus este de tip HTML. Informațiile sunt trimise cu metoda POST, așa cum se poate observa mai jos:

Informațiile sunt preluate cu ajutorul variabilelor de tip $_POST[] așa cum sugerează scriptul de mai jos:

Ștergerea se face cu ajutorul funcției:

Variabila $_GET[del] e trimisă către scriptul de mai sus printr-un link:

Mai sus se poate observa că se face o căutare a tuturor profesorilor în baza de date, apoi aceștia sunt afișați într-un tabel. Administratorul poate selecta cadrul didactic pe care dorește sa-l șteargă și se va trimite ID-ul acestuia pentru a putea fi șters. ID-ul fiind una din cheile unice pe care le conține tabela profesor.

4.3.3 Sub-modulul Gestionare Clase

Această componentă are 2 operații de bază: adăugarea și ștergerea.

Inserarea se face conform funcției de mai jos:

Formularul ce trimite datele este de tip HTML :

Informațiile sunt preluate cu ajutorul variabilelor de tip $_POST[] așa cum sugerează scriptul de mai jos:

Ștergerea se face cu ajutorul funcției:

Variabila $_GET[del] e trimisă către scriptul de mai sus printr-un link:

Mai sus se poate observa că se face o căutare a tuturor înregistrărilor din tablela clasa în baza de date, apoi acestea sunt afișate într-un tabel. Administratorul poate selecta clasa pe care dorește sa o șteargă și se va trimite ID-ul acesteia pentru a putea fi șters. ID-ul cheia unică din tabela clasa.

4.3.4 Sub-modulul Repartizare Profesori

Componenta Repartizare Profesori are 2 operații de bază: adăugarea și ștergerea.

Inserarea se face conform funcției:

Formularul ce trimite datele este de tip HTML :

Informațiile sunt preluate cu ajutorul variabilelor de tip $_POST[] așa cum sugerează scriptul de mai jos:

Ștergerea se face conform scriptului:

Variabila $_GET[del] e trimisă către scriptul de mai sus printr-un link:

Mai sus se poate observa că se face o căutare a tuturor departamentelor în baza de date, apoi acestea sunt afișate într-un tabel. Administratorul poate selecta departamentul pe care dorește sa-l șteargă și se va trimite ID-ul acestuia pentru a putea fi șters. ID-ul cheia unică din tabela departament.

4.3.5 Sub-modulul Specializare

Componenta Specializare are 2 operații de bază: adăugarea și ștergerea. Administratorul poate adăuga în baza de date o specializare și poate să o șteargă dacă aceasta a fost introdusă greșit.

Inserarea se face conform scriptului:

Formularul ce trimite datele este de tip HTML :

Informațiile sunt preluate cu ajutorul variabilelor de tip $_POST[] așa cum sugerează scriptul de mai jos:

Ștergerea se face conform scriptului:

Variabila $_GET[del] e trimisă către scriptul de mai sus printr-un link:

Mai sus se poate observa că se face o căutare a tuturor specializărilor în baza de date, apoi acestea sunt afișate într-un tabel. Administratorul poate selecta specializarea pe care dorește sa o șteargă și se va trimite ID-ul acesteia pentru a putea fi șters. ID-ul cheia unică din tabela specializare.

4.4 Modulul Profesor

Modulul Profesor are în subordinea sa 5 componente:

Materii

Activitate

Curs

Examene

Rapoarte

Rolul acestui modul este de a gestiona activitatea unui profesor din cadrul universității în care este instalată aplicația “PlatUni”. Profesorul are la dispoziție mai multe opțiuni: de a adăuga note, de a-și planifica activitatea, de a planifica examenele , de a încărca pe platformă cursuri, de a crea rapoarte.

4.4.1Sub-modulul Materii

În cadrul acestei componente se vor afișa materiile la care profesorul predă. Operația principală este de adăugarea notelor în baza de date. În cazul în care profesorul a greșit nota acesta o poate reintroduce în același formular și se va face o nouă operație și anume operația de update.

Pentru a adăuga note se face mai întâi o afișare a materiilor la care profesorul predă. Metoda de lucru se poate observa în scriptul de mai jos:

Pentru a afișa materiile s-a creat o funcție numită sugestiv materii(). În cadrul acestei funcții s-au făcut mai multe interogări a tabelelor profesor și materie pentru a putea fi selectate doar materiile pe care profesorul le predă. După filtrarea materiilor, acestea au fost afișate intr-un tabel. O căsuță a tabelului conține un link spre adăugarea de note.

Inserarea notelor în baza de date se face precum scriptul de mai jos:

După cum se poate observa mai sus dacă nota studentului i-a fost atribuită o notă anterior și prezentarea coincide în baza de date se face un update. În caz contrar se face inserarea notei în baza de date.

În urma inserării sau a update-ului se face o afișare a studentului cu notele aferente lui.

4.4.2 Sub-modulul Activitate

În cadrul acestei componente se va afișa activitatea profesorului. Acesta își poate planifica anumite activități prin inserarea în baza de date.

În scriptul de mai sus se observă că se verifică dacă variabilele au trimise cu metoda POST nu sunt vide. În acest caz sunt preluate datele.

Se observă folosirea funcțiilor explode(), implode() și array_push(). Cu ajutorul lor se formează data din formatul 00/00/0000 în formatul 0000-00-00.

Afișarea se face conform codului:

Formularul HTML ce trimite datele prin metoda POST este prezentat mai jos:

4.4.3 Sub-modulul Curs

Această componentă permite adăugarea, afișarea, descărcarea și ștergerea unor fișiere.

Adăugarea în baza de date se face conform scriptului de mai jos:

Se observă folosirea funcției NOW(). Cu ajutorul ei se preia data și ora.

În scriptul de mai jos este reprezentată afișarea cursurilor:

Descărcarea cursurilor este ilustrată în codul de mai jos:

Descărcarea se face folosind funcția header cu elementele: Content-Type-> tipul de fișier ce urmează sa fie descărcat; Content-Length->mărimea fișierului; Content-Disposition-> numele și locația.

Ștergerea este afișată explicit în scriptul de mai jos:

4.6 Baza de date

Figura 4.6.1 Baza de date

După cum s-a mai precizat, aplicația utilizează o bază de date MySQL. Această alegere a fost influențată în principal că utilizarea serverului este liberă și este un server de bază de date multi-platformă, rulând atât pe sistemele Windows cât și pe sisteme Linux-Unix.

Proiectarea bazei de date a impus utilizarea a mai multor tabele, fiecare având un rol bine definit, între ele existând legături impuse de specificul aplicației.

Figura 4.6.2 Listă Tabele

Tabela activitate

Rolul acestei tabele este să conțină planificări ale activității unui utilizator de tip profesor.

Figura 4.6.3 Tabela Activitate

Câmpurile prevăzute pentru această tabelă conform figurii 4.6.3 sunt:

ID – de tip întreg, cu autoincrementare(definit ca și cheie primară)

ID_profesor- de tip întreg, reprezintă ID-ul din tabela profesor(legătură cu tabela profesor)

Data- de tip dată, conține data când va avea loc activitatea

Activitate- de tip șir de caractere, reprezintă activitatea în sine

Adăugarea în tabelă s-a făcut cu o comandă SQL de forma :

Tabela departament

Rolul acestei tabele este să stocheze informații despre departamente: facultatea de care aparține, numele departamentului.

Figura 4.6.4 Tabela departament

Câmpurile prevăzute pentru această tabelă conform figurii 4.6.4 sunt:

ID – de tip întreg, cu autoincrementare(definit ca și cheie primară)

ID_facultate- de tip întreg, reprezintă ID-ul din tabela facultate(legătură cu tabela facultate)

Nume- de tip șir de caractere, stochează numele departamentului

Adăugarea în tabelă s-a făcut cu o comandă SQL de forma :

Tabela domeniu

Rolul acestei tabele este să stocheze informații despre domeniu: facultatea de care aparține, numele domeniului.

Figura 4.6.5 Tabela departament

Câmpurile prevăzute pentru această tabelă conform figurii 4.6.5 sunt:

ID – de tip întreg, cu autoincrementare(definit ca și cheie primară)

ID_facultate- de tip întreg, reprezintă ID-ul din tabela facultate(legătură cu tabela facultate)

Nume- de tip șir de caractere, stochează numele domeniului

Adăugarea în tabelă s-a făcut cu o comandă SQL de forma :

Tabela examen_planificare

Rolul acestei tabele este să stocheze informații despre examene(data la care va avea loc examenul, materia în cauză, anul de studiu care va susține examenul, prezentarea examenului).

Figura 4.6.6 Tabela examen_planificare

Câmpurile prevăzute pentru această tabelă conform figurii 4.6.6 sunt:

ID – de tip întreg, cu autoincrementare(definit ca și cheie primară)

ID_materie- de tip întreg, reprezintă ID-ul din tabela materie(legătură cu tabela materie)

Data – de tip dată, stochează data la care va avea loc examenul

An_studiu – de tip întreg, stochează informații despre anul de studiu ce va susține examenul

Prezentare- de tip întreg, conține numărul prezentării

Adăugarea în tabelă s-a făcut cu o comandă SQL de forma :

Tabela facultate

Rolul acestei tabele e să stocheze numele facultății.

Figura 4.6.7 Tabela facultate

Câmpurile prevăzute pentru această tabelă conform figurii 4.6.6 sunt:

ID – de tip întreg, cu autoincrementare(definit ca și cheie primară)

nume- de tip șir de caractere

Adăugarea în tabelă s-a făcut cu o comandă SQL de forma :

Tabela file

Scopul acestei tabele este să stocheze fișiere și date despre acestea(nume, tipul fișierului, mărimea fișierului, data la care a fost adăugat în baza de date, fișierul în sine).

Figura 4.6.7 Tabela file

Câmpurile prevăzute pentru această tabelă conform figurii 4.6.7 sunt:

ID – de tip întreg, cu autoincrementare(definit ca și cheie primară)

name- reprezintă numele fișierului

mime – conține tipul de fișier

size – stochează informații despre mărimea fișierului

created- stochează data la care fișierul a fost încărcat pe server

Adăugarea în tabelă s-a făcut cu o comandă SQL de forma :

Tabela materie

Această tabelă stochează informații despre materiile din facultăți, fiind legată de 2 tabele prin câmpul ID_specializare de tabela specializare, iar prin câmpul ID_profesor de tabela profesor.

Figura 4.6.8 Tabela materie

Câmpurile prevăzute pentru această tabelă conform figurii 4.6.8 sunt:

ID – de tip întreg, cu autoincrementare(definit ca și cheie primară)

ID_specializare- de tip întreg, reprezintă ID-ul din tabela specializare(legătură cu tabela specializare)

ID_profesor- de tip întreg, reprezintă ID-ul din tabela profesor(legătură cu tabela profesor)

Nume_materie- stochează numele materiei

An_studiu – de tip întreg, stochează informații despre anul de studiu ce va susține examenul

Nr_credite- de tip întreg, conține numărul de credite

Adăugarea în tabelă s-a făcut cu o comandă SQL de forma :

Tabela note

Rolul acestei tabele este de a stoca notele de la examene și alte informații precum materia la care a avut loc examenul, studentul care a susținut examenul și numărul prezentării examenului . Aceste date sunt introduse de către utilizatorul de tip profesor și pot fi văzute de către utilizatorul de tip student.

Figura 4.6.9 Tabela note

Câmpurile prevăzute pentru această tabelă conform figurii 4.6.9 sunt:

ID – de tip întreg, cu autoincrementare(definit ca și cheie primară)

ID_materie- de tip întreg, reprezintă ID-ul din tabela materie(legătură cu tabela materie)

ID_student- de tip întreg, reprezintă ID-ul din tabela student(legătură cu tabela student)

Nota- stochează nota

Prezentare – de tip întreg, stochează numărul prezentării

Adăugarea în tabelă s-a făcut cu o comandă SQL de forma :

Tabela orar

Rolul tabelei este de a stoca informații despre orar. Aceste informații le sunt utile utilizatorilor de tip student.

Figura 4.6.10 Tabela orar

Câmpurile prevăzute pentru această tabelă conform figurii 4.6.10 sunt:

ID – de tip întreg, cu autoincrementare(definit ca și cheie primară)

ID_facultate- de tip întreg, reprezintă ID-ul din tabela facultate(legătură cu tabela facultate)

An_studiu- de tip întreg, reprezintă anul de studiu

link- stochează linkul la care poate fi găsit orarul

Adăugarea în tabelă s-a făcut cu o comandă SQL de forma :

Tabela profesor

Această tabelă stochează informații(numele, departamentul din care face parte și calificarea) despre utilizatorul de tip profesor.

Figura 4.6.11 Tabela profesor

Câmpurile prevăzute pentru această tabelă conform figurii 4.6.11 sunt:

ID – de tip întreg, cu autoincrementare(definit ca și cheie primară)

Nume – stochează numele de familie al profesorului

Prenume – stochează prenumele profesorului

ID_departament- de tip întreg, reprezintă ID-ul din tabela departament(legătură cu tabela departament)

Adăugarea în tabelă s-a făcut cu o comandă SQL de forma :

Tabela specializare

Această tabelă stochează informații precum :numele, departamentul din care face parte.

Figura 4.6.12 Tabela specializare

Câmpurile prevăzute pentru această tabelă conform figurii 4.6.11 sunt:

ID – de tip întreg, cu autoincrementare(definit ca și cheie primară)

ID_departament- de tip întreg, reprezintă ID-ul din tabela departament(legătură cu tabela departament)

Nume – stochează numele specializării

Adăugarea în tabelă s-a făcut cu o comandă SQL de forma :

Tabela student

Această tabelă stochează informații(numele, departamentul din care face parte și calificarea) despre utilizatorul de tip student.

Figura 4.6.13 Tabela student

Câmpurile prevăzute pentru această tabelă conform figurii 4.6.11 sunt:

ID – de tip întreg, cu autoincrementare(definit ca și cheie primară)

Nr_matricol – de tip întreg, este o cheie unică și conține numărul matricol al studentului

CNP – de tip întreg, este o cheie unică și conține CNP-ul studentului

Nume – stochează numele de familie al studentului

Prenume – stochează prenumele studentului

ID_specializare- de tip întreg, reprezintă ID-ul din tabela departament(legătură cu tabela departament)

liceu – stochează numele liceului terminat de student

serie_buletin – stochează seria de buletin, acest câmp este unic

taxa_buget – are doar 2 valori: taxă și buget

an_studiu – stochează anul de studiu în care se află studentul

Adăugarea în tabelă s-a făcut cu o comandă SQL de forma :

Cap. V Ghidul Utilizatorului

Accesul în aplicație

Accesul în aplicație se face prin pagina de login. Aici se face autentificarea. Utilizatorul trebuie să își introducă numele și parola în formular.

Figura 5.1.1 Formular de autentificare

Dacă numele sau parola sunt introduse greșit atunci utilizatorul va fi redirecționat la pagina de autentificare.

Schimbarea Parolei

Există opțiunea de schimbare a parolei. Aceasta se face prin accesarea linkului ”Schimba Parola”. Utilizatorul va fi redirecționat către un nou formular unde va trebui să introducă următoarele date: numele de utilizator, vechea parolă și noua parolă.

Figura 5.2.1 Schimbă parola

În cazul în care numele de utilizator și vechea parolă au fost introduse corect. Parola cea veche va fi schimbată cu noua parolă iar pe ecran va fi afișat un mesaj.

Figura 5.2.2 Mesaj noua parolă

Rolul Administrator

Pagina principală

Pagina principală conține o listă cu principalele componente ale modulului Administrator.

Figura 5.3.1.1 Pagina principală Administrator

Pentru deconectare se poate accesa simplu linkul ”Logoff”.

[anonimizat] are 2 opțiuni de adăugare a unui student și de ștergere a unui student.

Figura 5.3.2.1 Administrator- [anonimizat] se face prin completarea formularului de mai jos cu informațiile corespunzătoare. Toate câmpurile sunt obligatorii.

Figura 5.3.2.2 Adaugă student

Ștergerea unui student este simplă se face printr-o singur click pe linkul Sterge.

Figura 5.3.2.3 Șterge student

[anonimizat] are 2 opțiuni de adăugare a unui profesor și de ștergere a unui profesor.

Figura 5.3.3.1 Administrator – Profesor

Adăugarea se face prin completarea formularului de mai jos cu informațiile corespunzătoare. Toate câmpurile sunt obligatorii.

Figura 5.3.3.2 Adaugă profesor

Ștergerea unui profesor este simplă se face printr-o singur click pe linkul Sterge.

Figura 5.3.3.3 Șterge profesor

Facultate

Componenta Facultate are 2 opțiuni de adăugare a unei facultăți și de ștergerea.

Figura 5.3.4.1 Administrator – Facultate

Adăugarea se face prin completarea formularului de mai jos cu informațiile corespunzătoare.

Figura 5.3.4.2 Adaugă facultate

Ștergerea unei facultăți este simplă se face printr-o singur click pe linkul Sterge.

Figura 5.3.4.3 Șterge facultate

Departament

Componenta Departament are 2 opțiuni de adăugare a unui departament și de ștergere.

Figura 5.3.5.1 Administrator – Departament

Adăugarea se face prin completarea formularului de mai jos cu informațiile corespunzătoare. Toate câmpurile sunt obligatorii.

Figura 5.3.5.2 Adaugă Departament

Ștergerea unui departament este simplă se face printr-o singur click pe linkul Sterge.

Figura 5.3.5.3 Șterge departament

Specializare

Componenta Specializare are 2 opțiuni de adăugare a unei specializări și de ștergere.

Figura 5.3.6.1 Administrator – Specializare

Adăugarea se face prin completarea formularului de mai jos cu informațiile corespunzătoare. Toate câmpurile sunt obligatorii.

Figura 5.3.6.2 Adaugă specializare

Ștergerea unei specializări este simplă se face printr-o singur click pe linkul Sterge.

Figura 5.3.6.3 Șterge specializare

Domeniu

Componenta Domeniu are 2 opțiuni de adăugare a unui domeniu și de ștergere.

Figura 5.3.7.1 Administrator – Domeniu

Adăugarea se face prin completarea formularului de mai jos cu informațiile corespunzătoare. Toate câmpurile sunt obligatorii.

Figura 5.3.7.2 Adaugă domeniu

Ștergerea unui domeniu este simplă se face printr-o singur click pe linkul Sterge.

Figura 5.3.6.3 Șterge domeniu

Rolul Profesor

Materii

Componenta Materie are 2 opțiuni de adăugare a unui note și de modificare. În cazul în care nota a fost introdusă greșit aceasta poate fi reintrodusă în același formular, iar la nivel de cod se va face un update după valoarea prezentării.

Figura 5.4.1.1 Profesor- Materii

Figura 5.4.1.2 Adaugă notă

Activitate

În această pagină utilizatorul poate să își planifice anumite activități. Tot în această pagină poate urmării acele activități.

Figura 5.4.2.1 Adaugă Activitate

Curs

Această pagină oferă profesorilor posibilitatea de a încărca pe platformă cursurile sub format electronic. Bineînțeles că există și opțiunea de descărcare dar și cea de ștergere

Figura 5.4.3.1 Cursuri

Figura 5.4.3.2 Formular de adăugare a cursurilor

Figura 5.4.3.3 Mesaj fișierul a fost adăugat cu succes

Figura 5.4.3.4 Vizionarea, descărcarea și ștergerea cursurilor

Examene

În această pagină utilizatorul poate să planifice examenele. Tot în această pagină sunt afișate examenele cu informațiile aferente lor.

Figura 5.4.4.1 Adaugă examen

Figura 5.4.4.2 Vizualizare examene

5.4.5 Rapoarte

Această pagină are scopul de a afișa rapoarte cu numărul de studenți promovați respectiv nepromovați de la disciplinele profesorului.

Rolul [anonimizat] principală

Pagina principală conține o listă cu principalele componente ale modulului Student.

Figura 5.5.1.1 Student- Pagina principală

Pentru deconectare se poate accesa simplu linkul ”Logoff”.

Materii

În această pagină se face o afișare a tuturor materiilor și a notelor pe care studentul le are la examene.

Figura 5.5.2.1 Materii

Examene

În acest sub-modul sunt afișate examenele.

Figura 5.5.3.1 Afișare examene

Situație

Această pagină are scopul de a afișa situația studentului. Acesta poate să își urmărească notele dar și numărul de credite.

Studentul are opțiunea de a-și exporta situația în format PDF printr-un singur click pe butonul „Exporta in PDF”.

Figura 5.5.4.1 Afișare situație

Cursuri

Această pagină îi oferă studentului opțiunea de a obține cursurile în format electronic prin accesarea linkului „Descarca”.

Figura 5.5.5.1 Descărcare cursuri

Cap. VI Concluzii

6.1 Concluzii

Aplicația își propune să ofere utilizatorilor posibilitatea de a accesa anumite informații mult mai rapid și mai ușor. Astfel un student poate afla câte credite are acumulate fără a fi nevoit sa meargă la secretariat să își scoată situația.

De asemenea unul din avantajele oferite de “PlatUni” este acela că transmiterea cursurilor in format electronic de la profesor la student va fi mult mai simplă, profesorul nemaifiind nevoit să trimită pe e-mailul studenților cursurile. El trebuie doar să le încarce pe platformă iar studenții vor avea acces la ele imediat. Același lucru se întâmpla în cazul planificării examenelor. Profesorul planifică online examenul iar studenții au imediat acces la data planificării examenului.

Platforma este accesibilă printr-un browser web. Oricine are un cont pe platformă poate accesa site-ul, de pe calculatorul de la școală, de pe telefon sau de pe laptop, în vacanță.

Aplicația asigură moduri de vizualizare personalizate – fiecare utilizator va avea acces la anumite informații prezentate într-o formă specifică profilului de utilizator din care face parte; model de securitate unificat – utilizatorii aplicației au un singur cont prin intermediul căruia vor avea acces la platformă. Acest aspect asigură o autentificare unică și o securitate bazată pe roluri.

Un aspect important al platformei este acela că asigură compatibilitatea cu majoritatea navigatoarelor, prin intermediul codului html, nefolosindu-se elemente care să fie suportate doar de anumite navigatoare.

6.2 Dezvoltări ulterioare

Pe viitor aplicația va extinde anumite module. Se va încerca implementarea unui formular care va putea fi accesat de utilizatorul de tip profesor. Acesta va putea să creeze teste de tip grilă, iar studenții vor putea accesa aceste teste. Scopul testelor este de aprofundarea cunoștințelor. Prin exercițiu studenții pot înțelege și reține mai ușor anumite elemente cheie ale unei materii.

De asemenea pe viitor aplicația va avea un campus virtual în care va fi prezentată universitatea cu sălile de curs/examen/laborator. Practic acest campus va fi un ghid al studentului boboc pentru ca acesta să poată fi ghidat mai ușor in găsirea sălilor. Acest campus virtual va conține informații și despre cabinetele profesorilor și orarul în care aceștia pot fi găsiți.

Se va face extinderea domeniului de note. Vor putea fi stocate inclusiv notele de la laboratoare și se va implementa un sistem care să poată monitoriza inclusiv absențele/prezențele studenților la cursuri/laboratoare.

Listă Figuri

Figura 2.3.1 Siglă MySQL 11

Figura 2.4.1 Codul culorilor 15

Figura 2.7.1 Start Server 19

Figura 2.7.2 Start MySQL 19

Figura 2.9.1 Notepad++ 22

Figura 3.1.1 Schema Bloc a aplicației 24

Figura 3.2.1 Tabele 27

Figura 3.3.1 Diagrama Gantt 28

Figura 4.1.1 Structura generală a aplicației 30

Figura 4.2.1 Tabela login 36

Figura 4.2.2 Formular Schimbă Parola 37

Figura 4.2.3 Formular de Autentificare 37

Figura 4.2.4 Pagină Administrator 38

Figura 4.6.1 Baza de date 64

Figura 4.6.2 Listă Tabele 65

Figura 4.6.3 Tabela Activitate 66

Figura 4.6.4 Tabela departament 67

Figura 4.6.5 Tabela departament 68

Figura 4.6.6 Tabela examen_planificare 69

Figura 4.6.7 Tabela facultate 70

Figura 4.6.7 Tabela file 71

Figura 4.6.8 Tabela materie 72

Figura 4.6.9 Tabela note 73

Figura 4.6.10 Tabela orar 74

Figura 4.6.11 Tabela profesor 75

Figura 4.6.12 Tabela specializare 76

Figura 4.6.13 Tabela student 77

Figura 5.1.1 Formular de autentificare 79

Figura 5.2.1 Schimbă parola 80

Figura 5.2.2 Mesaj noua parolă 80

Figura 5.3.1.1 Pagina principală Administrator 81

Figura 5.3.2.1 Administrator- Student 82

Figura 5.3.2.2 Adaugă student 82

Figura 5.3.2.3 Șterge student 83

Figura 5.3.3.1 Administrator – Profesor 84

Figura 5.3.3.2 Adaugă profesor 84

Figura 5.3.3.3 Șterge profesor 85

Figura 5.3.4.1 Administrator – Facultate 86

Figura 5.3.4.2 Adaugă facultate 86

Figura 5.3.4.3 Șterge facultate 87

Figura 5.3.5.1 Administrator – Departament 88

Figura 5.3.5.2 Adaugă Departament 88

Figura 5.3.5.3 Șterge departament 89

Figura 5.3.6.1 Administrator – Specializare 90

Figura 5.3.6.2 Adaugă specializare 90

Figura 5.3.6.3 Șterge specializare 91

Figura 5.3.7.1 Administrator – Domeniu 92

Figura 5.3.7.2 Adaugă domeniu 92

Figura 5.3.6.3 Șterge domeniu 93

Figura 5.4.1.1 Profesor- Materii 94

Figura 5.4.1.2 Adaugă notă 94

Figura 5.4.2.1 Adaugă Activitate 95

Figura 5.4.3.1 Cursuri 96

Figura 5.4.3.2 Formular de adăugare a cursurilor 96

Figura 5.4.3.3 Mesaj fișierul a fost adăugat cu succes 97

Figura 5.4.3.4 Vizionarea, descărcarea și ștergerea cursurilor 97

Figura 5.4.4.1 Adaugă examen 98

Figura 5.4.4.2 Vizualizare examene 98

Figura 5.5.1.1 Student- Pagina principală 100

Figura 5.5.2.1 Materii 101

Figura 5.5.3.1 Afișare examene 101

Figura 5.5.4.1 Afișare situație 102

Figura 5.5.5.1 Descărcare cursuri 103

Bibliografie

[1] http://ro.wikipedia.org/wiki/World_Wide_Web#Istoric

[2] Rețele de calculatoare, Andrew S. Tanenbaum, ed. Computer Press AGORA sub licență

Prentice Hall ISBN 973-97706-3-0

[3] Standarde web

[4]  DB-Engines Ranking

[5]^ „Usage of server-side programming languages for websites”

[6]^ „Statistici pentru Aprilie 2007”

[7]^ File Extension .PHP Details

[8]http://www.marplo.net/php-mysql/baze_de_date.html

[9] Valeriu Lupu : Html PHP Mysql

[10]   W3Techs iunie 2013

[11] http://www.easyphp.org/introduction.php

[12] „jQuery: The write less, do more, JavaScript library”. The jQuery Project

[13] „Situl jQuery”. [14] Resig, John (14 ianuarie 2009). „jQuery 1.3 and the jQuery Foundation”. jQuery Blog

[15] „jQuery UI”

[16] „Plugin-uri jQuery”

[17] „License – JQuery JavaScript Library”

Similar Posts