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”
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: Sistem Informatic Pentru Gestiunea Activitatii In Invatamantul Superior (ID: 123902)
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.
