Differenze tra le versioni di "Ingegneria del software Turno 2/2005-2006"

Da WikiDsy.
m (Lezione del 14/03/2006)
(aggiunte lezioni)
Riga 1: Riga 1:
 +
[[Categoria:Corsi]][[Categoria:Corsi Informatica]][[Categoria:Corsi Secondo Semestre]]
 +
 
== News ==
 
== News ==
 
   07/03/06: L'orario delle lezioni viene modificato in '''17:45 - 19:15'''
 
   07/03/06: L'orario delle lezioni viene modificato in '''17:45 - 19:15'''
Riga 105: Riga 107:
 
   (slide disponibili [http://www.dsy.it/forum/attachment.php?s=&postid=365341 qui])
 
   (slide disponibili [http://www.dsy.it/forum/attachment.php?s=&postid=365341 qui])
  
[[Categoria:Corsi]][[Categoria:Corsi Informatica]][[Categoria:Corsi Secondo Semestre]]
+
=== Lezione del 16/03/2006 ===
 +
 
 +
* [[:it:Qualità del software|Qualità del software]]
 +
** Utilizzabilità
 +
** Riusabilità
 +
** Portabilità<br><small>= capacità di un sistema software di essere adattato a piattaforme HDW e sistemi operativi o SFTW diversi</small>
 +
** Interoperabilità<br><small>= capacità di un sistema di cooperare con altri sistemi</small>
 +
* Qualità del disegno e del codice
 +
** Verificabilità<br><small>= misura l’effettività (ai fini della verifica) di documentazione e moduli di verifica</small>
 +
** Comprensibilità<br><small>= misura della chiarezza di codice, disegno, specifiche, a parità di difficoltà intrinseca dell’ambito di problema</small>
 +
* Qualità del processo
 +
** Produttività<br><small>= misura la produttività di un processo di produzione del software</small>
 +
** Tempestività<br><small>= capacità del processo di rispettare i tempi previsti</small>
 +
** Visibilità
 +
 
 +
* I '''Principi'''
 +
** Sono orientati, in particolare, alle qualità affidabilità e modificabilità<br>Sono:<br>rigore e formalità<br><small>seguire un procedimento disciplinato e rigoroso; usare metodi formali dove appropriato; formalizzare il problema</small>
 +
** separazione (separation of concerns)<br><small>trattare separatamente problematiche diverse</small>
 +
 
 +
=== Lezione del 21/03/2006 ===
 +
 
 +
* I '''Principi'''
 +
** modularità<br><small>decomporre un sistema in parti coese e con basso accoppiamento, dette moduli</small>
 +
*** alta coesione
 +
*** basso accoppiamento
 +
** astrazione<br><small>astrarre dai dettagli non rilevanti rispetto allo scopo</small>
 +
** anticipazione dei cambiamenti<br><small>prevedere le possibili modifiche adattive, perfettive, di riuso</small>
 +
** generalità<br><small>chiedersi sempre se un problema può essere risolto come caso particolare di un problema più generale.</small>
 +
** incrementalità <br><small>procedere per incrementi</small>
 +
* La fase di disegno o progetto
 +
** Analisi e specificazione dei requisiti
 +
** La fase di disegno (progetto)
 +
***Disegno architetturale
 +
***Disegno del software

Versione delle 09:16, 21 mar 2006


News

 07/03/06: L'orario delle lezioni viene modificato in 17:45 - 19:15

Lezioni cancellate/spostate

Appelli

  • 20/4/2006
  • 22/6/2006
  • 18/7/2006
  • 21/9/2006
  • 19/10/2006
  • 25/1/2007

Anni precedenti

Informazioni generali

Docenti

Mario Ornaghi

Corsi di laurea

Modalità d'esame

  • Compitini e, per chi non ha fatto o superato i compitini, orale tradizionale
  • Orale:
    • per chi ha fatto i compitini: verbalizzazione del voto dei compitini, con eventuali brevi domande nel caso di incertezze;
    • per chi non ha fatto i compitini o non è soddisfatto del voto dei compitini orale dettagliato; il voto sarà determinato dall’orale.

Prerequisiti al corso

Orari e luogo delle lezioni

  • Martedì 17:45-19:15 Aula Beta (218 posti, via Comelico 39)
  • Giovedì 17:45-19:15 Aula Beta (218 posti, via Comelico 39)
  • link al corso su DSI

Orario di ricevimento studenti

Informazioni specifiche

Siti del corso

Forum del corso, e affini

 NOTA: per avere la password del Forum chiedere in questo thread

Materiale didattico

Programma del corso

  • Parte I. Generalità e Progettazione
    • Introduzione all’ingegneria del software;
    • Ciclo di vita del Software
    • Qualità e Principi
    • Cenni su Requisiti ed Analisi
    • Progettazione ed Architetture
  • Parte II. Analisi, Specifica e Verifica
    • Analisi, specifica e verifica nel ciclo di vita
    • Specifica
      • Operazionale vs dichiarativa
      • formale vs informale
    • Verifica
      • Testing
      • Analisi
      • Tools
  • Parte III. Analisi, Progettazione e programmazione OO (Object Oriented)
    • Sarà interfogliata alle parti I e II, specializzandole al caso OO
      • In particolare, Principi di OOA&P: patterns
    • Introdurrà e userà UML

Testi

  • Ghezzi, Jazayeri, Mandrioli: Ingegneria del Software - fondamenti e principi, 2° ed., Prentice Hall
    • per la parte UML
      C. Larman: Applicare UML e i pattern – 3° ed., Pearson 2005

Altro materiale consigliato

  • Gamma et al: Design Patterns. Prima edizione italiana. Addison-Wesley Italia, 2002
  • M. Fowler. UML distilled. Prima edizione italiana. Addison Wesley Italia, 2000

Video delle lezioni

Appunti

Altro materiale in Internet

Si consiglia l'utilizzo del software free ARGO, scaricabile gratuitamente da http://argouml.tigris.org

Esami passati, tesine, compiti ..

Diario del corso

Lezione del 07/03/2006

  • Introduzione al corso
 (slide disponibili qui)

Lezione del 09/03/2006

 (slide disponibili qui)

Lezione del 14/03/2006

 (slide disponibili qui)

Lezione del 16/03/2006

  • Qualità del software
    • Utilizzabilità
    • Riusabilità
    • Portabilità
      = capacità di un sistema software di essere adattato a piattaforme HDW e sistemi operativi o SFTW diversi
    • Interoperabilità
      = capacità di un sistema di cooperare con altri sistemi
  • Qualità del disegno e del codice
    • Verificabilità
      = misura l’effettività (ai fini della verifica) di documentazione e moduli di verifica
    • Comprensibilità
      = misura della chiarezza di codice, disegno, specifiche, a parità di difficoltà intrinseca dell’ambito di problema
  • Qualità del processo
    • Produttività
      = misura la produttività di un processo di produzione del software
    • Tempestività
      = capacità del processo di rispettare i tempi previsti
    • Visibilità
  • I Principi
    • Sono orientati, in particolare, alle qualità affidabilità e modificabilità
      Sono:
      rigore e formalità
      seguire un procedimento disciplinato e rigoroso; usare metodi formali dove appropriato; formalizzare il problema
    • separazione (separation of concerns)
      trattare separatamente problematiche diverse

Lezione del 21/03/2006

  • I Principi
    • modularità
      decomporre un sistema in parti coese e con basso accoppiamento, dette moduli
      • alta coesione
      • basso accoppiamento
    • astrazione
      astrarre dai dettagli non rilevanti rispetto allo scopo
    • anticipazione dei cambiamenti
      prevedere le possibili modifiche adattive, perfettive, di riuso
    • generalità
      chiedersi sempre se un problema può essere risolto come caso particolare di un problema più generale.
    • incrementalità
      procedere per incrementi
  • La fase di disegno o progetto
    • Analisi e specificazione dei requisiti
    • La fase di disegno (progetto)
      • Disegno architetturale
      • Disegno del software