Alunno: Tumedei Gianni
Classe: 5°E
DOCUMENTAZIONE PROGETTO
GARDEN OF THINGS - PARTE WEB
SOMMARIO
SOMMARIO ............................................................................................................................................................................ 1
PANORAMICA ........................................................................................................................................................................ 2
Descrizione e contesto del progetto ................................................................................................................... 2
Ambito del progetto .................................................................................................................................................. 2
ANALISI DEL PROBLEMA ................................................................................................................................................... 3
Definizione dei requisiti ............................................................................................................................................ 3
Specifica dei requisiti ................................................................................................................................................. 3
PROGETTO .............................................................................................................................................................................. 5
Architettura di progetto............................................................................................................................................ 5
Disegno di dettaglio................................................................................................................................................... 7
REALIZZAZIONE .................................................................................................................................................................... 9
Programmazione ......................................................................................................................................................... 9
Test ................................................................................................................................................................................. 10
Integrazione e test del sistema ............................................................................................................................ 10
Rilascio del prodotto (release) e collaudo ....................................................................................................... 10
Avviamento .................................................................................................................................................................. 10
Manutenzione ............................................................................................................................................................. 10
FONTI ...................................................................................................................................................................................... 11
CREDITI ................................................................................................................................................................................... 11
1
PANORAMICA
Descrizione e contesto del progetto
Il progetto Garden of Things nasce con lo scopo di realizzare una serra automatizzata e
informatizzata in rete, tramite la collaborazione dell’Istituto Tecnico Tecnologico B. Pascal con
l’Istituto Tecnico Agrario G. Garibaldi.
Vista la complessità del progetto, esso è stato suddiviso in due parti:
1. Progetto Pascal: questa fase prevede la realizzazione di un sistema di acquisizione e
consultazione remota di temperatura, umidità e luminosità all’interno dei laboratori
dell’ITT Pascal, oltre ad un sistema di videosorveglianza;
2. Progetto Garibaldi: prevede l’installazione del sistema realizzato nella fase precedente
presso la serra dell’ITA Garibaldi.
Inizialmente era stata preventivata la riuscita della prima fase tramite le lezioni di laboratorio
mattutine e della seconda tramite corsi pomeridiani di eccellenza. Tuttavia, a causa di complicazioni
verificatesi durante lo sviluppo del progetto, è stato possibile ultimare il sistema solo durante i corsi
pomeridiani, quindi si è potuto procedere con l’installazione presso l’ITA Garibaldi.
Se il dipartimento tecnico giudicherà positivi i risultati conseguiti, è possibile che il progetto venga
esteso ai due anni scolastici successivi (2015-2016 e 2016-2017), con l’obiettivo di realizzare
sistemi di automazione per la serra sempre più complessi.
Questa documentazione tratta solamente la parte del progetto relativa alla consultazione dei dati
rilevati. Il sistema di consultazione è stato sviluppato dalla classe 5°E dell’ITT Pascal, in particolare
dagli alunni di tale classe che hanno deciso di continuare il progetto tramite i corsi pomeridiani.
Ambito del progetto
La parte di consultazione dei dati prevede la realizzazione di un sito web che mostri i dati rilevati
tramite varie pagine che li rielaborano a seconda delle necessità dell’utente. Il sito web deve
inoltre mettere a disposizione dei contatti da utilizzare in caso di malfunzionamenti, oltre ad una
descrizione del progetto per i visitatori.
Il sito web non deve in alcun modo permettere agli utenti di modificare i dati visualizzati, non si
deve infatti occupare dell’acquisizione di tali dati, ma solo della visualizzazione. Anche il sistema
di videosorveglianza non è legato in alcun modo al sito web, e deve essere consultato tramite altri
mezzi. Per queste ragioni, non è incluso nel sito web alcun sistema di autenticazione: chiunque vi
acceda può effettuare operazioni a piacimento, perchè in nessun modo esse interferiranno con il
funzionamento o l’integrità del sistema.
2
ANALISI DEL PROBLEMA
Definizione dei requisiti
Il personale è composto esclusivamente dagli alunni della classe 5°E dell’ITT Pascal. Le postazioni
dei laboratori in cui va sviluppato il sito sono già funzionanti e dotate degli appositi software e gli
alunni non vanno retribuiti in alcun modo, per cui non vi sono costi diretti. I costi indiretti sono
relativi al rinnovo della licenza per i software effettuato ad inizio anno e al consumo di corrente
elettrica durante le ore di lavoro.
La tecnologia utilizzata è quella di ASP.NET per il sito web e Sql Server per il database, pertanto i
software necessari allo sviluppo sono Visual Studio e Sql Server Management Studio. È stata
adottata la tecnologia ASP.NET perchè utilizza il linguaggio c# per la parte di scripting, che la classe
già conosceva dagli anni precedenti.
Inizialmente si era ritenuto sufficiente l’inserimento di una sola pagina di visualizzazione dati, che
permetteva all’utente di selezionare la data, la centralina e la grandezza e quindi visualizzare i
risultati, pertanto il lavoro appariva relativamente semplice. Tuttavia, si è poi giunti alla conclusione
che una sola pagina non bastava in quanto non forniva dati abbastanza specifici, per cui il direttore
del progetto Prof. Serri ha definito il layout di 10 pagine, ognuna con dati differenti.
A causa dei cambiamenti all’interno del progetto, il tempo per l’ultimazione del sito web è
aumentato ed è stato necessario continuare lo sviluppo nei corsi pomeridiani.
Specifica dei requisiti
Il sito web deve essere dotato delle seguenti pagine:

