====== Ingegneria del Software ======
----
===== News =====
* **14 marzo 2023**: Il prossimo appello di esame è fissato per il 12 aprile
* **30 gennaio 2023**: Il progetto di esempio Pizzeria è stato caricato nella sezione relativa al progetto
* **10 gennaio 2023**: La prossima lezione del modulo di teoria si terrà il 16 gennaio.
* **11 dicembre 2022**: Cari studenti la lezione di domani è cancellata causa impegno fuori sede. Le lezioni di mercoledì e giovedì saranno tenute dal Prof. Polini
* **2 dicembre 2022**: Cari studenti, vi informiamo che le lezioni del prossimo lunedì e mercoledì saranno scambiate. Lunedì ci sarà la lezione del Prof. Morichetta, mentre mercoledì ci sarà la lezione del Prof. Polini.
* **23 novembre 2022**: Cari studenti a causa di un lutto domani 24 novembre non potrò tenere la lezione. L'incontro con il cliente è rimandato a lunedì prossimo 28 novembre.
* **22 novembre 2022**: Si informano gli studenti che la lezione di mercoledì 23 novembre è cancellata
* **20 novembre 2022**: Si informano gli studenti che nella lezione di giovedì 24 novembre sarà presente il "cliente" per essere intervistato e fornire ulteriori chiarimenti sul progetto.
* **20 novembre 2022**: Si informano gli studenti che la lezione di domani 21 novembre è cancellata, causa altro impegno concomitante.
* **6 novembre 2022**: Come precedentemente annunciato la lezione di domani 7 novembre è cancellata.
* **1 novembre 2022**: la lezione di mercoledì 2 novembre è annullata.
* **26 settembre 2022**: si infoormano gli studenti che la prima lezione del corso si terrà il 28 settembre 2022
----
===== Informazioni Generali =====
**Docente**:
* [[https://docenti.unicam.it/pdett.aspx?ids=N&tv=d&UteId=626|Prof. Andrea Polini]]
* [[https://docenti.unicam.it/pdett.aspx?ids=N&tv=d&UteId=1084|Prof. Andrea Morichetta]]
**Link ESSE3**
* [[https://didattica.unicam.it/Guide/PaginaADErogata.do?ad_er_id=2022*N0*N0*S1*16631*8096&ANNO_ACCADEMICO=2022&mostra_percorsi=S|Ingegneria del Software - AA 2022/23]]
**Orario delle Lezioni**:
* L'orario delle lezioni è disponibile al seguente [[:didattica:ay2223:orario_it|link]]
**Corsi di Laurea**:
* [[didattica:linf|Laurea in Informatica (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
* {{:didattica:ay2223:ids:01_introduzione.pdf|Introduzione}}
* {{:didattica:ay2223:ids:02_processo.pdf|Processo di sviluppo}}
* {{ :didattica:ay2223:ids:03_requirementsengineering_01.pdf |Requirements Engineering}}
* {{ :didattica:ay2223:ids:uml_01_introduzione.pdf |Introduzione a UML}}
* {{ :didattica:ay2223:ids:uml_02_casiuso.pdf |Casi d'Uso}}
* {{ :didattica:ay2223:ids:uml_03_class.pdf |Diagramma delle Classi}}
* {{ :didattica:ay2223:ids:uml_04_relazioni.pdf |Relazioni}}
* [[https://docs.google.com/presentation/d/1C33aXpKukEt7TJKxNzb5_3_OhrY5L1rEbf5fdzMgSRU/edit?usp=sharing|Architettura software (accedere con account unicam)]]
* {{ :didattica:ay2223:ids:uml_06_interazioni.pdf |Diagrammi di Interazione}}
* {{ :didattica:ay2223:ids:git.pdf |Introduzione a Git}}
* {{ :didattica:ay2223:ids:uml_07_diagrammiattivita.pdf |Diagrammi delle Attività}}
* {{ :didattica:ay2223:ids:patternsgrasp.pdf |RDD e GRASP}}
* {{ :didattica:ay2223:ids:09_qualita.pdf |Requisiti di Qualità}}
* {{ :didattica:ay2223:ids:uml_08_progettazione.pdf |Classi di progettazione}}
* {{ :didattica:ay2223:ids:persistenza.pdf |Progettazione della persistenza}}
**Registrazioni**
* [[https://unicam.webex.com/unicam/ldr.php?RCID=cc8bc018de5273d63f1d6fa690c7a719|Giovedì, 29 Settembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=57d69a13c58410fbd5bc4e0627deefa5|Lunedì, 3 Ottobre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=86c27056d8415b182d7d5ac759517c83|Giovedì, 6 Ottobre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=298b64b1cf2e26e88faac55a9b245313|Lunedì. 10 Ottobre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=0dbcc5f896238b80caba77224c54159c|Giovedì, 13 Ottobre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=9ff0f05555d264d5a413b4791a3bdbac|Lunedì, 17 Ottobre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=4ae274aff379a62cfcd46ef346ecb832|Mercoledì, 19 Ottobre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=a5b4fd4ffc2e34a8fc26c8fd1a234a30|Giovedì, 20 Ottobre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=4e3e690558a1b1776d0fcac4aec554ae|Lunedì, 24 Ottobre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=84259eb68efc08d97d52a3dea356eb60|Giovedì, 3 Novembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=2b10b09086e4bd75b08fad73beb40889|Mercoledì, 9 Novembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=a2f1fd31be9c75dd356e8ae412757ba9|Giovedì, 10 Novembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=d6edb8ae5358294e75685903aa031e9a|Lunedì, 14 Novembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=bab699617fe6853f3173ab7cdef93c14|Mercoledì, 16 Novembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=dcc97c171571efbf957c316b84637177|Giovedì, 17 Novembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=3b147e9324914bbf99c54bba617d3283|Lunedì, 28 Novembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=24921b3514819511cb885d9e406786cd|Mercoledì, 30 Novembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=c8a1325f0087294823108fdca2ee97d5|Giovedì, 1 Dicembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=d993905a9fd237ea42cee14abd023121|Lunedì, 5 Dicembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=83b794126ae98b6ea3a0dcf8a5ce12a5|Mercoledì, 7 Dicembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=ddaf131073ee6ea75937d34f503f738b|Mercoledì, 14 Dicembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=138f5dc818b695950b297b10e94aaff1|Giovedì, 15 Dicembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=51071cf0e5a69863349ce868e611f400|Lunedì, 19 Dicembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=820af404fb7d3849fd4a38b7ec84bab3|Mercoledì, 21 Dicembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=3c99bf4dff508a538c5335c96b0872b5| Giovedì, 22 Dicembre 2022]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=5202fc7ebda3919cb96a41a00e5f2aac|Lunedì, 9 Gennaio 2023]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=ea24d541908c38a0c6a9bf324cd9ab62|Mercoledì, 11 Gennaio 2023]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=bb2de906a63aa6820b4b548dabe078da|Giovedì, 12 Gennaio 2023]]
* Lunedì, 16 Gennaio 2022 ([[https://unicam.webex.com/unicam/ldr.php?RCID=d7d8fa43d757cc02a9f575044a267fd5|1a parte]],[[https://unicam.webex.com/unicam/ldr.php?RCID=8c6337f86b985d231ad943ecf73f560e|2a parte]])
* [[https://unicam.webex.com/unicam/ldr.php?RCID=f549fc012f29f0b919749d04b3541ed9|Mercoledì, 18 Gennaio 2023]]
* [[ https://unicam.webex.com/unicam/ldr.php?RCID=6a98b9ec78c689513d30dacca27304f6|Giovedì, 19 Gennaio 2023]]
**Progetto**
* [[https://docs.google.com/spreadsheets/d/1Vo7VKxPIyhXju-uU8YrVPnZccl5GWvEXxagoVq2fXmk/edit?usp=sharing|Formazione Gruppi]] - accesso con credenziali UNICAM
* [[https://drive.google.com/file/d/1fg07QJtRkYNSld_a-8ilBbCiUFEAGIMJ/view?usp=sharing|Testo Progetto]] - accesso con credenziali UNICAM
* [[https://drive.google.com/file/d/1ZKkZG2bT8t0uvglJ7aWwIRwr2UoB4UwY/view?usp=share_link|Pizzeria 4.0]] - Esempio di progetto software che integra soltanto una CLI
**Testi di Riferimento**
* Craig Larman - "Applicare UML e i Pattern" - 5a Ed. Italiana, Pearson, 2020.
* Design Patterns from [[https://refactoring.guru/design-patterns|refactoring guru]]
**Testi di Consultazione**
* Ian Sommerville - "Ingegneria del Software" - 10a Ed. Italiana, Addison-Wesley, 2017.
* Jim Arlow, Ila Neustadt - "UML2 e Unified Process - Analisi e Progettazione Object-Oriented", 2a Ed. Italiana, McGraw-Hill, 2006
**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**
* {{ :didattica:ay2223:ids:reestfullwebserviceexample.zip |RestFull Web service SpringBoot}}
* {{ :didattica:ay2223:ids:DesignPattern.zip |Design Patterns}}
* {{:didattica:ay2223:ids:jpaexample.zip | JPA Example}}
* {{:didattica:ay2223:ids:swaggerexample.zip |Swagger Interface Example}}
**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. 2020/2021**
**AVVERTENZA**: Nel giorno fissato verrà stilato il calendario delle prove di orale iniziando dalle discussioni dei progetti per proseguire con gli orali individuali. Si può parteciapre alla definizoine del calendrio anche da remoto collegandosi alla stanza webex.
* 2 febbraio 2023 - ore 15
* 23 febbraio 2023 - ore 15
* 12 aprile 2023 - ore 9.30
* 8 giugno 2023 - ore 15
* 6 luglio 2023 - ore 15
* 7 settembre 2023 - ore 15
* 28 settembre 2023 - ore 15
* 8 febbraio 2024 - ore 15
* 29 febbraio 2024 - ore 15
**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 sopra indicate 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