Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

57
Università Degli Studi Di Trieste Facoltà Di Ingegneria Corso Di Laurea Triennale In Ingegneria Elettronica Curriculum Gestionale Sviluppo di Un Prototipo di Interfaccia per La Verbalizzazione di Esami Universitari 1

Transcript of Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Page 1: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Università Degli Studi Di Trieste

Facoltà Di Ingegneria

Corso Di Laurea Triennale In Ingegneria Elettronica

Curriculum Gestionale

Sviluppo di Un Prototipo di Interfaccia per La Verbalizzazione

di Esami Universitari

Relatore: Prof. Maurizio Fermeglia

Laureando: Bledar Qosja

Anno Accademico 2010-2011

1

Page 2: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

SOMMARIO

Capitolo 1 INTRODUZIONE 4

1.1 PREFAZIONE 4

Capitolo 2 ANALISI 6

2.1 STUDIO DELLE TECNOLOGIE 4

2.1.1 .Net Framework 4.0 6

C# 7

2.1.2 Visual Studio 2010 8

L’accesso ai dati ADO.NET 9

2.1.3 SQL: Structured Query Language 10

Microsoft SQL Server 10

2.2 RACCOLTA DEI REQUISITI 11

Capitolo 3 REALIZZAZIONE DEL PROTOTIPO 12

3.1 PROGETTAZIONE LOGICA 12

Struttura del prototipo 12 Namespaces 13 Architettura del database 16 Temi, stili e skin 18

2

Page 3: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

3.2 PROGETTAZIONE FISICA 20

Realizzazione del database 20 Interfaccia e funzionalità 26

-Convalida dell’input: I validator control 27-Connessione a una sorgente dati 28

Mostrare dati in griglia: Gridview 30 Verbalizzazione 37

Capitolo 4 CONCLUSIONI 40

Appendice A ABBREVAZIONI USATE 41

Appendice B ELENCO DELLE IMMAGINI 41

Appendice C BIBLIOGRAFIA 42

3

Page 4: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

CAPITOLO 1

INTRODUZIONE

____________________________________________

1.1 Prefazione

Lo scopo della tesi è creare un prototipo di interfaccia web per la verbalizzazione degli esami Universitari, aiutando in questo modo il docente a verbalizzare l’esame di un apposito studente senza avere il bisogno di creare un appello online.

Il docente può accedere utilizzando le proprie credenziali fornite dall’Università per verbalizzare l’esame di un apposito studente. Per far ciò, il prototipo deve essere in grado di:

Visualizzare solo gli insegnamenti appartenenti al docente che ha effettuato l’accesso.

Selezionare uno degli insegnamenti appartenenti al docente e visualizzare gli studenti che hanno verbalizzato l’esame del insegnamento selezionato.

Avere una casella di testo dove è possibile cercare il piano di studi dello studente inserendo il suo numero di matricola.

4

Page 5: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Visualizzare il piano di studi appartenente allo studente con tutti gli insegnamenti della sua carriera Universitaria .

Avere la possibilità di verbalizzare l’esito solo per gli insegnamenti appartenenti al docente che non sono stati verbalizzati in passato.

Per conseguire tale obiettivo è necessario passare attraverso diverse fasi di lavoro:

studio delle tecnologie raccolta dei requisiti progettazione realizzazione del prototipo

Tali punti vengono sviluppati nei capitoli seguenti inerenti l’analisi e la realizzazione.

5

Page 6: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

CAPITOLO 2

STUDIO DELLE TECNOLOGIE

____________________________________________

2.1.1 .NET Framework 4.0

Il framework è una struttura di supporto su cui un software può essere organizzato e progettato. Alla base di un framework c’è sempre una serie di librerie di codice utilizzabili con uno o più linguaggi di programmazione.

.NET creata dalla Microsoft è una versatile piattaforma di sviluppo software basata sulla tecnologia di programmazione ad oggetti.

