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

Calculatoare


Index » educatie » » informatica » Calculatoare
» Centru de testare offline - Prezentarea specificatiilor si scopului


Centru de testare offline - Prezentarea specificatiilor si scopului




UNIVERSITATEA DE VEST TIMISOARA

FACULTATEA DE MATEMATICA SI INFORMATICA

Centru de testare offline

Prezentarea specificatiilor si scopului

1. Introducere




1.1. Scopul documentului

Este de a prezenta echipei de programatori specificatiile aplicatiei ce

trebuie dezvoltata.

1.2. Privire de ansamblu

Scopul aplicatiei este de a oferi utilizatorilor o modalitate eficienta de realizare a unor testari offline

2. Descriere generala

2.1. Functiile programului

Prin intermediul unui client “elev” programul testeaza utilizatorul in maniera offline, dintr-un domeniu ales de utilizator

Prin intermediul clientului “profesor” se gestioneaza intrebarile din baza de date. De asemenea tot prin intermediul acestui client are loc corectarea ultimelor doua subiecte din fiecare test (restul le corecteaza serverul automat).

2.2. Informatii despre sistemele similare

Aplicatia foloseste o baza de date mysql 5.0 pentru a depozita intrebarile si testele. Aplicatia nu este o componenta a nici unui alt produs.

2.3. Publicul tinta

Aplicatia se adreseaza oricarui utilizator deoarece toti clientii au interfete grafice, iar serverul este controlat dintr-o alta aplicatie care are interfata grafica.

2.4. Probleme ale utilizatorilor

Nici una

2.5. Obiectivele din punctul de vedere al utilizatorului

Aplicatia trebuie sa ofere o interfata usor de utilizat, permitand testarea in maniera offline, corectarea rezolvarii (unde este cazul) si gestiunea intrebarilor din baza de date

2.6. Constrangeri generale

Limita de timp pentru realizarea aplicatiei

3 Cerinte de functionare

3.1. Sa permita testarea candidatilor, corectarea testelor, obtinerea notei finale, precum si gestionarea intrebarilor din baza de date

3.1.1. Descriere

Aplicatia server va gestiona toate tranzactiile cu baza de date. Toti clientii vor apela la server pentru a accesa orice informatie din baza de date.

Aplicatia server va oferi urmatoarele servicii:

- adaugare a unei intrebari in baza de date

- modificarea statusului unei intrebari din baza de date (adica o intrebare poate fi “dezactivata” in sensul ca nu va mai intra in componenta a nici unui test construit ulterior, sau, din contra sa fie “activata”, pentru ca sa poata fi folosita in componenta testelor construite ulterior)

- construirea si oferirea unui test dintr-un domeniu ales de utilizator. Orice test va avea urmatoarea componenta

2 intrebari usoare de tip grila

2 intrebari de grad mediu de dificultate de tip grila

2 intrebari mai grele de tip grila

o intrebare usoara cu raspuns (raspunsul va fi un numar real)

o intrebare cu grad mediu de dificultate cu raspuns (raspunsul va fi un program)

o intrebare mai dificila cu raspuns (raspunsul va fi de asemenea un program)

Domeniul poate fi C sau Java.

Intrebarile se vor alege aleator din baza de date.

- preluarea rezolvarii testului de la utilizator, stocarea raspunsurilor in baza de date, si returnarea utilizatorului a variantelor corecte, variantelor spuse de acesta si a punctajului obtinut pe primele 7 subiecte, iar daca utilizatorul nu a rezolvat subiectele 8 si 9 i se va da direct nota finala.

- oferirea spre corectare a rezolvarii subiectelor 8 si 9 de la teste (unde este cazul)

- preluarea punctajelor obtinute la subiectele 8 si 9 (unde este cazul) si stocarea acestora in baza de date, precum si calcularea notei finale

- oferirea rezultatelor finale utilizatorului, in momentul in care au fost corectate si subiectele 8 si 9 (iarasi, acolo unde este cazul)

3.1.2. Importanta

Vitala

3.1.3. Probleme de ordin tehnic

Nici una

3.2. Sa functioneze dupa principiul client – server

3.2.1 Descriere

Aplicatia va fi structurata in server si clienti. Clientii sunt de doua categorii: client “profesor” si clienti “elev”, fiecare cu atributii diferite.

Serverul ruleaza sub Unix, dar este lansat in executie si controlat de un alt program, numit program de administrare (care evident ruleaza tot sub Unix, local).

Clientul “profesor” ruleaza tot sub Unix. Acesta poate introduce intrebari in baza de date, sa modifice statusul celor existente, sa ceara rezolvari de teste pentru corectat si sa trimita punctajul obtinut.

Clientul “elev” are trei versiuni:

- un client Unix local

- un client Unix remote

- un client Windows (remote)

