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