UNIVERSITÀ DEGLI STUDI DI BARI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITÀ DEGLI STUDI DI BARI"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI BARI Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Specialistica Metodi Sperimentali per la Produzione del Software Valutazione empirica di OSS per i fattori Traffico, Sviluppo ed Attività di Manutenzione Gruppo di lavoro: Giannico Luca (515877) Leggieri Myriam (525145) Minervini Paqsuale (525269) Paradiso Michele (480296) A.A 2007/08

2 Indice Capitolo 1 Introduzione OSS SourceForge Il caso di Studio...10 Capitolo 2 Definizione del processo con FSP Process Modeling Language Formal Structured Planning Work Flow Diagram Primo livello di astrazione Campionamento OSS Mappa di Caratterizzazione Progettazione Indagine Empirica Analisi ed Interpretazione dei Dati Scenari procedurali Campionamento OSS Mappa di Caratterizzazione Progettazione Indagine Empirica Analisi ed Interpretazione dei Dati Descrizione dei Manufatti Verifica e Validazione Consistenza globale dei manufatti Consistenza globale dei WFD Consistenza strutturale dei WFD Consistenza dei manufatti negli SP Consistenza comportamentale (verifica dinamica) Trasformazione del Modello di progetto in Piano di Progetto...30 Capitolo 3 Campionamento OSS Ricerca OSS FLOSSmole: motivazioni DataBase Design Scelta OSS...35 Capitolo 4 Strumenti Automatici Raccolta automatica dei dati sugli OSS Software per l analisi dei dati: R Strumenti automatici per l analisi dei dati

3 Capitolo 5 Mappa di Caratterizzazione Descrizione Fattori di qualità Descrizione Metriche Traffico Sviluppo Summary&Details Attività di Manutenzione...64 Capitolo 6 Progettazione Indagine Empirica Definizione dell esperimento Formulazione delle Ipotesi di Ricerca Quesito di Ricerca Variabili dell esperimento Pianificazione GQM di Ricerca Goal Goal Goal Goal Goal GQM dei Risultati di Ricerca Goal Goal Goal Goal Goal Capitolo 7 Analisi ed Interpretazione dei dati

4 Capitolo 1 Introduzione 1.1 OSS Per Open Source Software (OSS), letteralmente Software a codice sorgente aperto, si intende un software che oltre ad essere liberamente utilizzabile da qualsiasi utente, è pubblicato con un tipo di licenza per la quale il codice sorgente è lasciato alla disponibilità di eventuali sviluppatori allo scopo di incentivarne la collaborazione verso il miglioramento del prodotto. Ma tale licenza non deve limitarsi a consentire il libero accesso al codice sorgente di un programma. La licenza di un software, per potersi considerare open-source, deve soddisfare i seguenti criteri: 1. Libera redistribuzione La licenza non può limitare alcuno dal vendere o donare il software che ne è oggetto, come componente di una distribuzione aggregata, contenente programmi di varia origine. La licenza non può richiedere diritti o altri pagamenti a fronte di tali vendite. Motivo: Imponendo la libera redistribuzione, si elimina la tentazione di rinunciare a importanti guadagni a lungo termine in cambio di un guadagno materiale a breve termine, ottenuto con il controllo delle vendite. Se non vi fosse questa imposizione, i collaboratori esterni sarebbero tentati di abbandonare il progetto, invece che di farlo crescere. 2. Codice sorgente Il programma deve includere il codice sorgente e ne deve essere permessa la distribuzione sia come codice sorgente che in forma compilata. Laddove alcune forme di un prodotto non siano distribuite con il relativo codice sorgente, deve essere chiaramente indicato il modo per ottenerlo, ad un costo non superiore ad 4

5 una ragionevole spesa di distribuzione, preferibilmente scaricandolo gratuitamente da Internet. Per codice sorgente si intende la forma in cui un programmatore preferirebbe modificare il programma. Codice sorgente deliberatamente reso illeggibile non risponde ai requisiti. Forme intermedie come l'output di un preprocessore o compilatore non rispondono ai requisiti. Motivo: Si richiede l'accesso al codice sorgente poiché non si può far evolvere un programma senza poterlo modificare. Il nostro obiettivo è rendere facile l'evoluzione del software, pertanto richiediamo che ne sia resa facile la modifica. 3. Prodotti derivati La licenza deve permettere modifiche e prodotti derivati, e deve permetterne la distribuzione sotto le stesse condizioni della licenza del software originale. Motivo: La sola possibilità di leggere il codice sorgente non è sufficiente a permettere la revisione indipendente del software da parte di terzi e una rapida selezione evolutiva. Per garantire una rapida evoluzione, deve essere possibile sperimentare modifiche al software e redistribuirle. 4. Integrità del codice sorgente originale La licenza può impedire la distribuzione del codice sorgente in forma modificata, a patto che venga consentita la distribuzione dell'originale accompagnato da "patch", ovvero file che permettono di applicare modifiche automatiche al codice sorgente in fase di compilazione. La licenza deve esplicitamente permettere la distribuzione del software prodotto con un codice sorgente modificato. La licenza può richiedere che i prodotti derivati portino un nome o una versione diversa dal software originale. Motivo: Incoraggiare il miglioramento è bene, ma gli utenti hanno diritto di sapere chi è responsabile del software che stanno usando. Gli autori e i tecnici hanno diritto reciproco di sapere cosa è loro chiesto di supportare e di proteggersi la reputazione. Perciò, una licenza open source deve garantire che il codice sorgente sia facilmente disponibile, ma può eventualmente richiedere che esso sia redistribuito solo in forma originale più file patch. In questo modo le modifiche "non ufficiali" possono essere rese disponibili pur rimanendo distinte dal codice sorgente originale. 5

6 5. Discriminazione contro persone o gruppi La licenza non deve discriminare alcuna persona o gruppo di persone. Motivo: Per ottenere il massimo beneficio dal processo, il massima numero di persone e gruppi deve avere eguale possibilità di contribuire allo sviluppo del software. Pertanto viene proibita l'esclusione arbitraria dal processo di persone o gruppi. Alcuni paesi, inclusi gli Stati Uniti, hanno restrizioni all'esportazione di certi tipi di software. Una licenza conforme all'osd può avvertire gli utenti di possibili restrizioni e ricordare loro che sono obbligati a rispettare la legge; in ogni caso non può incorporare tali restrizioni essa stessa. 6. Discriminazione per campo d'applicazione La licenza non deve impedire di far uso del programma in un ambito specifico. Ad esempio non si può impedire l'uso del programma in ambito commerciale o nell'ambito della ricerca genetica. Motivo: L'intenzione principale di questa clausola è di proibire trappole nelle licenze che impediscano al software open source di essere usato commercialmente. Vogliamo che le aziende si uniscano alla nostra comunità, non che se ne sentano escluse. 7. Distribuzione della licenza I diritti allegati a un programma devono essere applicabili a tutti coloro a cui il programma è redistribuito, senza che sia necessaria l'emissione di ulteriori licenze. Motivo: Questa clausola intende proibire la chiusura del software per mezzi indiretti, come un obbligo di sottoscrizione di accordi di non diffusione. 8. Specificità ad un prodotto I diritti allegati al programma non devono dipendere dall'essere il programma parte di una particolare distribuzione di software. Se il programma è estratto da quella distribuzione e usato o redistribuito secondo i termini della licenza del programma, tutti coloro che ricevano il programma dovranno avere gli stessi diritti che sono garantiti nel caso della distribuzione originale. Motivo: Questa clausola impedisce un'ulteriore classe di licenze-trappola. 6

7 9. Vincoli su altro software La licenza non deve porre restrizioni su altro software distribuito insieme al software licenziato. Per esempio, la licenza non deve richiedere che tutti gli altri programmi distribuiti sugli stessi supporti siano software open source. Motivo: I distributori di software open source hanno il diritto di fare le loro scelte riguardo al software che intendono distribuire. 10. Neutralità rispetto alle tecnologie La licenza non deve contenere clausole che dipendano o si basino su particolari tecnologie o tipi di interfacce. Motivo: Questa clausola è diretta in particolar modo a quelle licenze che richiedano un gesto esplicito di approvazione da parte dell'utente, al fine di stabilire un contratto. Clausole che richiedano un "click" su interfacce web o di altro tipo possono essere in conflitto con importanti metodi di distribuzione del software, come i siti FTP, le raccolte su CDROM e le copie distribuite sul Web. Tali clausole possono rendere difficoltoso il riutilizzo del software. Le licenze valide devono permettere la possibilità che: 1) il software venga distribuito mediante canali diversi dal Web, sui quali non si possa richiedere un "click" esplicito prima di iniziare il download, e che 2) il programma in oggetto, o sue porzioni, possano essere utilizzare in ambienti privi di interfaccia grafica, nei quali non si possa richiedere la presenza di specifiche finestre di dialogo. Questo nuovo modo di sviluppare, distribuire e licenziare il software, ha portato radicali cambiamenti all interno dei processi di produzione di grandi e piccole aziende e promette di diffondersi ampiamente entrando persino in netta concorrenza con i più conosciuti prodotti commerciali. L uso degli OSS si colloca in nello scenario più ampio della Component Based Software Engineering (CBSE) i cui obiettivi principali consistono nella riduzione della complessità dei processi software e dei conseguenti costi, creando applicazioni dall'integrazione di componenti preesistenti. Tra i vantaggi indotti dall adozione di questo approccio c è la possibilità di soddisfare le sempre più pressanti necessità indotte dalla globalizzazione dei mercati e dall'inasprimento della competitività, come la necessità di realizzare prodotti di qualità adeguata al target e la riduzione dei tempi del time-to-market. 7

8 La ricerca in oggetto si focalizza sul problema della scelta delle componenti da integrare in un CBS (Component Based System), che è critica sia in fase di sviluppo che in fase di manutenzione. Nel primo caso è critica perché possono verificarsi problemi riguardanti l individuazione delle capacità (per esempio servizi, funzionalità, e così via) che le componenti espongono. Nel secondo caso è critica perché la componente software ed il sistema ottenuto dalla loro integrazione potrebbero avere una diversa evoluzione. Le evoluzioni possono infatti essere asincrone quando ad esempio: - il sistema necessita di alcuni cambiamenti specifici ma le modifiche delle componenti che lo costituiscono non procedono con la schedulazione prevista o - le componenti evolvono persino quando la loro evoluzione non è richiesta dal sistema all interno del quale sono integrati. Partendo dalle considerazioni appena presentate è possibile comprendere quanto sia importante per un Project Manager conoscere il livello di manutenzione eseguito per una componente software (COTS, ad-hoc, legacy, Open Source) candidata ad essere integrata in un sistema. In particolare tale lavoro si focalizza sulle componenti Open Source per le quali un basso livello dell attività di manutenzione può indicare, infatti, che il progetto si sta progressivamente avviando verso la morte a causa delle difficoltà di evoluzione o a causa della perdita di interesse della comunità. In entrambi i casi il risultato è che gli utenti non possano beneficiare di aggiornamenti e nuove release. E opportuno dunque individuare i fattori che possono guidare la scelta delle componenti Open Source da parte del Project Manager al fine di evitare quelle la cui attività di manutenzione tende ad essere scarsa o addirittura nulla. Una componente OS già integrata in un sistema la cui attività di manutenzione tende ad essere scarsa o addirittura nulla comporta o la sua eliminazione con conseguente sostituzione oppure di acquisire conoscenze circa il come fa. In entrambi i casi le azioni riparatrici comportano costi in termini di tempo e risorse da impiegare. 1.2 SourceForge Il nostro caso di studio focalizza l attenzione su uno dei maggiori repository di progetti software open source (OSS) : SourceForge. SourceForge oltre a fornire uno spazio di pubblicazione per i propri progetti, fornisce strumenti di supporto alla gestione dei progetti e della collaborazione con altri sviluppatori, quali ad esempio un CVS o un SVN, un forum per il rapporto 8