Realizzata come contrapposizione proprietaria al linguaggio Java, ha un ruolo strategico per la Microsoft come piattaforma di sviluppo per applicazioni desktop e server per le architetture client/server ,internet ed intranet.

La prima Versione di .NET Framework è stata rilasciata nel 2002. La sua caratteristica è di essere indipendente dalla versione operativa di Windows su cui è installata, e di includere molte funzionalità progettate espressamente in modo da integrarsi in un ambiente internet , e garantire il massimo grado di sicurezza ed integrità dei dati.

L’innovazione migliore è stata quella riguardante le ASP (Active Server Pages), che in linea con le filosofie di marketing, sono diventate ASP.NET 4.0 .

6

Page 7: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

A differenza di ASP, che implementa motori di scripting, con codice interpretato in fase di visualizzazione, ASP.NET supporta dei veri linguaggi di programmazione e codice completamente compilato .

In applicazioni molto complesse, a parità di funzionalità, ASP.NET da' il meglio di sé, anche grazie a meccanismi di caching molto avanzati. Inoltre, ASP.NET ha strumenti di debugging e tracing molto potenti, che permettono di controllare meglio tutta una serie di parametri nella fase di rilascio di un'applicazione web, migliorando dunque la qualità e l'affidabilità dell'applicazione finale.

C#

Il C# è un linguaggio di programmazione object-oriented sviluppato da Microsoft all’interno dell’iniziativa .NET. La sintassi del C# prende spunto da quella del Delphi, del C++, da quella di Java ed a Visual Basic per gli strumenti di programmazione visuale e per la sua semplicità.

Può essere definito come il linguaggio che meglio degli altri descrive le linee guida sulle quali ogni programma .NET viene eseguito.C# è stato creato da Microsoft specificamente per la programmazione nel framework .NET. I suoi tipi di dati hanno una corrispondenza univoca con i tipi .NET e molte delle sue astrazioni, come classi, interfacce, delegati ed eccezioni sono particolarmente adatte a gestire il .NET framework.

Come Java il C# ha i suoi package e possiamo ritrovare una serie di classi già sviluppate per l’interazione con i vari ambienti, Front End, Database, Xml e altri. In C# quello che in Java è chiamato package viene chiamato namespace . Le classi sono organizzate all’interno di una serie di namespace che raggruppano le classi con funzionalità simili; ad esempio System.Data per l’accesso alle basi di dati, System.Web per la comunicazione tra browser e server.

7

Page 8: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

2.1.2 Visual Studio

Visual Studio è un ambiente di sviluppo integrato (IDE) sviluppato da Microsoft che supporta attualmente diversi tipi di linguaggio, quali C, C++, C#, F#, Visual Basic.NET, e ASP.NET permettendo la realizzazione delle applicazioni, siti web, applicazioni web e servizi web.

In particolare, Visual Studio è probabilmente il miglior editor per lo sviluppo di applicazioni web in ambito Microsoft ed è cosi completo di funzionalità che più che un editor risulta essere un vero e proprio ambiente di sviluppo.

La prima versione di Visual Studio .NET è stata rilascata nel 2002. Tecnicamente è chiamato Visual Studio 7.0 e solo dopo il rilascio di Visual Studio 2003 questa versione inizio a essere chiamata Visual Studio .NET 2002. Basato sul NET. Framework 1.0 non era possibile sviluppare applicazioni per versioni successive del Framework.

Nel corso degli anni Visual Studio diventa sempre più fulcro di ogni attività legata allo sviluppo. Subendo nel tempo un’evoluzione che lo ha portato ad includere tecnologie sempre più innovative e ad introdurre costanti miglioramenti alle numerose funzionalità già presenti fin dalla prima versione, come Team Foundation Server, la parte “server” di visual studio che è molto di più di una semplice evouzione del Visual Source Safe.

