You are on page 1of 67

UNIVERSIT DEGLI STUDI DI TRIESTE

FACOLT DI INGEGNERIA
Corso di Laurea in Ingegneria Informatica

Tesi di Laurea in Sistemi Informativi A.A. 2010-2011

ANALISI E PROGETTAZIONE DI UNAPPLICAZIONE WEB PER LA GESTIONE DEI PROGETTI DESAME

Relatore:" " " " Prof. Fulvio Sbroiavacca"

" "

" "

" "

Laureanda: Roberta Marsetti

UNIVERSIT DEGLI STUDI DI TRIESTE

FACOLT DI INGEGNERIA
Corso di Laurea in Ingegneria Informatica

Tesi di Laurea in Sistemi Informativi A.A. 2010-2011

ANALISI E PROGETTAZIONE DI UNAPPLICAZIONE WEB PER LA GESTIONE DEI PROGETTI DESAME

Relatore:" " " " Prof. Fulvio Sbroiavacca"

" "

" "

" "

Laureanda: Roberta Marsetti


3

Sommario

Introduzione poetica! Introduzione tecnica!


Obiettivi" Metodologie utilizzate"

8 9
9 10

I Sistemi Informativi!
Ingegneria del Software" Modelli per lo sviluppo del software" Ruoli nel modello a cascata"

11
11 12 12

Strumenti!
Unied Modeling Language (UML)" Processo unicato di sviluppo del software" Struttura di UML" Le viste"
Use case view! Design view! Implementation view! Process view! Deployment view!

13
13 13 14 14
14 14 14 15 15

I diagrammi UML"
Casi duso! Diagrammi delle classi! Diagrammi degli oggetti! Diagrammi di collaborazione! Diagrammi di sequenza! Diagrammi delle attivit! Diagrammi di stato! Diagrammi sici!

15
15 16 16 16 17 17 17 17 4

Diagrammi dei componenti! Diagrammi di deployment!

17 17

Analisi e progettazione dellapplicazione!


Obiettivi" Che cos un progetto desame" Requisiti espressi in linguaggio naturale" Casi duso" Diagramma delle classi" Diagramma di collaborazione" Pattern MVC" Diagramma di attivit" Diagramma di stato" Diagramma dei componenti"

18
18 18 20 21 24 25 25 26 27 28

Progettazione della base di dati!


Analisi dei requisiti" Operazioni previste sulla base di dati" Strutturazione dei requisiti" Progettazione concettuale" Progettazione logica" Traduzione verso il modello relazionale"

29
29 29 32 34 47 53

Strumenti per lapplicazione web!


Framework JavaScript" Prototype framework" JSON"

54
54 54 55

E-book!
E-book in Ateneo"

56
58

Conclusione tecnica!
Obiettivi raggiunti" Evoluzioni possibili"

61
61 61
5

Conclusione poetica! Bibliograa!

62 64

Introduzione poetica
La condivisione ci che unisce gli esseri umani, comunicare ci che si impara n dalla prima lacrima appena si vede il mondo, e tutto ci che sta attorno a noi ci manda dei segnali che noi ricordiamo, cataloghiamo, anche solo nei nostri ricordi senza nemmeno rendercene conto, e poi le immagini riaforano nei sogni, mescolate e confuse, o forse in un ordine che non sappiamo decifrare, riaforano nei nostri racconti, sempre cos reali eppure cos inventati e colorati di colori immaginari e gure mitiche mitologiche mitigate dalle nostre esperienze, speranze e dolci volont. Ogni cosa con cui veniamo a contatto lascia un segno e questo viene in un modo e nellaltro registrato, ma ci sono cose che per un motivo o laltro vogliamo registrare in modo preciso, esatto, migliore di un vago ricordo, eventi e situazioni che sappiamo ci serviranno in futuro, per ottenere una graticazione, un lavoro, uno svago migliore, forse un amore.Catalogare esperienze e ricordi, ecco cosa ci insegnano n da piccoli, a scuola, quando impariamo a memoria di quel passero che da solo sopra una torre antica guarda tutti gli altri volare e non si cal dallegria, riempire spazi con le informazioni giuste e non mescolare tutto come in un gigantesco brodo pieno di ingredienti che nessuno sa bene quali siano. Ricordare e ripetere, condividere con altri quello che impariamo e vediamo, sommersi da libri, quaderni, fogli, alcuni pi leggeri, altri cos pesanti e non solo per la loro mole, penne pennarelli acquerelli pennelli quaderni ad anelli, questo il mondo cartoleria di un bambino e di uno studente, colori che si mescolano che non stanno bene insieme che si ricaricano che niscono, e cos tante cose buttate via, perdute, accartocciate bruciate mangiucchiate, ore di fatica apparentemente sublimate. Correre dietro ai ricordi uno sport molto praticato, di qualunque tipo essi siano, pare che gli umani li adorino, fritti, in padella, bolliti o in salamoia, non se ne fanno scappare uno, poi li raccontano li rigirano, li conservano in piccoli cassettini di vetro come fossero gioielli inestimabili, e questi luccicano ti guardano ma a volte sono furbi e scappano, e mai pi si ritrovano. La condivisione uno dei metodi migliori per salvare i ricordi, essi cos si duplicano, molte persone li vedono, li riconoscono, ed essi cos non possono pi scappare e nascondersi senza che nessuno prima o poi li trovi, li acchiappi e li riporti al loro posto. Alcuni ricordi si scrivono, come appunti a scuola o alluniversit, e ritrovarli e rileggerli pu essere importante per la carriera scolastica e lavorativa di qualcuno, cos si devono sviluppare strumenti per la condivisione di essi e divulgarli il pi possibile, perch da soli nella propria stanza si ricava molto meno che uscendone, anche solo virtualmente, per incontri con menti altrui e le loro conoscenze.
8

Introduzione tecnica
Questa tesi si occupa della progettazione di unapplicazione per la gestione dei progetti desame del corso di Sistemi Informativi. Prima di arrivare al progetto vero e proprio viene fatta una panoramica sui Sistemi Informativi, sui loro componenti, sullingegneria del software e sulle fasi di analisi dei requisiti e progettazione che precedono limplementazione di un progetto. Inne viene fatta una breve digressione sugli e-book e sul loro possibile utilizzo e integrazione nellapplicazione. Obiettivi Lo scopo di questa tesi la progettazione di unapplicazione la quale possa gestire i progetti desame del corso di sistemi informativi, con la progettazione di un database il quale gestisca i progetti desame che vengono caricati dagli studenti, in modo che essi possano essere consegnati al docente prima dellesame e consultati da esso in qualunque momento, cosicch il giorno dellesame lo studente non debba portare il suo progetto ma esso sia accessibile direttamente da qualunque computer. Inoltre questa applicazione d anche la possibilit agli studenti di caricare appunti e al docente di caricare materiale didattico, e alcuni progetti hanno la possibilit di essere visti allesterno in modo che servano da esempio per gli studenti che ancora non hanno caricato il loro progetto. Quindi riassumendo gli obiettivi sono: semplicare la comunicazione studente-docente migliorare lo scambio di informazioni studente-studente e studente-docente attuare un controllo da parte del docente della qualit del materiale archivio ordinato dei progetti desame di tutti gli anni consultazione progetti desame migliori da parte degli studenti catalogo studenti che hanno sostenuto lesame materiale online disponibile agli studenti

Metodologie utilizzate Si parte dallanalisi dei requisiti di questa applicazione, prima essi vengono espressi in linguaggio naturale attraverso delle interviste fatte agli utenti del sistema nale, in questo caso gli studenti e il docente, si prosegue poi attraverso luso del linguaggio UML alla denizione delle funzionalit del sistema, inne viene progettato il database per il quale stato scelto il modello relazionale. Quindi le metodologie utilizzate sono: interviste e analisi sul campo per ottenere i requisiti in linguaggio naturale denizione degli Use Case Diagram diagramma delle classi diagramma di collaborazione diagramma di attivit diagramma di stato diagramma dei componenti progettazione della base di dati (modello relazionale) scelta del linguaggio di programmazione