9 con gli utenti, etc. La mole di progetti ospitati è enorme: se ne contano circa , con un importante bacino d utenza che supera abbondantemente il milione. C è da dire, però, che molti di questi progetti sono in letargo oppure coinvolgono pochi utenti. La classificazione globale dei progetti avviene tramite un unica formula denominata Project Ranking (PR) e fornisce un termine di confronto diretto tra i progetti. Nonostante SourceForge dichiari che il PR non fornisce un indicatore se un progetto è migliore di un altro oppure se un progetto è meglio mantenuto oppure stabile di un altro, la realtà dimostra che chiunque scelga di utilizzare un OSS per qualsiasi applicazione viene fortemente influenzato da tale classifica. Il PR è generato basandosi sulle statistiche raccolte circa il Traffico, la Comunicazione e lo Sviluppo di ogni progetto. Il valore aggregato di questi fattori è poi usato per confrontare i diversi progetti osservati in uno stesso periodo di tempo al fine di determinare il ranking. La formula del Project Ranking è: Project Ranking = Traffico + Sviluppo + Comunicazione dove il Traffico è: ((log(prior 7 days download total + 1) / log(highest all-project download total + 1)) +(log(prior 7 days logo hits total + 1) / log(highest all-project logo hits + 1))+(log(prior 7 days site hits total + 1) / log(highest allproject site hits + 1))) / 3 lo Sviluppo: ((log(prior 7 days cvs commit total + 1) / log(highest all-project total + 1)) +( (100- age of latest file release (in days, max 100)) / 100 ) +( (100-days since last project administrator login (max 100)) / 100 ) ) / 3 e la Comunicazione: ((log(prior 7 days Tracker submission count + 1) / log(highest all-project total + 1))+(log(prior 7 days ML post count + 1) / log(highest all-project total + 1))+(log(prior 7 days Forum post count + 1) / log(highest allproject total + 1)) ) / 3. 9

10 1.3 Il caso di Studio In base alle esigenze descritte nei paragrafi precedenti, in particolare nei paragrafi 1.1 e 1.2, il nostro caso di studio ha come obiettivo quello di individuare se e quali correlazioni esistono tra i fattori definiti da SourceForge,nel nostro caso Traffico e Sviluppo, e il fattore introdotto ex-novo ossia Attività di Manutenzione. In particolare, il caso di studio nel suo complesso richiede di eseguire delle sperimentazioni che identificano dapprima se e quali correlazioni esistono tra i due fattori presenti nella formula del PR, Traffico e Sviluppo, e poi se e quali correlazioni esistono tra ognuno di questi ed Attività di Manutenzione. Una prima sperimentazione sarà eseguita sui dati considerando i dati degli OSS dei sette giorni precedenti la loro rilevazione, successivamente sarà eseguita un altra sperimentazione sui dati presenti per gli OSS dal momento della loro pubblicazione su SourceForge. Il fattore Traffico, definito in Source Forge, è usato per tracciare la popolarità di un progetto in termini di: Pagine accedute al sito Source Forge Pagine accedute allo spazio Web del progetto File scaricati Il fattore Sviluppo, definito in Source Forge, è usato per tracciare il lavoro che un team di progetto esegue durante la produzione del software in termini di: Età dell ultima release Giorno dall ultimo accesso dell amministratore Numero di commit eseguite sul CVS Il fattore Attività di Manutenzione è stato definito per tracciare le fasi di manutenzione di un progetto software in termini di: Bux Fix Rating Patch Rating Patch for Release Release for Day Feature Request Rating Nel capitolo 4 successivi segue una descrizione più dettagliata dei fattori e delle caratteristiche associate. 10

11 Capitolo 2 Definizione del processo con FSP 2.1 Process Modeling Language I Process Modeling Language (PML) sono linguaggi e formalismi che permettono la rappresentazione delle varie componenti di un processo. Questi linguaggi permettono la rappresentazione di tutte le parti di un processo in maniera chiara e non ambigua. I PML consentono di rappresentare un processo software e le sue numerose caratteristiche : Ruoli che le persone ricoprono nell esecuzione del processo (analista, progettista, programmatore, tester etc.) Attività da eseguire per raggiungere gli obiettivi del processo(analisi, progetto, test, codifica etc.) Competenze possedute da coloro che sono coinvolti nell esecuzione del processo (conoscenza specifica di linguaggi e, grado di esperienza del dominio applicativo, etc.) Caratteristiche dell ambiente e dell organizzazione esecutrice (politica aziendale, standards adottati, qualità target dei prodotti, etc.) Struttura e natura dei manufatti che devono essere creati e manutenuti (requisiti di analisi, documenti di progetto, codice, insieme dei casi di test, etc.) che devono essere utilizzati (CASE e compilatori). Esistono molteplici tipi di PML. In generale, tutti i PML esistenti si basano su qualche paradigma linguistico già esistente, opportunamente esteso per aumentarne la potenza espressiva, al fine di poter descrivere tutte le componenti e caratteristiche tipiche di un processo software. 11

12 2.2 Formal Structured Planning Il Formal Structured Planning è un linguaggio di modellazione dei processi basato sull Analisi Strutturata e concepito nel SerLab. Il FSP consente la descrizione di un processo attraverso la definizione dei seguenti elementi strutturati: manufatti: i prodotti o documenti, finiti e semi finiti, che costituiscono gli input delle attività o i loro output; i manufatti etichettati formano una gerarchia descrivibile attraverso gli operatori strutturati: concatenazione, alternativa e ripetizione; fasi: le attività macroscopiche del processo che sono poi descritte in un Work Flow di dettaglio attraverso attività elementari ed eventuali altre fasi; attività elementari: le attività atomiche del processo, in cui le fasi sono dettagliate; ad ogni attività elementare è associato uno scenario procedurale; scenari procedurali: descrizione univoca dell attività elementare attraverso una sequenza di attività base, e di condizioni interne di ingresso (ISC) e di uscita (IEC); attività base: insieme delle azioni di base che possono essere ottenute attraverso l utilizzo di metodi, tecniche e utili a raggiungere l obiettivo. Ad ogni elemento sono associati alcuni attributi, con relativa descrizione, necessari alla propria caratterizzazione. Alcuni attributi possono essere valutati in fase di definizione del modello di processo, altri quando questo è adattato alla produzione di uno specifico sistema software, altri ancora dinamicamente durante l esecuzione del processo. L insieme costituito dalle fasi, attività elementari e manufatti realizza il Work Flow Diagram, nel quale attività e fasi sono collegate fra loro attraverso degli archi che rappresentano i rispettivi manufatti in input e output. La decomposizione delle fasi a livelli di dettaglio successivi crea un albero di decomposizione dei Work Flow Diagram, chiamato Work Flow System. Il procedimento per la definizione e verifica di un modello di processo secondo tale formalismo, prevede i seguenti passi: 12

13 Definizione e descrizione dei manufatti e del loro albero di decomposizione, Definizione e descrizione del Work Flow diagram, Definizione degli scenari procedurali, Descrizione degli attributi specificanti le variabili di processo, Verifica del modello di processo descritto. 13

14 2.3 Work Flow Diagram Primo livello di astrazione 14

15 2.3.2 Campionamento OSS Mappa di Caratterizzazione 15

16 2.3.4 Progettazione Indagine Empirica 16

17 2.3.5 Analisi ed Interpretazione dei Dati 17

18 2.4 Scenari procedurali Campionamento OSS Scenario 1.1: Ricerca OSS Input (1.1) = Requisiti, ISC = Requisiti è disponibile Descrizione: PRODURRE (Lista di OSS) USANDO (Requisiti) Output (1.1) = Lista di OSS IEC = Lista di OSS non vuota Scenario 1.2: Scelta OSS Input (1.2) = Lista di OSS, Tecniche di scelta ISC = Lista di OSS è disponibile AND Tecniche di scelta è disponibile Descrizione: PRODURRE (Lista OSS Selezionati) USANDO (Lista di OSS ) AND (Tecniche di scelta) Output (1.2) = Campioni OSS IEC = Campioni OSS non vuoti Mappa di Caratterizzazione Scenario 2: Mappa di Caratterizzazione Input (2) = Caratteristiche di Qualità ISC = Caratteristiche di Qualità è disponibile Descrizione: 2 PRODURRE (Descrizione Metriche) USANDO (Caratteristiche di Qualità) Output (2) = Descrizione Metriche IEC = Descrizione Metriche non vuota 18

19 2.4.3 Progettazione Indagine Empirica Scenario 3.1: Definizione dell Esperimento Input (3.1) = Campioni OSS, Descrizione Metriche ISC = Lista OSS Selezionati è disponibile AND Descrizione Metriche è disponibile Descrizione: 3.1.1PRODURRE (Quesito di Ricerca + Ipotesi da Verificare + Variabili dell Esperimento) USANDO (Campioni OSS) AND (Descrizione Metriche) Output (3.2) = Quesito di Ricerca, Ipotesi da Verificare, Variabili dell Esperimento IEC = Quesito di Ricerca, Ipotesi da Verificare, Variabili dell Esperimento non vuoti Scenario 3.2: Pianificazione GQM di Ricerca Input (3.2) = Quesito di Ricerca, Ipotesi da Verificare, Variabili dell Esperimento ISC = Quesito di Ricerca è disponibile AND Ipotesi da Verificare è disponibile AND Variabili dell esperimento è disponibile Descrizione: 3.2.1PRODURRE (Progetto GQM di Ricerca) USANDO (Quesito di Ricerca) AND (Ipotesi da Verificare) AND (Variabili dell Esperimento) Output (3.2) = Progetto GQM di Ricerca IEC = Progetto GQM di Ricerca non vuoto Scenario 3.3: GQM dei Risultati di Ricerca Input (3.3) = Progetto GQM di Ricerca ISC = Progetto GQM di Ricerca è disponibile Descrizione: 3.3.1PRODURRE (Modelli di Calcolo) USANDO (Progetto GQM di Ricerca) Output (3.3) = Modelli di Calcolo IEC = Modelli di Calcolo non vuoti 19

20 2.4.4 Analisi ed Interpretazione dei Dati Scenario 4.1: Raccolta dei Dati Input (4.1) = Modelli di Calcolo ISC = Modelli di Calcolo è disponibile Descrizione: 4.1.1PRODURRE (Report dei Dati) USANDO (Modelli di Calcolo) Output (4.1) = Report dei Dati IEC = Report dei Dati non vuoto Scenario 4.2: Analisi dei Dati Input (4.2) = Report dei Dati ISC = Report dei Dati è disponibile Descrizione: 4.2.1PRODURRE (Report di Valutazione) USANDO (Report dei Dati) Output (4.2) = Report di Valutazione IEC = Report di Valutazione non vuoto 20