Visual Studio 2010 rispetto alla versione precedente a integrato ulteriori migliorie per quanto riguarda la parte dedicata al web. Prima di tutto offre un rinnovato supporto per gli ultimi standard web, come XHTML e CSS derivando parte delle proprie funzionalità ad Expression Web. Infine l’Intellisense è stato esteso a tutti i componenti e migliorato, per offrire il meglio in tutte le situazioni, dal markup della pagina fino al web.config, passando per il codice client-side(Javascript).

8

Page 9: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

L’accesso ai dati ADO.NET

ADO.NET rappresenta il sottosistema di accesso ai dati presente all’interno del .NET Framework . Ispiratosi profondamente ad ActiveX Data Objects(ADO), ADO.NET fornisce agli sviluppatori in ambito .NET funzionalità simili a quelle fornite da ADO agli sviluppatori in ambito COM(Component Object Model).

ADO.NET fornisce uniformità di accesso sia ai DBMS(Data Base Management System) come SQL Server e Oracle, sia a sorgenti dati raggiungibili tramite provider OLE DB e driver ODBC.

Tramite ADO.NET, le applicazioni sono in sono in grado di connettersi alle sorgenti dati per recuperare, modificare e aggiornare i dati in esse contenuti.

Le comunicazioni con una sorgente dati e il relativo modello di programmazione di ADO.NET prevede una serie di azioni di validità generale, che devono essere sempre attuate, indipendentemente dal tipo di sorgente dati. A ciascuna di queste azioni corrisponde, per ogni data provider, una classe derivata da uno dei tipi astratti contenuti nel System.Data.Common e implementata in base alle caratteristiche specifiche della sorgente dati di riferimento.

9

Page 10: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

2.1.3 SQL: Stuctured Query Language

SQL è un linguaggio di interrogazione per database progettato per leggere, modificare e gestire dati memorizzati in un sistema di gestione di basi di dati basato sul modello relazionale. Il modello entità-relazioni (E/R) viene adoperato per analizzare le caratteristiche di una situazione, prescindendo dagli eventi che si verificheranno. Ciò al fine di costruire un modello concettuale di dati sentito come indipendente dalle applicazioni.

Il modello entità – relazione si distingue per la presenza di vari elementi che lo definiscono:

le entità , classi/insiemi di oggetti riguardo i quali si ha interesse a raccogliere informazioni;

le relazioni, legame logico tra entità; gli attributi, legami che si formano tra due entità;

MICROSOFT SQL SERVER

SQL Server è un DBMS relazionale prodotto da Microsoft. Nelle prime versioni era utilizzato per basi di dati medio piccole, ma a partire dalla versione 2000 è stato utilizzato anche per la gestione di basi di dati di grandi dimensioni.

Microsoft SQL Server usa una variante del linguaggio SQL standard chiamato T-SQL Transact-SQL. Comunica sulla rete utilizzando un protocollo a livello di applicazione chiamato “Tabular Data Stream”. SQL Server supporta anche “Open Database Connectivity”(ODBC). Il servizio di SQL Server risponde per default sulla porta 1443.

10

Page 11: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

2.2 RACCOLTA DEI REQUISITI

Il prototipo di interfaccia dovrà funzionare in un ambiente Windows. L’interfaccia verrà creata, sfruttando il framework .NET 4.0, nell’ambiente di sviluppo Visual Studio 2010. Il linguaggio adottato sarà il C#.

I dati raccolti saranno in un database relazionale realizzato tramite SQL Server 2008 versione express.

11

Page 12: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

CAPITOLO 3

REALIZZAZIONE DEL PROTOTIPO

____________________________________________

3.1 PROGETTAZIONE LOGICA

STRUTTURA DEL PROTOTIPO

Un aspetto importante di questa fase è come strutturare la piattaforma del prototipo. La quale verrà suddiviso in cinque interfacce :

Figura 1- Interfacce del prototipo

12

Page 13: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

1. Pagina di accesso, contiene un form di autenticazione composto da Username e Password. La verifica delle credenziali verrà effettuata usando una query sul database.

