Relazione tecnica

Informazioni generali

La scuola I.I.S “Allievi – Pertini” Terni ha richiesto che venga progettato e sviluppato un sistema di gestione informatizzata degli scrutini. Il software doveva gestire l’anagrafica studenti e insegnanti oltre che la gestione dei voti, delle assenze, dei crediti scolastici. Doveva prevedere l’integrazione con il sistema SISSI e/o OpenSISSI e la gestione della carriera scolastica degli studenti. L’applicazione doveva essere utilizzabile in un contesto client/server accessibile mediante la rete internet attraverso un sistema di autenticazione a livelli. Il software doveva essere rilasciato con licenza open source. Il Terni GNU/LUG, incaricato del lavoro ha selezionato Francesco Banconi e Daniele Minciaroni per la realizzazione del progetto.

Analisi delle specifiche

Una volta alanizzate le specifiche si è scelto di utilizzare una piattaforma che preveda l’uso esclusivo di software open source. Nello specifico il software è stato realizzato con il linguaggio di programmazione Python. Python è un linguaggio di programmazione ad alto livello, orientato agli oggetti, adatto, tra gli altri usi, per sviluppare applicazioni distribuite, scripting, computazione numerica e system testing. Python è un linguaggio multi-paradigma, che fa della dinamicità, semplicità e flessibilità i suoi principali obiettivi. Supporta il paradigma object oriented, la programmazione strutturata e molte caratteristiche di programmazione funzionale e riflessione. Spesso è classificato come linguaggio di scripting, ma pur essendo utile per scrivere script di sistema (in alternativa ad esempio a bash), la grande quantità di librerie disponibili e la facilità con cui questo linguaggio permette di scrivere software modulare favoriscono anche lo sviluppo di applicazioni molto complesse. Al linguaggio Python abbiamo associato il framework di sviluppo: Django. Django è un framework open source per lo sviluppo di applicazioni web, scritto in linguaggio Python, seguendo il pattern Model-View-Controller. Venne concepito inizialmente per gestire diversi siti di notizie per la World Company di Lawrence (Kansas). Django fornisce un certo numero di funzionalità che facilitano lo sviluppo rapido di applicazioni per la gestione di contenuti. Per esempio, invece che richiedere sviluppatori per la realizzazione di controllers e views per aree di amministrazione di un sito, Django fornisce una soluzione integrata di amministrazione dei contenuti che può essere inclusa come parte di ogni sito basato su Django e che può gestire molti siti Django da una unica installazione. Infine come ultimo elemento di programmazione è stato scelto jQuery. jQuery è una libreria di funzioni per le pagine web, codificata in javascript, che si propone come obiettivo quello di astrarre ad un livello più alto la programmazione lato client del comportamento di ogni singola pagina HTML.

Gli ultimi 2 elementi delle soluzioni tecnologiche utilizzate sono il database Oracle MySQL e il WebServer Apache. Il database Oracle MySQL è è un database relazionale, composto da un client con interfaccia a caratteri e un server multipiattaforma. Il WebServer Apache HTTP Server è la piattaforma server Web modulare più diffusa, è un software che realizza le funzioni di trasporto delle informazioni, di internetwork e di collegamento, ha il vantaggio di offrire anche funzioni di controllo per la sicurezza come quelli che compie il proxy. E’ multipiattaforma.

Quest’ultimo software è solamente consigliato, FreeSIS infatti è utilizzabile anche in altri contesti di server web quali Lighttpd, nginx.

Funzionalità del software

Il software si svilupperà su diversi punti fondamentali: Gestione anagrafica con immissione diretta, creazioni classi/anni scolastici, gestione materie e tipologia di voti assegnabili, gestione periodi di valutazione (trimestri / quadrimestri), gestione dei parametri di calcolo per i crediti scolastici, interfaccia di immissione voti per singolo docente, interfaccia di riepilogo per lo scrutinio, gestione delle ore di assenza dello studente, gestione dei debiti formativi e degli interventi per singolo studente, creazione di report in PDF. In futuro verrà realizzata l’importazione delle anagrafiche dal sistema OpenSissi.

Codice sorgente e documentazione

Per favorire la diffusione e l’eventuale modifica del software, FreeSIS è rilasciato con licenza GPL v3. A corredo del software viene fornita una documentazione in lingua italiana che ha la funzione di manualistica per le funzionalità, le caratteritiche e per l’interfaccia del software.