10

I Sistemi Informativi
La denizione del Sistema Informativo di una organizzazione richiede lidenticazione di una missione e degli obiettivi, delle risorse disponibili, i processi di gestione delle risorse. Un processo un insieme di attivit tra loro correlate e nalizzate alla realizzazione di un risultato denito e misurabile, che coinvolge pi risorse ed attraversa pi ruoli e strutture. I processi si dividono in operativi, di controllo e direzionali. Lautomatizzazione dei sistemi informativi ha portato allautomatizzazione di tali processi. In un sistema informativo necessario stabilire quali tipologie di dati e di attivit devono essere trattati: in primo luogo si devono identicare le informazioni da produrre, con laiuto dei destinatari delle stesse, al ne di soddisfare le loro necessit. Il complesso delle informazioni e quindi dei valori che rappresentano lo stato dellimpresa detto sistema delle informazioni, il quale comprende le combinazioni economiche che si svolgono nellimpresa e le logiche e i metodi adottati per rappresentare tali combinazioni economiche. Il sistema informativo tratta quindi la produzione di un sistema di informazioni che rappresenta le combinazioni economiche dellimpresa. Il sistema informativo si pu quindi denire come quel complesso di elementi che nellimpresa rileva in modo sistematico e organizzato le combinazioni economiche che si manifestano, utiizzando la tecnologia pi appropriata ed applicando logiche e metodi suggeriti per le diverse clessi dei fenomeni aziendali dalle discipline di economia aziendale. Ingegneria del Software Prima dellintroduzione dellingegneria del software (SWE) i tipici problemi erano i tempi di consegna, molto spesso non rispettati e non prevedibili, i costi di produzione con i quali bisognava a vere a che fare e mai esattamente certi no alla ne del progetto, i bisogni dellutente che devono essere chiari in modo che non vengano creati prodotti funzionanti ma nn consoni alle aspettative elle necessit del cliente, che nascono spesso da unerrata comunicazione tra cliente e produttore, la scarsa afdabilit dovuta a errori non trovati in fasi di progettazione e sviluppo, e la rigidit dei sistemi, che si crea in fase di progettazione. Infatti un prodotto software viene acquistato se i beneci che produrr saranno maggiori ai costi di acquisto. Il ciclo di vita di un prodotto software parte dallo sviluppo, poi alla consegna, inne allutilizzo e alla manutenzione che pu essere migliorativa, correttiva, adeguativa (dellhw, con nuove tecnologie ad esempio), evolutiva e ordinaria (nuove norme). Automatizzare
11

una parte del sistema informativo al cliente signica fotografare la realt informativa della sua organizzazione (analisi del usso dellinformazione) e immetterne la logica in un calcolatore: questo il software. Modelli per lo sviluppo del software Per sviluppare software ci sono della fasi da seguire, ed esse sono lanalisi della realt dalla quale si ricavano i requisiti, poi la progettazione, da cui si ricavano le speciche e inne la realizzazione del sistema.

Figura 1: Modello a cascata

Ruoli nel modello a cascata Il committente colui che richiede il prodotto e lo paga, il prodotto in s, lutente che colui che usa materialmente il prodotto, e inne il fornitore che lo produce

12

Strumenti
Unied Modeling Language (UML) molto utile un approccio visuale alla progettazione, poich servono gure e diagrammi per visualizzare un sistema sw anche se il prodotto nale che risulta dalla progettazione non necessariamente visuale. Vi sono molti vantaggi nelluso di diagrammi nella fase di progettazione, il progettista deve decidere quali caratteristiche sono rilevanti per il sistema che sta costruendo, inserirle nel modello e denire le relazioni tra gli elementi del modello. Ci sono diversi tipi di relazioni da considerare: strutturali, temporali, causa-effetto, organizzative ed evolutive. UML un linguaggio di modellazione visuale, uno strumento per analisti e progettisti di sistemi orientati agli oggetti che consente di modellare, rappresentare e documentare sistemi software. Non un linguaggio di programmazione, non uno strumento di case. Vi sono strumenti di case che possono generare codice in diversi linguaggi a partire da modelli UML, scrivono la struttura a oggetti e poi mano a mano si implementano i moduli, ma UML non una metodologia di sviluppo del software. UML un linguaggio, un insieme di elementi e di regole, di speciche formali. Gli elementi sono forme grache (linee, rettangoli, etc.) che rappresentano ci che si sta modellando. Le regole che spiegano come combinare gli elementi sono di tre tipi: sintassi astratta, regole sintattiche, semantica. Processo unicato di sviluppo del software UML un linguaggio che ha lo scopo di denire in modo formale un sistema. Gli sviluppatori di UML hanno messo a punto per gli sviluppatori di sistemi anche un modo di procedere nel processo di sviluppo usando UML: il processo unicato di sviluppo del software (USDP). Il processo unicato coinvolge persone, progetti, strumenti, processi, prodotti: i partecipanti e gli sviluppatori coinvolti nel progetto di sviluppo di un sistema seguono un determinato processo usando strumenti di ausilio nello sviluppo generando prodotti software. Il processo parte dai requisiti dellutente, che vengono raccolti nei cosiddetti casi duso, delle sequenze di esecuzione del sistema in grado di fornire un valore allutente. Dai casi duso gli sviluppatori producono i modelli del sistema e le implementazioni che lo realizzano.

13

I prodotti intermedi del processo sono i modelli (astrazioni delle caratteristiche del sistema). Ogni modello denisce il sistema da un certo punto di vista: dei casi duso, di analisi, di progetto, di deployment, di implementazione, di test. Struttura di UML Gli elementi fondamentali della sua struttura sono le viste, che mostrano i differenti aspetti di un sistema, i diagrammi, che esprimono le viste logiche per mezzo di graci, gli elementi del modello, concetti che permettono di realizzare i vari diagrammi. Le viste Si possono individuare cinque tipi di viste: use case view design view process view implementation view deployment view
Use case view

Serve per analizzare i requisiti utente: che cosa il sistema dovr fare. Vista ad alto livello, guida lo sviluppo delle rimanenti, stabilisce le funzionalit che il sistema dovr realizzare, funzionalit individuate insieme al cliente.
Design view

Descrive come le funzioni devono essere realizzate. Si analizza il sistema dallinterno, la sua struttura statica (diagramma delle classi e degli oggetti) e la sua struttura dinamica.
Implementation view

Descrive come il codice contenuto nelle classi viene aggregato in moduli (package) e le relative interdipendenze.

14

Process view

Serve per analizzare gli aspetti non funzionali del sistema e individuare i processi, per un uso efciente delle risorse.
Deployment view

Mostra larchitettura sica del sistema e lubicazione delle componenti software in esso. I diagrammi UML Sono dei graci che visualizzano una particolare proiezione del sistema analizzato da una specica prospettiva. Ci sono varie tipologie di diagrammi: use case diagram class diagram object diagram sequence diagram collaboration diagram statechart diagram activity diagram component diagram deployment diagram Non sono sempre da fare tutti, il progettista sceglie di volta in volta quali fare e quali no.
Casi duso