2. Pagina Insegnamenti, contiene tutti gli insegnamenti del docente autenticato rappresentati usando una Gridview(Griglia), e anche una casella in cui e possibile inserire il numero della matricola dello studente per visualizzare il suo piano di studi.

3. Pagina piano di studi, dov’è possibile visualizzare tutti gli insegnamenti della matricola usando una Gridview, e anche gli esami che il docente può modificarne l’esito.

4. Pagina verbalizzazione, contenente il form di verbalizzazione.

13

Page 14: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

NAMESPACES

Ogni interfaccia, sopra descritta, è stata collocata in un namespace dedicato nei file con estensione aspx.cs . Essi sono cosi definiti:

-System.Data;

Consente di accedere alle classi che rappresentano l’architettura ADO.NET.

-System.Data.SqlClient;

Questo namespace è il provider di dati .NET Framework di SQL Server e descrive un insieme di classi utilizzate per accedere al database SQL Server nello spazio gestito. Mediante l’oggetto SqlDataAdapter, è possibile inserire dati in un oggetto Dataset residente in memoria, utilizzabile per eseguire query e aggiornare il database.

-System.Web.UI.WebControls;

Lo spazio dei nomi System.Web.UI.WebControls contiene classi che consentono la creazione di controlli server Web in una pagina Web. I controlli server Web vengono eseguiti sul server e includono controlli form quali pulsanti e caselle di testo, nonché controlli finalizzati a scopi specifici, ad esempio i calendari. Poiché i controlli server Web vengono eseguiti sul server, è possibile controllare questi elementi a livello di codice.

Sebbene il rendering dei controlli server Web venga eseguito come HTML, il relativo modello di oggetti non riflette necessariamente la sintassi HTML.

14

Page 15: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Lo spazio dei nomi System.Web.UI.WebControls contiene classi che nel rendering risultano come tag HTML, ad esempio il controllo Textbox e il controllo Listbox. Lo spazio dei nomi contiene anche classi che non vengono visualizzate nella pagina Web dopo il rendering ma che supportano operazioni sui dati, ad esempio le classi SqlDataSource e ObjectDataSource.

Altri controlli, quali Gridview e DetailsView, supportano la visualizzazione e la modifica dei dati. La classe WebControl funge da classe base per molte classi dello spazio dei nomi System.Web.UI.WebControls

-System.Configuration;

Rappresenta un file di configurazione applicabile a un’applicazione, a una risorsa o a un computer specifico. La classe utilizzata nel nostro caso è:

ConfigurationManager, utilizzata per la dichiarazione della stringa di connessione.

15

Page 16: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

ARCHITETTURA DEL DATABASE

Una fase importante nella costruzione del database è la sua progettazione che è stata effettuata usando lo schema entità-relazione (E-R).

Figura 2- Schema E-R

16

Page 17: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Le entità presenti nello schema (E-R) sono:

Dati studenti, rappresenta tutti i dati anagrafici dello studente come nome, cognome, data di nascita, e-mail. Come chiave primaria di questa entità è il numero della matricola.

Corso di studi, composta dal codice del corso che è anche la chiave primaria e il suo nome.

Dati docenti, fanno parte gli attributi nome e cognome docente e come identificativo ha il codice docente.

Anno accademico, rappresenta l’anno in cui lo studente ha frequentato l’insegnamento.

La relazione con maggior interesse nel nostro caso è Insegnamenti , dove vengono assegnati al docente i rispettivi insegnamenti.

La tabella principale su cui vengono effettuate maggior parte delle operazioni è la tabella piano di studi, composta dai seguenti attributi:

Figura 3-L’entità Piano Di Studi e i suoi attributi

Questa entità verrà rappresentata nel interfaccia Piano Di Studi dove sarà possibile modificare l’esito di un insegnamento non verbalizzato appartenente al docente che ha effettuato l’accesso.

17

Page 18: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

TEMI, STILI E SKIN

