==== Ingegneria del Software A.A 2021/2022 ==== * **Docente**: [[http://pages.di.unipi.it/semini/|Laura Semini]] * **Teams:** [[https://teams.microsoft.com/l/team/19%3allf9dLFLWbB1alN5eU4UklWtrU31h4Xs_7NGRMXuZEc1%40thread.tacv2/conversations?groupId=e800583e-7f51-46c2-ba8c-19f53442dee5&tenantId=c7456b31-a220-47f5-be52-473828670aa1|[271AA 21/22 - INGEGNERIA DEL SOFTWARE [INF-L]]] * **Orario di ricevimento** Lunedì 11-13, oppure su appuntamento. Orario valido durante il periodo di lezione. Altrimenti comunque su appuntamento. TEAMS: "Ricevimento Studenti -Laura Semini" * **Orario delle lezioni** : [[http://www.di.unipi.it/it/didattica/inf-l/orario| Dal sito della segreteria]] * **Registro delle lezioni** Da unimap *[[:informatica:is-b:avvisi_is-b:|Avvisi]] ==== Lezioni a.a. 21/22==== - {{ :informatica:is-a:is_01_22.pdf |Introduzione, temi di ingegneria del sw}} - {{ :informatica:is-a:is_02_22.pdf |Modelli di ciclo di vita}} - Ascoltatevi la lezione: Lezione07_DavideRoitero-Agile-20210305 che trovate nella cartella "Registrazione delle lezioni" nel [[https://teams.microsoft.com/l/team/19%3ac77d8dbf8652480da6bf8593cf177710%40thread.tacv2/conversations?groupId=a53b9570-7dfa-4efc-beac-311397c678d9&tenantId=c7456b31-a220-47f5-be52-473828670aa1|canale Teams di IS dell'anno scorso]]. - {{ :informatica:is-a:is_03_22_analisirequisiti.pdf |Analisi dei requisiti}}. Materiale da consultare:{{ :informatica:is-a:houseofcars.pdf | House of Cars}} {{ :informatica:is-a:progetto_vasa.pdf |Vasa}}, {{ :informatica:is-a:pisamover.pdf |PisaMover}}, {{ :informatica:is-a:rebu.pdf |Rebu}}. Esempi di documenti dei requisiti di provenienza industriale: {{ :informatica:is-a:2006_-_eirene_sys.pdf |eirene sys}}, {{ :informatica:is-a:multimahjong.pdf |MultiMahjong}}, {{ :informatica:is-a:nasax38.pdf |Nasa's X-38 Fault Tolerant System Services}} - {{ :informatica:is-a:houseofcarssoluzionedocrequisiti_v1.0.docx | Soluzione Analisi dei requisiti House of Cars}} - Progetto per gli studenti frequentanti: {{ :informatica:is-a:oltre_il_giardino.pdf |Oltre il giardino}} - //Progetto per gli studenti frequentanti, scadenze: Per mercoledì 23/2: leggete attentamente il documento e preparate una bozza di documento dei requisiti. Segnate i punti su cui avete dubbi, che verranno chiariti a lezione simulando un colloquio col cliente. Per lunedì 28/2: ogni gruppo (3 o 4 studenti per gruppo) consegna il documento dei requisiti// - Esercitazione sui requisiti - {{ :informatica:is-a:is_05_22_casid_uso.pdf |Introduzione a UML. Diagramma dei casi d'uso}} - {{ :informatica:is-a:is_06_e2_22-esercitazionecasid_uso.pdf |Esercitazione Casi d'uso}} - {{ :informatica:is-a:is_07_22_classioggetti.pdf |Diagramma delle classi e diagramma degli oggetti}} (new! 7 marzo ore 13) - {{ :informatica:is-a:is_06_e2_22-esercitazionecasid_uso.pdf |Esercitazione Classi e Oggetti}} - //Progetto per gli studenti frequentanti, scadenze: Per lunedì 14/3, sera: consegna diagramma dei casi d'uso e diagramma delle classi che descrive il dominio di Oltre il giardino // - {{ :informatica:is-a:is_09_22_attivita.pdf |Diagramma attivita'}} - {{ :informatica:is-a:is_11_22_stati.pdf |Diagramma di macchina a stati}} - Esercitazione {{ :informatica:is-a:is_10_e4_22_eserattivita.pdf |attivita}}' e {{ :informatica:is-a:is_11_e5_22_esercitazionestati.pdf |stati}} - {{ :informatica:is-a:is_13_22_diagrammisequenza.pdf |Diagramma di sequenza}} - {{ :informatica:is-a:is_15_22_progettazionedescriverearchitetturesw.pdf |Architetture software}} - {{ :informatica:is-a:is_15a_22_e_esercitazioniarchitetture.pdf |Esercitazione Architetture software}} (Aggiornato) - {{ :informatica:is-a:is_16_22_principidiprogettazione.pdf |Principi di progettazione sw}} (Aggiornato 19/4) - {{ :informatica:is-a:is_17_22_progettazionedettagliostutturecomposite.pdf |Progettazione di dettaglio: strutture composite}} - - //Progetto per gli studenti frequentanti, scadenze: Per lunedì 27/4, sera: consegna diagramma delle componenti e di dislocazione di Oltre il giardino + diagramma di sequenza che mostra come l'architettura definita realizza i casi d'uso// - {{ :informatica:is-a:is_18_22_introverificaevalidazione.pdf |Verifica e validazione}} - {{ :informatica:is-a:is_19_22_testing1.pdf |Testing 1}} - {{ :informatica:is-a:is_22_21_testing2.pdf |Testing 2}} - {{ :informatica:is-a:is_21_21_esercitazione_testing.pdf |Esercitazione testing}} - Design Pattern: {{ :informatica:is-a:is_22a_22_strategy.pdf |Strategy}}, {{ :informatica:is-a:is_22_22_bis_ereditarietavsdelega.pdf |Delega vs ereditarietà}}, {{ :informatica:is-a:is_22_22_factoriessingleton.pdf |Factories e Singleton}} - Design Pattern: {{ :informatica:is-a:is_23_22-state.pdf |State}} === Modalità di esame === progetto + orale DETTAGLI IMPORTANTI PER LA MODALITA' D'ESAME * Dovrà essere realizzato un progetto in gruppo. Avrete un progetto per appello e 5 giorni per realizzarlo, max 5 persone per gruppo. * Un progetto sufficiente rimane tale per tutta la sessione d'esame, quindi, per esempio, nella sessione estiva non è richiesto che tutti i membri di un gruppo facciano l'orale nello stesso appello. * Nella sessione estiva avete 3 occasioni di esame per quanto riguarda il progetto (se fallite per 2 volte il progetto, potete consegnarlo una terza volta), 2 per quanto riguarda l'orale (se bocciate o vi ritirate all'orale, anche se per un voto non gradito, potete ripeterlo solo un'altra volta nella sessione estiva). * **L'iscrizione all'esame serve solo per la prova orale e non per la consegna del progetto: iscrivetevi ad un appello solo se intendete svolgere la prova orale in quell'appello** * Gli orali saranno individuali e verteranno sul progetto e sugli argomenti del corso. Progetto appello straordinario primavera 2022: {{ :informatica:is-a:progetto8_is_woodstock_2021.pdf |Woodstock}}, da riconsegnare entro il 28 marzo seguendo la modalità indicata nel testo. Orale venerdì 1 aprile ore 9 aula M1 Preappello, solo per studenti frequentanti che hanno fatto il progetto in itinere (studenti che comunque possono fare l'orale anche in altri appelli): orale 31 maggio ore 9 aula L1 Primo appello: {{ :informatica:is-a:progetto1_sma_2022.pdf |Il fascino discreto dei musei dell’Università di Pisa}}, consegna progetti 31 maggio ore 19, orale 7 giugno ore 9 aula L1 Secondo appello: {{ :informatica:is-a:progetto2_is_sma_tesoro_2022.pdf |Il museo segreto}}, consegna progetti 22 giugno ore 18, orale 24 giugno ore 9 aula M1 Terzo appello: {{ :informatica:is-a:progetto3_is_serieshunter_2022.pdf |The series hunter}}, consegna progetti 14 luglio ore 18, orale 20 luglio ore 9 aula M1 in dipartimento con aria condizionata: Sala seminari ovest (prenotata dalle 9 alle 11). Gli studenti che hanno chiesto di fare l'esame più tardi: Sala Riunioni Est ore 12 Quarto appello {{ :informatica:is-a:progetto4_is_piscina_2022.pdf |La Piscina}}:, consegna progetti (ho mandato mail agli iscritti per il lavoro in team) il 5 settembre ore 18. Orali 7 settembre ore 15 aula L1. ==== Materiale didattico, in parte disponibile on line ==== - Object Oriented and Classical Software Engineering, Stephen R.Schach, Fifth edition, McGraw Hill, Capitoli: 1-3-10 e Object-Oriented Software Engineering, David C. Kung, Capitolo 2 - UML@Classroom, Martina Seidl, Marion Scholz, Christian Huemer, Gerti Kappel, Springer Verlag, 2015. Disponibile per gli studenti di unipi a [[https://link.springer.com/book/10.1007%2F978-3-319-12742-2 |questa pagina]] oppure seguendo le istruzioni date nella prima lezione. - {{:informatica:is-a:architetture14.pdf|Dispensa di architettura e progettazione di dettaglio}}. - {{:informatica:is-a:dispensatesting2014.pdf|Dispensa sulla verifica}} - Capitoli: 1-2-9-10-11-12-16-17-18 del libro "Software Testing and Analysis: Process, Principles, and Techniques" di Mauro Pezzè e Michal Young, nella versione free che potete richiedere seguendo le istruzioni date nella prima lezione. ==== Materiale di riferimento/approfondimento, disponibile on line ==== - Durante il corso useremo Visual Paradigm (editor UML), E' disponibile free la Community Edition: https://www.visual-paradigm.com/download/community.jsp - Articolo [[https://spectrum.ieee.org/aerospace/aviation/how-the-boeing-737-max-disaster-looks-to-a-software-developer | How the Boeing 737 Max Disaster Looks to a Software Developer]] - [[http://ima.udg.edu/~sellares/EINF-ES2/uml2_diagrams.pdf|Riassunto di UML 2.0]] in 33 pagine illustrate, tutto quello che avreste sempre voluto sapere su UML e non avete mai osato chiedere. - {{ :informatica:is-a:dispensaesercizitesti.pdf |Testi di alcuni casi di studio per le esercitazioni}} - Handbook of Software Engineering, a cura di Sungdeok Cha, Richard N. Taylor, Kyochul Kang, Springer, 2019, Disponibile per gli studenti di unipi [[https://link.springer.com/content/pdf/10.1007%2F978-3-030-00262-6.pdf|alla pagina]]