Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune. stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme


Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Didactica


Index » educatie » Didactica
Portal educational


Portal educational




Facultatea de Ciberneticǎ, Statisticǎ si Informaticǎ Economicǎ

Portal educational

2. Obiective

Necesitatea dezvoltarii unui astfel de sistem apare la o simpla analiza a organizarii resurselor web oferite ca suport pentru diverse cursuri universitare. Se constata un mod diferit de tratare al acestora care in general conduce la dificultati in accesarea resurselor dorite. Prin urmare, aplicatia realizata are rolul de a oferi o alternativa sistemului clasic de invatare, dar si de a facilita educatia la distanta.

Obiectivele generale ale aplicatiei pot fi descrise astfel :


5.1 Configuratie hardware

Utilizatorul are nevoie de o configuratie minima:
Procesor:
1800MHz

Memorie:
512 MB DDRAM
Placa Video: 65MB
Monitor

Internet Explorer 6.0

5.2 Cerinte software

5.2.1. Framework-ul CakePHP

Principalul instrument utilizat in dezvoltarea aplicatiei este reprezentat de framework-ul pentru aplicatii web CakePHP . Dezvoltat prin intermediul limbajului PHP si distribuit sub licenta MIT, framework-ul are o structura bazata pe librarii si clase iar principiile utilizarii sale urmaresc modelul arhitectural MVC (Model - View - Controller).

Model -View - Controller (MVC)

Model - View - Controller este un design pattern care leaga eficient interfata cu utilizatorul de modelul de date si are rolul de a separa codul scris de programatori de restul aplicatiei. Aceasta arhitectura permite reutilizarea codului sursa si reduce astfel durata de dezvoltare a aplicatiilor cu interfete utilizator. In plus, permite modificarea atat a design-ului aplicatiei, cat si a modului de implementare a acesteia , fara a exista riscul de a afecta unul dintre acestea in urma actionarii la nivelul celuilalt.

In arhitectura MVC, modelul reprezinta informatiile (datele) gestionate de aplicatie si regulile utilizate in manipularea acestora, View-ul corespunde elementelor interfetei cu utilizatorul precum text sau elemente de tip checkbox, iar Controller-ul realizeaza comunicarea la nivelul modelului a actiunilor executate de utilizator si returnarea rezultatelor inapoi la nivelul componentei View.

Componentele modelului MVC

1.      Controller - controleaza logica aplicatiei.

Are rolul de a gestiona si directiona cererile facute de client , de a interpreta datele de intrare introduse de utilizatori prin intermediul formularelor, mouse-ului si tastaturii si de a le transforma in comenzi trimise modelului sau viziunii. In plus, acesta gestioneaza cererile trimise de server si foloseste modelul cu scopul de a insera , actualiza sau extrage informatii din baza de date sau din alte surse.

2.      Model - reprezinta datele necesare aplicatiei

Fiecare model reprezinta pentru CakePHP o tabela din baza de date. Acesta gestioneaza cererile , realizeaza interogarile si genereaza raspunsuri legate de modul in care acestea s-au desfasurat prin intermediul unui set de functii integrate in structura sa. Ofera de asemenea facilitati integrate de validare a datelor, cu rolul de a asigura o interactiune securizata cu baza de date.

3.      View - gestioneaza prezentarea datelor la nivel vizual

Are rolul de a afisa in cadrul interfetei cu utilizatorul informatiile primite de la Controller , de a oferi utilizatorului posibilitatea de a naviga in cadrul aplicatiei (linkuri) si de a introduce date in sistem prin intermediul instrumentelor oferite de interfata (formulare ). In functie de necesitati, un model poate utiliza mai multe viziuni, denumite corespunzator functiilor din controller ce gestioneaza datele prezentate in cadrul acestora.


Figura 2.1 Principalele functii executate de componentele MVC