Ottimo strumento per ottenere una visione dinsieme del sistema che si sta analizzando, importanti nelle prima fasi del progetto. Rappresentano una vista esterna (utilizzatore) del sistema e sono nalizzati a modellare il dialogo tra utilizzatore e sistema: descrivono linterazione tra attori e sistema, sono espressi in forma testuale, sono deniti a livelli diversi (per tutto il sistema o solo per alcune sue parti), descrivono le modalit di utilizzo del sistema da parte degli utilizzatori. Lattore un utilizzatore del sistema (un essere umano oppure un altro sistema) che interagisce con i casi duso. Il nome di un attore identica il suo ruolo, non il suo incarico. Il caso duso invece una particolare modalit
15

di utilizzo del sistema. Tra caso duso e attore esiste una relazione, che indica lesistenza di unassociazione tra un attore e un caso duso. Ogni caso duso costituisce una sequenza di attivit che generano un risultato per lattore che con esso interagisce. La sequenza di attivit viene descritta in una specica comportamentale che pu essere un diagramma o istruzioni in un linguaggio di programmazione. Normalmente viene prodotta una specica informale nelle forma di descrizione del caso duso. La descrizione dei casi duso non ha una sintassi formale a differenza di altri diagrammi UML. Di solito ci si comporta cos: si fa una descrizione della sequenza di attivit che si verica nel caso duso e su due colonne si identicano le attivit compiute dallattore e le risposte del sistema a tali attivit. Per produrre i casi duso nelle prime fasi il progettista-analista lavora su appunti e trascrizioni di interviste. Il processo di analisi e denizione dei casi duso avviene per fasi: si deniscono attori e casi duso, si organizzano secondo ordine di priorit i casi duso, si sviluppa ciascun caso duso secondo priorit, si struttura il modello dei casi.
Diagrammi delle classi

Rappresentano le classi e gli oggetti, con i relativi attributi ed operazioni, che compongono il sistema. Lobiettivo visualizzare la parte statica del sistema, Specica mediante associazioni i vincoli che legano tra loro le classi.
Diagrammi degli oggetti

Come il diagramma delle classi solo che i nomi degli oggetti vengono sottolineati e le relazioni vengono dettagliate. Mentre il diagramma delle classi sempre valido, un diagramma degli oggetti rappresenta unistantanea del sistema. Usato per esemplicare diagrammi delle classi.
Diagrammi di collaborazione

Modellano il comportamento dinamico del sistema. Specica gli oggetti che collaborano tra loro in un certo scenario. Evidenziati i legami tra oggetti.

16

Diagrammi di sequenza

Evidenziano il modo in cui uno scenario viene risolto dalla collaborazione tra un insieme di oggetti. Specicano la sequenza dei messaggi scambiati tra gli oggetti . Evidenziano lordine temporale dello scambio di messaggi.
Diagrammi delle attivit

Rappresentano sistemi di workow, la logica interna di un processo a diversi livelli, processi paralleli e la loro sincronizzazione. Caso particolare del diagramma di stato in cui ogni stato unattivit.
Diagrammi di stato

Specicano il ciclo di vita degli oggetti di una classe e deniscono le regole che lo governano. Un oggetto in un certo stato pu essere interessato da vari eventi (e non altri) e un evento pu far passare loggetto a un nuovo stato. Modella la parte dinamica del sistema.
Diagrammi sici

Si suddividono in:
Diagrammi dei componenti

Organizzano ed evidenziano lorganizzazione delle componenti e le dipendenze tra le stesse. I componenti sono moduli software con unidentit e uninterfaccia ben specicata. Possono essere raggruppati in package. Vita statica del sistema.
Diagrammi di deployment

Rappresentazione dellarchitettura sica del sistema, hw e sw a diversi livelli di dettaglio. Illustra gli elementi sici del sistema e i moduli sw da installare su ognuno di essi (computer, reti, device sici).

17

Analisi e progettazione dellapplicazione


Il progetto rientra nellambito dellorganizzazione del corso di Sistemi Informativi 1 dell Universit degli Studi di Trieste. Il sistema vuole fornire agli studenti la possibilit di avere un interscambio con il docente e con gli altri studenti tramite Internet, attraverso unapplicazione la quale permette agli studenti di caricare i loro progetti destinati allesame di Sistemi Informativi in modo che essi siano disponibili online e possano essere consultati da altri studenti e dal professore, sia prima che durante che dopo lo svolgimento dellesame stesso. Inoltre tale applicazione consentir anche lo scambio di appunti tra gli studenti e la condivisione del materiale didattico fornito dal docente. Obiettivi Obiettivo di questo lavoro la progettazione di una applicazione che agevoli la comunicazione tra docente e studenti e fornisca anche un deposito di progetti relativi agli esami consultabile da ogni studente in qualunque momento. Lapplicazione vuole anche permettere agli studenti di caricare in rete i loro appunti e condividerli con gli altri studenti, supportando anche uno spazio per lasciare i propri contatti in modo da incoraggiare lo scambio di informazioni tra le persone interessate al corso sia che abbiano gi sostenuto lesame sia che debbano ancora sostenerlo. Inoltre al momento dellesame lo studente non dovr portare con s lelaborato richiesto dal docente sul quale si baser la discussione ma dovr semplicemente caricarlo su tale applicazione agevolando cos anche eventuali controlli e revisioni precedenti da parte del docente. Che cos un progetto desame Per poter realizzare il progetto di unapplicazione che gestisce i progetti desame si rende necessario prima chiarire quale genere di progetti vengono richiesti per sostenere lesame di Sistemi Informativi 1. L esame consta in una prova orale, durante la quale viene discusso un progetto approntato individualmente dallo studente. Il progetto consiste nella elaborazione di un lavoro di dimensione corrispondente a quanto visto a lezione, nelle Esercitazioni. Viene proposto un progetto tipo, estensione dellEsercitazione Pianicazione di un progetto, lo studente pu scegliere tra vari tipi di progetti:

18

Progetto A, realizzazione della pianicazione delle attivit per il progetto Pianicazione di un progetto

tipo

utilizzando il prodotto Project, corrispondentemente a quanto visto nellEsercitazione Progetto B, calcolo dei Function Point per il progetto tipo, corrispondentemente a quanto visto nellEsercitazione Function Point Analysis Progetto C, raccolta dei requisiti ed analisi per il progetto tipo in UML con realizzazione di diagrammi utilizzando il prodotto Visio, corrispondentemente a quanto visto nel Caso di studio Applicazione di UML. Progetto D, realizzazione del minisito per il progetto tipo utilizzando HTML, corrispondentemente a quanto visto nellEsercitazione HTML e minisito Progetto E, realizzazione di analisi OLAP sul data warehouse del progetto tipo utilizzando il prodotto Excel, corrispondentemente a quanto visto nellEsercitazione Data Warehouse oppure svolgere un progetto a sua scelta, di caratteristiche e dimensioni corrispondenti

19

Requisiti espressi in linguaggio naturale La raccolta di requisiti del sistema da realizzare stata effettuata per mezzo di interviste sul campo degli utenti che andranno poi ad utilizzare il sistema. Da queste interviste stato stabilito che gli utenti che possono accedere a questo servizio sono gli studenti, non solo dellAteneo triestino ma di qualunque Ateneo, in modo da poter ampliare i lavori svolti a Trieste con altre esperienze provenienti dal resto del mondo, per favorire lo scambio di informazioni e materiale tra studenti di diverse citt. stato inoltre stabilito che ogni utente prima di accedervi deve autenticarsi, e lautenticazione viene fatta tramite iscrizione al sito: lo studente devo fornire nome, cognome, numero di matricola, nome dellAteneo che frequenta, facolt e corso di laurea, indirizzo email valido, il sistema poi gli chiede di scegliere una password e un username con i quali egli potr accedere allapplicazione e potr godere quindi di certi privilegi. Uno studente ha la possibilit di caricare il proprio progetto desame e accedere ad alcuni progetti di esempio, i quali vengono scelti dallamministratore del sito che nel nostro caso il docente, il quale lunico a poter accedere a tutti i progetti caricati, mentre gli studenti possono accedere solo al proprio progetto e a quelli che lamministratore decide di rendere visibili a tutti. Ogni studente ha la possibilit di caricare suoi appunti personali e questi sono visibili a tutti ma solo lamministratore o lo studente che li ha caricati pu modicarli o toglierli dallapplicazione, per gli altri sono disponibili in sola lettura. Il materiale didattico riguardante le lezioni non creato dagli studenti viene invece fornito dal docente stesso, che lo carica in una parte dellapplicazione e lo rende disponibile a tutti, ma lunico in grado di modicarlo o eliminarne/aggiungerne delle parti.