Una pagina web è formata fondamentalmente da due elementi : i contenuti veri e propri e la formattazione, ovvero l’aspetto con cui i contenuti sono mostrati al utente.

Figura 4-Composizione del file Style

Un tema (o theme) definisce un’insieme di stili o attributi grafici e li associa ai vari elementi e controlli utilizzati. Ciascun tema è caratterizzato da un nome che lo identifica univocamente ed è composto da un insieme di file : i fogli di stile CSS, contenenti gli stili dei tag, gli skin dei controlli e le immagini.

Per utilizzare i fogli di stile non è obbligatorio definire un tema che li contenga. I file CSS cosi come le immagini, sono elementi che possono essere aggiunti a un progetto web senza necessariamente dover definire un tema.

18

Page 19: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Una utilissima funzione dei CSS è la possibilità di essere applicati solo sui dispositivi medi specificati dall’autore. La sintassi HTML utilizzata è:

Figura 5-Sintassi HTML del foglio di stile

Come si può vedere ad ogni interfaccia è associata il fogli di stile StyleSheet.css contenente anche le immagini contenute nel file Style.

19

Page 20: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

3.2 PROGETTAZIONE FISICA

REALIZZAZIONE DEL DATABASE

Come precedentemente evidenziato, il database sarà costituito dalle seguenti tabelle:

Stud_Data

Figura 6- Proprietà della tabella Stud_Data

-Matricola, definita come chiave primaria e non può essere ammessa il valore NULL in quanto chiave primaria della tabella.

-Nome, sarà definito di tipo nchar(30). Esso conterrà solamente il nome dello studente e non può essere ammesso il valore NULL.

-Cognome, sarà definito di tipo nchar(30). Esso conterrà solamente il cognome dello studente e non può essere ammesso il valore NULL.

-[E-mail], sarà definito di tipo nvarchar(50), contenente l’e-mail dello studente. L’inserimento del quale può essere opzionale .

20

Page 21: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Doc_Data

Figura 7- Proprietà della tabella Doc_Data

-Codice_Doc, definita come chiave primaria e non potrà essere ammesso il valore NULL in quanto chiave primaria della tabella.

-Nome, contenente il nome del docente è non potrà essere ammesso il valore NULL.

-Cognome, contenente il cognome del docente è non potrà essere ammesso il valore NULL.

Insegnamenti

Figura 8- Proprietà della tabella Insegnamenti

-Codice_Insegnamento, rappresenta la chiave primaria della tabella e identifica l’insegnamento associato al’docente il quale non può ammettere valore NULL.

21

Page 22: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

-Nome, definisce il nome dell’insegnamento associato al docente.

-ID_Doc, rappresenta il codice identificativo del docente che sarà una chiave esterna e non può assumere valore NULL.

A.A

Figura 9- Proprietà della tabella A.A

-ID, sarà di tipo int e non può assumere valore NULL essendo chiave primaria della tabella.-Anno Accademico, sarà di tipo int e rappresenta l’anno che lo studente ha frequentato il corso.

Corso_di_studio

Figura 10- Proprietà della tabella Corso_di_studio

-Codice_corso, sarà definita di tipo int e non può assumere valore NULL essendo la chiave primaria della tabella.-Nome_corso, rappresenta il nome del corso.

22

Page 23: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Piano Di Studi

Figura 11- Proprietà della tabella Piano Di Studi

-Matricola, Corso_ID, Codice_Insegnamento e Anno di Frequenza saranno chiavi esterne perché sarà applicata l’integrità referenziale e non potranno assumere valore NULL.

-Anno di Frequenza, sarà definito di tipo int e può essere ammesso il valore NULL nell’caso lo studente non abbia frequentato ancora l’insegnamento .

-Data Esame, sarà definito di tipo date e può essere ammesso il valore NULL nell’caso lo studente non abbia ancora sostenuto l’esame.

-Voto, sarà definito di tipo nvarchar(10) e può essere ammesso il valore NULL nell’caso lo studente non abbia ancora sostenuto l’esame.