Avantajele utilizarii limbajului PHP in locul celor precum CGI, ASP.NET sau JSP cu scopul realizarii paginilor web dinamice sunt urmatoarele :

        PHP este mult mai usor de invatat si utilizat. Curba de invatare a limbajului este mult mai scurta decat in cazul altor limbaje de scriptare, chiar si fara o pregatire prealabila in domeniul programarii. Prin comparatie, ASP.NET necesita cunoasterea unor notiuni de VBScript sau C# , iar CGI necesita notiuni de Perl sau de C.

        PHP a fost scris special pentru crearea de pagini web dinamice. Perl (ca si VBScript si Java) nu au fost scrise in acest scop, de unde se poate trage concluzia ca, prin insasi intentia sa, PHP poate efectua operatii mai rapid si mai usor decat competitorii sai. Cu toate acestea, ramane de facut precizarea ca, in ciuda faptului ca PHP este mai adecvat pentru anumite operatii (respectiv cele pentru care a fost creat) , Java sau Perl il surclasaseaza cand vine vorba de nivelul complexitatii actiunilor pe care le pot efectua.

        PHP este atat gratuit cat si inter-platforma. Astfel, poate fi utilizat prin intermediul oricarui calculator fara nici un fel de costuri. In plus, PHP functioneaza foarte bine pe o gama larga de servere web si sisteme de operare (platforme de tip Unix ,Windows , Mac OS X).

        o proportie de 33,06 % din numarul total de site-uri existente.

        Tehnologie pe partea de server. Deoarece PHP este o tehnologie pe latura de server utilizatorul nu necesita browsere speciale sau alte plugin-uri pentru a vizualiza rezultatele actiunii limbajului PHP. Odata cu accesarea unui site dezvoltat in PHP, furnizorul de Internet (ISP) directioneaza cererea spre serverul care contine informatiile din site-ul respectiv. Serverul citeste codul PHP si il prelucreaza in conformitate cu instructiunile continute in script, iar rezultatele sunt afisate in browser-ul web al utilizatorului.





5.2.3 Sistemul de gestiune a bazelor de date relationale MySQL

[1]

Ajax nu este o tehnologie in sine. Termenul este folosit pentru definirea aplicatiilor web ce folosesc un ansamblu de tehnologii:

           HTML sau XHTML pentru structura semantica a informatiilor;

           CSS pentru prezentarea informatiilor ;

           JavaScript pentru interactivitate, pentru procesarea informatiilor prezentate.Acesta este limbajul de scriptare prin intermediul caruia sunt efectuate apelurile de functii Ajax;

           Obiectul XMLHttpRequest pentru schimbul si manipularea informatiilor intr-o maniera asincrona cu server-ul web ; [2]

5.2.5 Tehnici utilizate in realizarea designului paginilor web. CSS


6. Cerinte de securitate

Alte aspecte care trebuie luate in considerare in proiectarea unui portal educational sunt reprezentate de politicile de securitate precum si de strategiile de publicitate.

Securitatea si confidentialitatea

Un prim nivel de securitate este legat de securizarea fizica a retelei. Serverele si echipamentele de retea trebuie stocate intr-o camera speciala care indeplineste cateva cerinte minime (ventilatie, acces restrictionat cu cheie / card la un grup restrans de persoane, sistem de detectie a incendiilor, podea inaltata pentru protectia echipamentelor impotriva inundatiilor, camere de supraveghere).

Urmatorul nivel de securitate se refera la accesul efectiv la resursele informatice. Datorita faptului ca informatiile personale ale utilizatorilor pot fi disponibile in orice zona a portalului, este necesara implementarea unui mecanism de autentificare, autorizare si criptare a datelor, bazat pe profile predefinite, a carui scop principal este restrictionarea accesului neautorizat.

