====== Ingegneria del Software ====== ---- ===== News ===== * **3 Aprile 2024**: E'stato aggiunto un appello per il 6 maggio. Consultare la sezione Esami qui sotto per iscriversi all'appello * **1 Marzo 2024**: Caricato il calendario delle prove orali per appello del 29 Febbraio 2024 - Si veda sezione Esami * **10 Dicembre 2023**: Ricordo agli studenti che domani non si terrà la lezione di teoria causa impegno fuori sede del docente. * **18 Novembre 2023**: A causa di un impegno all'estero la prossima lezione del modulo di teoria si terrà il prossimo 30 Novembre. * **16 Novembre 2023**: Cari studenti la lezione del 16 novembre è cancellata. * **29 Ottobre 2023**: Cari studenti purtroppo domani 30 Ottobre non riuscirò a tenere la lezione causa altro impegno. * **25 Ottobre 2023**: Causa un soppraggiunto impegno la lezione del 26 ottobre è cancellata * **20 Ottobre 2023**: La lezione di **martedì 24 ottobre** è cancellata per favorire la partecipazione all'Hackathon che si svolgerà nel polo B. * **12 Ottobre 2023**: A causa della partecipazione del docente ad una commissione di ateneo la lezione di oggi 12 ottobre è cancellata. ---- ===== Informazioni Generali ===== **Docente**: * [[https://docenti.unicam.it/pdett.aspx?ids=N&tv=d&UteId=626|Prof. Andrea Polini]] **Link ESSE3** * [[https://unicam.coursecatalogue.cineca.it/insegnamenti/2023/8096/2021/9999/10028?coorte=2021&schemaid=3692|Ingegneria del Software - AA 2023/24]] **Orario delle Lezioni**: * L'orario delle lezioni è disponibile al seguente [[:didattica:ay2324:orario_it|link]] **Corsi di Laurea**: * [[didattica:linf|Laurea in Informatica (L-31)]] * [[didattica:licd|Laurea in Informatica per la Comunicazione Digitale (L-31)]] ===== Materiale ===== **Slide delle Lezioni** Le slide sono distribuite al fine di orientare lo studente. Lo studio approfondito dei testi di riferimento è condizione necessaria all'acquisizione di conoscenze e competenze utili al superamento dell'esame * //Modulo di Teoria// * [[https://drive.google.com/file/d/1SjFUlBa6foij084eotktem3DWv-bsAUT/view?usp=sharing | Introduzione al corso]] * [[https://drive.google.com/file/d/1YMlaHysFejsjkHE_0fFUT1GtZ32wfKg7/view?usp=drive_link | Processi di sviluppo]] * [[https://drive.google.com/file/d/1-mT_ocSRkfVKBkVOQfBz2mM2Yft71V37/view?usp=drive_link| Ingeneria dei Requisiti]] * [[https://drive.google.com/file/d/1W0SKf0UQokJTuXtGKa5c48EeGfXL--YB/view?usp=sharing|UML]] * [[https://drive.google.com/file/d/1YHW7tK17iKEBsLO8oP4mmtDWCG9tmyod/view?usp=drive_link|Casi d'Uso]] * [[https://drive.google.com/file/d/1jW99HZQqWNZ_FUctSDNqNWvGnnRxOvCB/view?usp=drive_link|Classes in UML diagrams]] * [[https://drive.google.com/file/d/1QAZF7949YCS0DAkzFE6j47ZxhTkVNn9Q/view?usp=drive_link|Relazioni in UML diagrams]] * [[https://drive.google.com/file/d/1BKwAfyxd4Vot5mNicvfzamMTOCBnmUXZ/view?usp=drive_link|Diagrammi di Interazione]] * [[https://drive.google.com/file/d/19ogYYNQ-U6hqPEYvh1LM9uhBvuhXE6qd/view?usp=drive_link|Qualità del Software]] * [[https://drive.google.com/file/d/1wrlOjxdRhXyIh_e3n3CnPHhx-piZCNbR/view?usp=drive_link|Diagrammi della Attività]] * [[https://drive.google.com/file/d/1lvJ11xOHlOqQgPYRDKxPInNg9dX-z8g5/view?usp=drive_link|Progettazione]] * [[https://drive.google.com/file/d/12GfUjcdApuBJAO-TbrvuDVWN2uM768Et/view?usp=drive_link|PatternsGRASP]] * [[https://drive.google.com/file/d/10x8AbeJEqA4mmVM09bt2rI8BU36w0Z1g/view?usp=drive_link|Progettazione Architetturale]] * [[https://drive.google.com/file/d/1OJ3q1Sfa36JNqTDi-UZuDawSdtSAXOyt/view?usp=drive_link|Cenni su V&V e Manutenzione]] * [[https://drive.google.com/file/d/1o-W9dzhSV5THk9alGBTyCMeiJBUKojBY/view?usp=drive_link|git]] * //Modulo di Laboratorio// * {{https://docs.google.com/presentation/d/1Xrvg1_fg4aoQgJLOGOLqydfPpynrLPpW/edit?usp=sharing&ouid=110373065265771893591&rtpof=true&sd=true | Object Design}} * {{https://drive.google.com/file/d/1gY3--QAO_wpy4G7HfUSYFGx-1WhAP4jA/view?usp=sharing | Design Patterns}} * [[https://refactoring.guru/design-patterns/book|Dive into Design Pattern]] * {{https://docs.google.com/presentation/d/1yQ2AxnopssNRQYxiGsxUxw1tkQV5dBX5PHr2iRUwD9E/edit?usp=sharing | SpringBoot}} **Registrazioni** * //Modulo di Teoria// * Le registrazioni sono disponibili [[https://docs.google.com/spreadsheets/d/1OHWZLy4bgT8m_bZoxuWOBKjJuhtAKGO1UAPtU_zCh44/edit?usp=sharing|qui]] * //Modulo di Laboratorio// * Le registrazioni sono disponibili [[https://docs.google.com/spreadsheets/d/1p0L0DKacELVHdJ5_4XBg4aoR732G5aYf1f9ENgJDx3Q/edit?usp=sharing|qui]] **Progetto** * [[https://docs.google.com/spreadsheets/d/1Fmc_RdTyXxPnwHFq0HD7pSr76zuk68rw4yr_9eEp6E4/edit?usp=sharing|Formazione Gruppi]] - accesso con credenziali UNICAM * [[https://docs.google.com/document/d/1kqarA2bRB8I8StOazcWotmkxf4Afycyl34a-n536JHo/edit?usp=sharing|Testo Progetto]] - accesso con credenziali UNICAM **Testi di Riferimento** * Craig Larman - [[https://he.pearson.it/catalogo/1025|Applicare UML e i Pattern: Analisi e progettazione orientata agli oggetti]] - 5a Ed. Italiana, Pearson, 2020. * Design Patterns from [[https://refactoring.guru/design-patterns|refactoring guru]] * Scott Chacon, Ben Straub - [[https://github.com/progit/progit2-it/releases/download/2.1.4/progit.pdf|Pro Git – Everything you need to know about Git]], 2nd Ed., Apress, 2014 **Testi di Consultazione** * Klaus Pohl - [[https://link.springer.com/book/9783642125775|Requirements Engineering: Fundamentals, Principles, and Techniques]] - Springer Verlag, 2010. * Jim Arlow, Ila Neustadt - [[https://www.hoepli.it/libro/uml-2-e-unified-process/9788838663727.html|UML2 e Unified Process - Analisi e Progettazione Object-Oriented]], 2a Ed. Italiana, McGraw-Hill, 2006 * Michael Lewrick, Patrick Link, Larry Leifer - [[https://www.edizionilswr.it/modelli-di-business-promo/manuale-di-design-thinking.html#/34-formato-cartaceo|Manuale di Design Thinking – Progettare la trasformazione digitale di team, prodotti, servizi ed ecosistemi]], Edizioni LSWR **Materiale Utile** * [[https://www.vogella.com/tutorials/EclipseGit/article.html|Eclipe Git Tutorial]] * [[https://git-scm.com/book/it/v2|Pro Git]] - eBook * [[https://refactoring.guru/design-patterns/book|Dive into Design Pattern]] * Breve [[https://www.youtube.com/watch?v=NV5WPLm0pZs|video]] che spiega come usare il Personal Access Token per permettere interazione diretta tra GitHub e Eclipse * {{didattica:ay2223:ids:spring-boot-reference.pdf|Spring Reference Guide}} **Software** * Licenza [[https://ap.visual-paradigm.com/universita-di-camerino|Visual Paradigm]] * [[http://pipe2.sourceforge.net/|PIPE2]] - Petri Net Editor **Materiale Laboratorio** * [[https://drive.google.com/file/d/1EPS1Ktsqf-5eJ0pD3GAKNcUKDCVpuzGG/view?usp=sharing | WebServer]] **Canali di comunicazione** * Applicazione YoUnicam ([[https://play.google.com/store/apps/details?id=com.unicam.appunicam&hl=it&gl=US|Google Play]], [[https://apps.apple.com/it/app/younicam/id1531455644|App Store]]) canale #IDS ===== Esami ===== **Date Esami A.A. 2023/2024** **AVVERTENZA**: Nel giorno fissato per l'appello verrà stilato il calendario delle prove di orale iniziando dalle discussioni dei progetti per proseguire con gli orali individuali. Si può partecipare alla definizione del calendario anche da remoto collegandosi alla stanza webex del docente. * [[https://docs.google.com/document/d/1Yj2ZOjBeoX9aaovN26D5LiyGocBfDCOguMT1RPnhfVM/edit?usp=sharing|8]] febbraio 2024 - ore 15 - Aula AA1 * 29 febbraio 2024 – ore 15 – Aula AA1 * 6 maggio 2024 - ore 9.30 - Aula AB3 - Appello straordinario al di fuori di una sessione valida dunque non attivabile su ESSE3. Si pregano gli studenti di iscriversi registrando il proprio nome sul seguente [[https://docs.google.com/spreadsheets/d/1G0SEmfob8MVNauAnGVteFJEC2R-9tNxj8HcyDk7EGRk/edit?usp=sharing|foglio elettronico]]. * 12 giugno 2024 – ore 15 – Aula AA1 - [[https://docs.google.com/document/d/1CdrANl8xyp7XheWBiFAbTqm363UhpLQjpBai70I_lFU/edit?usp=sharing|Calendario delle prove]] * 10 luglio 2024 – ore 15 – Aula AA1 * 4 e 25 settembre 2024 – ore 15 – Aula AA1 * 4 e 25 febbraio 2025 – ore 15 – Aula AA1 **Regole di esame**: Per superare l'esame di Ingegneria del Software è necessario svolgere con esito positivo le seguenti prove: * **Progetto** - la prova di progetto si svolge in **gruppi da 2 o 3** e richiede lo sviluppo di un sistema software applicando le metodologie e le tecniche apprese a lezione. * **Orale** - la prova orale si svolge nelle date che **saranno concordate a seguito della definizione del calendario** e richiederà allo studente di svolgere semplici esercizi e di rispondere a quesiti relativi ai contenuti del corso. Possono svolgere la prova orale solo gli studenti che siano membri di gruppi che abbiano **già svolto** la presentazione/discussione del progetto. ** Risultati Esame ** * N/A