• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami online
 

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

on

  • 554 views

 

Statistics

Views

Total Views
554
Views on SlideShare
554
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • 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 UniversitariRelatore: Prof. Maurizio FermegliaLaureando: Bledar Qosja Anno Accademico 2010-2011 1
    • SOMMARIOCapitolo 1 INTRODUZIONE 41.1 PREFAZIONE 4Capitolo 2 ANALISI 62.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 102.2 RACCOLTA DEI REQUISITI 11Capitolo 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
    • 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 37Capitolo 4 CONCLUSIONI 40Appendice A ABBREVAZIONI USATE 41Appendice B ELENCO DELLE IMMAGINI 41Appendice C BIBLIOGRAFIA 42 3
    • CAPITOLO 1 INTRODUZIONE____________________________________________1.1 Prefazione Lo scopo della tesi è creare un prototipo di interfaccia web per laverbalizzazione degli esami Universitari, aiutando in questo modo ildocente a verbalizzare l’esame di un apposito studente senza avere ilbisogno di creare un appello online. Il docente può accedere utilizzando le proprie credenziali fornitedall’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
    •  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 diversefasi di lavoro: studio delle tecnologie raccolta dei requisiti progettazione realizzazione del prototipoTali punti vengono sviluppati nei capitoli seguenti inerenti l’analisi e larealizzazione. 5
    • CAPITOLO 2 STUDIO DELLE TECNOLOGIE____________________________________________2.1.1 .NET Framework 4.0 Il framework è una struttura di supporto su cui un software può essereorganizzato e progettato. Alla base di un framework c’è sempre una seriedi librerie di codice utilizzabili con uno o più linguaggi di programmazione. .NET creata dalla Microsoft è una versatile piattaforma di svilupposoftware basata sulla tecnologia di programmazione ad oggetti. Realizzata come contrapposizione proprietaria al linguaggio Java, haun ruolo strategico per la Microsoft come piattaforma di sviluppo perapplicazioni desktop e server per le architetture client/server ,internet edintranet. La prima Versione di .NET Framework è stata rilasciata nel 2002.La sua caratteristica è di essere indipendente dalla versione operativa diWindows su cui è installata, e di includere molte funzionalità progettateespressamente in modo da integrarsi in un ambiente internet , e garantire ilmassimo grado di sicurezza ed integrità dei dati. L’innovazione migliore è stata quella riguardante le ASP (ActiveServer Pages), che in linea con le filosofie di marketing, sono diventateASP.NET 4.0 . 6
    • A differenza di ASP, che implementa motori di scripting, con codiceinterpretato in fase di visualizzazione, ASP.NET supporta dei verilinguaggi di programmazione e codice completamente compilato . In applicazioni molto complesse, a parità di funzionalità, ASP.NETda il meglio di sé, anche grazie a meccanismi di caching molto avanzati.Inoltre, ASP.NET ha strumenti di debugging e tracing molto potenti, chepermettono di controllare meglio tutta una serie di parametri nella fase dirilascio di unapplicazione web, migliorando dunque la qualità elaffidabilità dellapplicazione finale.  C# Il C# è un linguaggio di programmazione object-oriented sviluppatoda Microsoft all’interno dell’iniziativa .NET. La sintassi del C# prendespunto da quella del Delphi, del C++, da quella di Java ed a Visual Basicper gli strumenti di programmazione visuale e per la sua semplicità. Può essere definito come il linguaggio che meglio degli altri descrivele linee guida sulle quali ogni programma .NET viene eseguito.C# è statocreato da Microsoft specificamente per la programmazione nel framework.NET. I suoi tipi di dati hanno una corrispondenza univoca con i tipi .NET emolte delle sue astrazioni, come classi, interfacce, delegati ed eccezionisono particolarmente adatte a gestire il .NET framework. Come Java il C# ha i suoi package e possiamo ritrovare una serie diclassi già sviluppate per l’interazione con i vari ambienti, Front End,Database, Xml e altri. In C# quello che in Java è chiamato package vienechiamato namespace . Le classi sono organizzate all’interno di una serie dinamespace che raggruppano le classi con funzionalità simili; ad esempioSystem.Data per l’accesso alle basi di dati, System.Web per lacomunicazione tra browser e server. 7
    • 2.1.2 Visual Studio Visual Studio è un ambiente di sviluppo integrato (IDE) sviluppatoda Microsoft che supporta attualmente diversi tipi di linguaggio, quali C,C++, C#, F#, Visual Basic.NET, e ASP.NET permettendo la realizzazionedelle applicazioni, siti web, applicazioni web e servizi web. In particolare, Visual Studio è probabilmente il miglior editor per losviluppo di applicazioni web in ambito Microsoft ed è cosi completo difunzionalità che più che un editor risulta essere un vero e proprio ambientedi sviluppo. La prima versione di Visual Studio .NET è stata rilascata nel 2002.Tecnicamente è chiamato Visual Studio 7.0 e solo dopo il rilascio di VisualStudio 2003 questa versione inizio a essere chiamata Visual Studio .NET2002. Basato sul NET. Framework 1.0 non era possibile sviluppareapplicazioni per versioni successive del Framework. Nel corso degli anni Visual Studio diventa sempre più fulcro di ogniattività legata allo sviluppo. Subendo nel tempo un’evoluzione che lo haportato ad includere tecnologie sempre più innovative e ad introdurrecostanti miglioramenti alle numerose funzionalità già presenti fin dallaprima versione, come Team Foundation Server, la parte “server” di visualstudio che è molto di più di una semplice evouzione del Visual Source Safe. Visual Studio 2010 rispetto alla versione precedente a integratoulteriori migliorie per quanto riguarda la parte dedicata al web. Prima ditutto offre un rinnovato supporto per gli ultimi standard web, comeXHTML e CSS derivando parte delle proprie funzionalità ad ExpressionWeb. Infine l’Intellisense è stato esteso a tutti i componenti e migliorato,per offrire il meglio in tutte le situazioni, dal markup della pagina fino alweb.config, passando per il codice client-side(Javascript). 8
    •  L’accesso ai dati ADO.NET ADO.NET rappresenta il sottosistema di accesso ai dati presenteall’interno del .NET Framework . Ispiratosi profondamente ad ActiveXData Objects(ADO), ADO.NET fornisce agli sviluppatori in ambito .NETfunzionalità simili a quelle fornite da ADO agli sviluppatori in ambitoCOM(Component Object Model). ADO.NET fornisce uniformità di accesso sia ai DBMS(Data BaseManagement System) come SQL Server e Oracle, sia a sorgenti datiraggiungibili tramite provider OLE DB e driver ODBC. Tramite ADO.NET, le applicazioni sono in sono in grado diconnettersi alle sorgenti dati per recuperare, modificare e aggiornare i datiin esse contenuti. Le comunicazioni con una sorgente dati e il relativo modello diprogrammazione di ADO.NET prevede una serie di azioni di validitàgenerale, che devono essere sempre attuate, indipendentemente dal tipo disorgente dati. A ciascuna di queste azioni corrisponde, per ogni dataprovider, una classe derivata da uno dei tipi astratti contenuti nelSystem.Data.Common e implementata in base alle caratteristiche specifichedella sorgente dati di riferimento. 9
    • 2.1.3 SQL: Stuctured Query Language SQL è un linguaggio di interrogazione per database progettato perleggere, modificare e gestire dati memorizzati in un sistema di gestione dibasi 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 unmodello concettuale di dati sentito come indipendente dalle applicazioni. Il modello entità – relazione si distingue per la presenza di varielementi 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. Nelleprime versioni era utilizzato per basi di dati medio piccole, ma a partiredalla versione 2000 è stato utilizzato anche per la gestione di basi di dati digrandi dimensioni. Microsoft SQL Server usa una variante del linguaggio SQL standardchiamato T-SQL Transact-SQL. Comunica sulla rete utilizzando unprotocollo a livello di applicazione chiamato “Tabular Data Stream”. SQLServer supporta anche “Open Database Connectivity”(ODBC). Il serviziodi SQL Server risponde per default sulla porta 1443. 10
    • 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’ambientedi sviluppo Visual Studio 2010. Il linguaggio adottato sarà il C#. I dati raccolti saranno in un database relazionale realizzato tramiteSQL Server 2008 versione express. 11
    • CAPITOLO 3 REALIZZAZIONE DEL PROTOTIPO____________________________________________3.1 PROGETTAZIONE LOGICA  STRUTTURA DEL PROTOTIPO Un aspetto importante di questa fase è come strutturare lapiattaforma del prototipo. La quale verrà suddiviso in cinque interfacce : Figura 1- Interfacce del prototipo 12
    • 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
    •  NAMESPACES Ogni interfaccia, sopra descritta, è stata collocata in un namespacededicato 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 SQLServer e descrive un insieme di classi utilizzate per accedere al databaseSQL 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 classiche consentono la creazione di controlli server Web in una pagina Web.I controlli server Web vengono eseguiti sul server e includono controlliform quali pulsanti e caselle di testo, nonché controlli finalizzati a scopispecifici, ad esempio i calendari. Poiché i controlli server Web vengonoeseguiti sul server, è possibile controllare questi elementi a livello dicodice. Sebbene il rendering dei controlli server Web venga eseguito comeHTML, il relativo modello di oggetti non riflette necessariamente la sintassiHTML. 14
    • Lo spazio dei nomi System.Web.UI.WebControls contiene classiche nel rendering risultano come tag HTML, ad esempio ilcontrollo Textbox e il controllo Listbox. Lo spazio dei nomi contiene ancheclassi che non vengono visualizzate nella pagina Web dopo il rendering mache supportano operazioni sui dati, ad esempio le classi SqlDataSource eObjectDataSource. Altri controlli, quali Gridview e DetailsView, supportano lavisualizzazione e la modifica dei dati. La classe WebControl funge daclasse base per molte classi dello spazio deinomi System.Web.UI.WebControls-System.Configuration;Rappresenta un file di configurazione applicabile a un’applicazione, a unarisorsa o a un computer specifico. La classe utilizzata nel nostro caso è:ConfigurationManager, utilizzata per la dichiarazione della stringa diconnessione. 15
    •  ARCHITETTURA DEL DATABASE Una fase importante nella costruzione del database è la suaprogettazione che è stata effettuata usando lo schema entità-relazione(E-R). Figura 2- Schema E-R 16
    • Le entità presenti nello schema (E-R) sono: Dati studenti, rappresenta tutti i dati anagrafici dello studente comenome, cognome, data di nascita, e-mail. Come chiave primaria di questaentità è il numero della matricola. Corso di studi, composta dal codice del corso che è anche la chiaveprimaria e il suo nome. Dati docenti, fanno parte gli attributi nome e cognome docente ecome identificativo ha il codice docente. Anno accademico, rappresenta l’anno in cui lo studente hafrequentato 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 delleoperazioni è 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 dovesarà possibile modificare l’esito di un insegnamento non verbalizzatoappartenente al docente che ha effettuato l’accesso. 17
    •  TEMI, STILI E SKIN Una pagina web è formata fondamentalmente da due elementi : icontenuti veri e propri e la formattazione, ovvero l’aspetto con cui icontenuti sono mostrati al utente. Figura 4-Composizione del file Style Un tema (o theme) definisce un’insieme di stili o attributi grafici e liassocia ai vari elementi e controlli utilizzati. Ciascun tema è caratterizzatoda un nome che lo identifica univocamente ed è composto da un insieme difile : i fogli di stile CSS, contenenti gli stili dei tag, gli skin dei controlli e leimmagini. Per utilizzare i fogli di stile non è obbligatorio definire un tema che licontenga. I file CSS cosi come le immagini, sono elementi che possonoessere aggiunti a un progetto web senza necessariamente dover definire untema. 18
    • Una utilissima funzione dei CSS è la possibilità di essere applicatisolo 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 stileStyleSheet.css contenente anche le immagini contenute nel file Style. 19
    • 3.2 PROGETTAZIONE FISICA  REALIZZAZIONE DEL DATABASE Come precedentemente evidenziato, il database sarà costituito dalleseguenti tabelle: Stud_Data Figura 6- Proprietà della tabella Stud_Data-Matricola, definita come chiave primaria e non può essere ammessa ilvalore NULL in quanto chiave primaria della tabella.-Nome, sarà definito di tipo nchar(30). Esso conterrà solamente il nomedello studente e non può essere ammesso il valore NULL.-Cognome, sarà definito di tipo nchar(30). Esso conterrà solamente ilcognome dello studente e non può essere ammesso il valore NULL.-[E-mail], sarà definito di tipo nvarchar(50), contenente l’e-mail dellostudente. L’inserimento del quale può essere opzionale . 20
    • Doc_Data Figura 7- Proprietà della tabella Doc_Data-Codice_Doc, definita come chiave primaria e non potrà essere ammesso ilvalore NULL in quanto chiave primaria della tabella.-Nome, contenente il nome del docente è non potrà essere ammesso ilvalore NULL.-Cognome, contenente il cognome del docente è non potrà essere ammessoil valore NULL. Insegnamenti Figura 8- Proprietà della tabella Insegnamenti 21
    • -Codice_Insegnamento, rappresenta la chiave primaria della tabella eidentifica l’insegnamento associato al’docente il quale non può ammetterevalore NULL.-Nome, definisce il nome dell’insegnamento associato al docente.-ID_Doc, rappresenta il codice identificativo del docente che sarà unachiave 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 22
    • -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. Piano Di Studi Figura 11- Proprietà della tabella Piano Di Studi-Matricola, Corso_ID, Codice_Insegnamento e Anno di Frequenza sarannochiavi esterne perché sarà applicata l’integrità referenziale e non potrannoassumere valore NULL.-Anno di Frequenza, sarà definito di tipo int e può essere ammesso il valoreNULL nell’caso lo studente non abbia frequentato ancora l’insegnamento .-Data Esame, sarà definito di tipo date e può essere ammesso il valoreNULL nell’caso lo studente non abbia ancora sostenuto l’esame.-Voto, sarà definito di tipo nvarchar(10) e può essere ammesso il valoreNULL nell’caso lo studente non abbia ancora sostenuto l’esame. 23
    • VERBALE Figura 12- Proprietà della tabella VERBALE-Matricola, Codice_Insegnamento e Nome_Insegnamento avranno valoripredefiniti una volta arrivati nell’interfaccia Verbalizzazione.aspx.-Data_esame,Voto, Note e Anno avranno valori che saranno assegnatidurante la compilazione del modulo nell’interfaccia Verbalizzazioni.aspx. 24
    • Infine vengono effettuate le varie relazioni fra le tabelle, dove latabella con più chiavi esterne sarà Piano Di Studi. Figura 13- Diagramma del database SQL 25
    •  INTERFACCIA E FUNZIONALITÀ 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 eun pulsante che ha il compito di autenticare le credenziali del utente. 26
    • -Convalida dell’input: i Validator Control Sono i controlli più utili, proprio perché rendono automatica lavalidazione del contenuto di un campo. Nel caso in cui l’utente noninserisce le credenziali o ne dimentica una e preme il pulsante Accedi ,allora viene avviato il controllo RequiredFieldValidator che verifica che siapresente del teso nella casella. Figura 15- RequiredFieldValidator in codice HTML Nella finestra proprietà del RequiredFieldValidator è statoimpostato il campo assegnato al validator control e il messaggio di erroreche esce quando ciò si verifica. Nella fase di autenticazione viene fatto un semplice controllo nellatabella Dati_Docenti, dove il nome utente corrisponde al cognome deldocente e il password al identificatore della tabella. Tutto questo perchédurante l’autenticazione reale si hanno misure di sicurezza più rigide ecomplesse.-Connessione a una sorgente dati Ciascun data provider ADO.NET implementa la classe astrattaDbConnection in base alle caratteristiche peculiari della sorgente dati diriferimento. Questa classe include alcuni membri di utilità generale e, inparticolare, il metodo di apertura Open, il metodo di chiusura Close e la 27
    • proprietà ConnectionString, che rappresenta la stringa di contenente leinformazioni di configurazione della connessione. Nel nostro caso nellapagina Accesso.aspx.cs la connessione con il database SQL è stataeffettuata dentro il metodo bool check() . Inizialmente dopo aver aperto una nuova connessione SQL edefinendo dentro il metodo check() la stringa di connessione è stato usato ilmetodo Open() per aprire la connessione con il database SQL. Dopodiché èstato utilizzato l’oggetto DataTable e DataSet, dove DataTable rappresentauna tabella di dati in memoria e DataSet la cache di dati in memoria. Il DataSet include le collezioni Tables e Relations, cherappresentano l’insieme delle tabelle e delle relazioni in esso contenute.Ogni DataTable include, a sua volta le collezioni Rows, Columns e 28
    • Constraits, che rappresentano l’insieme delle righe, delle colonne e deivincoli. Mediante queste collezioni dove nel nostro caso è stato usato Rows èpossibile accedere ai dati contenuti in un Dataset o in una DataTable,semplicemente specificando la “posizione” dell’elemento ricercatonell’ambito della struttura interna dell’oggetto contenitore. Per riempire ilcontainer di dati DataTable è stata usata la classe SqlDataAdaptercontenente anche il query SQL, specificando in questo modo la tabella doveil metodo check() controllerà le credenziali. Se nel caso le credenziali sonoquelle giuste il metodo ritorna true se no ritorna false. Quando si preme il pulsante Accedi, viene controllato se il metodocheck() è vero e l’utente viene reindirizzato nella pagina Insegnamenti seno verrà visualizzato un messaggio di errore. È stata usata la proprietàsession per creare una nuova sessione Codice_ID che servirà nelle queryfatte in seguito. 29
    •  MOSTRARE DATI IN GRIGLIA: GRIDVIEW Per mostrare i dati contenuti nel database SQL è stata utilizzato ilcontrollo Gridview che visualizza i valori di una origine dati in una tabellain cui ogni colonna rappresenta un campo e ogni riga rappresenta un record.Il controllo Gridview consente la selezione, l’ordinamento e la modificadegli elementi. La connessione della nostra Gridview con il database SQL è stata fattaselezionando la stringa di connessione dal design del Gridview. Figura 16- Connessione della Gridview con il database SQL 30
    • La tabella del database collegata con il Gridview è la tabellanominata Insegnamenti. Lo scopo è di visualizzare solo le unità didatticherelative al docente, ecco perché dopo aver selezionato i record davisualizzare nella Gridview è stata inserita una query. La query selezionasolo i record dove il codice docente associato a ciascun insegnamento èuguale alla sessione Codice_ID. Quindi il query seleziona solo i recordappartenenti al docente. Figura 17- Il codice SQL all’interno del Gridview nella pagina Insegnamenti Oltre alla visualizzazione delle unità didattiche appartenenti aldocente, nella pagina Insegnamenti viene visualizzato anche il nome e ilcognome del docente che ha effettuato l’accesso. Tutto questo è stato fattoaggiungendo delle etichette chiamate Label e modificando il loro valore in 31
    • base alla sessione che viene creata. Espresso in code-behind nella paginaInsegnamenti.aspx.cs si ha: Dal database SQL è stato scelto la tabella Doc_data che rappresenta idati relativi al docente come nome, cognome e il codice che lo identifica. Inquesto modo solo quando l’identificatore del docente sarà uguale allasessione Codice_ID, la prima etichetta rappresenterà il nome e la seconda ilcognome del docente. Il docente potrà selezionare uno dei insegnamenti corrispondenti evedere le verbalizzazioni effettuate da parte sua solo per l’insegnamentoselezionato nella pagina Verbalizzati.aspx . Anche in questo caso i datisaranno visibili usando la Gridview, dove durante la selezionedell’insegnamento viene creata una sessione che lo identifica. 32
    • Nella pagina Insegnamenti il docente dovrà essere in grado diinserire la matricola dello studente interessato in una casella di testo pervisualizzare il piano di studi appartenente allo studente. In questo modo sela matricola è inserita correttamente e si trova nel database SQL l’utentesarà reindirizzato nella pagina successiva se no viene mostrato unmessaggio di errore. Per controllare se la matricola si trova nel databaseSQL è stato usata il metodo check_matricola(): 33
    • Il metodo check_matricola() ritorna true se la matricola si trova nedatabase SQL e se no ritorna false. Accanto alla casella di testo è statoaggiunto un pulsante nominato Cerca. Il pulsante quando viene azionatocontrolla se il metodo check_matricola() è vero e ha il compito direindirizzare l’utente nella interfaccia Piano Di Studi, se non è vero verràmostrato un messaggio di errore. 34
    • Nella pagina Piano Di Studi.aspx vengono visualizzati solo gliinsegnamenti corrispondenti al numero di matricola inseritoprecedentemente. Il docente ha la possibilità di modificare l’esito solo pergli insegnamenti appartenenti a lui e che non sono stati verbalizzati inpassato. Figura 18-Piano di studi È stato inserito un campo Templatefield il quale rappresenta uncampo in cui viene visualizzato il contenuto personalizzato nellaGridview.All’interno del Templatefield è stato inserito un pulsante cheviene visualizzato solo quando è verificata la condizione. Per far ciò è statousato l’evento RowDataBound. 35
    • RowDataBound viene generato quando una riga di dati,rappresentata da un oggetto GridviewRow, viene associata a dati nelcontrollo Gridview. Una volta premuto il pulsante il docente viene reindirizzato nellapagina Verbalizzazione.aspx. Durante l’operazione dalla Gridview vienecreata una sessione appartenente al codice del insegnamento. 36
    •  VERBALIZZAZIONE La verbalizzazione dell’esame da parte del docente viene effettuatacompilando 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 selezionareun singolo elemento da un elenco in discesa. 37
    • Dopo aver aperto una connessione è stato usato la classe SqlComandper l’inserimento degli dati nel database. Tutti i dati inseriti nella pagina Verbalizzazione.aspx vengonoinseriti nella tabella VERBALE. In questo modo, il docente dopo avercompilato il modulo e dopo aver premuto il pulsante “Salva” non può piùmodificare l’esito del esame corrispondente, perché è appena statoverbalizzato. 38
    • CAPITOLO 4 CONCLUSIONI____________________________________________ È possibile affermare, che i requisiti e le specifiche fissati all’iniziodel progetto sono stati rispettati e gli obbiettivi prefissati sono statiraggiunti. Per quanto riguarda invece il lavoro svolto, gli elementi che hannorichiesto un maggiore attenzione e tempo sono state la fase di progettazioneiniziale 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 solidae la possibilità di ulteriori sviluppi. Nel complesso del lavoro svolto mi ritengo soddisfatto dei risultatiottenuti e di tutto ciò che ne è derivato. 39
    • APPENDICE A ABBREVAZIONI USATE____________________________________________________________ASP Active Server PagesIDE Integrated Development EnvironmentCSS Cascading Style SheetsADO Active Data ObjectsSQL Structured Query Language APPENDICE B ELENCO DELLE IMMAGINI____________________________________________________________Figura 1- Interfacce del prototipo 12Figura 2- Schema E-R 16Figura 3-L’entità Piano Di Studi e i suoi attributi 17 40
    • Figura 4-Composizione del file Style 18Figura 5-Sintassi HTML del foglio di stile 19Figura 6- Proprietà della tabella Stud_Data 20Figura 7- Proprietà della tabella Doc_Data 21Figura 8- Proprietà della tabella Insegnamenti 21Figura 9- Proprietà della tabella A.A 22Figura 10- Proprietà della tabella Corso_di_studio 22Figura 11- Proprietà della tabella Piano Di Studi 23Figura 12- Proprietà della tabella VERBALE 24Figura 13- Diagramma del database SQL 25Figura 14- Pagina di accesso 26Figura 15- RequiredFieldValidator in codice HTML 27Figura 16- Connessione della Gridview con il database SQL 30Figura 17- Il codice SQL all’interno del Gridview nella paginaInsegnamenti 31Figura 18-Piano di studi 35Figura 19- Pagina Verbalizzazione 37 41
    • APPENDICE C BIBLIOGRAFIA____________________________________________________________1. http://www.microsoft.com/downloads/it-it/details.aspx?FamilyID=0a391abd-25c1-4fc0-919f-b21f31ab88b7NET.Framework 4.0.2. http://it.wikipedia.org/wiki/C_sharp C#3. http://it.wikipedia.org/wiki/Microsoft_Visual_Studio Visual Studio 20104. http://msdn.microsoft.com/it-it/library/e80y5yhx(v=vs.80).aspxADO.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).aspxI validator control.7. http://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.gridview.rowdatabound(v=vs.80).aspxl’evento RowDataBound. 42