Pagina master: funge da “contenitore” per visualizzare i dati delle altre pagine. Deve
essere dotata di un menu per la navigazione e di un logo adatto al progetto. La pagina
master rispecchia le sembianze finali del sito, pertanto deve essere facile interfacciarsi con
essa e il suo aspetto deve essere gradevole.

Home page: pagina principale con informazioni generali sul progetto e magari
un’immagine per accogliere gli utenti.

Pagina informativa: reca informazioni sul progetto.

Pagina contatti: riporta i recapiti delle persone da contattare in caso di malfunzionamenti al
sito o al sistema.

Pagina valori attuali

Pagina ultimi valori per una centralina

Pagina ultimi valori per una grandezza

Pagina valori per una grandezza e una centralina in un dato giorno
3

Pagina riepilogo giornaliero

Pagina riepilogo settimanale

Pagina riepilogo mensile

Pagina riepilogo annuale

Pagina valori orari

Pagina valori orari per una grandezza e una centralina in una specificata settimana
Vista la lentezza nello sviluppo molte pagine sono state abbandonate e ci si è concentrati sulla
realizzazione delle prime cinque tra quelle dedicate alla visualizzazione dati, in quanto si è ritenuto
che potessero bastare per una semplice consultazione, mentre le pagine momentaneamente
ignorate forniscono per la maggior parte dati riepilogativi che possono essere trascurati in una fase
iniziale.
4
PROGETTO
Architettura di progetto
Struttura del database del sistema
5
Struttura del sito
Il sito da realizzare deve avere sostanzialmente una struttura gerarchica, anche se link inseriti
all’interno delle pagine possono “rompere” tale struttura.
6
Disegno di dettaglio
Modalità di interazione con il database
È necessario definire per ogni pagina di consultazione dati la modalità di interazione con il
database. Poichè le pagine sono simili tra loro, si possono schematizzare i procedimenti in un unico
flow chart.
L’interazione sopra riportata viene ripetuta ad ogni caricamento della pagina; in questo modo, se
per qualche ragione non è stato possibile contattare il database, tramite un caricamento
supplementare si può tentare di ovviare a tale errore.
Per minimizzare l’utilizzo di risorse, l’accesso al database va effettuato in modalità non
connessa. Inoltre, per motivi di sicurezza, tutte le richieste sono effettuate tramite viste o
procedure, utilizzando il sistema di parametri fornito da Sql Server.
Pagine di informazione
Le pagine di informazione sono sostanzialmente statiche, anche se è possibile che vengano
aggiornate di tanto in tanto, perciò si è scelto di ometterle dalla parte di programmazione in
quanto non utilizzano algoritmi complessi o di interazione con il database.
7
Pagina master
Per la pagina master non è stata effettuata una vera e propria progettazione. Qui sono comunque
riportate le strutture adottate e le ragioni per cui sono state scelte.
Si è deciso di creare un menu a tendina con una posizione fissa in cima alla pagina per dare
accesso rapido a tutte le pagine del sito. Per far fronte ad eventuali problemi di compatibilità che
portano alla scomparsa delle tendine, è possibile cliccare sull’elemento padre per accedere ad
una pagina contenente un elenco puntato con gli elementi della tendina (vedi figure sotto).
Gli altri elementi che compongono la pagina master sono:

Footer: una barra che rimane fissa in fondo alla pagina e sempre visibile; per il momento
contiene l’anno corrente ed il nome del progetto, ma è possibile che siano aggiunti la
versione del sito e i crediti.

Header: un’immagine del logo Garden of Things, che è possibile nascondere tramite scroll
se il contenuto della pagina caricata supera le dimensioni della finestra.