20

Casi duso I casi duso costituiscono un ottimo strumento per ottenere una visione dinsieme del sistema che si sta analizzando e sono quindi importanti nelle prime fasi del progetto. I casi duso rappresentano una vista esterna (utilizzatore) del sistema e sono nalizzati a modellare il dialogo tra utilizzatore e sistema: descrivono linterazione tra attori e sistema, non la "logica interna" della funzione sono espressi in forma testuale, comprensibile anche per i non "addetti ai lavori" possono essere deniti a livelli diversi (sistema o parti del sistema) rappresentano le modalit di utilizzo del sistema da parte di uno o pi utilizzatori (attori) Ragionare sui casi duso aiuta a scoprire i requisiti funzionali: i casi duso possono essere un valido ausilio nel dialogo con lutente ed in generale con esponenti non tecnici del progetto. Il caso duso una particolare modalit di utilizzo del sistema. Ogni caso duso costituisce una sequenza di attivit che generano un risultato per lattore che con esso interagisce. La sequenza di attivit viene descritta in una specica comportamentale, che pu consistere in un diagramma di sequenza, o di collaborazione, o di stato, oppure in istruzioni di un linguaggio di programmazione. Normalmente viene prodotta una specica informale nella forma di descrizione del caso duso. In seguito proponiamo il diagramma dei casi duso in particolare per il nostro progetto e in seguito la descrizione dei casi duso.

21

Figura 2: Diagramma dei casi duso

22

23

Diagramma delle classi I diagrammi delle classi rappresentano le classi e gli oggetti, con i relativi attributi ed operazioni, che compongono il sistema. Lobiettivo di tali diagrammi visualizzare la parte statica del sistema. Il diagramma delle classi specica, mediante le associazioni, i vincoli che legano tra loro le classi. Pu essere denito a diversi livelli (analisi, disegno di dettaglio). Pu rappresentare diverse tipologie di oggetti (boundary, control, entit ...).

Figura 3: Diagramma delle classi

24

Diagramma di collaborazione Il diagramma di collaborazione modella il comportamento dinamico del sistema. Il diagramma di collaborazione specica gli oggetti (ed i messaggi che questi si indirizzano) che collaborano tra loro in un certo scenario. Vengono evidenziati i legami tra gli oggetti, la sequenza dei messaggi viene specicata nel diagramma di sequenza. Pattern MVC Lo schema di progettazione MVC (Model-View-Controller) un metodo di progettazione delle applicazioni web comunemente utilizzato. In termini semplici separa la presentazione dellapplicazione dalla logica dellapplicazione corrispondente. Le tre parti dello schema funzionano come descritto in seguito: Modello: rappresenta la logica dellapplicazione. Esegue la parte pi importante del lavoro dellapplicazione, come linterazione con il database, lelaborazione delle transazioni. In questa applicazione corrisponde agli script PHP localizzati nel server. Visualizzazione: rappresenta linterfaccia utente. Nel caso di questa applicazione, si tratta di codice HTML, elementi DOM (Document Object Model) ed i fogli di stile. Controller: unisce la visualizzazione al modello, il che signica che risponde agli eventi, come nel caso in cui lutente invii un form web, potenzialmente aggiornando lo stato dellapplicazione con il modello. In questa applicazione il caso del codice JavaScript e del framework Prototype.

Figura 4: Parti dello schema MVC in unapplicazione web comune

25

Diagramma di attivit Il diagramma di attivit rappresenta sistemi di workow, la logica interna di un processo a diversi livelli (di business, di dettaglio). Anche se dissimili nellaspetto sono levoluzione dei familiari ow chart, e, come tali, si occupano di evidenziare il usso di attivit. Permette la rappresentazione di processi paralleli e della relativa sincronizzazione. Il diagramma di attivit un caso particolare del diagramma di stato nel quale ogni stato uno stato di attivit.

Figura 5: Diagramma di attivit

26

Diagramma di stato ll diagramma di stato specica il ciclo di vita degli oggetti di una classe e denisce le regole che lo governano. Quando un oggetto in un certo stato pu essere interessato da determinati eventi (e non altri), un evento pu far passare loggetto ad un nuovo stato (transizione). Il diagramma di stato mostra un automa a stati niti, pertanto costituito da stati, transazioni, eventi e attivit. Viene utilizzato principalmente come completamento della descrizione delle classi. Si occupa di modellare la parte dinamica del sistema, e viene utilizzato per illustrare in dettaglio il comportamento delle sole classi che possono transitare per gli elementi di un ben denito insieme di stati.

Figura 6: Diagramma di stato

Un progetto quando viene caricato automaticamente settato come privato, ovvero lo possono vedere solamente il proprietario che lo ha caricato e il docente, in seguito il docente dopo la consultazione potr decidere se renderlo pubblico agli altri studenti o meno. Il proprietario pu comunque cancellarlo in qualsiasi momento e analogo vale per il docente. Rimane comunque traccia di ogni cancellazione e consultazione.

27

Diagramma dei componenti Il diagramma dei componenti evidenzia lorganizzazione delle componenti e le dipendenze tra le stesse. I componenti sono moduli software, dotati di identit e con uninterfaccia ben specicata. I componenti possono essere raggruppati in package (come a livello logico le classi). Il diagramma dei componenti utile nel rappresentare la vista statica del sistema ed pertanto strettamente connesso al diagramma delle classi.

Figura 7: Diagramma dei componenti

Nel nostro caso i componenti in gioco sono il Data Base Server, nel quale vengono memorizzati i progetti, gli appunti e il materiale didattico e i dati su di esso, ogni progetto non esisterebbe se non fosse per lo studente o il docente che lo caricano, in egual modo gli appunti, mentre il materiale didattico pu essere caricato solo dal docente. Il client vedr un form nel quale inserire i dati relativi al progetto ma non relativi a se stesso, poich per inserire un progetto bisogna essere gi iscritti e aver effettuato laccesso, di conseguenza lidentit di chi inserisce gi nota al sistema.

28

Progettazione della base di dati


Si vuole realizzare una base di dati per la gestione di progetti desame, appunti e materiale didattico. Analisi dei requisiti Lanalisi dei requisiti comprende attivit interconnesse di acquisizione dei requisiti, organizzazione delle informazioni e costruzione del glossario. Le possibili fonti sono gli utenti, che vengono interpellati mediante interviste o documentazione apposita, e la documentazione gi esistente, come normative, regolamenti interni, procedure aziendali o realizzazioni preesistenti. Il reperimento dei requisiti difcile e non standardizzabile, tale analisi inizia coi primi requisiti raccolti e spesso indirizza verso altre acquisizioni. Utenti diversi possono fornire informazioni diverse, ad esempio utenti a livello pi alto hanno una visione pi ampia ma meno dettagliata, quindi lacquisizione dei requisiti viene fatta per rafnamenti successivi. Vanno effettuate molte veriche di comprensione e coerenza, si devono richiedere denizioni e classicazioni, anche per mezzo di esempi, e far evidenziare gli aspetti essenziali rispetto a quelli marginali. Dopo aver ottenuto le informazioni necessarie bisogna standardizzare la struttura delle frasi, suddividere le frasi articolate e separare le frasi sui dati da quelle sulle funzioni. Inne si costruisce un glossario dei termini, individuando omonimi e sinonimi e unicando i termini, al termine si riorganizzano le frasi per concetti. Operazioni previste sulla base di dati STUDENTE Inserimento dati studente Cancellazione dati studente Aggiornamento dati studente DOCENTE Inserimento dati docente Cancellazione dati docente
29

Aggiornamento dati docente PROGETTO Inserimento nuovo progetto da parte di uno studente Cancellazione del proprio progetto da parte di uno studente Consultazione del proprio progetto da parte di uno studente Consultazione progetto da parte di un docente Decisione visibilit del progetto da parte di un docente APPUNTI Inserimento appunti da parte di uno studente Consultazione appunti da parte di uno studente Cancellazione appunti da parte di uno studente Cancellazione appunti da parte di un docente Consultazione appunti da parte di un docente MATERIALE DIDATTICO Inserimento materiale didattico da parte di un docente Cancellazione materiale didattico da parte di un docente Consultazione materiale didattico da parte di uno studente ALTRE PROCEDURE Dato il nome di uno studente, restituire tutto il materiale che ha caricato Dato il nome di uno studente, restituire tutti i progetti che ha caricato Dato il nome di uno studente, restituire tutti gli appunti che ha caricato Data una tipologia di progetto, restituire tutti i progetti di tale tipologia Dato un intervallo di date, restituire tutti i progetti caricati in quellintervallo Dato il nome di un Ateneo, restituire tutti gli studenti appartenenti ad esso Data una facolt, restituire tutti gli studenti appartenenti ad essa

30

31

Strutturazione dei requisiti FRASI DI CARATTERE GENERALE Si vuole realizzare una base di dati per la gestione di progetti desame, appunti e materiale didattico. FRASI RELATIVE ALLO STUDENTE Gli utenti che possono accedere a questo servizio sono gli studenti, non solo dellAteneo triestino ma di qualunque Ateneo, in modo da poter ampliare i lavori svolti a Trieste con altre esperienze provenienti dal resto del mondo, per favorire lo scambio di informazioni e materiale tra studenti di diverse citt. Ogni utente prima di accedervi deve autenticarsi, e lautenticazione viene fatta tramite iscrizione al sito: lo studente devo fornire nome, cognome, numero di matricola, nome dellAteneo che frequenta, facolt e corso di laurea, indirizzo email valido, il sistema poi gli chiede di scegliere una password e un username con i quali egli potr accedere allapplicazione e potr godere quindi di certi privilegi. Uno studente ha la possibilit di caricare il proprio progetto desame e accedere ad alcuni progetti di esempio. Gli studenti possono accedere solo al proprio progetto e a quelli che lamministratore decide di rendere visibili a tutti. Ogni studente ha la possibilit di caricare suoi appunti personali, lo studente che li ha caricati pu modicarli o toglierli dallapplicazione. FRASI RELATIVE AL DOCENTE Uno studente ha la possibilit di caricare il proprio progetto desame e accedere ad alcuni progetti di esempio, i quali vengono scelti dallamministratore del sito che nel nostro caso il docente, il quale lunico a poter accedere a tutti i progetti caricati. Ogni studente ha la possibilit di caricare suoi appunti personali e questi sono visibili a tutti ma solo lamministratore o lo studente che li ha caricati pu modicarli o toglierli dallapplicazione. Il materiale didattico riguardante le lezioni non creato dagli studenti viene invece fornito dal docente stesso, che lo carica in una parte dellapplicazione e lo rende disponibile a tutti, ma lunico in grado di modicarlo o eliminarne/aggiungerne delle parti.

32

FRASI RELATIVE AL PROGETTO Uno studente ha la possibilit di caricare il proprio progetto desame e accedere ad alcuni progetti di esempio, i quali vengono scelti dallamministratore del sito che nel nostro caso il docente, il quale lunico a poter accedere a tutti i progetti caricati, mentre gli studenti possono accedere solo al proprio progetto e a quelli che lamministratore decide di rendere visibili a tutti. FRASI RELATIVE AGLI APPUNTI Ogni studente ha la possibilit di caricare suoi appunti personali e questi sono visibili a tutti ma solo lamministratore o lo studente che li ha caricati pu modicarli o toglierli dallapplicazione, per gli altri sono disponibili in sola lettura. FRASI RELATIVE AL MATERIALE DIDATTICO Il materiale didattico riguardante le lezioni non creato dagli studenti viene invece fornito dal docente stesso, che lo carica in una parte dellapplicazione e lo rende disponibile a tutti, ma lunico in grado di modicarlo o eliminarne/aggiungerne delle parti.

33

Progettazione concettuale La progettazione concettuale porta alla realizzazione di uno schema concettuale. Per decidere quale costrutto E-R va utilizzato per rappresentare un concetto presente nelle speciche ci si basa sulle denizioni dei costrutti del modello Entity-Relationship: viene denita unentit se ha propriet signicative e descrive oggetti con esistenza autonoma; un attributo se semplice e non ha propriet; una relazione se correla due o pi concetti; una generalizzazione se un caso particolare di un altro. Diagramma E-R usata una strategia di tipo misto: si parte da uno schema embrionale per poi rafnare e specializzare i concetti sino a giungere allo schema E-R nale.

Figura 8: Schema embrionale

34

Figura 9: Specializzazione dellentit progetto

Un progetto memorizzato nel database dellapplicazione pu essere o meno visibile allesterno, ovvero da tutti gli studenti iscritti. La generalizzazione totale ed esclusiva, un progetto in un dato momento oppure non visibile allesterno e tutti i progetti sono o meno visibili allesterno in un dato momento.
Figura 10: Rafnamento dellentit studente

Uno studente iscritto se ha dato i suoi dati allamministratore e accede allapplicazione con un username e una password decisi dallo studente stesso. Uno studente iscritto pu consultare appunti, materiale didattico, progetti con permessi e caricare del materiale e cancellarlo, mentre uno studente non iscritto pu solo consultare senza caricare nulla.

35

Figura 11: Rafnamento dellentit progetto

Ogni progetto caratterizzato da una sua specica tipologia (tipologie descritte in precedenza) con delle particolari caratteristiche; inoltre ogni progetto ha un suo modo di visibilit, ovvero lo studente pu decidere al momento del caricamento se dare o meno la possibilit allamministratore di rendere in futuro pubblico a tutti il progetto, come esempio per altri studenti, pu anche decidere di permettere che esso diventi eventualmente pubblico solo dopo un certo lasso di tempo dal caricamento, queste modalit sono descritte in modo visibilit.

36

Figura 12: Schema E-R nale

Questo schema E-R nale per diventare uno schema concettuale completo deve essere ancora rafnato aggiungendo gli attributi e le cardinalit, per questo la progettazione concettuale continua con lanalisi delle entit e lanalisi degli attributi e delle cardinalit.

37

38

39

40

41

42

43

44

45

Figura 13: Schema E-R nale con attributi e cardinalit

Arrivati allo schema E_R nale con attribuiti e cardinalit si ottenuto uno schema concettuale completo del nostro progetto. Questo schema necessita di essere ora tradotto in uno schema logico, attraverso la fase di progettazione logica.

46

Progettazione logica Obiettivo della progettazione logica tradurre lo schema concettuale in uno schema logico che rappresenti gli stessi dati in maniera corretta ed efciente. I dati che vengono elaborati in questa fase sono lo schema concettuale, le informazioni sul carico applicativo e il modello logico su cui lavorare. E stato scelto il modello relazionale. Alla ne di questa fase si ottiene, dopo aver ristrutturato lo schema E-R, lo schema logico e la documentazione associata. Non si tratta di una pura e semplice traduzione, poich alcuni aspetti non sono direttamente rappresentabili. Ristrutturazione dello schema E-R La ristrutturazione dello schema E-R comprende: Analisi delle prestazioni Analisi delle ridondanze Eliminazione delle generalizzazioni Partizionamento/accorpamento di entit e relationships Scelta degli identicatori primari

