La tematica dei principi dell’ingegneria del software è trattata sia sul piano teorico attraverso lezioni frontali, sia sul piano pratico, attraverso esempi tratti da casi reali.
Il corso Principi di progettazione e ingegneria del software mira a:
- Mettere i partecipanti in grado di approcciare lo sviluppo software secondo le metodologie dettate dall’ingegneria del software
- Valutare correttamente la tipologia del modello di sviluppo da applicare al progetto software
- Essere in grado di definire metriche per analizzare correttamente il ciclo di vita del software
Questo corso è rivolto a demand manager, project manager, program manager, analisti e tecnici.
Alla fine del corso i partecipanti saranno in grado di:
- Conoscere come sono strutturati i processi di sviluppo software
- Conoscere i modelli di processo applicabili allo sviluppo software
- Conoscere lo sviluppo basato sulla metodologia agile
- Applicare correttamente i paradigmi object-oriented, component based e Web-based
- Modellare il sistema nell'ottica dell’ingegneria del software
- Conoscere gli stili e i pattern architetturali utilizzabili
- Conoscere le metriche applicabili al processo e al prodotto software
- Mettere a punto un modello di qualità del software
- Fare riferimento agli standard ITIL
- Pianificare correttamente lo scheduling di un progetto software
1° GIORNO
L’Ingegneria del software e il software come prodotto
- Il software e l’ingegneria del software
- L’evoluzione del ruolo del software
- La natura mutevole del software
Panoramica sul processo
- L’ingegneria del software: una tecnologia stratificata
- La struttura di un processo
- Le indicazioni CMMI (Capability Maturity Model Integration)
- Pattern per i processi e valutazione del processo
- Modelli di processo personali e di team
- La tecnologia del processo
- Prodotto e processo
Modelli di processo prescrittivi
- Il modello di processo a cascata (Waterfall)
- Modelli di processo incrementali
- Modelli di processo evolutivi
- Modelli di processo specializzati
- Il processo unificato
Sviluppo Agile
- Che cosa si intende con sviluppo agile?
- Che cos’è un processo agile?
- Modelli di processo agili
2° GIORNO
Gli aspetti pratici dell’ingegneria del software
- Pratiche di comunicazione
- Pratiche di pianificazione
- Pratiche di modellazione
- Pratiche di costruzione
Principi e concetti object-oriented
- Il paradigma object-oriented e i suoi concetti
- Identificare gli elementi di un modello ad oggetti
Ingegneria dei sistemi informatici
- La gerarchia dell’ingegneria dei sistemi
- Ingegneria del business process e del prodotto
- Modellazione del sistema
Ingegneria dei requisiti (cenni)
- I task dell’ingegneria dei requisiti
- Avvio del processo di ingegneria dei requisiti
- Sviluppo degli use case e costruzione del modello dell’analisi
- Negoziazione e validazione dei requisiti
Concetti di gestione dei progetti software
- Il panorama gestionale: le persone, il prodotto, il processo e il progetto
- Il principio WHH e le pratiche critiche
3° GIORNO
Modellazione analitica
- Approcci alla modellazione analitica
- Concetti di modellazione dei dati
- Analisi object-oriented
- Modellazione basata su esempi d’uso
- Modellazione flow-oriented
- Creazione di un modello del behaviour
Ingegneria della progettazione (cenni)
- Progettazione nel contesto dell’ingegneria del software
- Il processo di progettazione e la qualità della progettazione
- Principi di progettazione e modello del design
- La progettazione del software basata su pattern
- Progettazione dei dati
- Stili e pattern architetturali
- Progettazione dell’architettura
- Le metriche per il progetto software
- Le metriche di processo e di progetto
Scheduling dei progetti software
- Concetti fondamentali
- Scheduling del progetto
- Definizione di un task set per un progetto software
- Definizione di una rete di task
- Scheduling
La tematica dei principi dell’ingegneria del software è trattata sia sul piano teorico attraverso lezioni frontali, sia sul piano pratico, attraverso esempi tratti da casi reali.
Libro “Principi di Ingegneria del software” di Pressman - Ed. McGraw Hill.
È consigliata una conoscenza di base delle tematiche di "analisi dei requisiti e funzionale del software".