Progetto per maturità ?

di il
80 risposte

80 Risposte - Pagina 2

  • Re: Progetto per maturità ?

    Nel db solitamente si salvano i risultati nella maniera più "flessibile" possibile, ovvero in modo da permettere la maggior varietà di successive rielaborazioni (calcoli, stampe in vari formati ecc.).

    Quindi, se non si vogliono calcolare statistiche che richiedano di mantenere l'associazione studente->risposte, il modo più flessibile è memorizzare per ogni domanda aperta l'elenco delle risposte, e per ogni opzione di ogni domanda a scelta multipla il numero di volte che è stata scelta quell'opzione.

    Quindi l'entità RISPOSTA memorizza le risposte alle domande aperte, mentre l'entità OPZIONE, oltre a contenere le opzioni disponibili per ogni domanda a scelta multipla, memorizza le volte che ciascuna opzione è stata scelta. Ovvero avrai delle tabelle del tipo:

    DOMANDA(IDDomanda, Tipo, Testo);
    RISPOSTA(IDRisposta, IDDomanda, Testo_inserito_dall'utente);
    OPZIONE(IDOpzione, IDDomanda, Testo, contatore_risposte);
  • Re: Progetto per maturità ?

    Ho capito, quindi praticamente, facendo degli esempi:
    Domanda: Come ti sei trovato quest'anno a scuola?
    Risposta aperta: benissimo ecc
    Se invece imposta la risposta multipla diventa per esempio:
    A: Bene, B: benissimo, C: male
    le risposte A,B e C come vanno a finire nella tabella?
    Un'altra domanda, il database lo creo con mysql giusto? Perchè noi a scuola utilizziamo easyphp
  • Re: Progetto per maturità ?

    Le inserisco io programmatore le opzioni per le domande a risposta multipla a priori nella tabella? E poi vado ad aggiornare il contatore alle domande? Dovrebbe funzionare così no?
  • Re: Progetto per maturità ?

    No, le opzioni verranno inserite dal prof mediante l'interfaccia di creazione del questionario. Ovvero l'interfaccia dapprima gli chiederà se vuole creare una domanda aperta o a scelta multipla, dopodiché, se è a scelta multipla, gli chiederà di inserire le varie opzioni disponibili, che andranno a finire nella tabella OPZIONE.

    Quindi, al termine della creazione della domanda del tuo esempio, il database conterra una tupla nella tabella DOMANDA del tipo (1, 'radio', 'come ti sei trovato a scuola?'), dove radio indica che si tratta di una domanda dove bisogna spuntare un radio button per rispondere; la tabella opzioni invece conterrà (1, 1, 'Bene', 0), (2, 1, 'Benissimo', 0), (3, 1, 'Male', 0). Supponiamo che uno studente selezioni 'Bene', allora la tupla (1, 1, 'Bene', 0) diventa (1, 1, 'Bene', 1), perché devi incrementare il contatore.
  • Re: Progetto per maturità ?

    dvaosta ha scritto:


    No, le opzioni verranno inserite dal prof mediante l'interfaccia di creazione del questionario. Ovvero l'interfaccia dapprima gli chiederà se vuole creare una domanda aperta o a scelta multipla, dopodiché, se è a scelta multipla, gli chiederà di inserire le varie opzioni disponibili, che andranno a finire nella tabella OPZIONE.

    Quindi, al termine della creazione della domanda del tuo esempio, il database conterra una tupla nella tabella DOMANDA del tipo (1, 'radio', 'come ti sei trovato a scuola?'), dove radio indica che si tratta di una domanda dove bisogna spuntare un radio button per rispondere; la tabella opzioni invece conterrà (1, 1, 'Bene', 0), (2, 1, 'Benissimo', 0), (3, 1, 'Male', 0). Supponiamo che uno studente selezioni 'Bene', allora la tupla (1, 1, 'Bene', 0) diventa (1, 1, 'Bene', 1), perché devi incrementare il contatore.
    Ho capito ho capito.. però ovviamente primadi andare a salvarlo nel database, devo verificare se l opzione che inserisce il prof sia già presente o meno, perché altrimenti si creerebbe una sfilza di "Bene" nella tabella OPZIONE... bhe per quanto riguarda il database, penso che potrei già iniziare a creare qualcosa in mysql, poi magati posto qui o via mp le tabelle. Penso che il vero problema sia a creare tutto questo in php ahah io lo mastico bene, mi piace anche perché assomiglia al c, però lo uso in maniera procedurale, non ad oggetti.. ad oggetti sono più specializzato con java.
    Il questionario deve essere salvato nella tabella QUESTIONARIO giusto ? Con il tipo di file del tipo excel o pdf?
  • Re: Progetto per maturità ?

    Può benissimo crearsi una sfilza di 'Bene' nel db, purché ogni 'Bene' si riferisca ad una domanda diversa.

    Quanto alla tabella questionario, volendo sì, puoi aggiungere un campo dove memorizzi l'excel o il pdf dei risultati. Oppure puoi limitarti a creare un file volatile che viene semplicemente scaricato dal professore, ma non viene salvato nel db; in tal caso, la tabella questionario sarebbe semplicemente:

    QUESTIONARIO(IDQuestionario, IDProfessore, Titolo);

    P.S.: nella tabella DOMANDA mi ero dimenticato di inserire la chiave esterna relativa al questionario. Quindi, in realtà sarebbe:
    DOMANDA(IDDomanda, IDQuestionario, Tipo, Testo);
  • Re: Progetto per maturità ?

    Ho capito.. bhè ma come può il professore salvare il file volatile che contiene il questionario? Dovrebbero essere prima salvati nel db, così il professore può scaricare quello che vuole e quando vuole e anche più di una volta, no?
    Comunque adesso faccio uno schema relazionale di tutto il diagramma-er che mi hai mandato, prima di passare alla creazione delle tabelle su mysql, lo metto qui lo schema così se sbaglio mi correggi.
    http://postimg.org/image/5cc8r9sel
    penso di aver saltato qualche entità, tipo UTENTE,APERTA, SCELTAMULTIPLA.
    Ho creato poi la tabella COMPILA perchè l'associcazione STUDENTE - QUESTIONARIO è cardinalità n:n
    Correggimi se sbaglio!
  • Re: Progetto per maturità ?

    Certo, se vuoi che il professore possa scaricare più volte il file devi metterlo nel db.

    Quanto allo schema logico, in generale mi sembra ok, a parte un paio di dettagli:
    1. Le tabelle studente e professore sono molto simili, per cui possono essere raggruppare in un unica tabella UTENTE aggiungendo un flag che indica se si tratta di un prof o uno studente, e mettendo come opzionale la classe. Ciò semplifica anche la creazioni di un unica procedura di login per prof. e studenti, perché devi andare a ricercare username e password in un unica tabella anziché in due, dopodiché ti basta controllare il flag per capire il tipo di utente;
    2. Nella tabella COMPILA, i campi IDQuestionario e IDStudente, oltre ad essere chiavi esterne, compongono anche la chiave primaria della tabella;
  • Re: Progetto per maturità ?

    Okay quindi le tabelle PROFESSORE e STUDENTE si uniscono e diventano così:
    UTENTE(IDUtente,Nome,Cognome,Classe,Tipo,email,username,passoword)
    dove:
    -tipo: Professore/Studente
    -Classe: campo facoltativo, se è uno studente è obbligatorio.
    Nelle altre tabelle dove era presente l'IDPROFESSORE e l'IDSTUDENTE, devo togliere e modificare con IDUTENTE?
  • Re: Progetto per maturità ?

    Sì.
  • Re: Progetto per maturità ?

    Okay ho capito, mentre per il questionario, dopo che il prof realizza il questionario, lo salva nella tabella questionario, lo studente poi dovrebbe rispindere al auestionario sempre via web... e dopo che risponde, dove lo manda ? I questionari compilati dovrebbero essere salvati un una tabella ? Penso di si...
  • Re: Progetto per maturità ?

    Come già detto, per le domande a risposta aperta memorizzi ogni singola risposta, mentre per i quiz memorizzi il numero totale di volte che ciascuna opzione viene scelta. Quindi non hai nessuna associazione studente->questionario compilato, quindi c'è bisogno di salvare, per ogni studente, il questionario (in pdf, excel, xml o altro) compilato.

    Questa cosa si potrebbe fare seguendo il secondo approccio cui ti avevo accennato qualche giorno fa, ma prevede un ulteriore tabella, e in ogni caso è più complesso.

    P.S.: il file che viene salvato nella tabella questionario non è l'elenco delle domande, bensì il report che il professore chiede di generare dopo la chiusura del questionario stesso, e che hai detto di voler salvare in modo che sia scaricabile più volte. L'elenco delle domande è costituito dai record della tabella DOMANDA che hanno come chiave esterna l'id di quel questionario.
  • Re: Progetto per maturità ?

    Aspetta un attimo, questa cosa non l'ho capita.. allora, le domande del questionario vengono salvate nella tabella DOMANDE, la risposta invece viene salvata nella tabella RISPOSTA ( nel caso la domanda fosse a risposta aperta ) o nella tabella OPZIONE( nel caso la domanda fosse a risposta chiusa ), ovviamente entrambe le risposte avranno l'IDDOMANDA, e fino a qui ci siamo.
    Quindi, il questionario creato dal prof viene salvato nella tabella QUESTIONARIO, mentre le risposte degli studenti nella tabella RISPOSTE/OPZIONE..
    Domanda:
    -C'è qualche codice poi per creare il file excel/pdf?
    -Come abbiamo detto prima, il prof può salvarsi i questionari compilati(non vuoti), quindi dove lo salvo il file che contiene il questionario compilato ?
    -Per "report" cosa intendi? Tipo una indagine statistica?
  • Re: Progetto per maturità ?

    Il file che contiene il questionario compilato viene salvato nel campo file della tabella QUESTIONARIO.

    Ripercorriamo le varie tappe:
    1) Il professore (con matricola 123 inizia la creazione di un questionario, decidendone il titolo;
    2) Nella tabella QUESTIONARIO viene creato un record (1, 123, 'Prova titolo', NULL);
    3) Il professore inizia a creare la prima domanda, scrivendone il testo e specificandone il tipo (supponiamo scelta multipla);
    4) Nella tabella DOMANDA viene creato il record (1, 1, 'scelta multipla', 'Testo domanda');
    5) Se è stato scelto il tipo 'scelta multipla', il professore inserisce le possibili opzioni di risposta;
    6) Nella tabella OPZIONE viene creato un record per ogni opzione, tipo: (1, 1, 'Prima opzione', 0), (2, 1, 'Seconda opzione', 0), ecc.;
    7) Si ripete la procedura per tutte le domande da creare;
    8 ) Il professore specifica quali studenti possono rispondere al questionario;
    9) Nella tabella COMPILA vengono create le associazioni studente-questionario-codice;

    10) Lo studente 798 decide di compilare il questionario;
    11) Lo studente seleziona 'Prima opzione' nella prima domanda;
    12) il contatore del record corrispondente a 'Prima opzione' viene incrementato;
    13) Lo studente continua rispondendo alle altre domande. Nel caso di domande a risposta aperta viene creato ogni volta un record in RISPOSTA;
    14) Lo studente conclude il questionario e il suo codice viene invalidato (o cancellandolo o settando un flag);

    15) Il professore chiude il questionario;
    16) Viene creato un report contenente in una qualche forma tabulare o grafica i contatori relativi alle varie opzioni e le risposte aperte;
    17) Tale report viene memorizzato nel campo file del record di QUESTIONARIO relativo al questionario chiuso;
  • Re: Progetto per maturità ?

    Ho capito ho capito.. sembra molto chiaro.. grazie tantissime per il supporto.. Queste cose per me sono nuove, i db a scuola li stiamo facendo da gennaio.. non so ancora nulla in realtà, stiamo facendo le prime query con SELECT - WHERE - FROM - ORDER BY e non sembrano tanto difficili.. ma vabbe per qualche istruzione si può cercare liberamente su internet. Mentre per il php, di solito io utilizzo Notepad++.. tu mi consigli di usare quello? O di usare un ide? Ho visto su internet che posso usare Eclipse con il plugin per php ( Eclipse già lo uso per java), mi consigli di usare quello? C'è magari qualche ide con la gui? Così magari posso programmare direttamente in php/html.. e con la grafica del sito.. anche se è un sito gestionale alla fine.. vorrei dargli un pizzico di grafica per renderlo più carino e accessibile(metti il caso che il sito lo usa la professoressa di italiano che di informatica non sa nulla? ), ed io con i css sono proprio negato ahah
Devi accedere o registrarti per scrivere nel forum
80 risposte