Ambienti per lo sviluppo collaborativo del software (CDE) Sviluppo

Transcript

Ambienti per lo sviluppo collaborativo del software (CDE) Sviluppo
Ambienti per lo sviluppo
collaborativo del software (CDE)
Funzionalità tipiche dei CDE
Esempi di CDE
Collab CDE
dott.ssa Teresa Mallardo
Sviluppo collaborativo del software
• Gestione del codice, delle revisioni e dei rami di
sviluppo
• Comunicazione tra sviluppatori
• Segnalazione, gestione e risoluzione dei bug
• Sistemi automatici di building / testing
• Strumenti integrati per lo sviluppo cooperativo
dott.ssa Teresa Mallardo
1
CDE
• Collaborative Development Environment
• Inizialmente usati per lo sviluppo di progetti
open source
• Utilizzano soprattutto strumenti asincroni per la
comunicazione e la coordinazione dei servizi
dott.ssa Teresa Mallardo
Funzionalità tipiche dei CDE
• Software Management
– Gestione della
configurazione
– Tracker
– Strumenti di supporto alla
programmazione
• Knowledge Management
– Gestione di documenti e
file
– Ricerca di progetti
• Project Management
– Stato del progetto
– Programmazione e
assegnazione di attività
– Statistiche
• Communication
Management
–
–
–
–
Email
Mailing list
Forum di discussione
News
dott.ssa Teresa Mallardo
2
Gestione della configurazione
• Repository condiviso tra i membri del team di sviluppo
• Gestione delle modifiche effettuate
contemporaneamente ad uno stesso file da parte di
due membri differenti
• Gestione delle diverse versioni di un prodotto che può
evolvere
• Ripristino di vecchie versioni di prodotti
• Individuazione di versioni del prodotto in cui sono stati
risolti errori o introdotte nuove funzionalità
dott.ssa Teresa Mallardo
Esempi di sistemi per la gestione della
configurazione
• Concurrent Versions
System (CVS)
– http://www.cvshome.org/
– Sviluppato da Dick Grune
nel 1986
– Rilasciato sotto licenza
GPL
– Standard de facto
• Subversion (SVN)
– http://subversion.tigris.org/
– Sviluppato da CollabNet
nel 2004
– Rilasciato sotto licenza
Apache/BSD-style
– Comprende gran parte
delle caratteristiche di
CVS e le estende
dott.ssa Teresa Mallardo
3
Tracker
•
•
•
•
Bug/issue/defect
Feature request
Support request
Patch
dott.ssa Teresa Mallardo
Bug tracking
• Quando si scrive codice, si creano bug
• I bug andrebbero
–
–
–
–
–
Segnalati in modo corretto
Valutati rispetto all’impatto sulle funzionalità
Valutati rispetto all’impatto sulla sicurezza
Categorizzati in base alla priorità e alla severità
Assegnati e risolti
• Spesso le segnalazioni sono sbagliate o obsolete o
incomplete
– La valutazione è estremamente importante e non deve essere
necessariamente fatta da uno sviluppatore
dott.ssa Teresa Mallardo
4
Ciclo di vita di un bug
dott.ssa Teresa Mallardo
Linee guida per il bug tracking
• Creare build del software
ogni giorno
• Usare il numero di build
quando si segnala un
bug
• Seguire il processo del
ciclo di vita di un bug
• Non confondere le
“feature request” con i
bug
• Specificare la risoluzione
del bug
– Fixed, Won’t Fix,
Duplicate, Invalid, ecc.
• Specificare come è stato
individuato il bug
• La registrazione dei bug
deve essere semplice
dott.ssa Teresa Mallardo
5
Esempi di sistemi di bug tracking
• Bugzilla
• Eventum
– http://www.bugzilla.org
– Realizzato e utilizzato da
Mozilla Foundation
– Sviluppato in Perl
– Database MySQL o
PostgreSQL
– http://dev.mysql.com/down
loads/other/eventum/
– Realizzato ed utilizzato dal
team di sviluppo di MySQL
– Sviluppato in PHP
• Mantis
– http://www.mantisbt.org/
– Sviluppato in PHP
– Database MySQL
dott.ssa Teresa Mallardo
Esempi di CDE open source
• SourceForge
• Berlios
– http://sourceforge.net/
– VA Software Corporation
• GForge
– http://gforge.org/
– Timothy Perdue et al.
• Savannah
– http://savannah.gnu.org/
– Free Software Foundation
– http://developer.berlios.de/
– Berlios Team
– FOKUS - Fraunhofer
Institute for Open
Communication Systems
• Tigris
– http://www.tigris.org/
– Collab.Net
dott.ssa Teresa Mallardo
6
Esempi di CDE commerciali
• SourceForge Enterprise Edition
– Versione Enterprise di SourceForge
– http://www.vasoftware.com/
• GForge Enterprise CDE
– Versione Enterprise di GForge
– http://gforgegroup.com/
• CollabNet Enterprise Edition
– Versione Enterprise di SourceCast
– http://www.collab.net/
dott.ssa Teresa Mallardo
Confronto tra i CDE open source
Progetti
ospitati
Utenti
registrati
SCM
Tracker
Wiki
RSS
SourceForge
circa
100.000
circa
1.000.000
CVS/
SVN
Bug/Support/Pat
ch/Feature/Task/
Task
Dependency
Da
fare
Si
Free/Open
Source
GForge
circa
9.000*
circa
235.000*
CVS/
SVN
Tracker made by
Gforge
Si
Si
Variano in
base ai siti
Savannah
circa
2.500
circa
40.000
CVS
Bug/Support/Pat
ch/Task
No
No
GPL
compatibili
Berlios
circa
4.000
circa
20.000
CVS/
SVN
Bug/Support/Pat
ch/Feature
Si
Si
Free/Open
Source
Tigris
circa
800
N.D.
CVS/
SVN
Bug/Support/Pat
ch/Feature/Task
No
No
Free/Open
Source
Licenze
progetti
* Il valore è calcolato sul numero di siti conosciuti
dott.ssa Teresa Mallardo
7
Collab CDE
• Utilizza GForge come piattaforma
– la sua configurazione è stata obiettivo di una tesi
triennale
• Ospita i progetti software del laboratorio Collab
– studenti dei corsi di Sistemi per la Collaborazione in
Rete e di Ambienti 3D interattivi
– laureandi
– dottorandi di ricerca
– personale aziendale o liberi professionisti interessati
a progetti del Collab
dott.ssa Teresa Mallardo
8