21 2.5 Descrizione dei Manufatti In input a 1.1 Requisiti Questo manufatto contiene tutte le informazioni relative ai requisiti forniti dal committente per svolgere il lavoro commissionato. In input a 1.2 Tecniche di scelta Questo manufatto contiene le tecniche che saranno adoperate per l individuazione di diversi campioni sperimentali. In input a 1.2 ed in output a 1.1 Lista di OSS Questo manufatto contiene tutte le informazioni relative ai OSS ricercati, nella fase precedente, per essere suddivisi in diversi campioni sperimentali. In input a 2. Caratteristiche di Qualità Questo manufatto contiene tutte le informazioni relative alle caratteristiche di qualità che saranno prese in considerazione durante lo svolgimento della indagine empirica. In input a 3.1 ed in output a 1.2 Campioni OSS Questo manufatto contiene tutte le informazioni relative agli OSS selezionati, suddivisi in diversi campioni nella fase precedente, per essere analizzati nell ambito dell indagine empirica. In input a 3.1 ed in output a 2 Descrizione Metriche Questo manufatto contiene tutte le informazioni relative alle metriche da utilizzare per analizzare le caratteristiche di qualità prese in considerazione. 21

22 In input a 3.2 ed in output a 3.1 Quesito di Ricerca Questo manufatto contiene tutte le informazioni relative al quesito di ricerca dell esperimento da effettuare. Ipotesi da verificare Questo manufatto contiene tutte le informazioni relative alle ipotesi: proposizioni da verificare sperimentalmente. Variabili dell Esperimento Questo manufatto contiene tutte le informazioni relative alle variabili indipendenti e dipendenti che saranno osservate dall esperimento. In input a 3.3 ed in output a 3.2 Progetto GQM di Ricerca Questo manufatto contiene tutte le informazioni relative all esecuzione del GQM di ricerca. In input a 4.1 ed in output a 3.3 Modelli di Calcolo Questo manufatto contiene tutte le informazioni relative ai dati ricavati per ciascun OSS candidato all esecuzione dell indagine empirica sulla base delle caratteristiche di qualità che sono state definite in fase di indagine. In input a 4.2 ed in output a 4.1 Report dei Dati Questo manufatto contiene i dati raccolti in base alle metriche che sono state definite in fase di indagine. In output a 4.2 Report di Valutazione Questo manufatto contiene tutte le informazioni relative all analisi dei dati fatta sui campioni di presi in considerazione. 22

23 2.6 Verifica e Validazione Consistenza globale dei manufatti Un manufatto si definisce globalmente consistente se un componente non è presente più volte nella definizione della struttura, cioè se la definizione del manufatto non presenta al suo interno strutture ricorrenti. Questa definizione di consistenza assicura che la stessa componente non sia presente in due livelli differenti dell albero di decomposizione di un manufatto. Poiché, nella rappresentazione del Processo di Benchmarking, i manufatti non sono decomponibili nella loro struttura sono globalmente consistenti Consistenza globale dei WFD Un Work Flow Diagram si definisce globalmente consistente se è assicurata l assenza di ricorrenze di una fase a differenti livelli. Osservando l elenco sottostante si nota che i Work Flow Diagrams definiti per rappresentare il Processo di Benchmarking sono globalmente consistenti, in quanto non vi sono fasi ricorrenti a differenti livelli di dettaglio dei Work Flow Diagrams. Fase 1 Campionamento OSS Ricerca OSS Scelta OSS Fase 2 Mappa di Caratterizzazione E un attività elementare Fase 3 Indagine Empirica 3.1 Definizione dell Esperimento 3.2 Pianificazione del GQM di Ricerca 3.3 GQM dei Risultati di Ricerca 23

24 Fase 4 Raccolta e Analisi dei Dati 4.1 Raccolta dei Dati 4.2 Analisi dei Dati Consistenza strutturale dei WFD Oltre alla consistenza globale un Work Flow Diagram deve essere validato anche per garantirne la consistenza strutturale. Esso si definisce strutturalmente consistente se è assicurato il bilanciamento dei manufatti tra le fasi ossia se utilizza tutti e solo i manufatti della fase che dettaglia e tutti e soli gli output che sono generati dalla stessa fase. Analizzando ciascun Work Flow da noi definito si nota che è assicurata la consistenza strutturale. Poiché la Fase 2 è una fase elementare non necessita del controllo di consistenza strutturale. Fase 1 Campionamento OSS La Fase 1 ha come manufatti di input: Requisiti Tecniche di Scelta e come manufatti di output: Lista OSS Selezionati Tali manufatti di input e output sono utilizzati e prodotti dalle sotto-fasi contenute nel WFD che lo dettaglia, infatti il manufatto di input Requisiti è utilizzato dall attività elementare 1.1 Ricerca OSS ; il manufatto di input Tecniche di Scelta è utilizzato dall attività elementare 1.2 Scelta OSS. Il manufatto di output Lista OSS Selezionati è prodotto dall attività elementare 1.2 Scelta OSS. 24

25 Fase 3 Indagine Empirica La Fase 3 ha come manufatti di input: Lista OSS Selezionati Descrizione Metriche e come manufatti di output: Modelli di Calcolo Tali manufatti di input e output sono utilizzati e prodotti dalle sotto-fasi contenute nel WFD che lo dettaglia, infatti il manufatto di input Lista OSS Selezionati ed il manufatto Descrizione Metriche sono utilizzati dall attività elementare 3.1 Definizione dell Esperimento. Il manufatto di output Modelli di Calcolo è prodotto dall attività elementare 3.3 GQM dei Risultati di Ricerca. Fase 4 Raccolta e Analisi dei Dati La Fase 4 ha come manufatti di input: Modelli di Calcolo e come manufatti di output: Report di Valutazione Tali manufatti di input e output sono utilizzati e prodotti dalle sottofasi contenute nel WFD che lo dettaglia, infatti il manufatto di input Modelli di Calcolo è utilizzato dall attività elementare 4.1 Raccolta dei Dati. 25

26 Il manufatto di output Report di Valutazione è prodotto dall attività elementare 4.2 Analisi dei Dati Consistenza dei manufatti negli SP Successivamente alla definizione degli scenari procedurali (SP) è necessario eseguire delle verifiche relative sia a quest ultimi ma anche alla relazione tra questi ed i manufatti e Work Flow definiti precedentemente. Gli SP sono consistenti rispetto ai manufatti in quanto ogni manufatto è prodotto/utilizzato come input da almeno una attività base e esiste un manufatto in input e uno in output per ogni attività base. Oltre a verificare la consistenza di ciascun SP rispetto ai manufatti occorre controllare la consistenza isomorfica che, a partire da una attività elementare ed il relativo scenario procedurale che la dettaglia, garantisce che ci sia un isomorfismo tra la struttura dei manufatti di input e la struttura dello scenario e un isomorfismo tra la struttura dei manufatti di output e la struttura dello scenario. Dall analisi delle singole attività elementari del Work Flow Diagrams e gli scenari procedurali che le dettagliano si può dire che la struttura di ogni manufatto, sia quelli in input che quelli in output, è isomorfa alla struttura dello scenario corrispondente e pertanto è assicurata anche la consistenza isomorfica. Fase 1 Campionamento OSS SP Ricerca OSS Il manufatto Requisiti è utilizzato dall attività base 1.1 Il manufatto Lista di OSS è prodotto dall attività base 1.1 SP Scelta OSS Il manufatto Lista di OSS è utilizzato dall attività base 1.2 Il manufatto Tecniche di Scelta è utilizzato dall attività base

27 Il manufatto Lista OSS Selezionati è prodotto dall attività base 1.2 Fase 2 Mappa di Caratterizzazione SP 2 - Mappa di Caratterizzazione Il manufatto Caratteristiche di Qualità è utilizzato dall attività base 2 Il manufatto Descrizione Metriche è prodotto dall attività base 2 Fase 3 Indagine Empirica SP Definizione dell Esperimento Il manufatto Lista OSS Selezionati è utilizzato dall attività base 3.1 Il manufatto Descrizione Metriche è utilizzato dall attività base 3.1 Il manufatto Quesito di Ricerca è prodotto dall attività base 3.1 Il manufatto Ipotesi da Verificare è prodotto dall attività base 3.1 Il manufatto Variabili dell Esperimento è prodotto dall attività base 3.1 SP Pianificazione del GQM di Ricerca Il manufatto Quesito di Ricerca è utilizzato dall attività base 3.2 Il manufatto Ipotesi da Verificare è utilizzato dall attività base 3.2 Il manufatto Variabili dell Esperimento è utilizzato dall attività base 3.2 Il manufatto Progetto GQM di Ricerca è prodotto dall attività base

28 SP GQM dei Risultati di Ricerca Il manufatto Progetto GQM di Ricerca è utilizzato dall attività base 3.3 Il manufatto Modelli di Calcolo è prodotto dall attività base 3.3 Fase 4 Raccolta e Analisi dei Dati SP Raccolta dei Dati SP 4.2 Analisi dei Dati Il manufatto Modelli di Calcolo è utilizzato dall attività Base 4.1 Il manufatto Report dei Dati è prodotto dall attività base 4.1 Il manufatto Report dei Dati è utilizzato dall attività base 4.2 Il manufatto Report di Valutazione è prodotto dall attività base

29 2.6.5 Consistenza comportamentale (verifica dinamica) Le verifiche dinamiche rendono possibile la scoperta di inconsistenze comportamentali dinamiche non rilevate dai controlli statici: ad esempio può emergere l impossibilità di eseguire un attività in quanto uno dei suoi input dipende dall esecuzione della stessa. Per eseguire tale verifica sono stati esaminati gli scenari procedurali relativi a ciascuna attività elementare, da noi definita, analizzando in dettaglio i manufatti disponibili all avvio del processo al fine di verificare che ciascuna attività potesse essere attivata. Ogni attività può essere attivata in quanto dispone di tutti e solo gli input necessari la cui produzione non dipende dalla attività stessa. Per questo motivo si può asserire che non ci sono inconsistenze dinamiche nel WFD. 29

30 2.7 Trasformazione del Modello di progetto in Piano di Progetto 30

31 31

32 Capitolo 3 Campionamento OSS 3.1 Ricerca OSS Il caso di studio prevede il prelevamento degli OSS e dei valori delle metriche da SourceForge. Al momento del rilevamento dei dati però, si è presentato il problema della non accessibilità della sezione SourceForge.net Web Statistics dovuto ad una migrazione dei database di SourceForge. A tale inconveniente si fa riferimento nel forum ufficiale preannunciando la persistenza del problema fino a Settembre prossimo. Per rimediare all assenza dei dati che avrebbero dovuto essere prelevati dalla sezione Statistics, abbiamo utilizzato il datamart di FLOSSmole, descritto di seguito FLOSSmole: motivazioni FLOSSmole (formalmente OSSmole) è un progetto collaborativo consistente in un Repository di Repository (RoR) realizzato per raccogliere, condividere e memorizzare dati confrontabili e analisi di sviluppo di Free/Libre/Open Source Software (FLOSS) per ricerche accademiche. Il progetto si sviluppa sui collezionamenti in corso e le analisi di vari gruppi di ricerca, evitando così la duplicazione a favore della compatibilità sia tra sorgenti di dati FLOSS che tra gruppi di ricerca e analisi. La creazione di dati collaborativi e repository di analisi per le ricerche su FLOSS è importante, in quanto le ricerche dovrebbero essere quanto più riproducibili, estendibili e confrontabili possibile. Ricerche di questo tipo favoriscono l'impiego di meta-analisi quali l'esplorazione della diversità tra le ricerche esistenti, confrontando i risultati al fine di estendere la propria conoscenza. Attualmente invece, la maggior parte dei progetti di ricerca su FLOSS non procede in tale direzione. 32

