Quarta Tecnologie

IL CICLO DI VITA DEL SOFTWARE
  • Dai programmi all'Ingegneria del software
  • Obiettivi dell'ingegneria del software
  • Il processo di produzione
  • Le fasi: raccolta dei requisiti, analisi, progetto e realizzazione, test, rilascio e manutenzione
  • Modelli per il processo di produzione del software: a cascata, a prototipazione rapida
  • Modelli evolutivi: incrementale e iterativo
  • Modello a spirale
  • Metodologie agili

IL LINGUAGGIO DI MODELLIZZAZIONE UML
  • Requisiti funzionali e non funzionali del software
  • Diagramma dei casi d'uso e simbologia utilizzata
  • Identificazione degli attori e dei casi d'uso
  • Associazione di: generalizzazione/specializzazione, inclusione, estensione
  • Documento di specifica di un caso d'uso
  • Progettazione software
  • Diagramma delle classi e simbologia utilizzata
  • Rappresentazione di attributi, metodi e loro visibilità

GESTIONE E DOCUMENTAZIONE DEL CODICE
  • Regole e convenzioni di codifica
  • Diritto d'autore e licenze software: il copyright
  • Il contratto EULA
  • Le tipologie di licenze open-source : GPL, BSD, LGPL
  • Documentazione del codice sorgente del software con Doxygen (per C++) e con Javadoc (per Java)
  • Gestione delle versioni del codice : strumenti software Version Control System ( Subversion ), repository, operazioni di read, write , la working copy
  • Tecnica di lock-modify-unlock
  • Utilizzo del client grafico TortoiseSVN : installazione e simulazione delle operazioni di modifica e gestione dei conflitti generati da modifiche sullo stesso file

TEST DEL SOFTWARE
  • Pianificazione e classificazione dei test
  • Tipologie di test: black-box, white-box
  • Articolazione dei test: test unitari, test di integrazione
  • Gestione della fase di testing con NetBeans 8.2