# Ingegneria del Software mod. B *[Aggiornamento 26/09/2016: Aggiunto uno studente alla lista dei papabili per l'orale.]* **ATTENZIONE: Gli studenti - BAGGIO MARCO 1049344 - BOSEGGIA MARCO 1044608 - CONTI OSCAR ELIA 1071039 - IACOBUCCI ANTONIO 615124 - PINTON FEDERICO 1028850 - TOSATO MARCO 488769 - FERRAZZO MATTIA 1004616 possono accedere alla prova orale, presentandosi il giorno 28/09 alle ore 13:00, in aula 1C150, dando preventiva di presenza al docente Vardanega entro le ore 18:00 di lunedì 26 settembre.** ## Presentazione del corso ### Obiettivi formativi Il corso opera in continuit&agrave; con il corso [Ingegneria del Software mod. A](http://www.math.unipd.it/~tullio/IS-1/2015/), che ha luogo nel I trimestre dello stesso anno accademico. Congiuntamente, i due corsi forniscono allo studente gli strumenti metodologici e l'opportunit&agrave; di condurre un impegnativo progetto software da svolgersi in gruppo e secondo canoni rigorosi di conduzione e di relazione cliente-fornitore. Dove il modulo A &egrave; piu' fondazionale, il modulo B &egrave; inteso accompagnare lo studente negli aspetti pratici e realizzativi della progettazione informatica. Il corso accompagna gli studenti nelle varie fasi di realizzazione del progetto didattico loro assegnato al termine del modulo 1 dello stesso insegnamento. L'obiettivo del corso e' rendere lo studente fluente nell'utilizzo di moderni strumenti e metodi di progettazione e programmazione software di sistemi informatici avanzati, e familiarizzare con alcune delle problematiche tipiche della progettazione, quali gestione della concorrenza, gestione delle risorse, ergonomia dell'interfaccia utente. Lo svolgimento del progetto didattico verra' accompagnato dall'esecuzione di revisioni formali condotte congiuntamente dai docenti dei 2 moduli dell'insegnamento. L'esito delle revisioni avra' valore ai fini della valutazione individuale del profitto dello studente. La conduzione del progetto didattico verr&agrave; accompagnata da specifiche revisioni di progresso che seguono la logica adottata in rilevanti standard internazionali (p.es., ECSS-E-40A per il dominio spaziale, sinteticamente raffigurata da figura 3 a pagina 18). L'insieme dei due moduli "pesa" per complessivi 13 CFU, ripartiti nel modo seguente: 6 di lezioni frontali per il modulo A; 3 di lezioni frontali per il modulo B; 4 dedicati allo svolgimento del progetto, che dunque comporter&agrave; un impegno individuale di circa 100 ore. L'accettazione da parte del docente del prodotto software sviluppato nel progetto soddisfer&agrave; una delle due condizione necessarie al superamento dell'esame di Ingegneria del Software. L'altra condizione comporta il superamento di una prova scritta individuale. La valutazione numerica assegnata in sede di accettazione varr&agrave; 60% del voto complessivo. Il rimanente 40% verr&agrave; determinato dalla valutazione della prova scritta. ### Propedeuticit&agrave; obbligatorie strette Programmazione a Oggetti, Basi di Dati ### Materiale didattico Il materiale didattico presentato durante le lezioni sar&agrave; progressivamente pubblicato, in formato elettronico, tramite collegamento alla lezione corrispondente. Sono altres&igrave; consigliati i seguenti testi: + [Software Engineering (9th edition)](http://www.pearsonhighered.com/educator/product/Software-Engineering/9780137035151.page), Ian Sommerville, Pearson Education | Addison-Wesley + [Design Patterns](http://www.pearsoned.co.uk/bookshop/detail.asp?item=171742), E. Gamma, R. Helm, R. Johnson, J. Vlissides, Pearson Education | Addison-Wesley ## Calendario delle lezioni e degli appelli di esame Segue il calendario delle lezioni del corso, delle revisioni e degli appelli d'esame. | Data | Orario | Docente | Tema | Slides | | :---: | :----: | :---: | ---- | ------ | | 1 mar. | 09:30 - 11:15 | Cardin | [Pattern comportamentali: Observer, Template Method, Command, Strategy, Iterator](http://www.math.unipd.it/~tullio/IS-1/2015/Dispense/E09.pdf) ed [Esercizi sugli errori rilevati in RR](http://www.slideshare.net/RiccardoCardin/errori-comuni-nei-documenti-di-analisi-dei-requisiti) | [pdf](pdf/Esercitazione%20-%20Errori%20comuni%20RR_4x4.pdf) | | 3 mar. | 13:00 - 14:00 | Cardin | Incontro puntuale con i gruppi per discussione errori RR (**1C/150**) | &nbsp; | | 7 mar. | 09:30 - 11:15 | Cardin | [Introduzione ai design pattern Pattern architetturali: Dependency Injection](https://www.slideshare.net/RiccardoCardin/design-pattern-architetturali-dependency-injection) | [pdf](sweb/Design%20Pattern%20Architetturali%20-%20Dependency%20Injection_4x4.pdf) | | 8 mar. | 09:30 - 11:15 | Vardanega | Avvertenze propedeutiche alla programmazione | [pdf A](sweb/B01a.pdf), [pdf B](sweb/B01b.pdf) | | 14 mar. | 09:30 - 11:15 | Cardin | [Introduzione ai design pattern Pattern architetturali: MVC, MVP e MVVM](http://www.slideshare.net/RiccardoCardin/design-pattern-architetturali-model-view-controller-mvp-e-mvvm) | [pdf](sweb/Design%20Pattern%20Architetturali%20-%20Model%20View%20Controller_4x4.pdf) | | 15 mar. | 09:30 - 11:15 | Vardanega | Programmazione e misurazione | [pdf](sweb/B02.pdf) | | 22 mar. | 09:30 - 11:15 | Modis | [Il mercato del lavoro nell'ICT](sweb/Invito%20Seminario_22Marzo2016.pdf) | [pdf](sweb/Seminario%20Modis%2020160322.pdf) | | 23 mar. | 11:30 - 13:15 | Cardin | [Stili architetturali nei sistemi software moderni](http://www.slideshare.net/RiccardoCardin/software-architecture-patterns-59866690) (aula **1C/150**) | [pdf](sweb/Software%20Architecture%20Patterns_4x4.pdf) | | 31 mar. | 09:30 - 11:15 | Sopra Steria | [DELIVER TRANSFORMATION in a Digital World](sweb/Sopra%20Steria_poster_UniPadova.pdf) | [pdf](sweb/Pres_Uni%20Padova_Sopra%20Steria.pdf) | | 6 apr. | 09:30 - 11:15 | Cardin | [Best practices nello sviluppo software](http://www.slideshare.net/RiccardoCardin/solid-principles-of-object-oriented-design) (**1C/150**) | [pdf](sweb/SOLID%20Principles%20of%20Object-Oriented%20Design_4x4.pdf) | | 7 apr. | -- | -- | [STAGE-IT 2016](sweb/STAGE-IT2016_LOCANDINA.pdf) (presso centro San Gaetano): [Programma](sweb/Programma_STAGE-IT_2016.pdf) | &nbsp;| | 11 apr. | 09:30 - 11:15 | Cardin | Esercizi in preparazione dell'esame scritto | [pdf A](sweb/Esercitazione%20-%20Preparazione%20Esame_4x4.pdf), [pdf B](sweb/Esercitazione%20-%20Preparazione%20Esame%202_4x4.pdf) | | 11 apr. | 24:00 | -- | Consegna materiale in ingresso RP, RR (II) | &nbsp; | | 18 apr. | 11:30 - 13:15 | -- | Revisione di progettazione (**1C/150**) | &nbsp; | | 20 apr. | 11:30 - 14:30 | -- | I compitino (**1C/150**) | &nbsp; | | -- | -- | -- | [Risultati primo compito per gli studenti con urgenza attivazione stage](sweb/IS%20scritto%2020160420%20Risultati%20Urgenti.pdf) | &nbsp; | | -- | -- | -- | [Risultati Revisione di Progettazione](http://www.math.unipd.it/~tullio/IS-1/2015/Progetto/RP.html) | &nbsp; | | 27 apr. | 11:30 - 13:15 | Cardin | Esercizi sugli errori rilevati in RP | [pdf](sweb/Esercitazione%20-%20Errori%20comuni%20RP_4x4.pdf) | | -- | -- | -- | [Risultati primo compito](sweb/IS%20scritto%2020160420%20Risultati.pdf) | &nbsp; | | 2 mag. | 09:30 - 11:15 | Vardanega | Teoria e visione compiti | &nbsp; | | 16 mag. | 18:00 | -- | Consegna materiale in ingresso RQ, RP (II), RR (III) | &nbsp; | | 23 mag. | 09:30 - 11:15 | -- | Revisione di qualifica (**1C/150**) | &nbsp; | | 23 mag. | 14:30 - 17:30 | -- | I appello scritto (II compitino) (**1C/150**) | &nbsp; | | -- | -- | -- | [Risultati Revisione di Qualifica](http://www.math.unipd.it/~tullio/IS-1/2015/Progetto/RQ.html) | &nbsp; | | -- | -- | -- | [Risultati II Revisione di Progettazione](http://www.math.unipd.it/~tullio/IS-1/2015/Progetto/RP.html) | &nbsp; | | -- | -- | -- | [Risultati I appello](sweb/IS%20scritto%2020160523%20Risultati.pdf) | &nbsp; | | 01 giu. | 11:30 - 13:30 | Cardin | Esercizi sugli errori rilevati in RQ (**1C/150**) | &nbsp; | | 08 giu. | 16:30 | -- | Visione compiti (**1C/150**) | &nbsp; | | 10 giu. | 18:00 | -- | Consegna materiale in ingresso RQ (II), RP (III), RR (VI) | &nbsp; | | 17 giu. | 10:30 - 13:30 | -- | II appello scritto (**1AD100**) | &nbsp; | | 17 giu. | 14:00 - 17:00 | -- | Revisione di accettazione (**1AD100**) | &nbsp; | | -- | -- | -- | [Risultati complessivi revisione di accettazione](sweb/VFP.pdf) | &nbsp; | | -- | -- | -- | [Risultati II Revisione di Qualifica](http://www.math.unipd.it/~tullio/IS-1/2015/Progetto/RQ.html) | &nbsp; | | -- | -- | -- | [Risultati II appello](sweb/IS%20scritto%2020160617%20Risultati.pdf) | &nbsp; | | -- | -- | -- | [Risultati III Revisione di Progettazione](http://www.math.unipd.it/~tullio/IS-1/2015/Progetto/RP.html) | &nbsp; | | 4 lug. | -- | -- | Consegna materiale in ingresso RQ (III), RP (VI), RR (V) | &nbsp; | | 11 lug. | 09:30 - 12:30 | -- | III appello scritto (**1AD100**) | &nbsp; | | 11 lug. | 14:30 - 17:30 | -- | II Revisione di accettazione (**1AD100**) | &nbsp; | | -- | -- | -- | [Risultati III Revisione di Qualifica](http://www.math.unipd.it/~tullio/IS-1/2015/Progetto/RQ.html) | &nbsp; | | -- | -- | -- | [Risultati III appello](sweb/IS%20scritto%2020160711%20Risultati.pdf) | &nbsp; | | -- | -- | -- | [Risultati complessivi II revisione di accettazione](sweb/Valutazione%20Finale%202015-16.pdf) | &nbsp; | | 28 lug. | 13:00 - 14:00 | -- | Visione compiti (**1BC50**) | &nbsp; | | 17 ago. | -- | -- | Consegna materiale in ingresso RQ (VI), RP (V) | &nbsp; | | 24 ago. | 09:30 - 12:30 | -- | IV appello scritto (**1C/150**) | &nbsp; | | 24 ago. | 14:30 - 17:30 | -- | III Revisione di accettazione (**1C/150**) | &nbsp; | | -- | -- | -- | [Risultati complessivi III revisione di accettazione](sweb/Valutazione%20Finale%202015-16.pdf) | &nbsp; | | -- | -- | -- | [Risultati IV Revisione di Qualifica](http://www.math.unipd.it/~tullio/IS-1/2015/Progetto/RQ.html) | &nbsp; | | -- | -- | -- | [Risultati IV appello](sweb/IS%20scritto%2020160824%20Risultati.pdf) | &nbsp; | | 5 set. | -- | -- | Consegna materiale in ingresso RQ (V), RP (VI) | &nbsp; | | 7 set. | 13:00 - 14:00 | -- | Visione compiti (**1C/150**) | &nbsp; | | 8 set. | 13:00 - 14:00 | -- | Seminario: "Dalle specifiche in linguaggio naturale alla formalit&agrave; dell'architettura software" (**1C/150**) | &nbsp; | | 12 set. | 09:30 - 12:30 | -- | V appello scritto (**1C/150**)| &nbsp; | | 12 set. | 14:30 - 17:30 | -- | IV Revisione di accettazione (**1C/150**) | &nbsp; | | -- | -- | -- | [Risultati V appello](sweb/IS%20scritto%2020160912%20Risultati.pdf) | &nbsp; | | -- | -- | -- | [Risultati complessivi](sweb/Valutazione%20Finale%202015-16.pdf) | &nbsp; | Le lezioni indicate in calendario si terranno nelle aule 1C/150 con l'orario e la collocazione seguenti: + luned&igrave;, 09:30-11:15, aula 1C/150 + marted&igrave;, 09:30-11:15, aula 1C/150 ## Regole di partecipazione alle revisioni di progetto Le revisioni di progetto si dividono in: + Revisioni formali (Revisione dei Requisiti, Revisione di Accettazione) + Revisioni di progresso (Revisione di Progettazione, Revisione di Qualifica) Tutte le revisioni contribuiscono a determinare il voto d'esame di ciascuno studente, che sar&agrave; basato sulla media pesata della valutazione conseguita dal proprio gruppo di progetto in ciascuna revisione, con una quota di ponderazione legata al rapporto tra l'impegno medio atteso e l'impegno effettivo documentato dallo studente. Il voto d'esame individuale sar&agrave; ulteriormente determinato dalla valutazione di una prova scritta individuale compendiata da un breve colloquio orale. Le revisioni formali sono bloccanti: la RR regola l'accesso del gruppo al progetto; la RA ne sancisce il completamento. L'ammissione alla RA &egrave; condizionata al superamento della RQ. &egrave; obbligatorio consegnare il materiale per l'ingresso alle RQ successive alla prima cinque giorni prima della corrispondente RA (come indicato da calendario). Le revisioni di progresso non sono bloccanti, ovvero il gruppo potr&agrave; continuare il proprio lavoro di progetto, ma un eventuale esito negativo comporter&agrave; una penalit&agrave; di punteggio commisurata alla gravit&agrave; dell'insufficienza, da scontare nella valutazione finale. La partecipazione di un gruppo a una revisione di progetto si svolger&agrave; come segue: + il gruppo effettuer&agrave; la propria consegna secondo le modalit&agrave; di volta in volta specificate entro la scadenza prevista + la partecipazione alle revisioni formali sar&agrave; preceduta da registrazione formale in una apposita lista d'esame + la partecipazione alle revisioni informali sar&agrave; invece preceduta dall'invio al committente di una richiesta di partecipazione notificata per posta elettronica + il committente determiner&agrave; a quali gruppi sar&agrave; concesso l'accesso alla revisione e l'ordine di presentazione, e lo comunicher&agrave; preventivamente ai gruppi + in sede di revisione ciascun gruppo ammesso effettuer&agrave; una presentazione del materiale consegnato; la presentazione avr&agrave; durata fino a 20' e ad essa dovranno prendere parte attiva tutti i componenti del gruppo; durante la presentazione il committente potr&agrave; porre domande e fare osservazioni alle quali il gruppo dovr&agrave; rispondere entro la fine della presentazione stessa + il committente comunicher&agrave; l'esito della revisione entro una settimana lavorativa dallo svolgimento della revisione; l'esito delle revisioni informali potr&agrave; contenere richieste di correzione, aggiornamento e modifica del materiale presentato. ### Modalit&agrave; di consegna materiale in ingresso a revisioni La consegna delle revisioni dovr&agrave; avvenire secondo le seguenti opzioni: + posta elettronica, solo per allegati di dimensione non superiore a 2 MB + sito di scambio, con avviso tramite posta elettronica\*\* + a mano, tramite supporto memoria esterna, per appuntamento\*\*\* \*\* : opzione preferita <br /> \*\*\* : pu&ograve; comportare anticipo scadenza causa impegni esterni del docente ### Partecipazione alla Revizione di accettazione La RA si terr&agrave; in concomitanza con i 5 appelli d'esame di IS (tipicamente dopo lo scritto individuale). Il materiale in ingresso dovr&agrave; essere consegnato a mano, su CD-ROM (2 copie) al docente Vardanega, previo appuntamento, entro le ore 17 della giornata lavorativa antecedente alla data d'esame. ## Calendario degli appelli d'esame Liste di iscrizione all'esame (del quale sono previsti 5 appelli, calendarizzati tra la fine del mod. B e la sessione di recupero estivo) verranno pubblicate sul sistema [UniWeb](https://uniweb.unipd.it/Home.do) nelle due settimane precedenti l'appello corrispondente.