33 FLOSSmole è stato in origine creato per fornire risorse e supporto alle future generazioni di ricerche accademiche, oltre che costituire una valida risorsa per utenti non accademici alla ricerca di dati relativi allo sviluppo nell'industria del software open source DataBase Design Il modello dati di FLOSSmole è progettato per supportare il collezionamento di dati, la memorizzazione e l'analisi da forge multipli, free e open source, quali nello specifico, Sourceforge, GNU Savannah, Bugzilla e Freshmeat. FLOSSmole è in grado sia di rilevare i dati tramite spider che di rilevarli direttamente da un dump di database. Il tipo di dati che è attualmente collezionato dai diversi forge open source include: sorgente HTML completo della pagina del progetto, il nome del progetto, linguaggi di programmazione, linguaggio naturale, piattaforme, tipo di licenza open source, sistemi operativi, pubblico target, argomento principale del progetto. Le informazioni orientate allo sviluppatore includono: numero di sviluppatori, informazioni sugli sviluppatori (nome, nome utente, e-mai) e sul loro ruolo nel progetto. Inoltre vengono collezionati anche dati di tracking generici quali il numero totale di tracker aperti e chiusi. I dati raccolti specificatamente per SourceForge sono elencati nella tabella seguente. TIPI DI INFORMAZIONI RACCOLTE PER SOURCEFORGE GENERICHE DEVELOPER- ORIENTED ISSUE-TRACKING STATISTICHE Sorgente HTML Numero di Sviluppatori Totale tracker aperti Project Rank Nome Progetto Nome Sviluppatori Totale tracker chiusi Somma tra le pagine di SourceForge visitate e i click sul logo del progetto 33

34 Linguaggi di Programmazione Nome Utente degli Sviluppatori Pagine visitate sul sito web del progetto Piattaforme degli Sviluppatori Totale downloads Tipo di Licenza Open Source Ruolo degli Sviluppatori Forum Post Sistemi Operativi Pubblico Target Argomento Principale Ambiente Database Nome Utente dei Donatori Stato di Sviluppo Tipo di Interfaccia Utente Come è possibile notare dalla tabella, non tutti i dati richiesti dal caso di studio sono presenti in FLOSSmole. Tra i vantaggi principali nel suo utilizzo però, vi è la disponibilità di tutti i dati della sezione SourceForge.net Web Statistics a noi non accessibile per i motivi sopra spiegati; e, soprattutto, contiene i nomi di tutti i progetti pubblicati su SourceForge. 34

35 Quest'ultima caratteristica è fondamentale se si considera che, per la raccolta dei dati mancanti, è stato utilizzato un Web Crawler (vedere capitolo 2) che non poteva però scansionare l'intera mole di progetti su SourceForge, per ovvi motivi di costi in tempo e spazio. Di conseguenza il Web Crawler ha prelevato solo i dati necessari relativi agli OSS precedentemente selezionati dall'intera collezione disponibile su FLOSSmole, secondo i criteri esposti nel prossimo paragrafo. L'utilizzo di FLOSSmole ha comportato però anche una limitazione: i dati raccolti nel datamart risalgono solo ad Aprile 2008; non sono disponibili quindi informazioni sin dalla data di pubblicazione. 3.2 Scelta OSS Nella scelta dei campioni da analizzare sono stati considerati i seguenti obiettivi: Indagare progetti significativi rispetto ai fattori di qualità da analizzare Indagare la validità del valore 'Project Rank' calcolato da SourceForge e assegnato ad ogni progetto Effettuare indagini statistiche su progetti qualunque Il campione 1 è composto da progetti random, motivato dall'obiettivo 3; il campione 2 è composto da progetti significativi rispetto allo Sviluppo prelevati dal campione random, motivato dall'obiettivo 1; così come il campione 3, che contiene, invece, i progetti più significativi rispetto al Traffico. Infine il campione 4 è composto dai primi progetti con più alto valore di Project Rank, raccolto per il raggiungimento dell'obiettivo 2. I progetti sono stati considerati più significativi rispetto al Traffico nel caso in cui siano caratterizzati da un alto numero di download; mentre sono stati considerati più significativi rispetto allo Sviluppo nel caso in cui siano caratterizzati da un alto valore 'Development' così calcolato: Development = [ ( log(last_7_days_svn_or_cvs_commits + 1) / log(highest_7_day_commits + 1) ) + ( 100-days_since_last_file_release / 100) + ( 100- days_since_last_admin_login / 100) ] / 3 I dati raccolti in ognuno dei campioni, verranno suddivisi in ulteriori sottocampioni: LAST/DAYS contenente i valori risalenti ai 7 giorni precedenti la data di rilevazione; ALLTIME. Il sotto-campione ALLTIME avrebbe dovuto contenere i 35

36 valori risalenti alla data di pubblicazione di ogni progetto su SourceForge ma, come spiegato, conterrà solo i dati risalenti ad Aprile Poiché i dati relativi allo Sviluppo non erano presenti su FLOSSmole, il campione 2 è stato selezionato in una modialità diversa dagli altri campioni. Gli altri campioni sono stati selezioni da FLOSSmole sfruttando la presenza in esso, dell'intera collezione di progetti pubblicati su SourceForge, oltre che dei valori per ognuno di essi, di Project Rank e di Download. Data l'assenza dei dati di Sviluppo invece, non è stato possibile calcolare il valore di Development per i progetti in esso contenuti. Di conseguenza tale valore è stato calcolato per i progetti prelevati casualmente, considerandone la mole ( progetti) a garanzia di validità del campionamento. 36

37 Capitolo 4 Strumenti Automatici Per poter effettuare le indagini statistiche su dei campioni significativi, abbiamo scelto di avvalerci di uno strumento automatico (un web crawler) realizzato per l'occasione, in grado di raccogliere in maniera sistematica le informazioni riguardanti i progetti che si è deciso di analizzare; questo strumento ci permette di: 1. ottenere una quantità di informazioni maggiore rispetto a quella che avremmo ottenuto con una raccolta manuale dei dati; 2. ridurre il rischio di analizzare informazioni inesatte a causa di errori umani nella raccolta dei dati; 3. ridurre il tempo di raccolta dei dati, e quindi disponendo, al termine dell'operazione, di informazioni ottenute a brevissima distanza di tempo l'una dall'altra (quindi in condizioni temporali simili); 4. disporre di informazioni strutturate, il che permette di interpretare univocamente i dati raccolti e di poter applicare strumenti automatici anche per l'analisi delle informazioni raccolte (come ad esempio: test statistici, task di Data Mining relazionale o Apprendimento Automatico, etc.); fattori che concorrono tutti a rendere più significativo, dal punto di vista statistico, il campione dei dati che si intende analizzare. 4.1 Raccolta automatica dei dati sugli OSS La raccolta dei dati relativi agli OSS è effettuata tramite un software che analizza i contenuti del sito web di SourceForge in maniera metodica ed automatizzata, in maniera da raccogliere le informazioni riguardanti i progetti che si intende analizzare; per ogni progetto, occorre analizzare un numero limitato di pagine web ad esso associate, per raccogliere le informazioni contenute in esse. 37

38 Per ogni progetto che si intende analizzare, il Crawler esegue il seguente algoritmo: 1: Crawler (NomeProgetto) { 2: Progetto progetto = new Progetto(NomeProgetto); 3: HttpGet(progetto, + NomeProgetto + / ); 4: HttpGet(progetto, + group_id= + progetto.group_id + &ugn= + NomeProgetto); 5: HttpGet(progetto, + group_id= + progetto.group_id + &ugn= + NomeProgetto + &day= + progetto.day); 6: HttpGet(progetto, + progetto.group_id); 7: foreach(int atid in progetto.atidlist) { 8: Int offset = 0; 9: do { 10: exit = HttpGet(progetto, + func=browse&group_id= + progetto.group_id + &atid= + atid + &set=custom&_assigned_to=0&_status=100 + &_category=100&_group=100&order=artifact_id + &sort=desc&offset= + offset); 11: offset += 50; 12: } while (exit!= PAGENOTFOUND); 13: } 14: } La classe Progetto contiene, sotto forma di attributi, tutte le informazioni che è possibile raccogliere su un dato progetto (nome, numero di release, rank, download effettuati negli ultimi 7 giorni etc.) mentre il metodo HttpGet(Progetto, URL) ha lo scopo di memorizzare, negli attributi presenti nell'istanza della classe Progetto contenuta nel primo parametro, le informazioni disponibili all'indirizzo URL, che rappresenta l'indirizzo di una pagina del sito SourceForge contenente dati sul relativo progetto. Le informazioni raccoltepossono essere anche utilizzate da successive chiamate del metodo HttpGet per comporre l'url di altre pagine del sito SourceForge in cui sono presenti ulteriori dati: ciò avviene anche all'interno dell'algoritmo usato dal nostro Crawler per identificare il valore di alcune variabili utili alla corretta navigazione del sito SourceForge (come ad es. group_id o atid, di cui viene tenuto traccia all'interno degli attributi dell'oggetto project). 38

39 In totale, il nostro strumento automatico ha raccolto informazioni su progetti, analizzando in media il contenuto di 8,8875 pagine per ogni progetto, in un lasso di tempo di circa 20 ore. 39

40 4.2 Software per l analisi dei dati: R R è un ambiente di sviluppo specifico per l'analisi statistica dei dati che utilizza un linguaggio di programmazione derivato e in larga parte compatibile con S. È un software libero, in quanto viene distribuito con la licenza GNU GPL, ed è disponibile per diversi sistemi operativi (ad esempio Unix, GNU/Linux, Microsoft Windows). Il suo linguaggio, orientato agli oggetti, deriva direttamente dal pacchetto S distribuito con una licenza non open source e sviluppato da John Chambers e altri presso i Bell Laboratories. Nel nostro caso di studio, i dati raccolti dal Crawler vengono memorizzati in una base di dati (nello specifico MySQL) ed importati in R, con cui sono stati calcolati i test di Kolmogorov-Smirnov (per verificare che una distribuzione sia Normale o meno), i coefficienti di correlazione di Pearson e gli indici di correlazione per ranghi di Spearman. 4.3 Strumenti automatici per l analisi dei dati In fase di analisi dei dati è stata realizzata un'applicazione implementata in Java con le seguenti funzionalità: Rileva i dati raccolti, in parte con lo Spider e in parte con FLOSSmole, dal database, divisi per campioni Salva tali dati sotto forma di file.ser Utilizza tali dati per creare il file dataset.r contenente le interrogazioni per R e lo script runstat che lo invia ad R, reindirizzandone l'output nel file outputr Dopo l'esecuzione di tale script, carica i dati salvati nei file.ser e li utilizza durante la manipolazione del file di outputr. La manipolazione consiste nell'inserimento dei risultati dei test e dei grafici nel file LaTex tabelle.tex Per avviare l'esecuzione dell'applicazione su un particolare campione: copiare la cartella salvati dalla cartella relativa al campione prescelto AnalisiDati/nomeCampione in AnalisiDati eseguire la classe StatCalculator avviare l'esecuzione dello script runstat che verrà creato 40

