Corso Vittorio Emanuele II, 39 - Roma 0669207671

Ingegneria informatica (Anno Accademico 2021/2022) - Information and communication technologies engineering (riservato agli studenti della Helwan University, Cairo, Egitto)

Ingegneria del software e programmazione ad oggetti


CFU: 12
Lingua contenuti:Italiano
Descrizione dell'insegnamento
Il corso si articola in due moduli:

 

Programmazione ad Oggetti: illustra i fondamenti della programmazione ad oggetti e le principali caratteristiche del linguaggio Java (Il linguaggio Java, Classi astratte, interfacce, visibilità e package, Introduzione a UML, Classi java fondamentali: input/output, eccezioni, Java Collection Framework, Alcune librerie standard: Applet, GUI, JDBC)

 
Ingegneria del Software: illustra i principi, le tecniche, e le pratiche di un processo di sviluppo di software (Il processo di sviluppo del software, Il ciclo di vita del software, Qualità del software, Versionamento e configurazioni, Analisi e specifica dei requisiti, Progettazione: Design Pattern, Verifica e Validazione del software: test, ispezioni).
Prerequisiti
Conoscenza dei principi della programmazione e di uno o più linguaggi di programmazione. Esperienza pratica di sviluppo di semplici programmi e conoscenza di semplici ambienti di supporto allo sviluppo di software. Conoscenze informatiche di base.
Scopi
Introdurre i fondamenti della programmazione orientata agli oggetti ed il linguaggio di programmazione Java. Illustrare le principali problematiche e metodologie del processo di sviluppo condiviso del software.
Contenuti
  • Il linguaggio Java
  • Classi astratte, interfacce, visibilità e package
  • Introduzione a UML
  • Classi java fondamentali: input/output, eccezioni
  • Java Collection Framework
  • Alcune librerie standard: Applet, GUI, JDBC
  • Il processo di sviluppo del software
  • Il ciclo di vita del software
  • Qualità del software
  • Versionamento e configurazioni
  • Analisi e specifica dei requisiti
  • Progettazione: Design Pattern
  • Verifica e Validazione del software: test, ispezioni
Testi
  • Concetti di informatica e fondamenti di Java. Cay Horstmann. Quinta ed., 2010, Apogeo Editore.
  • Design Patterns: elementi per il riuso di software a oggetti. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Prima ed. italiana, 2002, Pearson Education Italia.
  • Fundamentals of Software Engineering. Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli. Second Edition, 2002, Paerson Education.
  • Software Testing and Analysis: Process, Principles, and Techniques. Mauro Pezzè and Michal Young, 2008, John Wiley & Sons.
Esercitazioni
Le esercitazioni seguiranno gli argomenti delle videolezioni e prevedono la risoluzione di esercizi di scrittura o completamento di piccoli progetti di programmazione java, eventualmente facenti utilizzo di Design Pattern.
Docente/Tutor Responsabile insegnamento
Patrizia Grifoni
Docenti video
Prof. Giovanni Malnati - Politecnico di Torino (Torino - Italy)
Prof. Marco Temperini - Università "La Sapienza" di Roma (Roma - Italia)
Prof. Mauro Pezzè - Università di Milano (Milano - Italy)
Elenco delle lezioni
Giovanni Malnati
Giovanni Malnati
Marco Temperini
Marco Temperini
Marco Temperini
Marco Temperini
Marco Temperini
Giovanni Malnati
Giovanni Malnati
Giovanni Malnati
Giovanni Malnati
    •  Lezione n. 12: Eccezioni  Vai alla lezione
Giovanni Malnati
Giovanni Malnati
    •  Lezione n. 14: Input/Output  Vai alla lezione
Giovanni Malnati
Giovanni Malnati
Giovanni Malnati
Giovanni Malnati
Giovanni Malnati
Giovanni Malnati
Giovanni Malnati
    •  Lezione n. 21: Applet  Vai alla lezione
Giovanni Malnati
Giovanni Malnati
    •  Lezione n. 23: SQL e Java  Vai alla lezione
Giovanni Malnati
Giovanni Malnati
Giovanni Malnati
Giovanni Malnati
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
Mauro Pezzè
    •  Lezione n. 46: Ispezione  Vai alla lezione
Mauro Pezzè