Processi Produttivi del Software Tradizionali e ad Oggetti
      La catena di produzione del software, l'analisi e la gestione dei requisiti, la progettazione, la pianificazione, il collaudo
      Il corso è rivolto ad executive, manager, oppure, ad un livello più tecnico, a sviluppatori o tecnici. La durata è di 5 giorni.
      
Generalità su prodotto e processo (teoria)
     
- Il processo software, modelli di processo, il modello sequenziale, la prototipazione, il modello RAD; modelli evolutivi, modello a spirale, sviluppo a componenti, tecniche di quarta generazione
- La gestione del processo: individuare il prodotto e le persone.
 Metriche per la stima della dimensione del software.
L'analisi a Function Point.
 Definizione di un programma di valutazione metrica del software
- La pianificazione progettuale: obiettivi, risorse, stime nel software. Modelli empirici di stima. Scegliere tra Make, Buy, e Cooperate
- Analisi e gestione dei rischi, individuazione, proiezioni, allarmi e governo del rischio
- La tempificazione: definizione e assegnazione dei compiti, pianificazione temporale, il reticolo dei compiti
- La Software Quality ASsurance: Concetti base di qualita', Tecniche di revisione, Verficia degli errori, lo standard ISO9000
- Il configuration Management: Gestione della configurazione, controllo delle versioni, controllo del cambiamento
Metodi (con strumenti) e nuovi metodi
- Analisi dei Requisiti e Specifica dei Requisiti
- I documenti di specifica
- USO di UML e di SoDA per l'analisi e la specifica dei requisiti
- La modellazione concettuale dei dati e dei flussi di dati
- il DFD
- i diagrammi ISAC
- i diagrammi E/R
- Uso di UML per la modellazione del flusso di dati
- La progettazione, la modularita'
 Principi, concetti
- Uso dei class diagram UML, Cenni di forward e backward engineering con UML
- Progettazione dell'interfaccia utente
- La progettazione a componenti
- La Pianificazione e la Tempificazione - uso di Microsoft Project 2000
- Il Collaudo del software
 Testing generale, e funzionale
 Piani di test
 Test dell'unita', test di integrazione, test di sistema
 L'accettazione utente
 Il test di regressione
 Uso di metriche - definire ed utilizzare metriche nel processo di collaudo,
 una proposta di semplice metrica
 Esempi di Form per il tracking del collaudo
- Cenni sul modello di orientamento ad Oggetti, e i motivi per cui le metodologie di ciascuna fase del processo vanno adattate
Metodologie Gestione della Produzione del Software in Ambiente Object Oriented
- La raccolta e la gestione dei requisiti - Requirement Management
 Il Tool: Rational RequisitesPro
- La gestione del processo di Analisi orientata ad oggetti, utilizzando la metodologia UML - spiegazione del semiformalismo UML per la parte "alta" dello sviluppo
 I tool: Rational Rose per il disegno UML
 Rational SoDA per la reportistica
- La stima della dimensione a Function Point per applicazioni Object Oriented
 (breve digressione su come applicare un modello tempi/costi - Costar per l'analisi a FP con Cocomo II)
- La progettazione utilizzando UML: Forward e Backward Engineering. La manutenzione della documentazione. Il tool: Rational Rose
- Le metodologie di Test Object Oriented, discussione
- Creazione di Stub di Test derivati dalla progettazione, con Rational Quality Architect
- JUnit: Esempi di Utilizzo
- Il Configuration Management
- Teoria dell'Orientamento ad Oggetti (definizioni ed applicazioni): classi, ereditarieta' singola e multipla, tipi polimorfici, binding statico e dinamico, con esercizi di programmazione
- Design Pattern: soluzioni architetturali software per la costruzione di software ad oggetti robusto e riusabile.