VERBALE

23

Page 24: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Figura 12- Proprietà della tabella VERBALE

-Matricola, Codice_Insegnamento e Nome_Insegnamento avranno valori predefiniti una volta arrivati nell’interfaccia Verbalizzazione.aspx.

-Data_esame,Voto, Note e Anno avranno valori che saranno assegnati durante la compilazione del modulo nell’interfaccia Verbalizzazioni.aspx.

Infine vengono effettuate le varie relazioni fra le tabelle, dove la tabella con più chiavi esterne sarà Piano Di Studi.

24

Page 25: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Figura 13- Diagramma del database SQL

INTERFACCIA E FUNZIONALITÀ

25

Page 26: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Avviato il prototipo ci si troverà davanti alla pagina d’accesso:

Figura 14- Pagina di accesso

La pagina d’accesso e composta da due textbox o caselle di testo e un pulsante che ha il compito di autenticare le credenziali del utente.

-Convalida dell’input: i Validator Control

26

Page 27: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Sono i controlli più utili, proprio perché rendono automatica la validazione del contenuto di un campo. Nel caso in cui l’utente non inserisce le credenziali o ne dimentica una e preme il pulsante Accedi , allora viene avviato il controllo RequiredFieldValidator che verifica che sia presente del teso nella casella.

Figura 15- RequiredFieldValidator in codice HTML

Nella finestra proprietà del RequiredFieldValidator è stato impostato il campo assegnato al validator control e il messaggio di errore che esce quando ciò si verifica.

Nella fase di autenticazione viene fatto un semplice controllo nella tabella Dati_Docenti, dove il nome utente corrisponde al cognome del docente e il password al identificatore della tabella. Tutto questo perché durante l’autenticazione reale si hanno misure di sicurezza più rigide e complesse.

-Connessione a una sorgente dati

Ciascun data provider ADO.NET implementa la classe astratta DbConnection in base alle caratteristiche peculiari della sorgente dati di riferimento. Questa classe include alcuni membri di utilità generale e, in particolare, il metodo di apertura Open, il metodo di chiusura Close e la proprietà ConnectionString, che rappresenta la stringa di contenente le informazioni di configurazione della connessione. Nel nostro caso nella pagina Accesso.aspx.cs la connessione con il database SQL è stata effettuata dentro il metodo bool check() .

27

Page 28: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Inizialmente dopo aver aperto una nuova connessione SQL e definendo dentro il metodo check() la stringa di connessione è stato usato il metodo Open() per aprire la connessione con il database SQL. Dopodiché è stato utilizzato l’oggetto DataTable e DataSet, dove DataTable rappresenta una tabella di dati in memoria e DataSet la cache di dati in memoria.

Il DataSet include le collezioni Tables e Relations, che rappresentano l’insieme delle tabelle e delle relazioni in esso contenute. Ogni DataTable include, a sua volta le collezioni Rows, Columns e Constraits, che rappresentano l’insieme delle righe, delle colonne e dei vincoli.

Mediante queste collezioni dove nel nostro caso è stato usato Rows è possibile accedere ai dati contenuti in un Dataset o in una DataTable,

28

Page 29: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

semplicemente specificando la “posizione” dell’elemento ricercato nell’ambito della struttura interna dell’oggetto contenitore. Per riempire il container di dati DataTable è stata usata la classe SqlDataAdapter contenente anche il query SQL, specificando in questo modo la tabella dove il metodo check() controllerà le credenziali. Se nel caso le credenziali sono quelle giuste il metodo ritorna true se no ritorna false.

Quando si preme il pulsante Accedi, viene controllato se il metodo check() è vero e l’utente viene reindirizzato nella pagina Insegnamenti se no verrà visualizzato un messaggio di errore. È stata usata la proprietà session per creare una nuova sessione Codice_ID che servirà nelle query fatte in seguito.

MOSTRARE DATI IN GRIGLIA: GRIDVIEW