41 eseguire la classe OutputHandler. Verrà creato il file LaTex tabelle.tex R è un ambiente integrato di programmazione, in cui sono contenute molte tecniche statistiche, sia classiche che moderne per la manipolazione dei dati, il calcolo e la visualizzazione grafica. Il termine ambiente è inteso come sistema coerente e pienamente schematizzato, piuttosto che come un'espansione incrementale di strumenti molto specifici e inflessibili di cui costituiscono un esempio la maggior parte degli altri software di analisi dei dati esistenti. R costituisce in realtà un progetto della R Foundation, organizzazione no-profit fondata dai membri dell'r Core Team di sviluppo, allo scopo di: fornire supporto al progetto R e ad altre innovazioni nel calcolo statistico. R è diventato uno strumento maturo e valido e il team di sviluppo mira ad assicurare il suo sviluppo ininterrottamente, come lo sviluppo continuativo di innovazioni future nel campo dei software per la ricerca statistica e computazionale fornire un punto di riferimento per utenti singoli, istituzioni o aziende che siano interessate a supportare o interagire con la comunità di sviluppo di R Amministrareil copyright di R e la documentazione Inoltre R è parte non ufficiale della Free Software Foundation del progetto GNU, caratterizzata da obiettivi simili a quelli di altre fondazioni di software open source quali Apache o GNOME Foundation; tra cui il supporto allo sviluppo continuativo di R, l'esplorazione di nuove metodologie, l'insegnamento e l'addestramento del calcolo statistico e l'organizzazione di incontri e conferenze orientate sul calcolo statistico. Tale strumento dunque, è stato scelto per la sua validità, diffusione, per la licenza open source che lo caratterizza e per la garanzia di continuo sviluppo futuro. Un ulteriore motivo è stato costituito dalla disponibilità di un'ampia collezione di pacchetti per R. Nel nostro progetto è stato utilizzato il pacchetto labstatr per il calcolo della media geometrica e del coefficiente di variazione. Tale pacchetto è comunque contenuto all'interno del progetto e quindi l'esecuzione dell'applicazione non richiede l'importazione di alcuna cartella o pacchetto esterno. 41

42 Nel salvataggio dei grafici è stato impostato postscript come device di stampa, e le immagini di tutti i campioni sono state salvate nella cartella images all'interno del progetto. 42

43 Capitolo 5 Mappa di Caratterizzazione 5.1 Descrizione Fattori di qualità N Caratteristica Fonte Descrizione Metriche 1 Traffico SourceForge Il fattore Traffico è definito in SourceForge per tracciare la popolarità di un progetto in termini di: pagine accedute al sito web di SourceForge, al sito web del progetto OSS e file scaricati da SourceForge. M 1.1, M 1.2, M

44 2 Sviluppo SourceForge Il fattore Sviluppo è definito in SourceForge per tracciare il lavoro che un team di progetto esegue durante la produzione del software in termini di: giorni dall' ultima release, giorni dall'ultimo accesso dell amministratore e numero di commit eseguite su CVS o SVN. 3 Summary&Details SourceForge Il fattore Summary&Details è stato definito per raccogliere informazioni di carattere generale, affinché si abbia una più completa descrizione di ogni progetto OSS in termini di: linguaggi di programmazione, sistemi operativi, tipo di utenza, licenza, interfaccia utente,. M2.1, M2.2, M2.3 M3.1, M3.2, M3.3, M3.4, M

45 4 Attività di Manutenzione SourceForge e Team di Sviluppo Il fattore Attività di Manutenzione è stato definito per tracciare il grado di manuntenibilità di un M4.1, M4.2, M4,3, M4.4, M4.5, M4.6, M4.7,M4.8 progetto OSS in termini di: stato di sviluppo, numero di sviluppatori, bug fix rating, patch rating, patch for release, release for days, feature request rating, support request rating. 45

46 5.2 Descrizione Metriche Traffico M (ASF) Accessi su SourceForge Definizione Tipo La metrica ASF indica il numero di pagine del progetto visitate sul sito di Sourceforge.net. Metrica : oggettiva Scala : assoluta Formula - Modalità di calcolo Per ricavare tale metrica è sufficiente accedere nella sezione SourceForge.net Web Traffic Statistics del relativo progetto. M (PW) Pagine visitate su sito Web progetto Definizione Tipo La metrica PW indica il numero di pagine visitate sul sito Web del progetto. Metrica : oggettiva Scala : assoluta Formula - Modalità di calcolo Per ricavare tale metrica è sufficiente accedere nella sezione SourceForge.net Web Traffic Statistics del relativo progetto. 46

47 M (FS) File Scaricati Definizione Tipo La metrica FS indica il numero di file scaricati da SourceForge.net, quando distribuiti attraverso il proprio File Release System. Metrica : oggettiva Scala : assoluta Formula - Modalità di calcolo Per ricavare tale metrica è sufficiente accedere nella sezione SourceForge.net Web Traffic Statistics del relativo progetto Sviluppo M (GUR) Giorni dall'ultima Release Definizione Tipo Formula La metrica GUR indica il numero di giorno trascorsi dalla pubblicazione dell ultima release mediante il File Release System. Metrica : oggettiva Scala : assoluta GUR = data odierna data ultima release dove: data odierna = data in cui si analizza l'oss da parte degli attori dell indagine empirica data ultima release = data di pubblicazione dell ultima release Modalità di calcolo Per ricavare tale metrica è sufficiente accedere alla voce Latest News presente nella sezione Summary del relativo progetto. 47

48 M (GUAA) Giorni dall Ultimo Accesso dell Amministratore Definizione Tipo Formula La metrica GUAA indica i giorni trascorsi dall ultimo accesso dell amministratore. Metrica : oggettiva Scala : assoluta GUAA = data odierna - data ultimo accesso amministratore dove: data odierna = data in cui si analizza il OSS da parte degli attori dell indagine empirica data ultimo accesso amministratore = data dell accesso amministratore Modalità di calcolo Per ricavare tale metrica è sufficiente accedere alla voce Latest News presente nella sezione Summary del relativo progetto. M (COMM) COMMit eseguite su CVS o SVN Definizione Tipo La metrica COMM indica il numero di commit eseguite su CVS o su SVN. Metrica : oggettiva Scala : assoluta Formula - Modalità di calcolo Per ricavare tale metrica è sufficiente accedere nella sezione CVS Activity Statistics del relativo progetto. 48

49 5.2.3 Summary&Details M (PT) Pubblico Target Definizione Tipo La metrica PT indica il tipo di utilizzatori a cui si rivolge l'oss Metrica : oggettiva Scala : nominale Advanced End Users Aerospace Customer Service Developers Education End Users/Desktop Financial and Insurance Industry Government Healthcare Industry Information Technology Legal Industry Manufacturing Non-Profit Organization Quality Engineers Religion 49

50 Science/Research System Administrators Telecommunications Industry Other Audience Formula - Modalità di calcolo Per ricavare tale metrica è sufficiente accedere alla voce Project Details presente nella sezione Project Summary del relativo progetto. M (SO) Sistema Operativo Definizione Tipo La metrica SO indica i sistemi operativi su cui è installabile l'oss. Metrica : oggettiva Scala : nominale, definita come segue: 32-bit MS Windows (95/98) 32-bit MS Windows (NT/2000/XP) 64-bit MS Windows All 32-bit MS Windows (95/98/NT/2000/XP) All BSD Platforms (FreeBSD/NetBSD/OpenBSD/Apple Mac OS X) All POSIX (Linux/BSD/UNIX-like OSes) AmigaOS 50

51 Apple Mac OS Classic BeOS Blackberry OS BSD/OS Console-based Platforms Cygwin (MS Windows) description DOSEMU ecos EMX (OS/2 and MS-DOS) Fink (Mac OS X) FreeBSD GNU Hurd Handheld/Embedded Operating Systems HP-UX IBM AIX IBM OS/2 Linux Microsoft Windows 3.x Microsoft Windows Server 2003 Microsoft Xbox MinGW/MSYS (MS Windows) Modern (Vendor-Supported) Desktop Operating Systems 51

52 MorphOS MS-DOS NetBSD OpenBSD OpenVMS OS Independent (Written in an interpreted language) OS Portable (Source code to work with many OS platforms) OS X Other Other Operating Systems PalmOS Project is an Operating System Distribution Project is an Operating System Kernel Project is OS Distribution-Specific QNX SCO Sega Dreamcast SGI IRIX Solaris Sony Playstation 2 SymbianOS uclinux Virtualization 52

53 Vista VMware VxWorks Win2K Win95 Win98 Win98 OSR2 WinCE WINE WinME WinNT WinXP Xen Formula - Modalità di calcolo Per ricavare tale metrica è sufficiente accedere alla voce Project Details presente nella sezione Project Summary del relativo progetto. 53

54 M (LP) Linguaggio di Programmazione Definizione Tipo La metrica LP indica il linguaggio di programmazione utilizzato per lo sviluppo dell'oss. Metrica : oggettiva Scala : nominale, definita come segue: ActionScript Ada APL AppleScript ASP AspectJ ASP.NET Assembly AWK BASIC C C# C++ COBOL Cold Fusion Common Lisp D Delphi/Kylix description 54

55 Dylan Eiffel Emacs-Lisp Erlang Euler Euphoria Forth Fortran Groovy Haskell IDL Java JavaScript JSP LabVIEW Lisp Logo LPC Lua MATLAB Modula MUMPS Oberon Objective C Object Pascal 55

56 OCaml (Objective Caml) Pascal Perl PHP Pike PL/SQL PROGRESS Prolog Python REALbasic REBOL Rexx Ruby Scheme Simulink Smalltalk S/R Standard ML Tcl Unix Shell VBScript VHDL/Verilog Visual Basic Visual Basic.NET Visual FoxPro XBasic 56

57 XSL (XSLT/XPath/XSL-FO) Yacc Zope Formula - Modalità di calcolo Per ricavare tale metrica è sufficiente accedere alla voce Project Details presente nella sezione Project Summary del relativo progetto. M (IU) Interfaccia Utente Definizione Tipo La metrica IU indica il tipo di interfaccia grafica dell'oss. Metrica : oggettiva Scala : nominale, definita come segue: AAlib Allegro Carbon (Mac OS X) ClanLib Cocoa (MacOS X) Command-line Console/Terminal Crystal Space Curses/Ncurses description DirectX Eclipse 57

58 FLTK Framebuffer GGI Glide GLUT Gnome Graphical Grouping and Descriptive Categories (UI) GTK+ Handheld/Mobile/PDA Java AWT Java Swing Java SWT KDE Motif/LessTif.NET/Mono Newt Non-interactive (Daemon) OpenGL Other toolkit Plib Plugins Project is a 3D engine Project is a graphics toolkit Project is a remote control application Project is a templating system 58

59 Project is a user interface (UI) system Project is a window manager Qt Quartz SDL SVGAlib TabletPC Tk Web-based Win32 (MS Windows) wxwidgets X Window System (X11) Formula - Modalità di calcolo Per ricavare tale metrica è sufficiente accedere alla voce Project Details presente nella sezione Project Summary del relativo progetto. 59

60 M (L) Licenza Definizione Tipo La metrica L indica la tipologia di licenza sotto la quale è stato pubblicato l'oss. Metrica : oggettiva Scala : nominale, definita come segue: Academic Free License (AFL) Adaptive Public License Affero GNU Public License Apache License V2.0 Apache Software License Apple Public Source License Artistic License Attribution Assurance License BSD License Common Development and Distribution License Common Public Attribution License 1.0 (CPAL) Common Public License Computer Associates Trusted Open Source License CUA Office Public License Version 1.0 description Eclipse Public License 60

61 Educational Community License Eiffel Forum License Eiffel Forum License V2.0 Entessa Public License EU DataGrid Software License Fair License Frameworx Open License GNU General Public License (GPL) GNU Library or Lesser General Public License (LGPL) Historical Permission Notice and Disclaimer IBM Public License Intel Open Source License Jabber Open Source License Lucent Public License (Plan9) Lucent Public License Version 1.02 Microsoft Public License Microsoft Reciprocal License MIT License MITRE Collaborative Virtual Workspace License (CVW) Motosoto License Mozilla Public License 1.0 (MPL) Mozilla Public License 1.1 (MPL 1.1) NASA Open Source Agreement 61

