Questo corso fornisce a programmatori e analisti gli strumenti e le tecniche per aumentare la qualità del software tramite la descrizione di particolari tecniche derivanti dalla disciplina del software engineering.Al termine del corso gli studenti saranno in grado di:
- Comprendere le fasi salienti della costruzione del software
- Comprendere l’importanza di prerequisiti di qualità
- Avere gli strumenti adeguati per sviluppare una buona architettura del software
- Acquisire i concetti chiave delle pratiche di design
- Applicare le tecniche di astrazione
- Costruire classi e metodi di qualità
- Acquisire le tecniche di programmazione difensiva più appropriate
- Migliorare la gestione delle variabili, delle istruzioni e dei tipi di dati
- Apportare le migliorie al codice tramite test e debugging
- Acquisire tecniche e strategie per il miglioramento del software
Questo corso è rivolto a sviluppatori e progettisti che intendano migliorare le tecniche di sviluppo del software
Considerazioni iniziali
- Chaos Report 2015
- Ingegneria del software: significato ed ambiti di applicazione
- I progetti IT: successo o fallimento ?
- I costi della non qualità
- I miti del software
- Chaos Factors of Success
Processo, Prodotto e Progetto
- Il processo di produzione: significato, qualità e maturità
- Il prodotto software: requisiti funzionali e attributi di qualità
- Il progetto
- Il ciclo di vita del software
- Modelli progettuali
- Il test del prodotto software
- Processi di pianificazione, controllo e gestione
Progettazione e realizzazione
- Definizione dei requisiti utente
- Requisiti utente funzionali, non funzionali e vincoli
- La specifica dei requisiti utente: road map e best practices
Analisi
- Requisiti software funzionali e non funzionali
- Matrice di tracciabilità
- Approccio procedurale
- Approccio object oriented
- I diagrammi UML
- Use Case Diagram
- Class Diagram
- Activity Diagram
- State Machine Diagram
- Sequence Diagram
- Gli strumenti dell’analisi
Disegno e realizzazione del codice
- Disegno e architettura: obiettivi e viste
- Come realizzare un buon disegno
- Design Patterns
- Scrivere un buon codice
Misurare la qualità
- Perché misurare ?
- Plan – Do – Check – Act
- Definire un Sistema di misure
- Misure di processo, progetto e prodotto