Obiettivi formativi
il corso intende fornire i principi di base per l'analisi e la progettazione di sistemi software.
Prerequisiti
sono considerati propedeutici: Fondamenti di Informatica A e Fondamenti di Informatica B.
Contenuti dell'insegnamento
<p> </p>
<p>Fondamenti di Ingegneria del Software - Qualità del software. Il processo di produzione del software. Metodologie per lo sviluppo del software. Analisi di sistemi software. Progettazione di sistemi software. Strumenti per la progettazione e realizzazione di sistemi software <br />
</p>
<p>Sviluppo di Sistemi Software Orientati agli Oggetti - Analisi orientata agli oggetti dei sistemi software. Progettazione e sviluppo di sistemi software orientati agli oggetti. Design pattern <br />
</p>
<p>Il linguaggio Java - Oggetti e classi. Ereditarietà e polimorfismo. Eccezioni. Input/output. Collezioni di oggetti. Programmazione concorrent</p>
Bibliografia
<p> </p>
<p>Ian Sommerville. Ingegneria del software, 8/ed, Pearson Education, 2007.Simon Bennett, John Skelton, Ken Lunn, UML, Mc Graw-Hill, 2001Bruce Eckel, Thinking in Java, III ed, MindView, 2002.E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns, Addison-Wesley, 1994.Jim Arlow, Ila Neustadt. UML 2 e Unified Process: Analisi e progettazione Object-Oriented, 2/ed, Mc Graw Hill, 2007.Bruce Eckel, Thinking in Patterns, MindView, 2003</p>