47

Analisi delle prestazioni Lo schema E-R viene ristrutturato per semplicare la traduzione e per ottimizzare le prestazioni. Uno schema E-R ristrutturato non pi uno schema concettuale nel senso stretto del termine. Per ottimizzare il risultato abbiamo bisogno di ottimizzare le prestazioni a questo livello, ma le prestazioni non sono valutabili con precisione su uno schema concettuale. Consideriamo indicatori dei parametri che regolano le prestazioni lo spazio, ovvero il numero di occorrenze previste, e il tempo, ovvero il numero di occorrenze (di entit e relationships) visitate durante unoperazione. Tavola dei volumi Le tavole dei volumi sono costruite sulla base del numero di occorrenze di ogni entit e di ogni relazione dello schema E-R e sulle dimensioni dei relativi attributi, stimando il funzionamento a regime; i volumi sono stimati considerando le cardinalit delle entit coinvolte.

48

Tavola delle operazioni Le tavola delle operazioni riporta le caratteristiche delle operazioni effettuate sulla base di dati; in generale vale la regola dell ottanta-venti: l 80% del carico generato dal 20% delle operazioni.

49

Analisi delle ridondanze Una ridondanza in uno schema E-R uninformazione signicativa ma derivabile da altre. In questa fase si decide se eliminare le ridondanze eventualmente presenti o mantenerle. Le ridondanze hanno il vantaggio di semplicare le interrogazioni, ma la loro presenza appesantisce gli aggiornamenti e porta a una maggiore occupazione di spazio. Nel nostro caso tutti gli attributi data delle relationships sono derivabili dalle entit progetto, appunti e materiale didattico, sono dunque attributi ridondanti e andranno tolti. Eliminazione delle generalizzazioni Il modello relazionale non pu rappresentare direttamente le generalizzazioni. Entit e relazioni sono invece direttamente rappresentabili. Si eliminano perci le gerarchie, sostituendole con entit e relazioni. Ci sono tre possibilit: Accorpamento delle glie nella generalizzazione del genitore Accorpamento del genitore nella generalizzazione delle glie Sostituzione della generalizzazione con relazioni
50

Figura 14: Eliminazione generalizzazione progetto

Partizionamento/accorpamento di entit e relazioni Si tratta di ristrutturazioni effettuate per rendere pi efcienti le operazioni in base a un semplice principio, ovvero che gli accessi si riducono: Separando attributi di un concetto che vengono acceduti separatamente Raggruppando attributi di concetti diversi acceduti insieme I casi principali sono: Partizionamento verticale di entit Eliminazione di attributi multivalore Partizionamento orizzontale di relationship Accorpamento di entit/relationship
51

Nel nostro caso non c necessit di usare laccorpamento o il partizionamento di entit e relationships in quanto non vi sono attributi multivalore o composti e non ci sono altre entit o relazioni che convenga accorpare o separare per avere una riduzione degli accessi. Scelta degli identicatori principali Operazione indispensabile per la traduzione nel modello relazionale, effettuata secondo i seguenti criteri: assenza di opzionalit, semplicit e utilizzo nelle operazioni pi frequenti e importanti. Se nessuno degli identicatori soddisfa i requisiti visti, si introducono nuovi attributi (codici) contenenti valori speciali generati appositamente per questo scopo. Gli identicatori principali identicati nello schema E-R possiedono le seguenti caratteristiche: Non contengono valori nulli in quanto per ogni entit si creato appositamente un attributo (sufsso ID) se uno o pi attributi propri del concetto non avevano le caratteristiche adeguate (possibilit di ripetizione su uno o pi attributi, possibilit di valori nulli che rendono uguali le ennuple della relazione). Sono composti da un unico attributo in modo tale che gli indici siiano di dimensioni ridotte e le operazioni di join siano facilitate. Sono identicatori interni, cio viene usato solo un attributo dellentit e non assieme a relazioni con altre entit. Nel modello relazionale gli identicatori esterni sono tradotti in chiavi che includono gli identicatori delle entit coinvolte nellidenticazione esterna generando cos chiavi con molti attributi.

52

Figura 15: Schema E-R ristrutturato

Traduzione verso il modello relazionale Idea di base: Le entit diventano relazioni sugli stessi attributi Le associazioni (ovvero le relazioni E-R) diventano relazioni sugli identicatori delle entit coinvolte (pi gli attributi propri).

53

Strumenti per lapplicazione web


Lo studio degli strumenti da utlizzare per lapplicazione ha portato alla scelta di PHP come linguaggio Server side e, nella parte client stato scelto il Framework JavaScript Prototype. JavaScript un linguaggio compatibile con la maggior parte dei browser, standard e di facile utilizzo, ma allo stesso tempo orientato agli oggetti. Framework JavaScript Il compito principale di un framework JavaScript quello di porre delle regole precise all'interno del vasto universo di Javascript e di utilizzare un'unica sintassi che valga per qualsiasi browser. Avendo a disposizione delle API ben denite e soprattutto collaudate in una moltitudine di software client, gli sviluppatori non devono pi preoccuparsi della resa cross-browser, ma sono liberi di concentrarsi sulle applicazioni vere e proprie. Gli script stand-alone portano con s il vantaggio di essere pi leggeri rispetto ai framework, con la possibilit di inserire nella pagina solo le funzionalit strettamente necessarie; per contro tuttavia non sono presenti funzionalit avanzate ed una compatibilit cross-browser completa. I framework permettono invece performance di alto livello ed una maggiore scelta di funzionalit pronte per luso. La scelta di non utilizzare un framework PHP motivata da alcune osservazioni: la prima il carico nel client, infatti lapplicazione non deve caricare il browser dellutente di una infrastruttura pesante, la soluzione deve invece premiare una comunicazione veloce con il server e soprattutto un carico client minimale; Ajax, i framework javascript permettono di gestire appieno la comunicazione client-server attraverso il set di API XMLHttpRequest, ed i formati XML e JSON. Prototype framework Prototype un framework JavaScript che si distingue per la stabilit e lottima compatibilit cross browser, inoltre offre supporto per lutilizzo di Ajax e la programmazione orientata agli oggetti in JavaScript, per sfruttare appieno le potenzialit di Web 2.0. In merito laspetto cross browser dellapplicativo, Prototype e Scriptaculous permettono al programmatore di tralasciare le speciche relative la compatibilit con i diversi browser.

54

Protoype estende Javascript nella gestione degli Array, le Classi, gli Eventi applicati agli oggetti e alla pagina, i Form e gli Eventi sui Form, gli Oggetti, i Tipi di dati. Dal sito ufciale di prototype reperibile la documentazione completa delle API. JSON JSON un semplice formato per lo scambio di dati, si basa su un sottoinsieme del Linguaggio di Programmazione JavaScript, Standard ECMA-262 Terza Edizione Dicembre 1999. JSON un formato di testo completamente indipendente dal linguaggio di programmazione, ma utilizza convenzioni conosciute dai programmatori di linguaggi della famiglia del C; JSON basato su due strutture: un insieme di coppie nome/valore ed un elenco ordinato di valori, realizzato come una struttura array. In PHP necessario includere una libreria che metta a disposizione le funzioni di encode e decode per gli oggetti JSON. JSON viene spesso utilizzato in sostituzione di XML nelle Ajax Request in Javascript, per la comunicazione tra server e client. Quando viene inviata la response del server al client, necessario settare il parametro content-type della pagina come application/json, nel qual caso il corpo del documento passato al client (body) contiene loggetto JSON, in caso contrario lHeader della pagina a contenere loggetto JSON. Il campo Header non supporta lo scambio di notevoli quantit di informazioni, necessario dunque usufruire del campo body del documento.