Per mostrare i dati contenuti nel database SQL è stata utilizzato il controllo Gridview che visualizza i valori di una origine dati in una tabella

29

Page 30: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

in cui ogni colonna rappresenta un campo e ogni riga rappresenta un record. Il controllo Gridview consente la selezione, l’ordinamento e la modifica degli elementi.

La connessione della nostra Gridview con il database SQL è stata fatta selezionando la stringa di connessione dal design del Gridview.

Figura 16- Connessione della Gridview con il database SQL

La tabella del database collegata con il Gridview è la tabella nominata Insegnamenti. Lo scopo è di visualizzare solo le unità didattiche relative al docente, ecco perché dopo aver selezionato i record da visualizzare nella Gridview è stata inserita una query. La query seleziona solo i record dove il codice docente associato a ciascun insegnamento è

30

Page 31: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

uguale alla sessione Codice_ID. Quindi il query seleziona solo i record appartenenti al docente.

Figura 17- Il codice SQL all’interno del Gridview nella pagina Insegnamenti

Oltre alla visualizzazione delle unità didattiche appartenenti al docente, nella pagina Insegnamenti viene visualizzato anche il nome e il cognome del docente che ha effettuato l’accesso. Tutto questo è stato fatto aggiungendo delle etichette chiamate Label e modificando il loro valore in base alla sessione che viene creata. Espresso in code-behind nella pagina Insegnamenti.aspx.cs si ha:

31

Page 32: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Dal database SQL è stato scelto la tabella Doc_data che rappresenta i dati relativi al docente come nome, cognome e il codice che lo identifica. In questo modo solo quando l’identificatore del docente sarà uguale alla sessione Codice_ID, la prima etichetta rappresenterà il nome e la seconda il cognome del docente.

Il docente potrà selezionare uno dei insegnamenti corrispondenti e vedere le verbalizzazioni effettuate da parte sua solo per l’insegnamento selezionato nella pagina Verbalizzati.aspx . Anche in questo caso i dati saranno visibili usando la Gridview, dove durante la selezione dell’insegnamento viene creata una sessione che lo identifica.

32

Page 33: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Nella pagina Insegnamenti il docente dovrà essere in grado di inserire la matricola dello studente interessato in una casella di testo per visualizzare il piano di studi appartenente allo studente. In questo modo se la matricola è inserita correttamente e si trova nel database SQL l’utente sarà reindirizzato nella pagina successiva se no viene mostrato un messaggio di errore. Per controllare se la matricola si trova nel database SQL è stato usata il metodo check_matricola():

33

Page 34: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Il metodo check_matricola() ritorna true se la matricola si trova ne database SQL e se no ritorna false. Accanto alla casella di testo è stato aggiunto un pulsante nominato Cerca. Il pulsante quando viene azionato controlla se il metodo check_matricola() è vero e ha il compito di reindirizzare l’utente nella interfaccia Piano Di Studi, se non è vero verrà mostrato un messaggio di errore.

34

Page 35: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Nella pagina Piano Di Studi.aspx vengono visualizzati solo gli insegnamenti corrispondenti al numero di matricola inserito precedentemente. Il docente ha la possibilità di modificare l’esito solo per gli insegnamenti appartenenti a lui e che non sono stati verbalizzati in passato.

Figura 18-Piano di studi

È stato inserito un campo Templatefield il quale rappresenta un campo in cui viene visualizzato il contenuto personalizzato nella Gridview.All’interno del Templatefield è stato inserito un pulsante che viene visualizzato solo quando è verificata la condizione. Per far ciò è stato usato l’evento RowDataBound.

35

Page 36: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

RowDataBound viene generato quando una riga di dati, rappresentata da un oggetto GridviewRow, viene associata a dati nel controllo Gridview.

Una volta premuto il pulsante il docente viene reindirizzato nella pagina Verbalizzazione.aspx. Durante l’operazione dalla Gridview viene creata una sessione appartenente al codice del insegnamento.

