Metodi Sperimentali per la Produzione del Software: Presentazione del corso A.A. 2015- 2016 Prof. Giuseppe Visaggio Obiettivi Didattici Primari Presentazione del corso Alta Formazione: generalità Declaratoria. Data una tecnologia comprenderla per prendere decisioni, quali: Quando è opportuno usarla; Perché è opportuno usarla. Più specificatamente: la costituzione di conoscenze ed abilità per Comprendere gli effetti apportati in un processo o in un prodotto, da una nuova tecnologia; Validare l’efficacia di una tecnologia nel realizzare gli effetti migliorativi attesi. Tecnologia è un metodo, una tecnica, una pratica o uno strumento, derivati da un insieme di conoscenze, anche multidisciplinari, opportunamente integrate, usabili in un processo produttivo per aumentare il suo valore. I valori che costituiscono gli effetti apportati dalla tecnologia al processo o al prodotto e che possono essere considerati sono di diverso tipo: Economico; Strategico – Competitivo; Sociale. Presentazione del corso Contenuti di questo corso Ingegneria del Software basata sulla Evidenza Empirica (Evidence Based Software Engineering-EBSE). Metodi; Strumenti; Applicazioni. 4 Presentazione del corso Proposito di EBSE Migliorare il processo decisionale relativo alla produzione ed alla manutenzione del software attraverso: La raccolta e la valutazione dei risultati degli studi di ricerca che hanno la migliore evidenza empirica; La esperienza validata empiricamente nelle applicazioni pratiche. 5 Presentazione del corso Motivazione per insegnare EBSE L’industria del software ha benefici di efficacia, efficienza e riduzione di sprechi se si muove secondo l’EBSE. Gli studenti che hanno una buona formazione in EBSE Sapranno affrontare meglio, nella loro vita professionale, gli arbitrati tra differenti decisioni conflittuali. Sapranno esaminare meglio i risultati di ricerca pubblicati. La conoscenza e le competenze su una tecnologia diventano subito obsolete; perciò, gli studenti devono saper acquisire nuove tecnologie valutandone la reale rilevanza. L’industria software è piena di montature: tecnologie software che hanno poco valore innovativo ma che sono ben comunicate. Gli studenti devono imparare a riconoscerle per individuarle durante la sua vita professionale, per prendere decisioni accurate. 6 Presentazione del corso Utilità della disciplina 7 Presentazione del corso Scenario di riferimento Comunità scientifica ed industriale hanno crescente necessità di contribuire al progresso delle discipline informatiche attraverso il metodo scientifico. Il progresso di ogni disciplina richiede il continuo monitoraggio dell’attuale comprensione dei suoi domini di conoscenza per verificare se e come si può evolvere. Nelle discipline informatiche , attualmente, c’è sbilanciamento tra valutazione dei risultati sperimentali e sviluppo di nuove tecnologie non verificate sperimentalmente, a sfavore della prima. Lo sbilanciamento impedisce alle discipline informatiche di divenire discipline scientifiche. Spesso si sono introdotte e si introducono nuove tecnologie sulla base di tendenze di mercato; obiettivi economici dei fornitori di tecnologie informatiche che dominano il mercato; convinzione dei tecnologi piuttosto che su risultati scientifici. Tutto ciò rischia di creare disastri economici e sociali. ‘8 Presentazione del corso Uso delle indagini empiriche Nella ricerca Sviluppo scientifico. Potenziamento delle competenze dei ricercatori: Individuazione degli aspetti di verifica e validazione da rafforzare nelle proprie aree di ricerca; Rafforzamento della verifica e validazione di risultati di ricerca per rendere più probabile il loro trasferimento nei processi industriali, ovvero nel trasformarli in tecnologie, Estrazione di conoscenza dalle applicazioni industriali per comprendere su quali aspetti estendere la propria ricerca ; Generalizzazione delle conoscenze acquisita con le indagini empiriche per alimentare la Base delle Esperienze empiriche ; Sviluppo di nuove competenze per il trasferimento dei metodi in tecnologie. Nell’ industria Acquisizione di nuove tecnologie o trasformazione di risultati di ricerca in tecnologie con un’affidabile bilancio costo - benefici. Sviluppo delle innovazioni e delle capacità di impresa. Rafforzamento delle competenze degli sviluppatori attraverso la partecipazione alle indagini empiriche durante il trasferimento tecnologico. Sviluppo delle competenze degli sviluppatori attraverso il trasferimento tecnologico. 9 Presentazione del corso I Supporti di EBSE ai ricercatori e praticanti Assicurare che la ricerca di uno o di un gruppo di ricercatori sia guidata dai bisogni dell’industria e di altri portatori di interesse. Supportare i praticanti dell’industria nel prendere decisioni razionali circa le tecnologie da adottare. Migliorare la dipendibilità dei sistemi software intensivi a seguito di una migliore scelta delle tecnologie di sviluppo. Aumentare la accettabilità di sistemi software intensivi che interagiscono con individui. Facilitare la certificazione dei processi, dei prodotti e dei servizi. 10 Obiettivi collaterali: contributo Presentazione del corso Incentivare il Pensare Informatico Declaratoria. Il “pensare informatico” è l’insieme di concetti e relative pratiche che un informatico acquisisce nel proprio dominio di conoscenza e che possono essere efficaci in altri domini di conoscenze e di problemi. Motivazioni. Soddisfare la richiesta di competenze che possano contribuire ad aumentare il valore dei processi di business in ogni settore produttivo. 12 Presentazione del corso … Valore del “pensare informatico”… Pratiche intellettuali: Confidenza nel trattare la complessità, i sistemi software raggiungono comunemente un livello di complessità molto elevato rispetto ai problemi comunemente trattati dalle altre ingegnerie; Perseveranza nell’affrontare problemi difficili, fino alla loro soluzione; Tolleranza per l’ambiguità, questa deve essere conciliata con il necessario rigore per assicurare la correttezza della soluzione; Abilità nel trattare problemi non deterministici; Abilità nel trattare problemi con un misto di aspetti umani e tecnici curandone la dimensione umana, bisogni degli utenti, qualità dell’interfaccia utente …; Abilità nel lavorare e comunicare con altri professionisti per raggiungere obiettivi comuni. 13 Presentazione del corso … Valore del “pensare informatico” Pratiche operative: Creatività, molti modi per risolvere uno stesso problema, spesso da inventare perché non ne esiste uno già noto; Abitudine alla costruzione, gli informatici producono “cose”, anche se immateriali, di notevole complessità; Capacità di dominare la complessità, nell’informatica si risolvono problemi complessi o se ne supporta la soluzione di quelli che sono considerati irrisolvibili in altre aree; Consuetudine al ragionamento rigoroso, scrivere programmi funzionanti richiede precisione e rigore. 14 Presentazione del corso Contenuti del corso 15 Presentazione del corso Scopo Conoscenze: Caratteristiche degli studi empirici quantitativi, Processi per la progettazione ed esecuzione degli studi empirici; Estrazione di conoscenze ed esperienze circa l’usabilità di una tecnologia attraverso i risultati degli studi empirici. Abilità: Progettare, pianificare ed eseguire indagini empiriche; Eseguire analisi sistematiche dei risultati di studi empirici; Produzione e gestione di un pacchetto di conoscenza ed esperienza per il trasferimento tecnologico. Presentazione del corso Nota sullo scopo Il corso si focalizza sulle tecnologie della Ingegneria del Software, ma le conoscenze acquisite sono trasferibili a tutte le altre discipline informatiche. 17 Presentazione del corso Prerequisiti del Corso Principi di produzione e manutenzione del software. Tecnologie di base per la produzione e la manutenzione del software. Principi di statistica. Presentazione del corso Argomenti Studi empirici per estrarre esperienza utile nelle decisioni di innovazione di processi e di prodotti Tipi di studi empirici, loro caratteristiche e loro utilizzabilità. Processo di realizzazione di indagini empiriche, dalla definizione del quesito di ricerca alla presentazione dei risultati; disegno di esperimenti; valutazione delle minacce alla validità; test delle ipotesi. Replica delle indagini empiriche e famiglie di esperimenti. Framework per la definizione di una teoria a supporto degli studi empirici. Metodi e strumenti per formalizzare e diffondere la conoscenza Paradigma per migliorare la qualità degli studi empirici: modello di indagine e processo di miglioramento. Analisi sistematica dello stato dell’arte e della pratica Fabbrica delle esperienze. Innovazione tecnologica Innovazione di prodotto e di processo. Processo per l’innovazione tecnologica: rapporto tra ricerca e sviluppo industriale. 19 Presentazione del corso Aspetti rilevanti Il corso tratterà di indagini quantitative, saranno solo accennate quelle qualitative. Il corso curerà tutti gli aspetti inerenti le indagini uomo-centriche che hanno molti più problemi delle indagini incentrate sulle tecnologie e sono più utili per le discipline informatiche. 20 Presentazione del corso Materiale didattico 21 Presentazione del corso Materiale fornito Dispense in via di produzione, utilizzabile come libro di testo di base per il corso: Saranno integrate in sincronia con l’esecuzione del corso; Potranno essere modificate durante il corso anche per capitoli già discussi. Le slides proiettate a lezione, utilizzabili solo come guida degli argomenti esposti dal docente. Tutti i questionari utilizzati durante quest’anno accademico e negli anni precedenti per gli esami. 22 Presentazione del corso Note sul materiale didattico Gli studenti, con spirito di partecipazione, sono invitati ad operare anche come verificatori della versione in bozza, quindi, a fornire al docente tutte le loro osservazioni sulla chiarezza del libro ed anche su eventuali difetti riscontrati. Per eventuali approfondimenti degli argomenti trattati nelle dispense, si può fare riferimento alla letteratura in bibliografia, seguendo le note riportate nel testo delle dispense stesse. 23 Presentazione del corso Partecipazione attiva e Incentivi alla frequenza 24 Presentazione del corso Partecipazione attiva - Previsioni 1 Project Work, con scadenze assegnate nelle lezioni in cui avviene la partenza di ogni fase: I fase - Mapping study. II Fase - Systematic Review su uno degli aspetti evidenziati nella I fase. In entrambi le fasi gli elaborati, selezionati dal docente, saranno discussi in aula, per rafforzare la loro ricaduta didattica. Se lo studente non è all’altezza di difendere l’elaborato, o è assente quando si deve discutere il suo elaborato, questo è annullato. 4 questionari, previsti, per la verifica in itinere su vari argomenti del corso. Date non pianificate. 1 Esperimento controllato, previsto, da eseguire in aula. Il piano dell’esperimento sarà concordato a lezione. 25 Presentazione del corso Incentivi alla frequenza Non si prendono le firme di frequenza. Il Project Work consegnato con le scadenze assegnate a lezione avrà una Premialità da 0 a 4, secondo la qualità dei risultati prodotti valutati unilateralmente dal docente. Per essere considerato frequentante uno studente deve consegnare tutti i questionari, o almeno tutti meno un questionario. Gli studenti frequentanti hanno diritto ad accedere alla prova finale del corso che sarà considerata esame. Il voto della prova finale + premialità = voto dell’esame. Premialità e voto della prova finale saranno validi per tutti gli appelli della prima sessione (3 appelli nei mesi di Gennaio e Febbraio), come indicati sul Manifesto. 26 Presentazione del corso Esame 27 Presentazione del corso Processo per l’esame Frequentanti che non hanno superato la prova finale o non hanno accettato il voto della stessa prova. Fanno l’esame voto della prova orale + premialità = voto dell’esame Gli studenti che non hanno consegnato gli elaborati del Project Work alla scadenza e i non frequentanti o che pur essendo frequentanti sostengono gi esami fuori dalla prima sessione: Producono gli elaborati del Project Work, se non li hanno già consegnati; Consegnano al docente gli elaborati nella “data prova scritta” e prendono un voto del progetto; Fanno la prova orale nella “data della prova orale” e prendono il voto della prova orale; Media del “voto del progetto” con il “voto della prova orale” = Voto dell’esame. 28 Presentazione del corso Svolgimento dell’esame La prova scritta consiste in: Presentazione degli elaborati da parte dello studente; Discussione degli elaborati, condotta dal docente, a durante la prova orale; Assegnazione del voto dello scritto dipendente dalla capacità dello studente di difendere i contenuti degli elaborati e dalla qualità ed approfondimento dei contenuti. Prova orale Secondo il numero di studenti che si presentano all’appello la prova orale consisterà In un questionario a domande aperte In un colloquio con il docente in cui allo studente saranno sottoposti quesiti analoghi a quelli dei questionari. 29 Presentazione del corso Servizi agli Studenti 30 Presentazione del corso Chiarimenti e spiegazioni La porta del mio ufficio è sempre aperta, compatibilmente con gli impegni che mi allontanano dall’ufficio. Pertanto: Ricevo tutti giorni che sono in ufficio, indipendentemente dal giorno di ricevimento ufficiale; Quando arrivano, gli studenti avranno la pazienza di attendere che io sbrighi eventuali impegni istituzionali urgenti per cui potrei essere impegnato. 31 Presentazione del corso Posta elettronica: buone pratiche di uso Cancello sistematicamente le mail che: Non hanno un indirizzo mittente “professionale”; Non hanno un oggetto; Non hanno un oggetto che sia consistente con una della attività che io svolgo. Non sono firmate da uno studente riconoscibile da me. Non rispondo alle mail che: Le mail servono a fare domande a cui si risponde brevemente; pertanto non rispondo a: Mail “lunghe” che, quindi, hanno distribuito la domanda su un lungo ragionamento, in genere risultano anche noiose o hanno raccolto più domande; Mail che chiedono spiegazioni. Non sono un funzionario di segreteria; quindi, non rispondo a mail che vogliono sapere: Le date degli esami o di prenotazione degli esami; Le date di inizio delle lezioni; La data in cui sarà approvata una richiesta che lo studente ha inoltrato al CICSI o al Dipartimento; Le modalità per risolvere uno dei tanti problemi curriculari dello studente scrivente; Quant’altro è reperibile su fonti di informazioni pubbliche di cui uno studente deve conoscerne l’esistenza e deve saper consultare. 32 Distribuzione del materiale didattico in formato digitale Presentazione del corso Processo fruizione corso 1. Registrazione alla piattaforma Serve per avere la possibilità di accedere al materiale didattico dei corsi gestiti. La registrazione non ha vincoli e può eseguita in autonomia. 2. Richiesta iscrizione al corso Serve per ottenere l’accesso ad un corso specifico. La procedura necessità di approvazione da parte del docente. 3. Fruizione materiale didattico Serve per visionare i contenuti. La fruizione non ha vincoli e può eseguita in autonomia. 34 Presentazione del corso Registrazione alla piattaforma … La fase di registrazione può essere saltata se per altri esami ci si è iscritti alla piattaforma Accedere, utilizzando un browser, alla schermata di avvio della piattaforma URL: http://serlab13.di.uniba.it/learning Presentazione del corso … Registrazione alla piattaforma … Avviare la fase di registrazione utilizzando il pulsante [Registra/Register] 36 Presentazione del corso … Registrazione alla piattaforma … Compilare i campi contenuti nella scheda di registrazione e successivamente premere il tasto [Invio/Submit] 37 Presentazione del corso … Registrazione alla piattaforma Registrazione completata 38 Presentazione del corso Richiesta iscrizione al corso … Accedere, utilizzando un browser, alla schermata di avvio della piattaforma URL: http://serlab13.di.uniba.it/learning 39 Presentazione del corso … Richiesta iscrizione al corso … Autenticarsi inserendo La username scelta in fase di registrazione nel campo [Nome Login/Login Name] La password scelta in fase di registrazione nel campo [Password] Presentazione del corso … Richiesta iscrizione al corso … Accedere all’elenco dei corsi fruibili utilizzando il link [Mostra corsi] 41 Presentazione del corso … Richiesta iscrizione al corso … Selezionare il corso a cui ci si vuole iscrivere Metodi Sperimentali per la Produzione del Software 2015/2016 Selezionare il link [Accedi al corso] 42 Presentazione del corso … Richiesta iscrizione al corso … Premere il pulsante [Richiesta di Iscrizione] Attendere l’approvazione di iscrizione. Per avere l’approvazione è necessario che il docente la autorizzi. Per ricevere l’autorizzazione bisogna recarsi dal docente con la certificazione dell’iscrizione al corso ( per esempio il libretto di riconoscimento). 43 Presentazione del corso … Richiesta iscrizione al corso Richiesta iscrizione al corso completata 44 Presentazione del corso Fruizione materiale didattico … È possibile visionare il materiale didattico una volta eseguiti e completati i passi precedenti Registrazione Richiesta iscrizione Accedere, utilizzando un browser, alla schermata di avvio della piattaforma URL: http://serlab13.di.uniba.it/learning Autenticarsi inserendo nei campi contenuti nel riquadro [Login] 45 Presentazione del corso Fruizione materiale didattico Selezionare il corso ed utilizzare l’albero di navigazione dei contenuti a destra della pagina.