UNIVERSITÀ DEGLI STUDI DI TRIESTE DIPARTIMENTO DI INGEGNERIA ED ARCHITETTURA CORSO DI LAUREA TRIENNALE IN INGEGNERIA DELL'INFORMAZIONE CURRICULUM INFORMATICA REALIZZAZIONE DI UNA BASE DI DATI PER LA GESTIONE DELLE VALUTAZIONI DI PROGETTI DI RICERCA Laureando: Relatore: EFREM VENTURUZZO CHIAR.MO PROF. MAURIZIO FERMEGLIA ANNO ACCADEMICO 2011/2012
44
Embed
Realizzazione di una base di dati per la gestione delle valutazioni di progetti di ricerca
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
UNIVERSITÀ DEGLI STUDI DI TRIESTE
DIPARTIMENTO DI INGEGNERIA ED ARCHITETTURA
CORSO DI LAUREA TRIENNALE IN INGEGNERIA DELL'INFORMAZIONE
CURRICULUM INFORMATICA
REALIZZAZIONE DI UNA BASE DI DATI PER LA GESTIONE
DELLE VALUTAZIONI DI PROGETTI DI RICERCA
Laureando: Relatore:
EFREM VENTURUZZO CHIAR.MO PROF. MAURIZIO FERMEGLIA
ANNO ACCADEMICO 2011/2012
2
INDICE DEI CONTENUTI
CAPITOLO 1 INTRODUZIONE 4
CAPITOLO 2 ANALISI 6
2.1 Intervista al committente 6
2.2 Analisi del sistema 6
2.3 Analisi dettagliata del caso d’uso del tesista 10
2.4 Analisi del caso d’uso Upload Valutazione 11
CAPITOLO 3 PROGETTAZIONE 12
3.1 Progettazione del Database 12
3.2 Progettazione della Web Application 15
3.2.1 Progettazione inserimento progetti 15
3.2.2 Progettazione upload valutazioni 17
3.2.3 Struttura finale 18
CAPITOLO 4 REALIZZAZIONE 19
4.1 Realizzazione Database 19
4.2 Realizzazione Web Application 22
4.2.1 Data Binding 22
3
4.2.2 Login 22
4.2.3 Nuovo Progetto 24
4.2.4 Keywords 27
4.2.5 Upload main document 29
4.2.6 Upload supplementary document 32
4.2.7 Riepilogo Dati 36
4.2.8 Upload valutazioni 39
CAPITOLO 5 CONCLUSIONI 43
BIBLIOGRAFIA 44
4
CAPITOLO 1
Introduzione
Lo scopo di questa tesi è la creazione di una base di dati e di un’applicazione web per la gestione
dei progetti di ricerca e delle relative valutazioni.
In particolare si vuole fornire al tesista la capacità di inserire i dati relativi al proprio progetto e di
effettuare l’upload dei relativi documenti e ai revisori la possibilità di gestire l’upload delle
valutazioni dei progetti che hanno accettato di revisionare.
Il sistema è stato progettato per un utilizzo da parte dell’ambiente universitario.
Nei capitoli successivi si mostrerà in dettaglio come è stato implementato il sistema:
Nel capitolo dedicato all’analisi si tratteranno gli argomenti relativi all’analisi dei requisiti,
della situazione iniziale e di definire le basi di un sistema informativo che sarà, una volta
completato, più ampio e completo di quello realizzato;
In progettazione si esamineranno:
o gli schemi relativi al database e la documentazione associata;
o la struttura dell’applicazione web;
Infine nel capitolo realizzazione si vedrà il codice dell’applicazione web in dettaglio.
In questa tesi si userà il termine generico “progetto” per indicare svariate tipologie di progetto
come tesi, tesi di dottorato, progetti di ricerca.
La creazione di questo sistema è stata motivata dalla necessità di amministrare in maniera più
semplice e completa le diverse fasi che portano alla valutazione dei progetti dal punto di vista dei
tesisti, dei revisori e da quello dell’editore.
I vincoli progettuali sono rappresentati dall’utilizzo delle tecnologie .NET, del linguaggio di
programmazione C# e del linguaggio di markup HTML5.
5
Per la realizzazione del database è stato richiesto di usare SQL Server 2008 per garantire la
massima compatibilità, in quanto questo è già usato all’interno dell’ambiente come data base
management system.
Tutti i moduli software di questo documento sono stati sviluppati dall’autore.
Gli obiettivi della realizzazione sono:
Analizzare i requisiti da parte del committente;
Analizzare la struttura del sistema informativo;
Analizzare e progettare la base dati;
Studiare le tecnologie .NET, ASP.NET, C#, e HTML5;
Studiare le iterazioni fra base dati ed applicazione;
Realizzare il database;
Implementare i casi d’uso del tesista;
Implementare il caso d’uso “Upload valutazione” del revisore.
6
CAPITOLO 2
Analisi
2.1 Intervista al committente
La prima fondamentale informazione che deriva dall’intervista è la mancanza di un sistema
preesistente da implementare. Perciò si dovrà creare il sistema dall’origine.
Le richieste del committente sono:
Realizzazione di una base dati
Realizzazione di un’applicazione web che permetta ai tesisti di inserire i dati relativi ai
propri progetti nella base dati e l’upload dei documenti;
Realizzazione di un’applicazione web che permetta ai revisori di compiere operazioni quali
decidere se accettare o rifiutare un progetto, effettuare il download dei documenti da
revisionare e gestire l’upload delle valutazioni.
Il committente svolgerà il ruolo di editore-amministratore ed accederà ai dati direttamente
con l’ausilio di software come Microsoft Access.
Tutti i dati relativi ai tesisti ed agli editori vengono precedentemente caricati dall’editore
stesso.
2.2 Analisi del sistema
Gli attori fondamentali del sistema sono tre:
Tesista;
Editore;
Revisore.
7
Sistema
Web Application DatabaseTesista
Revisore
Editore
Il tesista accederà al sistema esclusivamente per inserire i dati del proprio progetto ed i relativi
documenti.
Tesista
Inserisci Progetto
Il revisore compie invece diverse azioni:
1. Accetta o rifiuta una revisione: a seguito della sua assegnazione da parte dell’editore ad
un progetto da revisionare può decidere se accettare il compito o rifiutare;
2. Download documenti: per ogni progetto accettato deve poter effettuare il download
dei relativi documenti in un qualsiasi momento;
3. Upload della valutazione.
accetta/rifiutarevisione
download documentida revisionare
Upload valutazioneRevisore
I casi d’uso dell’editore sono vari, in particolar modo si mettono in risalto i principali come:
8
1. Visualizzare i dati per evento: ogni progetto ha una data di consegna, di scadenza di
revisione e di scadenza finale. Tali date variano in base all’evento/tipologia di progetto
specifico;
2. Assegnare revisore al progetto;
3. Elaborare valutazioni: accedere ai documenti delle valutazioni per esprimere il giudizio
finale.
Editore
assegna revisore aprogetto
Elabora Valutazioni
VisualizzaProgetti per Evento
Si ricorda che l’editore funge anche da amministratore e ha accesso diretto ai dati. Ciò comporta,
in prima analisi, una non necessità d’implementazione dei relativi casi d’uso attraverso
applicazioni dedicate. In un secondo momento si potrà passare alla realizzazione di strumenti atti
a supportare le attività dell’editore.
Il diagramma delle attività del sistema è il seguente:
FASE 1: è la fase dedicata al Tesista, il quale, dopo aver inserito i dati del nuovo progetto, non
compie altre azioni.
FASE 2: l’editore visualizza i progetti in scadenza, richiede una lista dei revisori, anche in base a
certi specifici parametri, ed assegna ai revisori i progetti.
FASE 3: Il revisore valuta se accettare o rifiutare un progetto ed eventualmente effettua l’upload
della valutazione.
9
INSERISCI PROGETTO
TESISTA AMMINISTRATORE REVISORE DATABASE
COMPILAZIONE VALUTAZIONE
INSERISCI VALUTAZIONE
CAMBIA STATO REVISORE
CARICAMENTO DATI PROGETTO
RICHIESTA PROGETTI IN SCADENZA
TORNA LISTA PROGETTI IN SCADENZA
VISUALIZZA REVISORI
TORNA LISTA REVISORI
VISUALIZZA PROGETTI
RICHIESTA REVISORI
ASSEGNA REVISORE A PROGETTO
ACCETTA PROGETTO?
NO
CAMBIA STATO REVISORE
SI
RICHIESTA PROGETTO
RESTITUISCI PROGETTO
CAMBIA STATO REVISORE
FASE 1
FASE 2
FASE 3
10
2.3 Analisi dettagliata del caso d’uso del tesista
Il principale caso d’uso è quello che porta all’inserimento di un nuovo progetto da parte del
tesista.
Il diagramma di sequenza mette in risalto le quattro attività principali:
1. Effettuare il login;
2. Inserire i dati caratteristici di un progetto;
3. Eseguire l’upload dei documenti;
4. Realizzare il controllo finale su tutti i dati e confermare gli stessi.
SistemaTesista
Visualizza pagina inserimento dati progetto
Dati progetto
Login-Nome Utente e password
Visualizza pagina upload documenti
Upload documenti
Visualizza pagina riepilogo
Conferma dati
Visualizza HomePage
11
2.4 Analisi del caso d’uso Upload Valutazione
Uno dei casi d’uso del revisore è quello relativo all’upload delle valutazioni.
Il revisore deve accedere al sistema con le proprie credenziali, specificare un progetto di
riferimento ed effettuare l’upload della corrispettiva valutazione.
SistemaRevisore
Visualizza pagina inserimento valutazione
Login-Nome Utente e password
Upload Valutazione
Conferma avvenuta operazione
Come parte di questa tesi si è realizzato il caso d’uso del tesista e quello relativo all’upload della
valutazione da parte del revisore.
12
CAPITOLO 3
Progettazione
3.1 Progettazione del Database
In seguito alle informazioni ricavate con l’intervista al committente ed all’analisi delle stesse, è
stato redatto lo schema concettuale.
I vincoli non esprimibili sono:
Entità “Tipo evento”: “data fine” deve essere maggiore o uguale a “data inizio”;
Entità “Tipo evento”: “scadenza revisione” deve essere maggiore o uguale a “data fine”;
Entità “Tipo evento”: “scadenza “deve essere maggiore o uguale a “scadenza revisione”;
Si mette in evidenza l’analisi dei principali elementi appartenenti allo schema concettuale
PROGETTO
Id Progetto Identificatore univoco numerico del progetto
Titolo Titolo del progetto
Supervisore Supervisore del progetto
Sommario Essenziale sommario dei capitoli
TIPO EVENTO
Id Evento Identificatore univoco numerico dell'evento
Nome Nome dell'evento
Data Inizio Data iniziale di possibile consegna dei progetti
Data Fine Data ultima di consegna dei progetti
Scadenza Revisione Data ultima di consegna valutazioni da parte dei revisori
Scadenza Data ultima di completamento iter di valutazione del progetto
13
DOCUMENTO
Id Documento Identificatore univoco numerico del documento
Documento Titolo del documento con estensione
Tipo Documento Tipo del documento: main document(obbligatorio e unico) o supplementary(facoltativo e
può essere più di uno)
REVISORE
Id Revisore Identificatore univoco numerico del revisore
Nome Nome revisore
Cognome Cognome revisore
Telefono Recapito telefonico del revisore
Email Indirizzo email del revisore
Credenziali Credenziali d'accesso del revisore composte da nome utente e password
TESISTA
Id Tesista Identificatore univoco numerico del tesista
Nome Nome tesista
Cognome Cognome tesista
Credenziali Credenziali d'accesso del revisore composte da nome utente e password
VALUTAZIONE
è il collegamento tra l'entità progetto con l'entità revisore
CARDINALITÀ MOLTI A MOLTI: un progetto ha tipicamente più valutazioni fornite da diversi
revisori; i revisori valutano più progetti
STATO Stato dell'associazione fra progetto e revisore
VALUTAZIONE Titolo del documento con estensione
14
15
I dati di carico evidenziano una quantità stimata di 300 progetti all’anno, per ognuno dei quali ci si
aspetta all’incirca 3 valutazioni, per un totale di 900 valutazioni. Considerando una media
sovrastimata di 3 documenti per progetto ci si aspetta 900 documenti annui. Ad ogni progetto si
associano 5 keyword, scelte da una lista di 50 elementi, per un totale di 1500 coppie progetto-
parola. Ci si aspetta un centinaio di revisori, mentre le entità che completano le caratteristiche del
progetto si attestano attorno a qualche decina di elementi.
Il totale dei volumi è quindi molto modesto per un DBMS come sql server 2008, progettato per
gestire centinai di migliaia di record; non è quindi necessaria alcuna modifica dello schema a fini
prestazionali.
3.2 Progettazione della Web Application
3.2.1 Progettazione inserimento progetti
Con riferimento all’analisi del caso d’uso del tesista (capitolo 2.3), è stata progettata una struttura
a cinque livelli:
LOGIN
INSERIMENTO DATI
INSERIMENTO KEYWORDS
UPLOAD DOCUMENTI
RIEPILOGO
UPLOAD MAIN DOCUMENT
UPLOAD SUPPLEMENTARY
DOCUMENT
Il livello “upload documenti” è suddiviso in due parti in modo da facilitare la distinzione fra i due
tipi di documento previsti in fase di analisi.
16
Per quanto riguarda i singoli elementi si è preso spunto da un software in uso al committente,
ScholarOne Manuscripts v4.10.0. La struttura è sostanzialmente la medesima ed i campi richiesti
dal software sono essenzialmente gli stessi richiesti dall’applicazione web in progetto.
Inserimento dati
Tutti gli attributi del progetto verranno inseriti da un unico form: titolo, supervisore, sommario,
tipo progetto, evento, ERC, area. Non sono d’interesse per l’applicazione i campi Special Issue e
Copyright.
Inserimento keywords
17
La seconda videata sarà simile a quella del software in esame.
Upload documenti
L’upload del main document, documento obbligatorio ed unico, viene diviso da quelli di possibili
altri documenti al fine di ridurre il rischio di errori in upload da parte dell’utente.
3.2.2 Progettazione upload valutazioni
Anche il revisore dovrà accedere attraverso una pagina di login prima di poter gestire le
valutazioni.
18
LOGIN
UPLOAD VALUTAZIONE
Il revisore dovrà solamente definire di quale progetto ha effettuato la revisione e selezionare il file
di cui fare l’upload.
3.2.3 Struttura finale
LOGIN
INSERIMENTO DATI
INSERIMENTO KEYWORDS
RIEPILOGO
UPLOAD MAIN DOCUMENT
UPLOAD SUPPLEMENTARY
DOCUMENT
UPLOAD VALUTAZIONE
19
CAPITOLO 4
Realizzazione
4.1 Realizzazione Database
Il database che è stato realizzato è composto da diciassette tabelle, quattro viste e cinque stored
procedure.
Le viste che sono state implementate sono:
ViewParola: visualizza il codice identificativo dei progetti e le parole associate ordinate per
Id di progetto crescente. La vista è implementata sulle tabelle TblParola e TblKeyword;
ViewProgettoDati: mostra tutti i dati di tutti i progetti presenti nella TblProgetto,
sostituendo le chiavi esterne numeriche con i rispettivi valori riferiti, ed il loro stato. Oltre
alla già citata TblProgetto, riporta dati delle TblArea, TblERC, TblTipoEvento, TblTipo,
TblStato e TblStatoProgetto;
ViewRevisoreTOT: visualizza i dati dei revisori, escluso le loro credenziali. Si riferisce alla
TblRevisore ed è utile per accedere facilmente ai recapiti dei revisori;
ViewStatoProgetto: mostra Id progetto, titolo del progetto ed il rispettivo stato progetto.
Rappresenta informazioni appartenenti a TblProgetto,TblStatoProgetto e TblStato.
Le stored procedure:
Sp_NuovoProgetto: permette l’inserimento di una nuova riga nella TblProgetto attraverso
il passaggio di alcuni parametri;
Exec Sp_NuovoProgetto @titolo='progettazione di una base dati per una palestra',
Si definisce e si esegue una select sulla tabella contenente le credenziali dell’attore di riferimento.
SqlCommand CheckTes = new SqlCommand("select IdTesista from TblTesista where NomeUtente=@user AND Password=@Pass",connection1); CheckTes.Parameters.AddWithValue("user", TextBox1.Text); CheckTes.Parameters.AddWithValue("pass", TextBox2.Text);