Struttura del corso

Ingegneria del Software 5 giorni

Giorno 1: Project Management

  • Gestione del progetto e della linea, manutenzione e supporto
  • Definizione del progetto e moduli di progetto
  • Management – regole generali e gestione del progetto
  • Stili di gestione
  • Cosa c'è di speciale per i progetti IT?
  • Processo di base del progetto
  • Processo di progetto iterativo, incrementale, a cascata, agile e snello
  • Fasi del progetto
  • Ruoli del progetto
  • Documentazione di progetto e altri artefatti
  • Fattori soft e peopleware
  • PRINCE 2, PMBOK, PMI, IPMA e altri standard di progetto

Giorno 2: Analisi aziendale e Requirements Engineering Fondamenti

  • Definizione degli obiettivi aziendali
  • Business analisi, gestione dei processi aziendali, miglioramento dei processi aziendali
  • Il confine tra business e analisi di sistema
  • Stakeholder del sistema, utenti del sistema, contesto del sistema e boudary del sistema
  • Perché sono necessari i requisiti?
  • Che cosa ci richiede l'ingegneria
  • Il confine tra ingegneria dei requisiti e progettazione architettonica
  • Dove si nasconde spesso l'ingegneria dei requisiti?
  • Ingegneria dei requisiti nello sviluppo iterativo, snello e agile e nell'integrazione continua – FDD, DDD, BDD, TDD
  • Processo di progettazione dei requisiti di base, ruoli e artefatti
  • Standard e certificazioni: BABOK, ISO/IEEE 29148, IREB, BCS, IIBA

Giorno 3: Fondamenti di architettura e sviluppo

  • Linguaggi di programmazione: paradigmi strutturali e orientati agli oggetti
  • Sviluppo orientato agli oggetti: quanto è storia, quanto è futuro
  • Modularità, portabilità, manutenibilità e scalabilità delle architetture
  • Definizione e tipologia di architetture software
  • Architettura aziendale e architettura di sistema
  • Stili di programmazione
  • Ambienti di programmazione
  • Errori di programmazione e come evitarli e prevenirli
  • Modellazione dell'architettura e dei componenti
  • SOA, Web Services e microservizi
  • Compilazione automatica e integrazione continua
  • Quanto design architettonico c'è in un progetto?
  • Programmazione estrema, TDD e refactoring

Giorno 4: Fondamenti di Garanzia di Qualità e Test

  • Qualità del prodotto: che cos'è? ISO 25010, FURPS ecc.
  • Qualità del prodotto, esperienza utente, modello Kano, gestione dell'esperienza del cliente e qualità integrale
  • Design incentrato sull'utente, personas e altri modi per rendere individuale la qualità
  • Qualità appena sufficiente
  • Garanzia di qualità e controllo di qualità
  • Strategie di rischio nel controllo di qualità
  • Le componenti dell'assicurazione della qualità: requisiti, controllo di processo, gestione della configurazione e delle modifiche, verifica, validazione, collaudo, collaudo statico e analisi statica
  • Garanzia di qualità basata sul rischio
  • Test basati sul rischio
  • Sviluppo orientato al rischio
  • La curva di Boehm nell'assicurazione della qualità e nel collaudo
  • Le quattro scuole d'esame: quale si adatta alle tue esigenze?

Giorno 5: Tipi di processo, maturità e miglioramento dei processi

  • L'evoluzione del processo IT: da Alan Turing a Big Blue fino alla lean startup
  • Processo e organizzazione orientata ai processi
  • La storia dei processi nell'artigianato e nell'industria
  • Modellazione dei processi: UML, BPMN e altro
  • Gestione dei processi, ottimizzazione dei processi, reingegnerizzazione dei processi e sistemi di gestione dei processi
  • Approcci innovativi per processi: Deming, Juran, TPS, Kaizen
  • La qualità (di processo) è gratuita? (Filippo Crosby)
  • La necessità e la storia del miglioramento della maturità: CMMI, SPICE e altre scale di maturità
  • Tipi speciali di maturità: TMM, TPI (per test), Requirements Engineering Maturity (Gorschek)
  • Maturità del processo e maturità del prodotto: c'è una correlazione? C'è una relazione causale?
  • Maturità dei processi e successo aziendale: c'è una correlazione? Qualche relazione causale?
  • Una lezione dimenticata: la prevenzione automatizzata dei difetti e il prossimo balzo in avanti nella produttività
  • Tentativi: TQM, SixSigma, retrospettive agili, framework di processo

