# HG changeset patch # User Alessio Caiazza # Date 1211623287 -7200 # Node ID a620badf8517b1eda2c069ba5b291795de709394 # Parent 165ab9593fcf749ca6a61b71b1f11edb159a2f30 Rivista l'introduzione diff -r 165ab9593fcf749ca6a61b71b1f11edb159a2f30 -r a620badf8517b1eda2c069ba5b291795de709394 docs/relazione/relazione.tex --- a/docs/relazione/relazione.tex Sat May 24 11:28:31 2008 +0200 +++ b/docs/relazione/relazione.tex Sat May 24 12:01:27 2008 +0200 @@ -31,13 +31,12 @@ \label{sec:introduzione} %Cosa è stato fatto, come e con quali obiettivi %Presentazione del progetto e del sito -All'inizio dello sviluppo di CaptureMJPEG ci siamo chiesti quali -fossero le linee guida da seguire. Ci siamo trovati d'accordo sul -fatto che la libreria fosse rivolta ad una base di utenza non -avanzata, composta da grafici o programmatori alle prime armi. Abbiamo -optato quindi per una soluzione che privilegiasse la facilit\`a d'uso +Prima di iniziare lo sviluppo di CaptureMJPEG sono state individuate +le linee guida da seguire. +La base di utenza principalmente non comporta da programmatori esperti +ha portato ad una soluzione che privilegiasse la facilit\`a d'uso rispetto alla complessit\`a e alla ricchezza dell'API offerta, -rimanendo in linea con la filosofia di Processing.\\ +rimanendo così in linea con la filosofia di Processing.\\ Un esempio di questa scelta si pu\`o rintracciare nella gestione delle eccezioni, trasparente all'utente grazie alla rappresentazione di esse tramite immagini, quindi utilizzabili senza alcun codice aggiuntivo di @@ -46,22 +45,27 @@ posta nel rispettare le convenzioni delle librerie del core di Processing, prendendo esempio dal comportamento della classe \texttt{Capture}.\\ -Per lo sviluppo, ci siamo avvalsi di strumenti open-source per la -gestione del versionamento e per la creazione di un sito del progetto -che fosse allo stesso tempo facile da consultare per gli utenti ma +Lo sviluppo è avvenuto con l'ausilio di strumenti open-source per la +gestione delle versioni del codice e per la creazione di un sito del +progetto che fosse allo stesso tempo facile da consultare per gli utenti ma anche ricco di funzionalit\`a rivolte agli sviluppatori. Da questa esigenza \`e nata la scelta di Trac come motore per il sito del -progetto. Il VCS che abbiamo scelto per lo sviluppo \`e Mercurial, per -la facilit\`a di integrazione con Trac e per la possibilit\`a di -effettuare commit e visionare il log del progetto anche offline. Il -codice \`e stato sviluppato con Eclipse, grazie al quale abbiamo avuto -la possibilit\`a di sperimentare una programmazione task-oriented, -grazie all'utilizzo integrato di Mylyn.\\ -Si \`e scelto infine di utilizzare la tecnica del peer-programming per -lo sviluppo, che consiste nello scambiarsi nel ruolo di scrittura e -revisione del codice, minimizzando gli errori dovuti a stanchezza e -distrazione e il tempo necessario alla revisione del codice e -all'apprendimento di gruppo. +progetto. Il VCS\footnote{Version Control System} utilizzato per lo +sviluppo \`e Mercurial, scelto per la facilit\`a di integrazione con +Trac e per la possibilit\`a di effettuare commit e visionare il log +del progetto anche offline. +Il codice \`e stato sviluppato con Eclipse, sperimentando una +programmazione task-focussed, grazie all'utilizzo integrato di +Mylyn\footnote{Maggiori informazioni su Mylyn sono reperibili sul sito + http://www.eclipse.org/mylyn/}.\\ +La scrittuttura del codice è avvenuta secondo la tecnica del +pair~programming\footnote{http://en.wikipedia.org/wiki/Pair\_programming} + che prevede due programmatori ad una sola tastiera, mentre uno scrive + il codice, l'altro lo revisiona. I due ruoli vengono scambiati + frequentemente, minimizzando così gli errori dovuti a stanchezza e + distrazione ed il tempo necessario per apprendere le modifiche + apportate dall'altro. + \section{Manuale} \label{sec:manuale}