Conturile ar trebui impartite in trei categorii:

  • conturi de administrator, care au toate drepturile necesare: crearea de conturi de utilizatori, gestionarea continutului portalului, acordarea si modificarea de drepturi, revizuirea acestor drepturi pentru fiecare utilizator si modificarea profilelor la intervale regulate in functie de cerintele actuale de securitate ale portalului, crearea regulilor de complexitate a parolelor, gestionarea parolelor (care trebuie stocate intr-un fisier criptat, plasat de preferinta in afara retelei pentru a evita accesul la acesta din exterior), sanctionarea si blocarea conturilor utilizatorilor care incalca regulile;
  • conturi de utilizator (elevi / studenti), cu drepturi de accesare a materialelor si informatiilor de interes, conform nivelului de studii la care se afla, interdictia de a modifica informatiile generale (cursuri, seminarii, orare, note);
  • conturi de utilizator (profesori), cu drepturi de postare a materialelor de curs / seminar, a fisierelor cu note si rezultate la examene / lucrari, acces controlat la situatia scolara a fiecarui elev / student;

Conturile se vor crea prin completarea unui formular specializat, care difera de la caz la caz, in functie de tipul contului ce se doreste a fi creat. Formularul va contine campuri obligatorii, la necompletarea carora se va refuza crearea contului, si informatii optionale, utilizate pentru verificarea identitatii utilizatorilor, in cazul in care acestia vor dori modificarea ulterioara a parolei de cont.

Pentru validarea crearii contului, se va trimite un mail pe adresa utilizatorului, care va contine un link ce va trebui urmat pentru finalizarea crearii. Utilizatorul va mai primi un mail securizat care contine datele contului (numele si parola).

In vederea configurarii regulilor de parole, se vor avea in vedere urmatoarele:

date

Asa cum s-a prezetat la cerintele software (cap 3) este necesar Framework-ul CakePHP cu structura sa de Model - View - Controller, pentru a efectua un flux de date. In plus fata de componentele principale ale modelului arhitectural MVC , CakePHP implementeaza o serie de componente in vederea eficientizarii procesului de dezvoltare al aplicatiilor :

                                                        Fisiere layout. Componentele de tip view sunt incapsulate in cadrul unor fisiere de tip layout , in functie de modul de structurare a design-ului. In cadrul acestor fisiere sunt atasate foile de stil (CSS - Cascade StyleSheets) prin intermediul carora se realizeaza designul paginilor, precum si elementele ce apar in paginile ce utilizeaza acest layout.

                                                        Elements . Elementele reprezinta secvente de cod reutilizabile a caror prezenta este necesara intr-un numar mai mare de pagini , cateodata in diferite sectiuni ale fisierelor layout. Acestea pot fi reclame, controale de navigare, meniuri , motoare de cautare , in concluzie mini-view-uri incapsulate in layout sau in diferite alte viziuni.

1.                                                      Components. Componentele au rolul de a ajuta controller-ul in diferite situatii, intr-un mod asemanator librariilor existente in cadrul framework-ului. Acestea inglobeaza colectii de functii atasate controllere-lor si isi justifica existenta prin intermediul conceptului de reutilizare a codului.

                                                        Helpers. Intr-un mod asemanator componentelor , fisierele de tip Helper au rolul de a oferi functii necesare componentelor de tip View pentru prezentarea datelor in anumite moduri. Se poate astfel afirma ca un helper gestioneaza logica prezentarii informatiilor in acelasi mod in care un component o gestioneaza pe cea a aplicatiei.

In urma identificarii tuturor componentelor framework-ului CakePHP se poate realiza o descriere a modului in care acestea conlucreaza in vederea gestionarii unei cereri.

Figura de mai jos prezinta modul in care este gestionata o cerere in modelul arhitectural MVC implementat de framework-ul CakePHP.

Figura 2 : Gestiunea cererilor in cadrul modelului MVC

Pentru exemplificare presupunem ca un utilizator acceseaza un link de forma www.webpage.com/users/login. In urma acestei actiuni :

1.      Browserul lanseaza o cerere catre serverul web.

2.      Routerul parseaza adresa URL cu scopul de a extrage parametrii necesari acestei cereri : controller-ul, actiunea si orice alt argument ar putea afecta logica aplicatiei in decursul acestei cereri.




3.      In urma rutarii, cererea este mapata actiunii unui controller (unei metode din cadrul unui controller) , respectiv metodei login() din cadrul controller-ului UsersController. Metoda de callback beforeFilter() este executata inainte ca orice alta functie din controller sa fie apelata.

