Materiale didattico AA2017-18
Slide usate a lezione
- 01 - Informazioni
- 02 - Introduzione
- 03 - Software
- 04 - Principi
- 05 - ModelliProcessoSoftware
- 06 - Agile software development
- Seminario
- 07 - IngegneriaDeiRequisiti
- 08 - Specifica 1
- 09 - Specifica 2a
- Specifiche operazionali
- 10 - Specifica 2b
- Reti di Petri
- 11 - Specifica: caso di studio RdP
- Caso di studio Reti di Petri (non svolto, lettura di approfondimento facoltativo)
- 13 - Specifica 3a.pdf
- Specifiche descrittive
- 14 - Esempio Logica di Hoare
- 15 - Specifica 3c
- Specifiche algebriche
- 15bis - Esercizi su Specifica (DFD, RdP, spec. albegriche)
- 16 - Progettazione 1
- 17 - Progettazione 2
- 18 - Progettazione 3
- 19 - UML e strumenti
- Laboratorio
- 20 - Design Pattern
- Laboratorio
- 20 - Verifica 1
- 21 - Verifica 2a
- Introduzione al test
- 22 - Verifica 2b
- Criteri di selezione del test - approccio white box
- 23 - Verifica 2c
- Test - approcci black-box
- 24 - Verifica 2d
- Test in grande
- 25 - Verifica 3a
- Analisi dataflow
- 27 - Verifica 3c
- Esecuzione simbolica
- 28 - Esercizi Verifica
- 30 - Verifica 4
- Aggiunte slide su metriche source-code; Modelli di affidabilità - non svolto, lettura di approfondimento facoltativo
- 31 - Test di software OOP
- Esercitazione su JUnit e Mockito Laboratorio 21 Nov. 2017
- 42 - Gestione 1
- 43 - Gestione 2
- Aggiunti esempi in data 26/11/17 - Metriche - Function Point
- 43 bis - Esercizi FP
- 44 - Esempi testi prove scritte
- con soluzione (corretto RET pag. 22 il 18/12/2017; scambiato testi primo e ultimo esercizio su Function point - 14/12/2017)
- 45 - Sistemi di versioning
- Laboratorio - Git
- 46 - Strumenti per lavoro cooperativo
- Laboratorio - Slack e Trello
- 47 - Sistemi di gestione delle dipendenze e building automatico
- Laboratorio - Maven
- 48 - Seminario Aziendale (sviluppo applicazioni ERP)
- 11 Dicembre 2017 - Centro Software "Ingredienti per lo sviluppo di una applicazione Enterprise" - Sommario: Lo sviluppo di applicazioni Enterprise necessita di una strategia. Senza una chiara naming convention, un source control in grado di gestire le modifiche al codice, un test efficiente, ma soprattutto, senza OOP, l’incubo inizia ancor prima del rilascio perché più sviluppatori lavorano simultaneamente sugli stessi sorgenti. Un’altra componente fondamentale di un sistema Enterprise è la piattaforma utilizzata per la gestione dei dati, parleremo quindi del linguaggio SQL e dell’importanza di avere un linguaggio dichiarativo per la scrittura delle query, chi sviluppa dichiara “cosa” vuole ottenere senza preoccuparsi di “come” l’RDBMS implementerà la richiesta. In questo seminario, parleremo delle metodiche che Centro Software ha adottato per lo sviluppo del proprio software ERP, che oggi rappresenta un riferimento nel mercato nazionale ed internazionale. Gli argomenti trattati permetteranno di comprendere gli ingredienti che Centro Software ha utilizzato per lo sviluppo di una applicazione Enterprise, nel mondo reale, dove spesso bisogna scendere a compromessi!
- 49 - Seminario Aziendale (testing in pratica)
- 12 Dicembre 2017 - Infineon "Software development for automotive embedded non volatile memories testing" - Sommario: Sommario: - Il testing dell’hardware (SoC): perché ci serve il software e quale tipo di software - problematiche dello sviluppo di software di qualità (complessità, errori tipici, KPI da monitorare, …) - Il processo di sviluppo (a cosa serve un processo per lo sviluppo software, benefici, costi, domande frequenti) - La documentazione di processo (come si documenta un processo) - Strategie per garantire qualità nel software rilasciato - Fasi principali dello sviluppo di software (dettagli) - Requirements elicitation - Risk analysis - Planning management - Specifica implementativa - Implementazione o gli strumenti: compilatori, IDE, debugger, piattaforme HW, problematiche) o TDD, clean code, da codice documentato a codice autodocumentante) + check - Verifica e validazione: uCode, White/Black box, 4 eyes check, Functional check, Regression, Integration check, Buy off - Rilascio del software