Content: un pannello semitrasparente, all’interno del quale risiede il ContentPlaceHolder,
una sorta di tag “segnaposto” caratteristico della tecnologia ASP.NET, in cui appariranno
i contenuti della pagina caricata.
Lo sfondo della pagina master è stato reso statico, in modo da prevenire distorsione o spazi
bianchi in caso di zoom/scroll della pagina.
Tutti gli elementi che compongono la pagina master sono stati stilizzati tramite codice css, salvato
in un file con estensione omonima legato alla pagina master tramite un tag “link”all’interno
della head della pagina.
8
REALIZZAZIONE
La parte di codifica del sito web è descritta solo dal momento in cui sono state stabilite le
specifiche finali, poichè il lavoro svolto prima è trascurabile, in quanto non ha portato risultati
particolarmente utili.
Programmazione
La classe 5°E è stata suddivisa in gruppi di 3-4 studenti. Di questi, 5 gruppi con il compito di
realizzare e testare una pagina ciascuno, un sesto con il compito di progettare la pagina master e, a
lavoro completato, di unire tutte le pagine. I rimanenti studenti hanno avuto il compito di scrivere
la documentazione da pubblicare nel blog del progetto.
Pagine di visualizzazione dati
Poichè tutte le pagine di visualizzazione dati hanno un discreto ammontare di codice c#, richiesto
per l’accesso al database e i relativi controlli, si è deciso di creare pagine con code behind.
Tramite questa opzione è possibile inserire il codice c# in un file separato dalla parte
HTML/ASP.NET, così da rendere i due codici più facili da leggere e comprendere. Il file di code
behind (estensione “.cs”) di una pagina ASP.NET è collegato al file “.aspx” tramite l’attributo
“CodeFile” inserito automaticamente alla prima riga quando si crea una pagina con code behind.
Pagina master
Poichè questa è una documentazione di carattere generale, non sono riportate parti di codice, ma
solo la spiegazione del perchè si è deciso di effettuare certe decisioni. Le motivazioni possono
essere consultate nella sezione “Disegno di Dettaglio”.
Per la realizzazione della pagina master si è deciso di unificare il layout dei siti prodotti nella prima
parte dell’anno, aggiungendo migliorie ideate o trovate dagli studenti che si sono dedicati a tale
compito. Il risultato finale è riportato nello screenshot sottostante.
9
Test
Utilizzando un database riempito con dati fittizi, generati tramite un programma realizzato da
un’altra classe, è stato possibile effettuare test delle varie pagine in parallelo con il loro sviluppo.
Per quando riguarda la pagina master, sono stati effettuati test con i seguenti browser:

Google Chome

Mozilla Firefox

Internet Explorer
Purtroppo, da alcuni test è stata rilevata la presenza di problemi a cui non si è ancora trovata una
soluzione, che consistono nella sparizione delle tendine del menu e nella scomparsa del pannello
semi-trasparente. I problemi sembrano verificarsi solo quando si accede al sito installato nel server
con IIS, mentre non si presentano durante un normale debug di Visual Studio.
Integrazione e test del sistema
Quando le pagine di visualizzazione dati sono state completate, la classe ha abbandonato il
progetto; ultimarlo è stato compito dei quattro alunni che lo hanno continuato tramite i corsi
pomeridiani. La fase di integrazione delle varie pagine in un unico sito web è stata più complicata
del previsto, e siccome alcune di esse non seguivano le specifiche imposte, è stato necessario
ridisegnarle quasi da zero. In questa fase, si è rivelato molto importante il programma di
simulazione, che ha permesso test accurati sulle pagine che sono state riprogrammate.
Rilascio del prodotto (release) e collaudo
Il prodotto deve ancora essere ultimato, ma nel frattempo è sotto collaudo presso l’ITA Garibaldi,
dove è possibile effettuare test più o meno accurati servendosi dei dati reali rilevati dai sensori. Tali
test, per il momento, sono stati affidati solamente a coloro che hanno preso parte al progetto, si
ritiene però che non sarà complicato imparare ad utilizzare il sito per i dipendenti dell’ITA
Garibaldi non esperti in campo informatico.
Avviamento
Siccome il sistema di acquisizione deve essere ancora ultimato, non è opportuno affermare che il
sito web è già entrato in funzione. Inoltre, al momento della stesura di questa documentazione, è
possibile accedervi solo tramite la rete privata dell’ITA Garibaldi, e non tramite Internet.
Manutenzione
Si prevede una manutenzione evolutiva nell’anno scolastico successivo e possibilmente anche
durante l’estate, per l’aggiunta di funzioni al sistema e al sito.
10
FONTI

Blog del progetto: http://giardinoitt.altervista.org/
CREDITI
Persone che hanno collaborato al progetto:

Classe 5°E dell’ITT B. Pascal, in particolare: Facciani Enrico, Tentoni Daniele, Tono Thomas
e Tumedei Gianni, che hanno partecipato ai corsi pomeridiani.

Professori che hanno allestito i corsi pomeridiani, in particolare: Serri Mauro, per le
specifiche riguardanti le di consultazione, e Zabberoni Vanna, per aver seguito gli studenti
durante lo sviluppo di tutto il sito.
11