Struttura del corso

QA/CI

  • Cosa è QA?
  • Cosa è CI?
  • I costi dello sviluppo software, del rifattorizzazione e della correzione degli errori
  • L'identificazione e la comprensione del progetto
  • Il profitto per l'organizzazione

DDD

  • Sviluppo software basato sui requisiti aziendali, assunzioni DDD
  • Problemi nella comunicazione IT-Azienda
  • Modello di dominio

Migliori Pratiche

  • Principio KISS e DRY
  • Standard di codifica
  • Creazione di codice riutilizzabile attraverso OOP e pattern di design
  • Identificazione e riduzione della complessità ciclotomica

Metriche Software

  • Peso del metodo per classe
  • Risposta di una classe
  • Profondità dell'albero di ereditarietà
  • Coupling tra oggetti
  • Mancanza di coesione dei metodi
  • Numero di figli
  • Complessità ciclotomica
  • Metrica classe
  • Metriche del modello
  • Metriche per l'uso

Test Software

  • Cosa, quando e come testare?
  • Il metodo "white-box" e "black box"
  • Il ruolo del testing nelle metodologie agili
  • TDD e il potenziale aumento dei costi del progetto
  • Test unitari con JUnit (Java), PHPUnit (PHP)
  • Test comportamentali di JBehave (Java), Behat e Mink (PHP)
  • Test funzionali

Rifattorizzazione

  • Cosa è la rifattorizzazione?
  • Debito tecnico
  • Codice puzzolente (code smell)
  • Pattern di rifattorizzazione

Documentazione

  • Il ruolo della documentazione nelle metodologie agili
  • Cosa documentare?
  • Tipi di documentazione
  • Documentazione e metodologie agili, o si può dire (Software funzionante più che documentazione esaustiva)?
  • Standard XMI
  • Generazione automatica di documentazione da Javadoc (Java), ApiGen (PHP)

Strumenti e Ambiente CI

  • Strumenti e ambiente CI
    • PMD (Java), phpmd (PHP)
    • CPD (Java), phpcpd (PHP)
    • Contatore di righe di codice (Java), phploc (PHP)
    • UCDetector (Java), phpdcd (PHP)
    • Jdepend (Java), phpdepend (PHP)
  • Jenkins Continuous Integration Server

Agile e CI/QA

  • Pianificazione e sviluppo incrementale
  • Accoglienza del cambiamento
  • Fasi brevi
  • Squadre interdisciplinari
  • Extreme Programming, Code Review
  • Individui e interazioni piuttosto che processi e strumenti

Riassunto

  • Dibattito
  • Domande
  • Come iniziare il processo di implementazione?

Requisiti

Conoscenza dei processi di sviluppo software

 14 Ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (5)

Corsi in Arrivo

Categorie relative