Andrea Mansi UNIUD 2019-2020
Riassunto concetti chiave ingegneria del software
Andrea Mansi - UNIUD 2019-2020
Bibliografia
- Libro “Ingegneria del software 10° ed.” Ian Sommerville (ISBN-13: 978-8891902245)
- Libro “Analisi e progettazione di sistemi software industriali vol. 1” Prof. Andrea Baruzzo (ISBN-13: 978-1977702050)
- Slides Prof. C. Tasso e Prof. A. Baruzzo (UniUD) anno accademico 19/20
(La numerazione dei capitoli combacia con quella del primo libro; i relativi riassunti di tali capitoli sono spesso integrati con materiale delle slide e del secondo libro)
Il PDF è un riassunto dei concetti chiave e delle notazioni UML utili per il ripasso del corso di Ingegneria del Software, è dunque consigliato l’acquisto e la lettura di entrambi i libri per una preparazione completa.
Indice
- Introduzione ................................................................................................................................................................................................... 4
-
Processi software .......................................................................................................................................................................................... 5
- Classificazione dei processi software (standard ISO/IEC 12207) ....................................................................................................................... 5
- Modelli dei processi software ......................................................................................................................................................................................... 5
- Modello a cascata (waterfall model) ........................................................................................................................................................................ 6
- Sviluppo incrementale................................................................................................................................................................................................... 6
- Integrazione e configurazione (modelli orientati al riuso) ............................................................................................................................... 7
- Sviluppo evolutivo (Prototyping) ............................................................................................................................................................................... 7
- Modelli formali ................................................................................................................................................................................................................. 7
- Attività di processo .............................................................................................................................................................................................................. 8
- Specifica del software ................................................................................................................................................................................................... 8
- Sviluppo del software (progettazione e implementazione) ............................................................................................................................ 8
- Convalida del software ................................................................................................................................................................................................. 9
- Evoluzione del software ............................................................................................................................................................................................... 9
- Project Management ..................................................................................................................................................................................................... 9
-
Sviluppo agile del software....................................................................................................................................................................... 10
- Metodi agili .......................................................................................................................................................................................................................... 10
- Tecniche di sviluppo agile ............................................................................................................................................................................................... 11
- Storie utente .................................................................................................................................................................................................................. 11
- Refactoring ..................................................................................................................................................................................................................... 12
- Sviluppo con test iniziali ............................................................................................................................................................................................ 12
- Programmazione a coppie ........................................................................................................................................................................................ 12
- Gestione agile della progettazione ............................................................................................................................................................................. 12
- Scalabilità dei metodi agili.............................................................................................................................................................................................. 12
- Metodi agili guidati da piani .......................................................................................................................................................................................... 13
-
Ingegneria dei requisiti .............................................................................................................................................................................. 14
- Requisiti funzionali e non funzionali .......................................................................................................................................................................... 14
- Requisiti funzionali ...................................................................................................................................................................................................... 15
- Requisiti non funzionali ............................................................................................................................................................................................. 15
- Processi di ingegneria dei requisiti ............................................................................................................................................................................. 16
- Deduzione e analisi dei requisiti ............................................................................................................................................................................. 16
- Specifica dei requisiti .................................................................................................................................................................................................. 17
- Convalida dei requisiti ................................................................................................................................................................................................ 17
- Modifica dei requisiti (gestione dei requisiti) .......................................................................................................................................................... 18
-
Modelli di sistema ....................................................................................................................................................................................... 19
- Architettura guida da modelli ....................................................................................................................................................................................... 19
- UML ......................................................................................................................................................................................................................................... 20
- Casi d’uso ......................................................................................................................................................................................................................... 20
- Diagramma delle classi ............................................................................................................................................................................................... 23
- Diagrammi di sequenza.............................................................................................................................................................................................. 27
- Storie utente (user story mapping)........................................................................................................................................................................ 34
- DFD – Data Flow Diagram .............................................................................................................................................................................................. 35
- Diagramma di contesto e DFD di livello 0............................................................................................................................................................ 35
- Linee guida ...................................................................................................................................................................................................................... 36
- Schema HIPO: Hierarchical Input Process Output ............................................................................................................................................ 36
- Structure chart (SC)...................................................................................................................................................................................................... 36
- Reti di Petri ........................................................................................................................................................................................................................... 37
- Esercizio su reti di Petri .............................................................................................................................................................................................. 39
- Esercizio su UML e OOD (vecchio esame con svolgimento del Prof. A. Baruzzo) ...................................................................................... 40
- Casi d’uso ......................................................................................................................................................................................................................... 40
- Diagramma delle classi ............................................................................................................................................................................................... 41
- Diagramma di sequenza ............................................................................................................................................................................................ 41
- Metriche di Lakos ......................................................................................................................................................................................................... 42
-
Progettazione architetturale ................................................................................................................................................................... 43
- Decisioni di progettazione architetturale ................................................................................................................................................................ 43
- Viste architetturali ............................................................................................................................................................................................................ 44
- Schemi architetturali ....................................................................................................................................................................................................... 45
- Architetture applicative............................................................................................................................................................................................. 46
-
Progettazione e implementazione .......................................................................................................................................................... 47
- Object-Oriented design ................................................................................................................................................................................................... 48
- Coesione e accoppiamento ...................................................................................................................................................................................... 48
- Principi SOLIDI del design OO ................................................................................................................................................................................... 49
- Progettazione per i test (design for testability - DFT) ......................................................................................................................................... 50
- Stratificazione fisica e testing................................................................................................................................................................................. 51
- Progettazione aciclica ................................................................................................................................................................................................ 51
- Component dependency and normalized metrics (LAKOS) ......................................................................................................................... 52
- Complessità ciclomatica CC ...................................................................................................................................................................................... 52
- Debito tecnico..................................................................................................................................................................................................................... 53
-
Test del software ........................................................................................................................................................................................ 54
- Fasi dei test di sviluppo ................................................................................................................................................................................................... 56
- Test delle unità .............................................................................................................................................................................................................. 56
- Test delle componenti ................................................................................................................................................................................................ 57
- Test del sistema ............................................................................................................................................................................................................ 57
- Sviluppo guidato da test ................................................................................................................................................................................................. 58
-
Evoluzione del software ............................................................................................................................................................................ 59
- Processi evolutivi ............................................................................................................................................................................................................... 59
- Sistemi ereditati (legacy systems)............................................................................................................................................................................... 60
- Manutenzione del software .......................................................................................................................................................................................... 60
- Previsione della manutenzione............................................................................................................................................................................... 61
- Reingegnerizzazione del software ........................................................................................................................................................................ 61
-
Sistemi fidati ............................................................................................................................................................................................. 62
- Fidatezza in quanto proprietà ...................................................................................................................................................................................... 62
- Sistemi sociotecnici .......................................................................................................................................................................................................... 63
- Ridondanza ..................................................................................................................................................................................................................... 64
- Processi software fidati ...............................................................................................................................................................................................
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Ingegneria del Software
-
Appunti Ingegneria del software
-
Ingegneria del Software
-
Ingegneria del software