62 Nethack General Public License Nokia Open Source License OCLC Research Public License 2.0 Open Group Test Suite License Open Software License OSI-Approved Open Source Other/Proprietary License PHP License Public Domain Python License (CNRI Python License) Python Software Foundation License Qt Public License (QPL) RealNetworks Public Source License V1.0 Reciprocal Public License Ricoh Source Code Public License Sleepycat License Sun Industry Standards Source License (SISSL) Sun Public License Sybase Open Watcom Public License University of Illinois/NCSA Open Source License Vovida Software License 1.0 W3C License wxwindows Library Licence 62

63 X.Net License zlib/libpng License Zope Public License Formula - Modalità di calcolo Per ricavare tale metrica è sufficiente accedere alla voce Project Details presente nella sezione Project Summary del relativo progetto. 63

64 5.2.4 Attività di Manutenzione M (BFR) Bug Fix Rating Definizione Tipo La metrica BFR indica la percentuale di bug risolti dagli sviluppatori rispetto al numero totale di bug Metrica : oggettiva Scala : ratio Formula BFR = (Closed Bug + Deleted Bug) / Total Bug dove: Total Bug = (Open Bug + Pending Bug + Closed Bug + Deleted Bug) Open Bug = bug sottomessi ma non ancora risolti Pending Bug = bug per i quali un tecnico richiede delle informazioni aggiuntive al sottomettitore Closed Bug = bug risolti Deleted Bug = bug non considerati tali dal team di progetto Modalità di calcolo I dati di Bug Fixing di ogni OSS sono calcolabili a partire da quelli forniti nella sezione Tracker Bugs. E possibile calcolare tali valori per le diverse misure usando i filtri forniti dall interfaccia di SourceForge. 64

65 M (PR) Patch Rating Definizione Tipo La metrica PR indica la percentuale di patch prodotte dagli sviluppatori rispetto al numero totale di patch richieste delle quali si è tenuto traccia. Metrica : oggettiva Scala : ratio Formula PR = (Closed Patch + Deleted Patch) / Total Patch dove: Total Patch = (Open Patch + Pendine Patch + Closed Patch + Deleted Patch) Open Patch = richieste di patch non ancora soddisfatte Pending Patch = patch per le quali un tecnico richiede delle informazioni aggiuntive al sottomettitore Closed Patch = bupatch prodotte Deleted Patch = segnalazioni di patch che il team di progetto ha deciso di non soddisfare Modalità di calcolo I dati di Patch Rating di ogni tool sono calcolabili a partire da quelli forniti nella sezione Tracker Patches. E possibile calcolare tali valori per le diverse misure usando i filtri forniti dall interfaccia di SourceForge. 65

66 M (PFR) Patch for Release Definizione Tipo La metrica PFR indica il numero medio di patch rilasciate per release rispetto ad uno specifico OSS. Metrica : oggettiva Scala : ratio Formula PFR = Closed Path / Total Number of Release dove: Closed Patch = numero totale di patch pubblicate per l'oss considerato Total Number of Release = numero totale di release pubblicate per l'oss considerato Modalità di calcolo I dati di Patch for Release di ogni OSS sono calcolabili a partire da quelli forniti nella sezione Tracker Patches. E possibile calcolare tali valori per le diverse misure usando i filtri forniti dall interfaccia di SourceForge. 66

67 M (RFD) Release for Day Definizione Tipo La metrica RFD indica il numero medio di release per un OSS dal momento della sua registrazione al momento della rilevazione dei dati. Metrica : oggettiva Scala : ratio Formula PFD = Open Patch + Pendine Patch + Closed Patch + Deleted Patch / PA dove: Open Patch = richieste di patch non ancora soddisfatte Pending Patch = patch per le quali un tecnico richiede delle informazioni aggiuntive al sottomettitore Closed Patch = bupatch prodotte Deleted Patch = segnalazioni di patch che il team di progetto ha deciso di non soddisfare Modalità di calcolo I dati di Patch for Release di ogni tool sono calcolabili a partire da quelli forniti nella sezione Tracker Patches. E possibile calcolare tali valori per le diverse misure usando i filtri forniti dall interfaccia di SourceForge. 67

68 M (FRR) Feature Request Rating Definizione Tipo La metrica FRR indica la percentuale di richieste di feature soddisfatte rispetto al numero totale di richieste di feature delle quali si è tenuta traccia. Metrica : oggettiva Scala : ratio Formula FRR = (Closed Feature Request + Deleted Feature Request) / Total Feature Request dove: Total Feature Request = (Open Feature Request + Pendine Feature Request + Closed Feature Request + Deleted Feature Request) Open Feature Request = richieste di feature non ancora soddisfatte Pending Feature Request = richieste di feature per le quali un tecnico richiede delle informazioni aggiuntive al sottomettitore Closed Feature Request = richieste di feature soddisfatte Deleted Feature Request = richieste di feature che il team di progetto ha deciso di non soddisfare Modalità di calcolo I dati di Patch for Release di ogni tool sono calcolabili a partire da quelli forniti nella sezione Tracker Patches. E possibile calcolare tali valori per le diverse misure usando i filtri forniti dall interfaccia di SourceForge. 68

69 M (DS) Development Status Definizione Tipo La metrica DS indica lo stato di sviluppo del OSS. Metrica : oggettiva Scala : ordinale, definita come segue: Q.1 Planning Q.2 Pre-Alpha Q.3 Alpha Q.4 Beta Q.5 Production/Stable Q.6 Mature Q.7 Inactive Formula - Modalità di calcolo Per ricavare tale metrica è sufficiente accedere alla sezione Summary del relativo progetto. 69

70 M (NS) Numero Sviluppatori Definizione Tipo La metrica NS indica il numero di sviluppatori del OSS. Metrica : oggettiva Scala : assoluta Formula - Modalità di calcolo Per ricavare tale metrica è sufficiente accedere alla sezione Summary del relativo progetto. 70

71 Capitolo 6 Progettazione Indagine Empirica 6.1 Definizione dell esperimento Di seguito è mostrato il diagramma relativo al processo di esecuzione dell indagine empirica dettagliato nelle varie fasi. L esigenza è quella di individuare se e quali correlazioni esistono tra le caratteristiche definite da SourceForge, ossia Traffico e Sviluppo, e la caratteristica introdotta ex-novo ossia Attività di Manutenzione. A tale scopo è stato necessario individuare un campione di OSS utili per la formulazione delle metriche. Per la selezione dei progetti OSS sono stati seguiti i seguenti criteri di scelta. 71

CONCETTI DI BASE PER LA QUALITA

CONCETTI DI BASE PER LA QUALITA CONCETTI DI BASE PER LA QUALITA Misura: è una funzione m: A -> B che associa ad ogni attributo A di un osservabile nel mondo reale o empirico (dominio) un oggetto formale B nel mondo matematico (range);

Dettagli

Ciclo di Vita Evolutivo

Ciclo di Vita Evolutivo Ciclo di Vita Evolutivo Prof.ssa Enrica Gentile a.a. 2011-2012 Modello del ciclo di vita Stabiliti gli obiettivi ed i requisiti Si procede: All analisi del sistema nella sua interezza Alla progettazione

Dettagli

Ambienti per lo sviluppo collaborativo del software (CDE)

Ambienti per lo sviluppo collaborativo del software (CDE) Ambienti per lo sviluppo collaborativo del software (CDE) Funzionalità tipiche dei CDE Esempi di CDE Collab CDE Sviluppo collaborativo del software Gestione del codice, delle revisioni e dei rami di sviluppo

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

Corso sul pacchetto R

Corso sul pacchetto R Corso sul pacchetto R Introduzione ad R http://www.r-project.org ! R è un ambiente di sviluppo specifico per elaborare dati, eseguire calcoli ed effettuare rappresentazioni grafiche, che utilizza un linguaggio

Dettagli

Il software. Il software. Dott. Cazzaniga Paolo. Dip. di Scienze Umane e Sociali paolo.cazzaniga@unibg.it

Il software. Il software. Dott. Cazzaniga Paolo. Dip. di Scienze Umane e Sociali paolo.cazzaniga@unibg.it Il software Dip. di Scienze Umane e Sociali paolo.cazzaniga@unibg.it Outline 1 Il software Outline Il software 1 Il software Algoritmo Sequenza di istruzioni la cui esecuzione consente di risolvere uno

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

Oracle Solaris Studio 12.4: Guida per la sicurezza

Oracle Solaris Studio 12.4: Guida per la sicurezza Oracle Solaris Studio 12.4: Guida per la sicurezza N. di parte: E60509 Ottobre 2014 Copyright 2013, 2014, Oracle e/o relative consociate. Tutti i diritti riservati. Il software e la relativa documentazione

Dettagli

Software e Sistemi Operativi Prof. Maurizio Naldi A.A. 2015/16

Software e Sistemi Operativi Prof. Maurizio Naldi A.A. 2015/16 Software e Sistemi Operativi Prof. Maurizio Naldi A.A. 2015/16 Cosa vedremo Il software applicativo Categorie di SW Il sistema operativo Gestione programmi in esecuzione (processi) Gestione memoria Gestione

Dettagli

Associazione Italiana PostgreSQL Users Group www.itpug.org. ConfSL 2009 Bologna, 13 Giugno 2009. Gabriele Bartolini gabriele.bartolini@2ndquadrant.

Associazione Italiana PostgreSQL Users Group www.itpug.org. ConfSL 2009 Bologna, 13 Giugno 2009. Gabriele Bartolini gabriele.bartolini@2ndquadrant. Studenti e Open-Source: il caso di PostgreSQL Gabriele Bartolini gabriele.bartolini@2ndquadrant.it Associazione Italiana PostgreSQL Users Group www.itpug.org ConfSL 2009 Bologna, 13 Giugno 2009 1 Licenza

Dettagli

SISTEMI OPERATIVI E SOFTWARE SOFTWARE. Software: Programmi Applicativi. Software: device driver

SISTEMI OPERATIVI E SOFTWARE SOFTWARE. Software: Programmi Applicativi. Software: device driver SOFTWARE L hardware è la parte che si può prendere a calci; il software quella contro cui si può solo imprecare. SOFTWARE E l insieme dei dati e dei programmi che rendono possibile l inserimento dei dati

Dettagli

Introduzione al Software Libero

Introduzione al Software Libero Introduzione al Software Libero Linux Day 6 23 novembre 2002 Il software Programma (codice) scritto in un particolare linguaggio di programmazione esistono molti linguaggi di programmazione (Di solito)

Dettagli

ACG Vision4 Service Bus V 1.3.0

ACG Vision4 Service Bus V 1.3.0 ACG Offering Team 16 settembre 2010 ACG Vision4 Service Bus V 1.3.0 ACGV4SVB 06 L evoluzione ACG: linee guida Punti fondamentali Strategia di evoluzione del prodotto ACG con particolare attenzione alla

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Secondo la Free Software Foundation, un software si può definire libero solo se garantisce quattro "libertà fondamentali":

Secondo la Free Software Foundation, un software si può definire libero solo se garantisce quattro libertà fondamentali: OPEN SOFTWARE Tecnicamente, Open Source significa a codice sorgente aperto. La maggior parte dei programmi sono infatti scritti in linguaggi (più o meno) leggibili dagli umani, quali il C, C++, C#, ecc.;

Dettagli

Server web e protocollo HTTP

