Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Sistemi software di collaborazione
in ambito open source
Testimonianza di:
Davide Dalle Carbonare
[email protected]
2.5 Italia License
[Sistemi sw di collaborazione]
1
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Introduzione
Collaborare e cooperare:
diverse persone operano contemporaneamente allo stesso
progetto, per lo stesso obiettivo, condividendo le stesse
risorse.
[Wikipedia]
La collaborazione è lo sforzo congiunto di più individui nell'atto di una o più
lavori e/o mansioni.
Collaboration is the process by which groups of people accomplish work. It tends
to be used to achieve two aims:
1) To force people to conform to a common way of working
2) To enable people to develop and improve their own ways of working
La cooperazione è, letteralmente, l'operare insieme per raggiungere uno scopo, un
fine comune in una iniziativa, impresa, attività.
2.5 Italia License
[Sistemi sw di collaborazione]
2
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Collaborazione
Gestire e coordinare la collaborazione
1) strumenti di comunicazione:
- supporto all'organizzazione
- chi deve fare cosa e come
- supporto alla conoscenza:
- documentazione tecnica, del codice
- documentazione di supporto, manuali, risoluzione
dei problemi
- strumenti:
- mail, faq, messenger, tracker, wiki, forum, mailinglist
2.5 Italia License
[Sistemi sw di collaborazione]
3
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Collaborazione
Gestire e coordinare la collaborazione
2) strumenti di gestione delle risorse
- repository, condiviso, per mantenere sorgenti e documenti
- versionamento delle risorse
- gestione problemi/anomalie
- strumenti:
SCM source control management, tracker, software per
confronto
2.5 Italia License
[Sistemi sw di collaborazione]
4
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Collaborazione
Gestire e coordinare la collaborazione
3) strumenti di sviluppo
- individuare un set comune di strumenti in modo da soddisfare
tutte le esigenze di progetto
- strumenti:
eclipse (plugins), open office, ...
2.5 Italia License
[Sistemi sw di collaborazione]
5
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Collaborazione
Strumenti software di collaborazione
- Forum
- Wiki
- Messenger
- Tracker
- Versioning
- Project Automation
- Sviluppo
- Forge
2.5 Italia License
[Sistemi sw di collaborazione]
6
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Forum
FORUM
- interfaccia WEB
- utenti profilati (anonimo, utente, moderatore, amministratore)‫‏‬
- messaggi raggruppati per argomento (threads)‫‏‬
- l'informazione viene aggiunta in maniera incrementale,
non modificabile e relativamente a problematiche
individuali (anche se spesso di interesse comune)‫‏‬
- frequente ridondanza di informazione
- jForum (www.jforum.net)‫‏‬
2.5 Italia License
[Sistemi sw di collaborazione]
7
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Wiki
WIKI
- interfaccia WEB
- contribuzione libera
- modifiche dirette
- utilizzo per documentazione (manuale utente, tecnico, ... )‫‏‬
- xWiki (www.xwiki.org)‫‏‬
2.5 Italia License
[Sistemi sw di collaborazione]
8
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Messenger
MESSENGER
- dialogo immediato tipicamente tra 2 membri del progetto
- indipendente dalla distanza fisica
- economicità della connessione
- skype (www.skype.it )‫‏‬
- yahoo (http://it.messenger.yahoo.com)‫‏‬
- googletalk (www.google.com/talk/intl/it)‫‏‬
- ...
2.5 Italia License
[Sistemi sw di collaborazione]
9
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Tracker
TRACKER
- raccoglie la sequenza delle segnalazioni (ticket, issue)‫‏‬
degli utenti
- segnalazioni strutturate
- tipologia: bug, miglioramento, attività
- gravità: bloccante, critico, normale, triviale
- assegnazione automatica o manuale ad un membro del progetto
- cilo di vita tipico: presa in carico della segnalazione,
esecuzione, riassegnazione, chiusura ...
- statistiche (per progetti di grosse dimensioni)‫‏‬
- integrazione con sistemi per il versionamento (trac-svn)‫‏‬
- trac (http://trac.edgewall.org)‫‏‬
- jira (www.atlassian.com/software/jira)‫‏‬
2.5 Italia License
[Sistemi sw di collaborazione]
10
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Versioning
VERSIONAMENTO (1)‫‏‬
- repository per i sorgenti/documenti permette di lavorare in più
persone sugli stessi files
- possibilità di modifica in modalità concorrente oppure
esclusiva (lock)‫ ‏‬a seconda del tipo di file trattato (testo, binario)‫‏‬
- supporto alla gestione dei conflitti
- confronto con le versioni precedenti e ripristino
- ottimizzazione delle politiche di backup
2.5 Italia License
[Sistemi sw di collaborazione]
11
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Versioning
VERSIONAMENTO (2)‫‏‬
- trunk / tags / branches
durante tutta la durata di un progetto ci sono frequenti rilasci di
versioni successive, correzioni di bug, progetti derivati
- cvs (www.nongnu.org/cvs)‫‏‬
- svn (http://subversion.tigris.org)‫‏‬
- tortoisesvn (http://tortoisesvn.tigris.org)‫‏‬
- subclipse (http://subclipse.tigris.org)‫‏‬
- subversive (www.eclipse.org/subversive)‫‏‬
2.5 Italia License
[Sistemi sw di collaborazione]
12
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Versioning
IL CICLO DI LAVORO
Submit your changes
get content
svn commit
svn checkout
svn update
106
100
Merge your changes
Resolve conflicts
Make changes
svn diff
svn resolved
Subversion
Repository
svn add
svn move
svn delete
105
See what was changed
in the repository in the meantime
Update your local copy
svn update
svn status -u
2.5 Italia License
[Sistemi sw di collaborazione]
13
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Project Automation
PROJECT AUTOMATION
- automazione di tutte le attività definite e ripetibili
- riduzione della probabilità di commettere errori
- esecuzione da parte di chiunque (documentazione)‫‏‬
- aggiornamento dei parametri di configurazione
deploy e packaging (ant)‫‏‬
- gestione delle librerie (maven)‫‏‬
- organizzazione modulare del prodotto (maven)‫‏‬
- produzione automatica della documentazione e
del sito di progetto (maven)‫‏‬
- maven (http://maven.apache.org)‫‏‬
- ant (http://ant.apache.org)‫‏‬
2.5 Italia License
[Sistemi sw di collaborazione]
14
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Sviluppo
SVILUPPO
- lo strumento di sviluppo deve permettere di definire linee
guida condivise e da adottare per tutta la durata del progetto
- impostazioni comuni di formattazione
- struttura delle cartelle prestabilita (es: cartelle dei sorgenti,
dei compilati, delle librerie)‫‏‬
- replicabilità dell'installazione dell'ambiente di sviluppo
(es: condividere il file di configurazione)‫‏‬
- varibili, e dipendenze, relative (librerie ...)‫‏‬
- eclipse (plugins) (www.eclipse.org)‫‏‬
- pspad (www.pspad.com)‫‏‬
- emacs (www.gnu.org/software/emacs)‫‏‬
- ...
2.5 Italia License
[Sistemi sw di collaborazione]
15
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Forge
FORGE
- ambiente integrato a supporto dello sviluppo e collaborazione
- repository per il codice
- repository per i file binari
- bug tracker
- forum
- mailing list
- OW2 / GForge (forge.objectweb.org)
- SourceForge (sourceforge.net)
2.5 Italia License
[Sistemi sw di collaborazione]
16
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Riferimenti
Jforum: www.jforum.net
xWiki: www.xwiki.org
Skype: www.skype.it
GoogleTalk: www.google.com/talk/intl/it
Trac: trac.edgewall.org
Jira: www.atlassian.com/software/jira
CVS: www.nongnu.org/cvs
SVN: subversion.tigris.org
TortoiseSVN: tortoisesvn.tigris.org
Subclipse: subclipse.tigris.org
Eclipse: www.eclipse.org
Ant: ant.apache.org
Maven: maven.apache.org
PSPad: www.pspad.com
Open Office: www.openoffice.org
GForge: gforge.org
2.5 Italia License
[Sistemi sw di collaborazione]
17
Laurea Specialistica in Informatica
Struttura e Configurazione di Sistemi Liberi
A.A. 2007-2008 www.math.unipd.it/~ruffatti/
Sistema collaborativo
User
SVN
REPOSITORY
Eclipse
TRAC
WIKI
e-mail - msg
Maven
Eclipse
A.S.
TEST
Ant
e-mail - msg
Eclipse
A.S.
DEMO
2.5 Italia License
[Sistemi sw di collaborazione]
18
Scarica

Sistemi software di collaborazione in ambito open source