55

E-book
Un e-book, in italiano libro elettronico o e-libro, un libro in formato elettronico (o meglio digitale). Si tratta dunque di un le consultabile su computer, telefonini di ultima generazione, palmari ed appositi lettori digitali. Il termine deriva dalla contrazione della parola inglese electronic-book e viene utilizzato per indicare la versione in digitale di una qualsiasi pubblicazione. Nel caso ci si riferisca al dispositivo di lettura pi corretto riferirsi ad esso come lettore di e-book, in inglese eBook reader, termine con il quale si intende sia il dispositivo hardware su cui l'e-libro viene letto sia il software che permette la lettura del le. Il termine lettura di un libro elettronico riduttivo, giacch le funzioni di un eBook possono andare ben al di l della semplice lettura del solo testo. La caratteristica primaria di un e-book, inteso come lettore dedicato di e-book detto anche e-reader, che lo differenzia da un qualunque dispositivo in grado di leggere testo in formato digitale come un normale computer o un telefonino, il fatto di essere in tutto e per tutto il pi simile possibile a un libro vero, quelli di carta e inchiostro che siamo abituati a leggere n da piccoli. Un e-reader deve implementare tutti i vantaggi del software ma senza perdere quelli del vecchio supporto cartaceo, come ad esempio la possibilit di essere letto in certe speciche condizioni luminose, la possibilit di mettere un segnalibro oppure di sottolineare delle parole o di mettere delle note e degli appunti personali accanto al testo, per potersi ricordare qualcosa o magari evidenziare dei concetti mentre si studia. Funzioni tipiche del fatto di essere un ipertesto invece sono ad esempio il fatto di poter gestire le multimediali e la possibilit di poter contenere un sacco di memoria in poco spazio (provate voi a portarvi dietro tutti i volumi di Alla ricerca del tempo perduto di Proust in formato cartaceo!), la possibilit di consultare dei vocabolari inclusi e contestuali e la comodit di doversi portare appresso un solo libro e invece averne dietro moltissimi, dicendo addio a borse gigantesche e a mal di schiena da topi di biblioteca. Per la lettura di un e-book sono necessari diversi componenti: il documento elettronico di partenza o e-text un formato elettronico con cui digitalizzare la pubblicazione un software di lettura compatibile con tale formato un dispositivo hardware di lettura (il pi appropriato per la lettura di testi un e-book reader con tecnologia e-ink

56

Le piattaforme di distribuzione di eBook permettono di mettere il libro in vendita in uno o pi negozi on-line; possono anche offrire servizi addizionali, quali la conversione del testo in formati elettronici compatibili o l'aggiunta di sistemi di protezione DRM o social DRM. Si tratta comunque di una attivit slegata dalla piattaforma di vendita, ossia il sito vero e proprio in cui verr effettivamente venduto l'eBook. La prima piattaforma di distribuzione italiana stata Stealth, fondata dai gestori del negozio on-line Simplicissimus Book Farm; successivamente si sono aggiunti Edigita, societ fondata da RCS Libri, Messaggerie Italiane e Gruppo Feltrinelli, Bookrepublic, focalizzato in modo particolare sugli editori indipendenti, e la piattaforma di Telecom Italia; Mondadori ha deciso di provvedere autonomamente alla distribuzione dei propri titoli tramite accordi bilaterali con i vari negozi online. Le caratteristiche essenziali che un eBook reading device dovrebbe avere sono: essere dotato di una fonte autonoma di energia avere dimensioni e peso simili a quelle di un libro cartaceo permettere la lettura in condizioni ambientali simili a quelle in cui pu essere letto un normale libro cartaceo Possiamo suddividere i vari dispositivi hardware disponibili sul mercato in TabletPC, palmari e lettori dedicati: un TabletPC un computer portatile a cui sono aggiunte diverse funzionalit hardware, come la possibilit di ruotare lo schermo di tipo tattile di 180 gradi in modo da renderlo simile, nel modo d'uso, ad un blocco per gli appunti. Oltre ai soliti sistemi di input previsto anche l'uso di un pennino che, tramite software opportunamente predisposto, consente di interagire con lo schermo. Potendo fare uso di sistemi operativi molto diffusi, i Tablet PC possono leggere molti formati diversi di eBook ma hanno generalmente lo svantaggio di essere un po' troppo ingombranti e pesanti. Altro dettaglio che li allontana dall'immediatezza di un libro cartaceo restano i tempi di attesa, ancora troppo lunghi a causa del caricamento del sistema operativo. I palmari sono invece dispositivi che grazie alle ridotte dimensioni possono essere facilmente trasportati. Anche se sono nati per essere delle agende elettroniche,i palmari si sono arricchiti di funzionalit multimediali. La potenza di calcolo e la capacit di memoria che offrono, pur non raggiungendo quella dei computer portatili, sono comunque tali da permettere di portarsi dietro centinaia di libri e leggere anche gli eBook pi complessi. I principali limiti di questi dispositivi sono da ricercare nelle dimensioni dello schermo (inferiori ad una pagina di un libro in edizione tascabile) che non permettono di visualizzare molto testo e nella scarsa autonomia di cui dispongono. I lettori di e-book sono invece tutti quei dispositivi (anche molto diversi fra loro) appositamente progettati per essere dei lettori di e-book. Anche se
57

sono i dispositivi pi indicati e comodi per leggere gli e-books, inizialmente non hanno avuto il successo sperato. Nuova linfa stata loro data dalla nascita dei lettori dotati di tecnologia e-ink che permette la resa di una supercie quasi identica alla carta. Esistono gi in commercio diversi dispositivi di questo genere, come l'eReader iLiad di iRex Technologies (una divisione della Philips), il Kinlde di Amazon, il Cybook della francese Bookeen o il Sony PRS-505. Esistono molti tipi di formati testuali digitali, per gli e-books sono stati creati ulteriori formati che hanno il vantaggio di essere adatti a piattaforme che hanno meno risorse hardware rispetto ai normali computer desktop, spesso infatti prevedono la compressione del testo e si adattano meglio ad essere visualizzati sui piccoli schermi dei dispositivi portatili. Unaltra caratteristica che possiedono quella della protezione, voluta soprattutto dagli editori storici che si affacciano sul mercato degli e-books, ovvero un modo per evitare che essi vengano copiati e duplicati senza ritegno, cos si prevedono vari livelli di protezione del documento (DRM); questo tema riguardante la protezione molto discusso e pare che negli anni si sia sempre pi propensi alla diffusione di libri senza protezione ma ogni editore si organizza a modo suo. Lo svantaggio principale di questi formati quello di essere spesso dei formati proprietari e di portarsi dietro quindi tutti i problemi che l'uso di tali formati genera. Per tentare di risolvere questi problemi sono nati progetti come l'Open e-book forum che, basandosi su codice aperto, si propone di realizzare un formato di eBook per molte piattaforme diverse e aperto a implementazioni audio-video e animazione e forme narrative non lineari. Elenco dei formati pi usati per gli eBook reader: ePub, formato aperto, evoluzione di OeB, che si sta affermando come standard pi diffuso Mobipocket (mobi), utilizzato da Amazon Kindle Fictionbook (fb2) LIT, formato nativo Microsoft, ormai obsoleto PDB, formato per Palm OS E-book in Ateneo Nonostante le tecnologie esistano e gli studenti siano in grado di utilizzarle, ancora non si creato un sistema che consenta lutilizzo normale e diffuso della tecnologia degli e-book a livello universitario, come ausilio per i corsi tenuti dai docenti e mezzo per interscambio di informazioni e materiale di studio. All Universit degli Studi di Padova stato dato inizio
58