Server web e protocollo HTTP Server web e protocollo HTTP Dott. Emiliano Bruni (info@ebruni.it) Argomenti del corso Cenni generali sul web IIS e Apache Il server web Micsosoft Internet Information Server 5.0 Il server web Apache 2.0

Dettagli

Lezione 1. Hardware Piattaforme e componenti Software, linguaggi e licenze d uso. Parte II Software, linguaggi e licenze d uso.

Lezione 1. Hardware Piattaforme e componenti Software, linguaggi e licenze d uso. Parte II Software, linguaggi e licenze d uso. Lezione 1 Hardware Piattaforme e componenti Software, linguaggi e licenze d uso Parte II Software, linguaggi e licenze d uso Netlab@IASI 1 Autori Fulvio Bartoloni, Marco Bianchi, Carlo Gaibisso, Diego

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare Facoltà di Lingue e Letterature Straniere Software È un insieme di programmi che permettono di trasformare un insieme di circuiti elettronici (=

Dettagli

Introduzione al Calcolo Scientifico

Introduzione al Calcolo Scientifico Introduzione al Calcolo Scientifico Corso di Calcolo Numerico, a.a. 2010/2011 Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico

Dettagli

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Linguaggi di Programmazione Michele Tomaiuolo Linguaggi macchina I

Dettagli

Data Base. Prof. Filippo TROTTA

Data Base. Prof. Filippo TROTTA Data Base Definizione di DataBase Un Database può essere definito come un insieme di informazioni strettamente correlate, memorizzate su un supporto di memoria di massa, costituenti un tutt uno, che possono

Dettagli

BiblioTech - Personal Digital Library

BiblioTech - Personal Digital Library Albana Gaba Alessandro Pegoraro Mirco Bocedi Fabio Giuseppe Strozzi Gruppo 8 Obiettivo Creare un software efficiente per la catalogazione di documenti digitali in categorie personalizzabili dall utente.

Dettagli

TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE

TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Web Autore: Davide Revisione: 1.2 Data: 23/5/2013 Titolo: Innopedia File: Documentazione_tecnica Sito: http://inno-school.netsons.org/ Indice: 1. Presentazione

Dettagli

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz Breve introduzione allo sviluppo WEB a cura di Ciro Attanasio - ciro.attanasio@email.cz Partiamo (1 di 1) Come funziona il WEB e quali tecnologie lo compongono Cos è un Client (1 di 2) Un client, in informatica,

Dettagli

White Paper 1. INTRODUZIONE...2 2. TECNOLOGIE SOFTWARE IMPIEGATE...2 3. APPROCCIO PROGETTUALE...10 3. RISULTATI...10

White Paper 1. INTRODUZIONE...2 2. TECNOLOGIE SOFTWARE IMPIEGATE...2 3. APPROCCIO PROGETTUALE...10 3. RISULTATI...10 Soluzioni software di EDM "Electronic Document Management" Gestione dell archiviazione, indicizzazione, consultazione e modifica dei documenti elettronici. Un approccio innovativo basato su tecnologie

Dettagli

CLAUDIO CICALI. Curriculum Vitae. Informazioni personali Domicilio: Via San Carlo 17, 40121 Bologna (ITALY) Nazionalità: Italiana

CLAUDIO CICALI. Curriculum Vitae. Informazioni personali Domicilio: Via San Carlo 17, 40121 Bologna (ITALY) Nazionalità: Italiana CLAUDIO CICALI Curriculum Vitae Informazioni personali Domicilio: Via San Carlo 17, 40121 Bologna (ITALY) Email: claudio@cicali.org, claudio.cicali@gmail.com Nazionalità: Italiana Data di nascita: 6 July

Dettagli

Software proprietario

Software proprietario Open Source Software proprietario NO Fino a tutti glianni sessanta, anche se in misura decrescente, la componente principale e costosa di un computer era l hardware. Da ciò la scelta dei produttori di

Dettagli

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE INTRODUZIONE L ingegneria del software è la disciplina tecnologica e gestionalerelativa alla realizzazione sistematica e alla manutenzione di un software rispettando

Dettagli

Suite OpenOffice. Introduzione a

Suite OpenOffice. Introduzione a Suite OpenOffice Introduzione a Cosa è OpenOffice.org? OpenOffice.org è una suite per ufficio composta da: elaboratore di testi foglio di calcolo creatore di presentazioni gestore di basi di dati Writer

Dettagli

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso Eclipse. Prerequisiti. 1 Introduzione Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated

Dettagli

Linux e l'importanza dell'opensource

Linux e l'importanza dell'opensource Ci troviamo in un'era in cui la complessità tecnologica ha reso maggiormente evidente l'importanza e la necessità di informazione L'informatica: (dal francese informatique: infor(mation) (auto)matique

Dettagli

Macchine per l elaborazione dell informazion e. Sistemi di Elaborazione delle Informazioni. Informatica II

Macchine per l elaborazione dell informazion e. Sistemi di Elaborazione delle Informazioni. Informatica II Macchine per l elaborazione dell informazion e Sistemi di Elaborazione delle Informazioni Informatica II Ing. Mauro Iacono Seconda Università degli Studi di Napoli Facoltà di Studi Politici e per l Alta

Dettagli

Relazione finale di Didattica e laboratorio di Programmazione

Relazione finale di Didattica e laboratorio di Programmazione Relazione finale di Didattica e laboratorio di Programmazione Prof.ssa Vallì Carando Tirocinante Maria Grazia Maffucci Classe di concorso A042 aprile 2013 Progettazione Web Applicazioni client-server La

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

MAGO CRESCO - SPI.2. Relazione finale sul Progetto MAGO. Consorzio Campano di Ricerca per l Informatica e l Automazione Industriale S.c.a.r.l.

MAGO CRESCO - SPI.2. Relazione finale sul Progetto MAGO. Consorzio Campano di Ricerca per l Informatica e l Automazione Industriale S.c.a.r.l. CRESCO - SPI.2 MAGO Relazione finale sul Progetto MAGO Relativo al contratto tra ENEA e CRIAI avente per oggetto: Analisi e Realizzazione di tool innovativi a supporto delle funzionalità GRID stipulato

Dettagli

I Server. Andrea Sommaruga: I server e le OSC (12:15-13:00) I Sistemi Operativi alternativi: Distribuzioni Linux,

I Server. Andrea Sommaruga: I server e le OSC (12:15-13:00) I Sistemi Operativi alternativi: Distribuzioni Linux, I Server Andrea Sommaruga: I server e le OSC (12:15-13:00) I Sistemi Operativi alternativi: Distribuzioni Linux, FreeBSD, ecc. Apache / Tomcat / Jakarta / Samba e l'accesso a Windows Antivirus, firewall,

Dettagli

hdone 1 Overview 2 Features hdone Team 13 dicembre 2007

hdone 1 Overview 2 Features hdone Team 13 dicembre 2007 hdone hdone Team 13 dicembre 2007 1 Overview hdone è una web application che fornisce il supporto necessario a tutte le aziende che si occupano di fornire servizi di assistenza al cliente. Dopo gli anni

Dettagli

Ingegneria del Software - Il Ciclo Lungo

Ingegneria del Software - Il Ciclo Lungo Ingegneria del Software - Il Ciclo Lungo Alessandro Martinelli alessandro.martinelli@unipv.it 10 Marzo 2014 Il Ciclo Lungo Il Versioning e la Condivisione di Codice Organizzazione dei Pacchetti La Modellazione

Dettagli

Kirey Re.Search 2.0. Piattaforma di ricerca Open Source

Kirey Re.Search 2.0. Piattaforma di ricerca Open Source Kirey Re.Search 2.0 Piattaforma di ricerca Open Source Le esigenze Quando si parla di motori di ricerca si tende a pensare istintivamente solo a quelli utilizzati per effettuare ricerche in Internet, come

Dettagli

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Introduzione: 1. Principi di base dei sistemi operativi 2. Sistemi

Dettagli

CIG 6223997CCB COD. ALICE G00292

CIG 6223997CCB COD. ALICE G00292 APPENDICE 2 Descrizione dei profili professionali richiesti Sommario APPENDICE 2 Descrizione dei profili professionali richiesti... 1 1. PROFILI PROFESSIONALI RICHIESTI... 2 1.1 Capo progetto... 2 1.2

Dettagli

Il software Open Source

Il software Open Source Il software Open Source Matteo Baroni Open source non significa semplicemente accesso al codice sorgente. Secondo quanto stabilito nelle definizioni date dalla OSI (Open Source Initiative) e riportate

Dettagli

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1 Introduzione Il software e l ingegneria del software Marina Mongiello Ingegneria del software 1 Sommario Il software L ingegneria del software Fasi del ciclo di vita del software Pianificazione di sistema

Dettagli

CONTENT MANAGMENT SYSTEMS

CONTENT MANAGMENT SYSTEMS CONTENT MANAGMENT SYSTEMS ESTRATTO DA: Ileana D'Incecco, Progettare la comunicazione web per organizzazioni non-profit con strumenti open source: ideazione e realizzazione del sito web della Casa delle

Dettagli

Fondamenti di Informatica 7. Linguaggi di programmazione

Fondamenti di Informatica 7. Linguaggi di programmazione I linguaggi di alto livello Fondamenti di Informatica 7. Linguaggi di programmazione Introduzione alla programmazione Caratteristiche dei linguaggi di programmazione I linguaggi di programmazione di alto

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

Modellazione di sistema

Modellazione di sistema Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di

Dettagli

Cygwin: vita su Windows, a la Linux-way.

Cygwin: vita su Windows, a la Linux-way. GroLUG Day 9 Aprile 2005, Grosseto Andrea Gronchi Windows e il Software Libero.... un mondo aperto solo a metà. Linux e gli altri sistemi open sono, per eccellenza, le piattaforme dedicate

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Lezione 6 a.a. 2010/2011 Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono: diversi

Dettagli

CAPITOLO 1 I SISTEMI OPERATIVI

CAPITOLO 1 I SISTEMI OPERATIVI CAPITOLO 1 I SISTEMI OPERATIVI Introduzione ai sistemi operativi pag. 3 La shell pag. 3 Tipi di sistemi operativi pag. 4 I servizi del sistema operativo pag. 4 La gestione dei file e il file system Il

Dettagli

Capitolo 1 Introduzione a Gambas

Capitolo 1 Introduzione a Gambas Capitolo 1 Introduzione a Gambas Gambas è stato creato inizialmente da Benoit Minisini, un residente della periferia di Parigi. Secondo Benoit, Gambas è un linguaggio Basic con estensioni per la programmazione

Dettagli

DEFINIZIONI FONDAMENTALI

DEFINIZIONI FONDAMENTALI Consorzio per la formazione e la ricerca in Ingegneria dell'informazione DEFINIZIONI FONDAMENTALI Per vincere ci vuole una buona partenza... Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it

Dettagli

PostgreSQL, un database libero per la Pubblica Amministrazione Italiana

PostgreSQL, un database libero per la Pubblica Amministrazione Italiana PostgreSQL, un database libero per la Pubblica Amministrazione Italiana Gabriele Bartolini Comune di Prato Sistema Informativo Servizi di E-government e Open-Source Presidente ITPUG Italian PostgreSQL

Dettagli

Corso di Sistemi Operativi DEE - Politecnico di Bari. LINUX - Introduzione. G. Piscitelli - M. Ruta. 1 di 26 LINUX - Introduzione

Corso di Sistemi Operativi DEE - Politecnico di Bari. LINUX - Introduzione. G. Piscitelli - M. Ruta. 1 di 26 LINUX - Introduzione LINUX - Introduzione 1 di 26 LINUX - Introduzione Cos è LINUX? Si tratta di un clone di UNIX Più precisamente è il kernel del S.O. Funzionalità di base Scheduling dei processi Gestione della memoria virtuale

Dettagli

Progettare un sito web

Progettare un sito web Progettare un sito web Fasi della progettazione La progettazione di un sito web dovrebbe passare attraverso 4 fasi differenti: 1. Raccolta e realizzazione dei contenuti e delle informazioni da pubblicare

Dettagli

Open Source e Free Software Introduzione a GRASS e sw correlati GFOSS (Geographic Free Open Source Software) Cartografia numerica e GIS Free Software Il termine free si deve tradurre come libero piuttosto

Dettagli

Architetture per le applicazioni web-based. Mario Cannataro

Architetture per le applicazioni web-based. Mario Cannataro Architetture per le applicazioni web-based Mario Cannataro 1 Sommario Internet e le applicazioni web-based Caratteristiche delle applicazioni web-based Soluzioni per l architettura three-tier Livello utente

Dettagli

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

Approfondimento: i sistemi di gestione delle basi di dati (DBMS)

Approfondimento: i sistemi di gestione delle basi di dati (DBMS) Approfondimento: i sistemi di gestione delle basi di dati (DBMS) Prerequisito essenziale della funzionalità delle basi di dati è il controllo e la fruibilità dell informazione in esse contenuta: a tale

Dettagli

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File system verso DBSM Vantaggi di un DBMS Modelli dei dati Utenti

Dettagli

Thea PDM. Cos è Thea PDM? Il PDM (Product Data Management)

Thea PDM. Cos è Thea PDM? Il PDM (Product Data Management) Thea PDM Il PDM (Product Data Management) Nell'industria manifatturiera il PDM è un software per la raccolta ed organizzazione dei file nelle divere fasi di ideazione, progettazione, produzione ed obsolescenza

Dettagli

Verifica e Validazione del Simulatore

Verifica e Validazione del Simulatore Verifica e del Simulatore I 4 passi principali del processo simulativo Formulare ed analizzare il problema Sviluppare il Modello del Sistema Raccolta e/o Stima dati per caratterizzare l uso del Modello

Dettagli

Introduzione ai sistemi di basi di dati

Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Alessandro.bardine@gmail.com alessandro.bardine@iet.unipi.it Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File

Dettagli

Strumenti per lo sviluppo del software

Strumenti per lo sviluppo del software Lo sviluppo del software Strumenti per lo sviluppo del software Lo sviluppo del software è l attività centrale del progetto e ha lo scopo di produrre il codice sorgente che, una volta compilato e messo

Dettagli

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Funzioni e strategie di progettazione: dai kernel monolitici

Dettagli

Sistema di spedizione per azienda logistica LBDS

Sistema di spedizione per azienda logistica LBDS CONFIGURATION MANAGEMENT PLAN Sistema di spedizione per azienda logistica LBDS Gruppo Laboratorio di Ingegneria del Software 2 Anno Accademico2009/2010 Gruppo Kairos: Maiero Matteo, Bertoni Alan, Zolli

Dettagli

Progetto: JNSIL LEAF. Presentazione: nuova procedura Java based e cross Platform per la gestione di LEAsing e Finanziamenti

Progetto: JNSIL LEAF. Presentazione: nuova procedura Java based e cross Platform per la gestione di LEAsing e Finanziamenti Progetto: JNSIL LEAF Presentazione: nuova procedura Java based e cross Platform per la gestione di LEAsing e Finanziamenti Negli ultimi anni si è diffuso il trend di trasformare applicazioni pensate per

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

Corso di Progettazione di sistemi multimediali

Corso di Progettazione di sistemi multimediali Corso di Progettazione di sistemi multimediali prof. Pierluigi Feliciati a.a.2012/13 Modulo 0 Progettare, sistemi, multimedialità: Definizioni, strumenti, ciclo di vita dei progetti, figure professionali

Dettagli

ANNARITA: Il database Object Relational dell Anagrafe Nazionale delle Ricerche

ANNARITA: Il database Object Relational dell Anagrafe Nazionale delle Ricerche ANNARITA: Il database Object Relational dell Anagrafe Nazionale delle Ricerche Alex Manzo CILEA, Roma Abstract Nell ottica di un potenziamento e arricchimento dei dati dell Anagrafe Nazionale delle Ricerche

Dettagli

Interfaccia del file system

Interfaccia del file system Interfaccia del file system Concetto di file Modalità di accesso Struttura delle directory Montaggio di un file system Condivisione di file Protezione 9.1 File E un insieme di informazioni correlate e

Dettagli

Java e solidarietà: il progetto Jug4Tenda

Java e solidarietà: il progetto Jug4Tenda Java e solidarietà: il progetto Jug4Tenda www.jugancona.it Jug Marche Relatore: Andrea Del Bene Java e solidarietà: il progetto Jug4Tenda Agenda Storia del progetto Architettura Processo di sviluppo Riferimenti

Dettagli

Istituto di Scienza e Teonologie dell'informazione "Alessandro Faedo" 2003: Censimento dei sistemi di Istituto. A cura di Carlo Carlesi

Istituto di Scienza e Teonologie dell'informazione Alessandro Faedo 2003: Censimento dei sistemi di Istituto. A cura di Carlo Carlesi Istituto di Scienza e Teonologie dell'informazione "Alessandro Faedo" 2003: Censimento dei sistemi di Istituto A cura di Carlo Carlesi INDICE Introduzione 1 Istruzioni generali 2 Compilazione moduli Fase

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE

Dettagli

Componenti di un sistema operativo

Componenti di un sistema operativo Componenti di un sistema operativo di Daniele Margutti CONTATTI Mail: daniele@malcombsd.com AIM/iChat: malcombsd Web: http://www.malcombsd.com INDICE: 1. Nota introduttiva 2. La gestione dei processi di

Dettagli

Ing. Andrea Saccà. Stato civile: Celibe Nazionalità: Italiana Data di nascita: 9 Ottobre 1978 Luogo di nascita: Roma Residenza: Roma

Ing. Andrea Saccà. Stato civile: Celibe Nazionalità: Italiana Data di nascita: 9 Ottobre 1978 Luogo di nascita: Roma Residenza: Roma Indirizzo: Via dell'automobilismo, 109 00142 Roma (RM) Sito Web : http://www.andreasacca.com Telefono: 3776855061 Email : sacca.andrea@gmail.com PEC : andrea.sacca@pec.ording.roma.it Ing. Andrea Saccà

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Conoscere il concetto di espressione 2 1 Introduzione

Dettagli

REPORT FINALE SUL PROGETTO CLUSTER OPEN SOURCE

REPORT FINALE SUL PROGETTO CLUSTER OPEN SOURCE REPORT FINALE SUL PROGETTO CLUSTER OPEN SOURCE Premessa Il presente report illustra il progetto Cluster Open Source, progetto che mira a sviluppare dinamiche distrettuali all interno del sistema produttivo

Dettagli

Un approccio innovativo basato su tecnologie Open Source. White Paper

Un approccio innovativo basato su tecnologie Open Source. White Paper Soluzioni software di CRM "Customer Relationship Management" Gestione delle relazioni con i clienti, delle trattative commerciali e delle iniziative di marketing, Gestione delle attività di supporto post-vendita

Dettagli

Programmazione Server Side e Database in rete

Programmazione Server Side e Database in rete Programmazione Server Side e Database in rete Prof. Massimo PALOMBO -IIS A. MEUCCI Casarano La programmazione Stand-Alone consente di costruire applicazioni, più o meno complesse, ma utilizzabili esclusivamente

Dettagli

APPENDICE 2 AL CAPITOLATO TECNICO. Descrizione dei profili professionali e template del CV

APPENDICE 2 AL CAPITOLATO TECNICO. Descrizione dei profili professionali e template del CV APPENDICE 2 AL CAPITOLATO TECNICO Descrizione dei profili professionali e template del CV INDICE INTRODUZIONE... 3 1 PROFILI PROFESSIONALI RICHIESTI... 4 1.1 CAPO PROGETTO DI SISTEMI INFORMATIVI (CPI)...

Dettagli

Windows NT 3.51. Da Wikipedia, l'enciclopedia libera. Windows NT 3.51. Program Manager di Windows NT 3.51. Microsoft Corporation.

Windows NT 3.51. Da Wikipedia, l'enciclopedia libera. Windows NT 3.51. Program Manager di Windows NT 3.51. Microsoft Corporation. Windows NT 3.51 Da Wikipedia, l'enciclopedia libera. Windows NT 3.51 Program Manager di Windows NT 3.51 Sviluppatore Famiglia SO Modello del sorgente Microsoft Corporation Windows NT Closed source Release

Dettagli

Flavio De Paoli depaoli@disco.unimib.it

Flavio De Paoli depaoli@disco.unimib.it Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato

Dettagli

La piattaforma Moodle dell' ISFOL

La piattaforma Moodle dell' ISFOL La piattaforma Moodle dell' ISFOL Un CMS per la condivisione della conoscenza nei Gruppi di Lavoro e di Ricerca dell'istituto Franco Cesari - ISFOL Gruppi di Lavoro e di Ricerca come Comunità di Pratica

Dettagli

Software libero e condivisione della conoscenza

Software libero e condivisione della conoscenza Software libero e condivisione della conoscenza Gianni Bianchini Dipartimento di Ingegneria dell Informazione, Università di Siena Associazione Software Libero giannibi@dii.unisi.it - giannibi@softwarelibero.it

Dettagli

Ingegneria del Software UML - Unified Modeling Language

Ingegneria del Software UML - Unified Modeling Language Ingegneria del Software UML - Unified Modeling Language Obiettivi. Presentare un approccio visuale alla progettazione. Illustrare i vantaggi dell utilizzo di diagrammi nella fase di progettazione. Rispondere

Dettagli

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI 1 Web Link Monitor... 2 2 Database Browser... 4 3 Network Monitor... 5 4 Ghost Site... 7 5 Copy Search... 9 6 Remote Audio Video

Dettagli

Università degli Studi di Salerno GPS: Gestione Progetti Software. Project Proposal Versione 1.1

Università degli Studi di Salerno GPS: Gestione Progetti Software. Project Proposal Versione 1.1 Università degli Studi di Salerno GPS: Gestione Progetti Software Project Proposal Versione 1.1 Data 27/03/2009 Project Manager: D Amato Angelo 0521000698 Partecipanti: Nome Andrea Cesaro Giuseppe Russo

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli

2. Strutture dei Sistemi Operativi

2. Strutture dei Sistemi Operativi 1 2. Strutture dei Sistemi Operativi Quali servizi un generico sistema operativo mette a disposizione degli utenti, e dei programmi che gli utenti vogliono eseguire? interfaccia col sistema operativo stesso

Dettagli

Modulo 8. Strumenti di produzione Strumenti. Gli strumenti più utilizzati per produrre pagine Web sono essenzialmente due:

Modulo 8. Strumenti di produzione Strumenti. Gli strumenti più utilizzati per produrre pagine Web sono essenzialmente due: Pagina 1 di 6 Strumenti di produzione Strumenti Gli strumenti più utilizzati per produrre pagine Web sono essenzialmente due: 1. Netscape Composer, gratuito e scaricabile da netscape.org assieme al browser

Dettagli

Introduzione ai database I concetti fondamentali Database e DBMS Per comprendere appieno cos'è un Database e quali sono i vantaggi legati al suo impiego, soprattutto nel settore gestionale, è necessario

Dettagli