4.      Controller-ul poate folosi modelele pentru a accesa datele utilizate de aplicatie. In acest exemplu, controller-ul utilizeaza un model pentru a cauta in baza de date un ulizator cu username-ul si parola introduse in formularul de autentificare in cadrul procesului de logare.

5.      In urma obtinerii datelor de catre model , acestea sunt returnate controller-ului. Pot aparea executii de metode callback pentru model.

6.      Controller-ul poate utiliza componente pentru a efectua alte operatii (manipularea sesiunilor, autentificare, transmitere de mesaje).

7.      Odata finalizata prelucrarea datelor prin intermediul componentelor si modelelor, controller-ul transmite rezultatele componentei view prin intermediul metodei set(). Apeluri de metode callback pot fi efectuate inainte ca datele sa fie transmise. In continuare se stabileste logica prezentarii, cu eventuala utilizare a componentelor de tip helper sau a elementelor reutilizabile. In mod implicit, componenta view este localizata in interiorul unui layout.

8.      In urma prelucrarilor, in browser-ul utilizatorului apar informatiile cerute, respectiv confirmarea autentificarii sau afisarea unui mesaj de eroare cu indicatii privind unde anume a gresit utilizatorul.

9. Identificare Actori, Diagrame

Partial, actorii care participa la realizarea si gestionarea resurselor unui portal educational sunt si beneficiarii acestuia. Desigur, ne referim la studenti si profesori, acestia din urma fiind cei care isi updateaza informatiile referitoare la cursuri, teme si proiecte. Pe langa acestia mai intervine si administratorul care ofera drepturi de acces si indeplineste diferite functii. Mai jos am identificat si reprezentat mai multe diagrame: diagrama de clase, diagrame ale cazurilor de utilizare (atat generala cat si pentru cazuri frunza), diagrame de secventa.

Figura 3: Diagrama de clase

Diagrama generala a cazurilor de utilizare pune in evidenta actorii si principalele cazuri de utilizare.

Asadar, cei 3 actori sunt:

Cazurile de utilizare identificate sunt:

-         Gestiune profil personal

-         Gestiune mesaje

-         Gestiune cursuri

-         Gestiune utilizatori

Pentru fiecare caz de utilizare principal am identificat mai multe subcazuri de utilizare, unele fiind comune pentru cursant si cadru didactic, altele nu.

Cazurile de utilizare "autentificare", "gestiune mesaje" si "gestiune profil" sunt valabile atat pentru cursant cat si pentru cadru didactic, avand aceleasi functionalitati, doar cazul de utilizare gestiune curs este diferit.

Figura 5: Diagrama subcazului "gestiune utilizatori"

Administratorul site-ului este cel care creeaza conturile, cursantul si profesorul se inregistreaza , apoi se autentifica si in final pot vizualiza informatiile dorite.

Figura 6: Diagrama subcazului "gestiune profil"

Cazul de utilizare "Gestiune profil"cuprinde 2 subcazuri:

-         vizualizare profil

-         editare profil

Figura 7: Diagrama subcazului "gestiune mesaje"

Cazul de utilizare "gestiune mesaje" cuprinde si el tot 2 subcazuri:

-         vizualizare mesaje

-         stergere mesaje

Figura 8: Diagrama subcazului "gestiune cursuri"-modul cursant

In ceea ce priveste cazul de utilizare "gestiune cursuri", acesta este diferit pentru cursant si cadru didactic. Din punct de vedere al modulului cursant, acesta presupune urmatoarele:

-         inscriere la cursuri

-         acces suport cursuri

-         vizualizare utilizatori

-         transmitere de mesaje catre profesori

-         upload de teme

-         acces la teme

Figura 9: Diagrama subcazului "gestiune cursuri"-modul profesor

Pentru cadrul didactic, subcazurile de utilizare ale cazului "gestiune cursuri"sunt urmatoarele :

-         definire categorii de resurse

-         incarcare resurse

