Ingegneria del SoftwareAnno Accademico 2012-13Corso di Laurea in InformaticaFacoltà di Scienze Codice insegnamento: 2086; CFU: 6 |
|||||
AVVISI |
|||||
|
|||||
DOCENTE |
|||||
Massimo Cossentino (web page) |
|||||
DESCRIZIONE DEL CORSO | |||||
Codice dell'insegnamento: 2086 CFU: 6 Il corso si terrà al secondo semestre. Orario delle lezioni: martedì e giovedì, ore 15-17, aula 4. Obiettivo del corso: Obiettivo del corso è lo studio del processo di sviluppo del software (con particolare riferimento ai software object-oriented). Verranno esaminate le tecniche di raccolta dei requisiti, stesura delle specifiche, pianificazione, progettazione, implementazione, integrazione e manutenzione. Più in dettaglio:
Dal libro di testo, i paragrafi segnalati di seguito, e dalle slide complementate dagli appunti presi a lezione. Una buona definizione di Ingegneria del software è stata fornita da D.L. Parnas: Software engineering is the "multi-person construction of multi-version software" D.L. Parnas. Some Software Engineering Principles. In Structured Analysis and Design, State of the Art Report. Infotech International. (1978). | |||||
PREREQUISITI | |||||
Sono richieste conoscenze di programmazione ad oggetti (linguaggi C++ e Java). Per gli studenti che non le possedessero, il corso prevede alcune lezioni sui fondamenti dalla programmazione ad oggetti e al Java | |||||
LEZIONI ED ESERCITAZIONI | |||||
| |||||
ESAMI | |||||
Gli esami si baseranno sulla discussione del progetto di un software ad oggetti. Ulteriori specifiche verranno fornite in seguito. Chiarimenti sulle regole d'esame:
Documenti utili:
| |||||
DATE ESAMI | |||||
| |||||
MATERIALE DIDATTICO | |||||
Libro di testo: B. Bruegge, A. H. Dutoit. Object-Oriented Software Engineering: Using UML, Patterns and Java. Third edition. International edition. ISBN: 0-13-606125-7. Prentice Hall Introduzione a Java: Bruce Eckel. Thinking in Java 3rd edition. Scaricabile gratuitamente Oracle. Learning the Java Language. M. Tarquini, A. Ligi. http://javamattone.4it.it/javamattone.pdf. Scaricabile gratuitamente. Libri di consultazione: I. Sommerville. Software Engineering. Prentice Hall UML e Unified Process. Analisi e Progettazione Object Oriented. J. Arlow e I. Neustadt. McGraw-Hill J. Rumbaugh,I. Jacobson, G. Booch. The Unified Modeling Languge Reference Manual. Addison Wesley ESERCITAZIONI Le seguenti esercitazioni sono fornite come spunto per la applicazione di quanto studiato durante il corso. Gli studenti possono svolgerle volontariamente, si suggerisce di farlo in gruppo. La correzione avverrà durante l'orario di ricevimento o su appuntamento in altre date. Bancomat Aeromodello |
ORGANIZZAZIONE DEL CORSO | |||||
Settim. | Giorno | Capitolo | Paragr. | Argomento | Presentazione |
---|---|---|---|---|---|
1 | 26/2 | Cap. 1 | par. 1.1-1.4, 1.6 | Introduzione al corso Introduzione alla Ingegneria del Software |
0-Introduzione al corso L1_Introduction_ch01lect1 |
28/2 |
Introduzione alla programmazione orientata agli oggetti (parte 1) |
J1-OOP | |||
2 | 5/3 | Introduzione alla programmazione orientata agli oggetti (parte 2) |
J1-OOP | ||
7/3 | Cap. 2 | par. 2.1-2.4 | Introduzione all'UML. Diagrammi dei casi d'uso | L2_ModelingwithUML_ch02lect1 | |
3 | 12/3 | Cap. 2 | par. 2.1-2.4 | UML (parte 2). Diagrammi dei casi d'uso, delle classi |
L3_ModelingWithUML_ch02lect2 |
14/3 | Cap. 2 | par. 2.1-2.4 | Diagrammi di sequenza, attività, stato, deployment, interazione. | L5_ModelingwithUML_ch02lect4 | |
4 | 19/3 | Cap. 4 | par. 4.1-4.6 | Raccolta dei requisiti |
L10_Requirements_Elicitation_ch04lect1 RAD document template (da integrare con libro e slide) |
21/3 | Cap. 4 | par. 4.1-4.6 | Modello Funzionale dei Requisiti |
L11_Functional_Modeling_ch04lect3 | |
5 | 26/3 | Cap. 5 | par. 5.1-5.6 | Raffinamento dei casi d'uso. Analisi dei Requisiti: Concetti iniziali. |
L11_Functional_Modeling_ch04lect3 L12_ObjectModeling_ch05lect2 |
6 | 04/04 | Cap. 5 | par. 5.1-5.6 | Analisi dei Requisiti: dai casi d'uso agli oggetti | L12_ObjectModeling_ch05lect2 |
7 | 09/04 | Cap. 5 | par. 5.1-5.6 | Analisi dei requisiti: modellazione del comportamento degli oggetti |
L13_DynamicModeling_ch05lect3 |
8 | 16/04 | Cap. 6 | par. | Progettazione architetturale del sistema |
L14_systemdes_ch06lect1-short
|
18/04 | Cap. 6 | par. | Progettazione architetturale del sistema |
L15_Addressing Design Goals_ch07lect1 SDD_template |
|
9 | 30/04 | Cap. 8 | par. 1-3 (escluso 8.3.5) | Riuso |
L16_ObjectDesign_ch08lect1
|
02/05 | Cap. 8 | par. 1-3 (escluso 8.3.5) | Riuso | ||
10 | 14/05 | Cap. 9 | par. 1-6 | Riuso - Template Object Design Specifica delle interfacce Linguaggio OCL |
ODD_template L19_SpecifyingInterfaces_ch09lect1 L20_OCL_ch09lect2-short |
16/05 | Cap. 10 | par. 1-6 | Dai modelli al codice | L21_MappingModelsToCode_ch10lect1-short | |
11 | 21/05 | Cap. 11 | par. 1-4 | Dal modello ad oggetti al modello relazionale Unit Testing |
L22_MappingModelsToTRelationalSchema_ch10lect2
L23_UnitTesting_ch11lect1
|
23/05 | Cap. 11 | par. 1-4 | Unit Testing | ||
12 | 28/05 | Cap. 11 | par. 1-4 | Integration and System Testing |
L24_SystemTesting_ch11lect2-short |
30/05 | Cap. 11 | par. 1-4 | Integration and System Testing Project Management |
Sito su Project Management |