Una Distribuzione Linux Con Scopi Pedagogici: Analisi E Progettazione
Total Page:16
File Type:pdf, Size:1020Kb
Universit`adegli Studi di Parma Facolt`adi Scienze Matematiche Fisiche Naturali Corso di Laurea in Informatica Tesi di Laurea Triennale in Ingegneria del Software Una distribuzione Linux con scopi pedagogici: analisi e progettazione Relatore Candidata Chiar.mo Prof. Roberto Alfieri Chiara Gandolfi Corelatore Ing. Prof. Giulio Destri Anno Accademico 2007/2008 A tutti quelli che questa tesi la useranno: a Mattia che la sua copia la potr`adistruggere per sfogare la fatica di una lunga attesa, a mia madre che ci pianger`aun po' su e a mio padre che sorrider`asotto i baffi tenendola in mano, a mia sorella che secondo me ne parler`a e alla mia nonna che la vorr`avedere, ad Alessandro che riuscir`aa farmela arricchire anche dopo anni, a chi la ricever`acome progetto vero, da realizzare e a chiunque altro si trover`aa leggere queste pagine, anche se non mi azzardo ad ipotizzarne il motivo... Ringraziamenti Le persone che vorrei ringraziare sono davvero tante: chi mi ha sostenuta, chi mi ha sfidata, chi ha creduto in me e chi non l'ha fatto, chi si `efidato, chi mi ha dato incredibili opportunit`ae chi, nel segreto, ha pensato un po' anche a me. Motivi? Almeno altrettanti. E di nomi ne far`osolo alcuni, quelli che proprio non possono passare sotto silenzio: il mio relatore Prof. Roberto Alfieri che ha avuto la pazienza di starmi a sentire per sei anni e metter`aquesta tesi tra le altre; il mio corelatore Prof. Giulio Destri che mi ha armata di strumenti potenti per il lavoro che mi piace- rebbe fare; la Prof.ssa Silvana Marchi per una lunga serie di buonissime ragioni; Filippo Borghi e Giulio Vaccari di HelpICare e Massimiliano Malavasi e tutte le persone che lavorano all'Ausilioteca di Bologna che mi hanno dedicato molto pi`utempo di quanto avessi sperato e molta pi`uaccoglienza; il Prof. Alessandro Efrem Colombi, perch`ela dedica non era abbastanza, e i ragazzi di Acab con i quali ho ben lavorato e spero di farlo ancora, magari proprio su questa tesi. Un ringraziamento speciale, infine, a chi, come Franca e Sergio Cacciari e la loro grande famiglia, la mia famiglia e molti cari amici, ci terr`aa gioire con me. Sommario Il progetto qui presentato nasce dall'osservazione della situazione della scuola primaria italiana, che si trova ad essere non sempre adeguata a preparare i bambini ad affrontare un mondo sempre pi`u\tecnologico" che porta in s`etante potenzialit`aquanti pericoli. In collaborazione con il committente (un pedagogista esperto) ho portato avanti il lavoro attraverso le segueti tappe: • un primo approfondimento riguardante il contesto scolastico e gli obiettivi che ci si poneva, riassumibili attraverso le parole chiave \autoapprendi- mento", \consapevolizzazione", “usabilit`a",“accessibilit`a",\sicurezza", “economicit`a",“flessibilit`a",\personalizzabilit`a",“eticit`a",“attualit`a"; • la raccolta dei requisiti funzionali e non, che `eservita soprattutto ad individuare tutte le problematicit`aed i punti critici; • una ricerca riguardante lo stato dell'arte del panorama nel quale si era deciso di porsi a causa delle caratteristiche che si desiderava ottenere, cio`e quello delle distribuzioni Linux e delle infrastutture ad esse correlate, che mi ha portata ad individuare le soluzioni messe in atto attualmente a riguardo dei punti precedentemente definiti; • l’attivit`adi analisi, svolta in seguito ad una ulteriore riflessione riguardan- te il sistema che ci si proponeva di realizzare; • la progettazione, che ha dato come risultati da una parte una serie di linee guida per la realizzazione e dall'altra ha evidenziato le necessarie fasi successive di lavorazione; • la stesura delle conclusioni nelle quali vengono riportati s`ıi risultati, ma anche le possibili evoluzioni di un tale ambito di ricerca e sviluppo. Indice Introduzione iii 1 I requisiti: tra analisi dei bisogni e idee innovative 1 1.1 Il punto di vista pedagogico: obiettivi e desiderata . 1 1.2 La raccolta dei requisiti: le linee guida per il progetto . 4 1.2.1 Requisiti funzionali . 4 1.2.2 Altri requisiti . 8 1.2.3 Vincoli . 9 2 La foresta delle distribuzioni 11 2.1 La struttura logica di una distribuzione . 13 2.2 Il kernel: struttura e caratteristiche funzionali . 14 2.2.1 I principali sotto-sistemi del kernel . 15 2.2.2 La modularit`a . 18 2.3 Il livello utente: l'aspetto del sistema e le applicazioni . 19 2.4 Il sistema di gestione dei pacchetti . 22 2.5 Il software repository: la distribuzione di una distribuzione . 24 2.6 Le modalit`adi fruizione per un sistema Linux . 31 2.6.1 Evoluzioni recenti . 34 2.7 Il Linux Standard Base: la ricerca verso l'interoperabilit`a . 38 2.8 Una tassonomia per le distribuzioni esistenti . 38 2.8.1 Le tre grandi famiglie . 39 2.8.2 Le famiglie minori . 47 2.8.3 I \solitari" . 48 2.9 Approcci alla creazione di una nuova distribuzione . 50 3 Analisi e progettazione 51 3.1 Analisi: Casi d'Uso e descrizione del sistema . 51 3.1.1 Definizione e descrizione dei Casi d'Uso . 51 3.1.2 Il meccanismo dell'improving . 59 3.2 Progettazione: le linee guida per la realizzazione . 61 3.2.1 Il punto di partenza . 62 3.2.2 Stile dell'ambiente . 63 3.2.3 Le applicazioni . 64 3.2.4 I messaggi . 68 3.2.5 La gestione dei pacchetti . 68 3.2.6 Le modalit`adi fruizione previste . 70 3.2.7 Cosa ci sar`anella \confezione" . 71 i ii INDICE 3.2.8 Le fasi successive . 71 4 Conclusioni 73 4.1 Risultati ottenuti . 73 4.2 Possibili sviluppi . 73 A Glossario 75 B Prima intervista al committente 77 C Esempio di pianificazione del percorso di improving interno ad un'applicazione incrementale 83 D Elenco delle distribuzioni citate 89 Introduzione Quando il committente (professore associato di didattica, amministratore di una societ`adi concepting e socio fondatore di una cooperativa, che si occupa in ciascuna di queste realt`adi tecnologie e didattica) mi ha chiesto di colla- borare a questo progetto come analista-progettista e supervisore allo sviluppo, mi sono sentita onorata di poter lavorare per un progetto che ponesse grande attenzione all'educazione dei bambini d'oggi e che costituisse una proposta di miglioramento del livello tecnologico della scuola primaria italiana. Si `eanzitutto avviata una riflessione riguardante il contesto scolastico: la scarsa disponibilit`adi tecnologie moderne e, in certi casi, l'opposizione al cam- biamento (anche a fronte di un risparmio economico); il livello di competenze e conoscenze degli insegnanti a riguardo dell'Informatica e delle tecnologie, spesso basso e a volte unito a resistenze e paure; la necessit`aincalzante di rendere i bam- bini capaci e consapevoli nell'uso di strumenti potenti, ma anche potenzialmente pericolosi, come quelli modeni. Questi elementi hanno contribuito ad ideare un sistema che accompagnas- se i bambini, e gli insegnanti con loro, alla scoperta graduale delle possibilit`a fornite da un computer ben equipaggiato, secondo il concetto antico ma sem- pre moderno di \autoapprendimento". Tale sostegno all'apprendimento viene pianificato attraverso un percorso detto \di improving" che porta l'utente a passare da funzionalit`ae ambiente pi`u\semplici" ad un’offerta sempre pi`uric- ca, avvalendosi sia dell'introduzione progressiva di applicativi \completi" che dell'evoluzione interna a programmi cosiddetti \incrementali" (cio`eprogrammi inizialmente forniti in una versione di base e arricchiti con l'aumentare del nume- ro di utilizzi), seguendo cammini formati da una serie di \livelli" e diversificati a seconda dell'ambito d'utilizzo del sistema. Per andare incontro alle esigenze delle scuole, invece, oltre al contenimento dei costi, si `epensato di proporre diverse possibili modalit`adi fruizione che permettano anche un passaggio graduale da macchine obsolete a dispositivi moderni, senza che ci`opossa incidere sul percorso dell'utente, portando cos`ı gradualmente bambini ed insegnanti ad un uso sempre pi`uassiduo di strumenti tecnici e tecnologici, quali quelli prodotti in quantit`ae qualit`asempre in crescita dall'industria dell'IT e che tanto stentano a decollare proprio nel mondo della scuola soprattutto in Italia. Obiettivo primo, quindi, non `eil supporto all'apprendimento di nozioni, ma l'acquisizione di consapevolezza e padronanza, declinabili in modo duplice a senconda che si pensi a quelli che verranno definiti \adulti di riferimento" o ai bambini: il superamento della paura per gli uni e l'evoluzione personale per gli altri. Per le finalit`ache ci si propone ed il dominio applicativo col quale si ha iii iv INTRODUZIONE a che fare, “usabilit`a"ed “accessibilit`a"divengono parole chiave del progetto, cos`ıcome \personalizzazione" ed \individualizzazione", sia per quanto riguarda il percorso di \improving" che per quanto concerne l'ambiente desktop stesso. Guardando invece il target, anche il tema della \sicurezza" non dovr`aassoluta- mente essere dato per scontato, sia dal punto di vista della protezione dei dati e del sistema (perseguita anche prevedendo un sistema di autenticazione basa- to sull'uso di dispositivi hardware) che da quello della comunicazione e della navigazione attraverso Internet da parte dell'utente. A causa di tutte le caratteristiche che si desiderava ottenere e della ricerca di valori etici precisi, ci si `esubito orientati verso il mondo Linux, un mondo complesso ma ricco di possibilit`anel quale avremmo trovato tutto quello di cui avevamo bisogno. E` stato quindi necessario, dopo aver raccolto in modo informale i requisiti, un approfondimento sia documentale che pratico dell'orizzonte entro il quale ci si voleva porre: ho quindi svolto ricerche bibliografiche il pi`upossibile accurate ed adeguate, provato alcuni software, applicato conoscenze derivatemi dagli studi universitari e dall'esperienza personale, al fine di fissare punti di riferimento che potessero poi aiutarmi nella definizione successiva delle linee di progetto.