-         introducerea de teme

-         vizualizare temelor primite

-         acordare note

-         assignare studenti la grupuri

-         gestiune grupuri

-         deschidere / stergere topicuri

-         deschidere/ stergere forumuri

Figura 10: Diagrama de secventa pentru autentificare cursant

Figura 11 : Diagrama de secventa pentru gestiune cursuri (profil cursant)

10. Baza de date

Cea mai utilizata tehnica de analiza statica si comunicare a structurii bazelor de date, caracterizata de intuitivitatea reprezentarii modelului si simplitatea elementelor sale este cunoscuta sub numele de tehnica entitate-asociere.

Etapele elaborarii modelului E/R

1)      Identificarea entitatilor - presupune trecerea in revista a tuturor entitatilor ce au



semnificatie pentru aplicatia ce urmeaza a fi proiectata si prezinta interes din punctul de vedere al functionalitatilor implementate de aceasta.

In urma analizei preliminare a cerintelor se pot indentifica urmatoarele tipuri de entitati: Administrator, Cursant, Cadru didactic, Utilizator, Curs, Forum, Topic, Post, Categorii resurse, Resurse cursuri, Mesaje.

2)        Identificarea atributelor ce caracterizeaza fiecare entitate in parte

Atributele modeleaza proprietati distincte ale entitatilor. Acestea pot fi clasificate in

doua feluri :

a)                  atribute de identificare (permit distinctia intre instantele aceleiasi entitati si o

identifica in mod unic).

Prin conventie si in conformitate cu standardele de proiectare a bazei de date utilizate

de CakePHP atributele de identificare ale tututor entitatilor au fost denumite Id .

b)                  atribute de descriere, folosite pentru memorarea caracteristicilor

suplimentare ale instantelor.

In procesul de modelare au fost luate in considerare doar acele proprietati ale

entitatilor care sunt semnificative pentru aplicatie. Astfel au fost eliminate atribute precum numarul matricol sau adresa studentilor intrucat site-ul functioneaza avand ca scop principal accesul la resurse si facilitarea comunicarii dintre utilizatori, coordonatele exacte ale acestora in cadrul real al procesului de invatamant neaducand noi functionalitati aplicatiei.

                                            Administratori (Id, username, email, parola, status)

                                            Cursant (Id, nume complet)

                                            Cadru didactic (Id, nume complet)

                                            Utilizatori (Id, username, email, parola,link_imagine, status)

                                            Cursuri (Id, denumire, descriere, status)

                                            Forum (Id , titlu, descriere, status)

                                            Topic (Id , titlu, data crearii, status)

                                            Post (Id , titlu, continut , data crearii, status)

                                            Categorii resurse (Id, denumire, status)

                                            Resurse (Id, denumire , descriere, data, cale_fisier)

                                            Mesaje (Id , titlu, continut , destinatar , data_trimiterii, status)

3)        Identificare ierarhiilor de generalizare si incluziune

Modelul entitate asociere extins prezinta doua concepte noi utile in modelarea caracteristicilor asociate unor subclase de obiecte : ierarhia de generalizare si ierarhia de incluziune. Ambele descriu modalitati de partitionare a instantelor unei entitati in n subclase , diferenta constand in relatia existenta la nivelul acestora.

Astfel, caracteristica ierarhiei de incluziune specifica faptul ca entitatile fiu pot sa

nu fie disjuncte doua cate doua pe cand cea a ierarhiei de generalizare precizeaza ca reuniunea entitatilor fiu reprezinta multimea instantelor entitatii parinte iar entitatile fiu sunt disjuncte doua cate doua.

Analizand entitatile enumerate la punctul 1) se identifica o ierarhie de generalizare la nivelul entitatilor Utilizator , Cadru didactic, Cursant. Astfel clasa Utilizator are drept subclase disjuncte entitatile Cadru didactic si Cursant a caror reuniune se identifica cu multimea instantelor clasei parinte.


Figura 12 : Ierarhie de generalizare

Observatie:

Informatiile specifice identificate la nivelul entitatilor fiu sunt aceleasi din considerente legate de functionalitatea aplicatiei . In urma analizei scopului dezvoltarii aplicatiei , respectiv accesul organizat si rapid la cursuri si la informatiile postate in cadrul acestora s-au luat in considerare doar acele atribute ce prezinta interes la nivelul sistemului de acces online la resurse.

Existenta reala a actorilor implicati in procesul de invatamant , nu face obiectul

analizei, intrucat continutul informational pus la dispozitie de aplicatie poate fi vizualizat doar in urma accesarii unui cont generat de administrator la introducerea unui cadru didactic sau a unui cursant in sistem.

In consecinta , pentru a se evita relatia de incluziune si redundanta atributelor de identificare la nivelul entitatilor utilizatori - cursanti , utilizatori - profesori s-a pastrat o unica entitate utilizatori ce retine in plus atributele comune celor doua tipuri de entitati fiu.

4)      Identificarea asocierilor dintre entitati - se realizeaza pe baza legaturilor naturale existente intre obiectele descrise cu ajutorul entitatilor identificate .

Acestea sunt reprezentate in cadrul diagramei EA prin intermediul unor arce neorientate ce fac legatura intre nodurile participante la asociere si sunt caracterizate prin semnificatia si tipul legaturii.

Semnificatia este reprezentata prin intermediul unui nume dat asocierii , plasat pe arc sub forma unui nod intermediar iar tipul legaturii se exprima prin intermediul cardinalitatii, respectiv numarul maxim de instante de entitate ce pot fi asociate cu o realizare a entitatii partenere in cadrul respectivei legaturi.

Asocierile pot fi totale (cand toate realizarile entitatilor aflate in asociere apar in realizarile asocierilor) sau partiale (cand unele din realizarile entitatilor nu sunt legate prin asociere). Acestea din urma sunt reprezentate prin linie punctata. [3]

Stabilirea schemei conceptuale initiale a sistemului se face pornind de la modelul

entitate- asociere , entitatile descrise de acesta fiind utilizate in procesul de obtinere a

schemelor de relatie.

Figura 14 : Schema conceptuala a bazei de date

[1] Larry Ulman. PHP si MySQL pentru site-uri Web dinamice , Editura Teora, 2005, p.XII-XV

[2] http://en.wikipedia.org/wiki/AJAX

[3] Ion Lungu, Gheorghe Sabau, Manole Velicanu . Sisteme informatice.Analiza,proiectare si implementare. Editura Economica , 2003, p.205 - 208







Politica de confidentialitate


Copyright © 2019 - Toate drepturile rezervate

Didactica


Gradinita
Poezii cantece


PROIECT DE LECTIE Clasa: a VI a sport - Indemanare : -coordonarea actiunilor corpului in spatiu si timp
PROIECT DIDACTIC Limba si literatura romana CLASA: a VII a - Conversatia ca joc
TEHNICI DE LUCRU UTILIZATE IN PREGATIREA ELEVILOR PENTRU PERFORMANTA
DIMENSIUNILE MANAGEMENTULUI CLASEI DE ELEVI
PROIECT DE ACTIVITATE EXTRACURICULARA CLASA a-IV-a ROMANA - MEDALION LITERAR ,,MIHAI EMINESCU,,
PROIECT DE LECTIE CLASA: a XI-a Economie Somajul
PROIECT DE LECTIE (INTELIGENTELE MULTIPLE) Clasa: a VI-a - Bugetul familiei. Proiectarea bugetului familiei.
OLIMPIADA DE GEOGRAFIE -CLS. a VIII a FAZA PE SCOALA
MODALITATI DE ADAPTARE A CURRICULUM-ULUI DE RITMUL REAL AL EVOLUTIEI COPIILOR - PERSPECTIVA NOILOR POGRAME SCOLARE-
RECOMANDARI METODOLOGICE CU PRIVIRE LA APLICAREA PROGRAMELOR SCOLARE PENTRU MATEMATICA, IN ANUL SCOLAR 2009 - 2010