Requirements Engineering - 2 giorni

Giorno 1: Raccolta dei requisiti, negoziazione, consolidamento e Management

  • Trovare i requisiti: cosa, quando e da chi
  • Classificazione degli stakeholder
  • Stakeholder dimenticati
  • Definizione del contesto di sistema: definizione delle origini dei requisiti
  • Metodi e tecniche di elicitazione
  • Prototipazione, personas ed elicitazione dei requisiti attraverso i test (esplorativi e non)
  • Marketing ed elicitazione dei requisiti – MDRA ("Market-Driven Requirements Engineering")
  • Definizione delle priorità dei requisiti: MoSCoW, Karl Wiegers e altre tecniche (compresa la FCM agile)
  • Affinamento dei requisiti – agile "specificazione per esempio"
  • Negoziazione dei requisiti: tipi di conflitti, metodi di risoluzione dei conflitti
  • Risolvere l'incongruenza interna tra alcuni tipi di requisiti (ad es. sicurezza rispetto alla facilità d'uso)
  • Tracciabilità dei requisiti: perché e come
  • Modifiche allo stato dei requisiti
  • Requisiti CCM, controllo delle versioni e baseline
  • Visualizzazione del prodotto e del progetto sui requisiti
  • Gestione dei prodotti e dei requisiti nei progetti

Giorno 2: Analisi dei requisiti, modellazione, specifica, verifica e convalida

  • L'analisi è il pensare e ripensare che si fa tra l'elicitazione e la specificazione
  • Il processo dei requisiti è sempre iterativo, anche nei progetti sequenziali
  • Descrivere i requisiti in linguaggio naturale: rischi e benefici
  • Modellazione dei requisiti: benefici e costi
  • Le regole per l'utilizzo del linguaggio naturale per la specifica dei requisiti
  • Glossario della definizione e della gestione dei requisiti
  • UML, BPMN e altre notazioni di modellizzazione formali e semi-formali per i requisiti
  • Utilizzo di modelli di documenti e frasi per la descrizione dei requisiti
  • Verifica dei requisiti – obiettivi, livelli e metodi
  • Convalida – con prototipazione, revisioni, ispezioni e test
  • Validazione dei requisiti e validazione del sistema

Test - 2 giorni

Giorno 1: Progettazione del test, esecuzione del test e test esplorativi

  • Progettazione del test: dopo un test basato sul rischio, scegliendo il modo ottimale per utilizzare il tempo e le risorse disponibili
  • Progettazione del test "dall'infinito a qui" – non è possibile eseguire test esaustivi
  • Casi di test e scenari di test
  • Progettazione di test su vari livelli di test (dal livello di test dell'unità a quello del sistema)
  • Progettazione di prove statiche e dinamiche
  • Business Progettazione di test orientata alla tecnica e alla tecnica ("black-box" e "white-box")
  • Tentativo di violare il sistema ("test negativo") e supporto agli sviluppatori (test di accettazione)
  • Progettazione dei test per ottenere la copertura dei test: varie misure di copertura dei test
  • Progettazione dei test basata sull'esperienza
  • Progettazione di casi di test a partire da requisiti e modelli di sistema
  • Euristica del progetto di test e test esplorativi
  • Quando progettare i casi di test? – approccio tradizionale ed esplorativo
  • Descrivere i casi di test: quanti dettagli?
  • Esecuzione del test – aspetti psicologici
  • Esecuzione dei test: registrazione e creazione di report
  • Progettazione di test per test "non funzionali"
  • Progettazione automatica dei test e MBT (Model-Based Testing)

Giorno 2: Organizzazione dei test, Management e automazione

  • Livelli (o fasi) di prova
  • Chi esegue i test e quando? – varie soluzioni
  • Ambienti di test: costi, amministrazione, accesso, responsabilità
  • Simulatori, emulatori e ambiente di test virtuale
  • Test in Agile Scrum
  • Organizzazione e ruolo del team di test
  • Processo di prova
  • Automazione dei test: cosa si può automatizzare?
  • Automazione dell'esecuzione dei test: approcci e strumenti
 63 ore

Numero di Partecipanti



Prezzo per Partecipante

Recensioni (6)

Corsi relativi

Categorie relative