36

Page 37: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

VERBALIZZAZIONE

La verbalizzazione dell’esame da parte del docente viene effettuata compilando il modulo nella pagina Verbalizzazione.aspx:

Figura 19- Pagina Verbalizzazione

La pagina è composta da tre caselle di testo e quattro dropdownlist, che rappresentano dei controlli che gli consentono al docente di selezionare un singolo elemento da un elenco in discesa.

37

Page 38: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Dopo aver aperto una connessione è stato usato la classe SqlComand per l’inserimento degli dati nel database.

Tutti i dati inseriti nella pagina Verbalizzazione.aspx vengono inseriti nella tabella VERBALE. In questo modo, il docente dopo aver compilato il modulo e dopo aver premuto il pulsante “Salva” non può più modificare l’esito del esame corrispondente, perché è appena stato verbalizzato.

38

Page 39: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

CAPITOLO 4

CONCLUSIONI

____________________________________________

È possibile affermare, che i requisiti e le specifiche fissati all’inizio del progetto sono stati rispettati e gli obbiettivi prefissati sono stati raggiunti.

Per quanto riguarda invece il lavoro svolto, gli elementi che hanno richiesto un maggiore attenzione e tempo sono state la fase di progettazione iniziale della struttura del prototipo e la progettazione fisica.

Il progetto è stato realizzato nello stato di prototipo. Nonostante ciò l’architettura con il quale è stato realizzato, conferisce una struttura solida e la possibilità di ulteriori sviluppi.

Nel complesso del lavoro svolto mi ritengo soddisfatto dei risultati ottenuti e di tutto ciò che ne è derivato.

39

Page 40: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

APPENDICE A

ABBREVAZIONI USATE

____________________________________________________________

ASP Active Server Pages

IDE Integrated Development Environment

CSS Cascading Style Sheets

ADO Active Data Objects

SQL Structured Query Language

APPENDICE B

ELENCO DELLE IMMAGINI

____________________________________________________________

Figura 1- Interfacce del prototipo 12

Figura 2- Schema E-R 16

Figura 3-L’entità Piano Di Studi e i suoi attributi 17

40

Page 41: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

Figura 4-Composizione del file Style 18

Figura 5-Sintassi HTML del foglio di stile 19

Figura 6- Proprietà della tabella Stud_Data 20

Figura 7- Proprietà della tabella Doc_Data 21

Figura 8- Proprietà della tabella Insegnamenti 21

Figura 9- Proprietà della tabella A.A 22

Figura 10- Proprietà della tabella Corso_di_studio 22

Figura 11- Proprietà della tabella Piano Di Studi 23

Figura 12- Proprietà della tabella VERBALE 24

Figura 13- Diagramma del database SQL 25

Figura 14- Pagina di accesso 26

Figura 15- RequiredFieldValidator in codice HTML 27

Figura 16- Connessione della Gridview con il database SQL 30

Figura 17- Il codice SQL all’interno del Gridview nella pagina Insegnamenti 31

Figura 18-Piano di studi 35

Figura 19- Pagina Verbalizzazione 37

41

Page 42: Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online

APPENDICE C

BIBLIOGRAFIA

____________________________________________________________

1. http://www.microsoft.com/downloads/it-it/details.aspx?FamilyID=0a391abd-25c1-4fc0-919f-b21f31ab88b7 NET.Framework 4.0.

2. http://it.wikipedia.org/wiki/C_sharp C#

3. http://it.wikipedia.org/wiki/Microsoft_Visual_Studio Visual Studio 2010

4. http://msdn.microsoft.com/it-it/library/e80y5yhx(v=vs.80).aspx ADO.NET.

5. http://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.gridview(v=vs.80).aspx GRIDVIEW.

6. http://msdn.microsoft.com/en-us/library/aa720677(v=vs.71).aspx I validator control.

7. http://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.gridview.rowdatabound(v=vs.80).aspx l’evento RowDataBound.

42