ad un esperimento, ovvero un intero corso di 26 studenti interamente basato sugli ebooks, dove i lettori sono stati in comodato agli studenti da Asus, i quali consentono di prendere appunti, funzionano da e-reader, voice recorder, riproduttori di audiolibri e fanno anche fotograe. Il tutto in collaborazione con libreriauniversitaria.it, che traduce in formato digitale le dispense date loro dai docenti e le invia alle caselle di posta elettronica dei frequentanti. I vantaggi sono molteplici, con leliminazione della carta si riduce limpatto ambientale e soprattutto si riducono i costi, infatti un e-book costa meno della met di un libro normale, senza contare la comodit di poter avere tutto, appunti, libri, dispense, in un unico dispositivo comodo da portare in giro e compatto, una specie di riassunto digitale di un modo di penne, astucci e foglietti che ci circonda dalla prima elementare. Il programma apre nuove opportunit sia per luniversit, per i vantaggi che leditoria digitale pu offrire agli studenti migliorando la qualit dellinsegnamento e le condizioni di accesso allo studio grazie alla riduzione dei costi, sia per lindustria editoriale che potr recepire i risultati della sperimentazione. E se i risultati saranno positivi potremo dire addio ai cari, vecchi quaderni di appunti: lo scarabocchio digitale gi realt! Se si potessero usare gli e-book per ogni corso in ogni facolt, sarebbe molto semplice collegarli ad unapplicazione come quella oggetto di studio di questa tesi, e far s che gli appunti presi dagli studenti durante il corso non debbano essere scannerizzati per poi essere caricati nel sito per la condivisione con gli altri studenti, ma essi verrebbero presi direttamente in formato digitale e potrebbero essere inviati con molta semplicit allapplicazione la quale registrerebbe automaticamente nome e data del donatore grazie alle metainformazioni contenute nelle-reader personale dello studente, inoltre grazie a questi dispositivi si sarebbe pi spinti ad usare altri metodi di studio e interazione, come i le audio e video delle lezioni che, previa autorizzazione del docente, potrebbero essere caricati in rete magari organizzati dagli studenti i quali durante le lezioni preleverebbero questi le multimediali, gestiti in maniera semplice e coerente dal lettore di e-book. Molte volte infatti si hanno gi tutte le tecnologie a disposizione, ma queste non vengono usate poich sono sconnesse una dallaltra, o scomode da portare in giro, o non offrono la memoria necessaria o il metodo di archiviazione adatto per poter creare del materiale che pu essere poi facilmente recuperato ed utilizzato. Un e-reader, se fosse disponibile per tutti gli studenti di un corso, potrebbe essere ci che unisce e d ordine a tutto quello che normalmente si tiene in mente, nei ricordi, negli zaini, negli astucci, nel cellulare, nel computer, un po un grande cesto nel quale si pu riunire tutto con ordine e dove tutto si ritrova al momento necessario, per poterlo condividere e scambiare con altri, ognuno col
59

suo cesto ordinato dove niente si perde e tutto sta sullo stesso livello, niente si spiegazza e le matite non si consumano e i fogli non vengono dagli alberi. un po il riesso della tecnologia nelle nostre vite, ovvero quello di riunire assieme cose che una volta non lo erano, il che allinizio potr sembrare confuso, ma a lungo andare anche tutte le donne sanno che usando sempre la stessa borsetta ci si ricorda sempre tutto, mentre ogni volta che la si cambia si lascia qualcosa di estremamente necessario nellaltra, quindi se ne avessimo una sola che cambia daspetto alloccorrenza sarebbe tutto molto pi facile!

60

Conclusione tecnica

Obiettivi raggiunti

Il progetto presentato nella seguente tesi deve essere considerato un progetto di applicazione web e si propone di essere una soluzione al problema relativo la gestione dei progetti desame del corso di sistemi informativi. Lapplicativo stato progettato in accordo ai vincoli ed i requisiti espressi in fase di analisi del problema. Alla ne della progettazione di tale applicazione possiamo dire di aver raggiunto questi obiettivi: semplicazione della comunicazione studente-docente, attraverso la possibilit di caricare i progetti e il materiale online miglioramento dello scambio di informazioni studente-studente e studente-docente, con la possibilit di caricare online appunti scritti direttamente dagli studenti e materiale didattico controllo da parte del docente della qualit del materiale, con possibilit di vedere chi ha caricato che cosa e vericarne la qualit e decidere se lasciarlo online a disposizione di tutti o meno archivio ordinato dei progetti desame di tutti gli anni, con possibilit di consulto di progetti passati e rendendo pubblici i progetti migliori alla consultazione di tutti gli studenti iscritti, include quindi anche un archivio ordinato di tutti gli studenti che hanno sostenuto lesame negli anni con date possibilit di scambio di informazioni con altri Atenei, grazie alla possibilit di iscriversi allapplicazione anche a studenti di Atenei diversi da quello triestino Evoluzioni possibili Lapplicazione potrebbe evolvere permettendo il caricamento di le multimediali ottenuti tramite e-reader e mettendo a disposizione materiale tradotto in formati compatibili con gli e-book come ePub, Mobipocket, Fictionbook, LIT, PDB. Quindi le evoluzioni possibili sono: caricamento le multimediali materiale in formati leggibili da e-reader estensione ad altri corsi della facolt

61

Conclusione poetica
Me ne rendo conto anche ora, scrivendo questa tesi, che il nostro mondo piano piano si sta raccogliendo in grumi, scrivo su un computer che contiene tutti i miei lm preferiti, che porto in cucina mentre preparo la cena per guardare telelm in streaming e nella nestra sotto a questa sbuca il mio migliore amico sotto forma di nuvoletta rossa di Facebook che mi parla di cose divertenti, come se vivesse in una piccola casellina azzurra che porto sempre con me. E alla ne questo che cerchiamo noi esseri umani, la condivisione di esperienze con altri, che siano di studio, di svago, che servano per lavoro o per hobby, condividere ci che sempre si fatto, comunicare ci che noi siamo, e grazie alle nuove tecnologie possiamo farlo sempre di pi e sempre con meno strumenti alla volta per le mani. cos che tra pochi anni i bambini non avranno pi zaini giganteschi come piccole case di lumache dai mille colori, ma custodie piccole e una sola matita che crea tutte le sfumature in 16bit, un mondo racchiuso in una piccola scatola e parole di letterine nere come formiche ferme tutte in la eppure cos in movimento e in fermento e brusio, tutte intente a parlarsi tra di loro prima di parlare con noi, in un refresh del monitor impercettibile eppure cos vivo, noi e le nostre cose racchiusi in un cesto quadrato, di cui potersi dimenticare quando vogliamo, da lasciare a casa per correre via guardare cieli gabbiani prati formicai e da ritrovare sempre perfetto e ordinato ogni qualvolta ne abbiamo il desiderio.

62

63

Bibliograa
Riferimenti bibliograci Luca Ferrieri, L'ebook in biblioteca: una sda culturale, in "Biblioteche Oggi", vol. XXVIII, n. 7, settembre 2010, pp. 5 - 14. Gino Roncaglia, La quarta rivoluzione. Sei lezioni sul futuro del libro, Laterza 2010. Mauro Sandrini, Elogio degli e-book, Homeless Book, 2011.

Riferimenti web http://www.cphp.it/2006/11/25/analisi-progettazione-ed-implementazione-diunapplicazione-web/ http://www.webappbuilders.com/ http://www.wikipedia.org/ http://www.scribd.com/doc/21339433/tesi

www.json.org/json-it.html

64

65

66

67

You might also like