Acesta poate cere un test, poate trimite rezolvarea testului primit si poate interoga serverul daca i s-a corectat testul (ultimele doua subiecte – daca este cazul). In plus, deoarece este testare offline, trebuie sa implementeze un mod in care sa salveze pe disc testul primit, sa-l incarce in memoria principala in momentul in care utilizatorul sau doreste sa rezolve testul, sa implementeze un mecanism prin care sa nu permita utilizatorului sa poata rezolva testul peste o anumita limita de timp, iar dupa aceea (sau cand utilizatorul termina de rezolvat testul) sa salveze pe disc rezolvarea testului si sa distruga enuntul testului. La cererea utilizatorului va trimite serverului rezolvarea testului (dupa care o va sterge de pe disc).

In linii mari, o prezentare a aplicatiei ar fi urmatoarea:



3.2.2. Importanta

Vitala

3.2.3. Probleme de ordin tehnic

Nici una

4. Cerinte pentru interfete

4.1. Interfata cu utilizatorul

4.1.1. GUI

4.1.1.a. Administratorul de server

Aplicatia administrator de server va avea o interfata grafica care sa permita urmatoarele:

- citirea user-ului si a parolei acestuia pentru baza de date

- pornirea serverului

- oprirea serverului in doua moduri:

* asteptand ca fiecare client sa-si termine conexiunea cu serverul

* imediata

- punerea serverului in pauza

- scoaterea serverului din pauza

4.1.1.b. Clientul “profesor”

Aplicatia client “profesor” va avea o intefata grafica care sa-i permita utilizatorului urmatoarele:

- facilitati privind adaugarea unei intrebari in baza de date, intreband utilizatorul intr-o maniera interactiva toate datele necesare, precum si afisarea rezultatului primit de la server

- facilitati privind schimbarea statusului unei intrebari in baza de date, precum si afisarea rezultatului primit de la server.

- facilitati privind cererea unei rezolvari a unui test din baza de date, afisarea acesteia, preluarea punctajului, trimiterea acestuia spre server si afisarea rezultatului

4.1.1.c. Clientul “elev”

- facilitati privind cererea unui test, intreband utilizatorul intr-o maniera interactiva toate datele necesare, precum si afisarea rezultatului (daca testul a fost primit sau nu)

- facilitati privind rezolvarea testului, intr-o limita maxima de timp admisa

- facilitati privind trimiterea rezolvarii testului, precum si afisarea raspunsului primit de la server (la primele 7 intrebari: varianta corecta, varianta scrisa de utilizator, punctajul obtinut pe fiecare subiect in parte si punctajul total, care poate sa fie final daca utilizatorul nu a rezlvat nici unul din subiectele 8 si 9, sau partial daca utilizatorul a rezolvat cel putin unul din subiectele 8 sau 9.

- facilitati privind interogarea serverului cu privire la nota finala (daca este cazul)

4.1.2. CLI

Aceasta aplicatie nu foloseste comenzi din linia de comanda.

4.1.3. Diagnostic

In timpul rularii va fi oferit feedback pentru fiecare pas al operatiunii executate, pentru o identificare facila a eventualelor erori. De asemenea, serverul va tine un fisier log in care va scrie toate operatiile efectuate.

4.2. Interfata hardware

Nici una

4.3. Interfata de comunicatie

Aplicatiile server si client de la distanta vor comunica intre ele prin intermediul socket-urilor, iar aplicatiile server si client local vor comunica prin intermediul pipe-urilor.

5. Cerinte de performanta

Nici una

6. Constrangeri de design

Sarcina principala a serverului este sa astepte o conexiune. Cererile clientilor vor fi tratate de alte procese.

7. Atribute nefunctionale

7.1. Securitate

Un client “elev” nu va putea trimite o rezolvare pentru un test care nu i-a fost atribuit lui. De asemenea nu va putea cere nota finala decat pentru testul lui.

Clientul “profesor” nu va putea da punctaje decat pentru testul care i-a fost oferit spre corectare.

7.2. Disponibilitate

Nu exista cerinte specifice de disponibilitate

7.3. Intretinere

Tot codul trebuie sa fie bine documentat, inclusiv data ultimei schimbari. Codul va fi conceput modular pentru a permite modificari ulterioare. Fiecare functie va fi comentata.

7.4. Portabilitate

Nu exista nici un program al aplicatiei care sa fie portabil atat pe Unix cat si pe Windows.

7.5. Cerinte legale

Codul sursa este free software.

8. Appendix

8.1. Abrevieri, acronime, definitii

CLI - Command Line Interface

GUI - Graphical User Interface

8.2. Referinte

- Beej’s Guide to Network Programing

- Mark Mitchell, Jeffrey Oldham, Alex Samuel: Advanced Linux Programming

- Kurt Wall, Mark Watson, Mark Whitis: Linux Programming Unleashed

- paginile man din Unix

- documentatia oficiala MySql

- www.google.ro ;)






Politica de confidentialitate


Copyright © 2020 - Toate drepturile rezervate