SAPIENZA Università di Roma -- Sede di Latina
Laurea di in Ingegneria dell'Informazione
Home page del corso di
Progettazione del Software
Corso di Laurea in Ingegneria dell'informazione (ord. 2006 & 2008)
A.A. 2009/10
A chi è rivolto il corso. Il corso è di 5 crediti, ed è rivolto agli studenti del secondo anno del Corso di Laurea in Ingegneria dell'Informazione (ord. 2008) - tutti gli indirizzi, ed agli studenti del terzo anno del Corso di Laurea in Ingegneria dell'Informazione (ord. 2006) - tutti gli indirizzi, Sapienza Università di Roma, Sede di Latina .
Prerequisiti. Si richiede conoscenza dei fondamenti della programmazione (corso: Fondamenti di Informatica, Tecniche di Programmazione).
Obiettivi. L'obiettivo del corso è lo studio e l'approfondimento degli aspetti fondamentali relativi alla progettazione del software: le qualità del software, il concetto di modulo e la modularizzazione, la distinzione tra analisi (concettualizzazione) e progettazione (realizzazione), la nozione di specifica, ecc. Gli argomenti vengono trattati dando enfasi ad aspetti metodologici e ad aspetti sperimentali utilizzando la notazione di UML (Unified Modeling Language) per la fase di analisi, e il linguaggio Java per la fase di realizzazione. Alla fine del corso lo studente dovrebbe avere acquisito tecniche e metodi per affrontare problemi di progettazione dei programmi secondo una metodologia basata sulla distinzione tra concettualizzazione e realizzazione, sulla modularizzazione e sulla orientazione agli oggetti.
Materiale didattico.
[1] Slides del corso, A.A. 2009/10.
[2] Dispensa Complementi di Progettazione del SW (Consigliata per chi avesse difficoltà a fare riferimento solo alle slide del corso, in particolare per la parte su Java).
Avvisi
- 29/9/2010: Le prove orali e le verbalizzazioni dell'appello di settembre (prova scritta del 15-09) si terranno Venerdì 01-10 (e non Giovedì 30-09 come precedentemente annunciato) alle ore 11:00 (aula da definire). Risultati della prova scritta.
Informazioni sulla edizione del corso per l'A.A. 2009/10
(Insegnamento erogato nel primo periodo didattico: dal 28 settembre 2009 al 15 gennaio 2010)
- Orario Lezioni:
martedì ore 11:30-13:00, aula 2
giovedì ore 13:00-14:30, aula 2
- Esercizi: Esercizi svolti in aula o lasciati come ulteriore esercitazione
- Nota per esercitarsi sui testi d’Esame: Per ogni testo d'esame, rispondete alla domanda 1 e alla domanda 2 (cioè svolgete la fase di analisi e di progetto). Per la fase di analisi, ignorate ogni eventuale riferimento al diagramma degli stati (non studiato in questo corso). Per la fase di realizzazione, indipendentemente da quanto chiesto dalla domanda 3, si consiglia di realizzare completamente l'applicazione. Si noti anche che in quasi tutte le soluzioni proposte, la realizzazione delle associazioni con responsabilità NON singola (ad es. doppia) viene fatta con una tecnica differente da quella studiata in questo corso (e riportata sulle slide). Tale tecnica segue un approccio “lato server” per la gestione dei riferimenti fra gli oggetti (facendo uso di una classe AssociazioneA – oppure ManagerA – per la gestione degli inserimenti e delle cancellazioni dei link nell’associazione A). Per le finalità dell’esame, è richiesto di seguire invece l’approccio (più semplice) “lato client” per la realizzazione delle responsabilità doppie. In alcuni casi viene proposta una soluzione in cui le ISA fra relazioni binarie (costrutto subset in UML) vengono realizzate. Anche questo aspetto è lasciato come approfondimento: per gli scopi di questo corso, la realizzazione dell'ISA fra relazioni è tralasciata. E' invece importante considerare le ISA fra associazioni in fase di analisi
- Siti di interesse per il corso
- Object Management Group: consorzio non a fini di lucro che produce e mantiene specifiche industriali per applicazioni interoperabili
- Unified Modeling Language: sito ufficiale di OMG per le risorse del linguaggio di modellazione UML
- Model Driven Architecture: approccio aperto di OMG che si basa sull'idea di separare la logica dell'applicazione dalla piattaforma tecnologica sottostante
- Java: sito ufficiale della Sun per le risorse del linguaggio di programmazione Java
- Strumenti Software e Documentazione:
- JDK 6.0, scaricabile alla pagina http://java.sun.com/javase/downloads/index.jsp (selezionate JDK 6 Update 18) istruzioni di installazione
- NOTA: per compilare un programma java contenuto nel file progrjava.java da linea di comando tramite l'istruzione 'javac progrjava.java', è bene settare opportunamente le variabili d'ambiente (altrimenti è necessario digitare l'intero path che dalla posizione C individua il comando javac). Per indicazioni su come procedere in ambiente Windows fate riferimento al punto 4 del documento sulle istruzioni di istallazione -- Per Windows Vista si procede analogamente ad XP; può essere però conveniente selezionare la visualizzazione classica per il panello di controllo, da cui è facilmente individuabile la voce 'Sistema'; in particolare, per accedere alle variabili di ambiente selezionate dal menù a sinistra la voce ' Inpostazioni di sistema avanzate').
- Documentazione (API) J2SE, scaricabile alla pagina http://java.sun.com/javase/downloads/index.jsp (selezionate Java SE 6 Documentation). istruzioni di installazione
- Documentazione e manuali Java on-line:
[M1] Documentazione on-line di tutte le classi Java (Java™ Platform, Standard Edition 6 API Specification)
[M2] The Java™ Tutorials
[M3] Thinking in Java, 3rd Edition by Bruce Eckel
[M4] Introduction to Programming Using Java by David J. Eck
- Modalità d'esame
L'esame comprende una prova scritta ed una prova orale. La prova scritta prevede lo sviluppo di un progetto software di dimensione contenuta. La prova orale consiste essenzialmente nella discussione della prova scritta. Lo studente deve presentarsi alle prove d'esame e alle relative verbalizzazioni munito di documento di riconoscimento con foto ai fini dell'identificazione e della verbalizzazione.
- Prenotazioni all'esame
Per partecipare ad uno scritto è necessario prenotarsi sul sistema INFOSTUD. La data dell'orale verrà comunicata contestualmente alla consegna dello scritto, oppure tramite il sito web del corso
- Appelli
- Primo appello:
- 28/01/2010 - ore 10:00 AULA 15
- Secondo appello:
- 25/02/2010 - ore 13:30 AULA 15
- Appello straordinario (riservato a studenti ripetenti, fuori corso, o iscritti come studenti lavoratori):
- 16/04/2010 - ore 14:00 AULA 2
- Terzo Appello:
- 23/06/2010 - ore 10:00 AULA 2
- orale e verbalizzazioni il 7/7/2010 ore 11:00
- Quarto Appello:
- 21/07/2010 - ore 10:00 AULA 2
- orale e verbalizzazione il 7/9/2010 ore 10:30
- Quinto Appello: