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.