Ingegneria del SoftwareAnno Accademico 2014-15Corso di Laurea in InformaticaScuola delle Scienze di Base e Applicate Codice insegnamento: 03968; CFU: 6 |
|||||
AVVISI |
|||||
|
|||||
DOCENTE |
|||||
Massimo Cossentino (web page) |
|||||
DESCRIZIONE DEL CORSO | |||||
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++ o, meglio, 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 | |||||
Il corso si terrà al secondo semestre. Orario delle lezioni: martedì e giovedì, ore 11-13, laboratorio via Ingrassia. Interruzione lezioni: Vacanze pasquali: 02/04/15-07/04/15; Sospensione: 20/04/15-24/04/15 | |||||
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 | 03/03 | Cap. 1 | par. 1.1-1.4, 1.6 | Introduzione al corso Introduzione alla Ingegneria del Software |
0-Introduzione al corso L1_Introduction_ch01lect1 |
05/03 | Cap. 2 | par. 2.1-2.4 | Introduzione all'UML. Diagrammi dei casi d'uso | L2_ModelingwithUML_ch02lect1 | |
2 | 10/03 | Cap. 2 | par. 2.1-2.4 | UML (parte 2). Diagrammi dei casi d'uso |
L3_ModelingWithUML_ch02lect2 |
12/03 | Cap. 2 | par. 2.1-2.4 | Diagrammi delle classi | L5_ModelingwithUML_ch02lect4 | |
3 | 17/3 | Cap. 4 | par. 4.1-4.6 | Diagrammi di sequenza, attività, stato, deployment, interazione. Raccolta dei requisiti |
L10_Requirements_Elicitation_ch04lect1 RAD document template (da integrare con libro e slide) |
19/3 | Cap. 4 | par. 4.1-4.6 | Modello Funzionale dei Requisiti |
L11_Functional_Modeling_ch04lect3 | |
4 | 24/3 | Cap. 4 | par. 4.1-4.6 | Scenari, requisiti funz. e non funz., pseudoreq.,scaletta RAD, modello dei requisiti, dagli scenari ai casi d'uso |
L11_Functional_Modeling_ch04lect3 |
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 |
|
5 | 31/03 | Cap. 5 | par. 5.1-5.6 | Analisi dei Requisiti: dai casi d'uso agli oggetti | L12_ObjectModeling_ch05lect2 |
02/04 | Cap. 5 | par. 5.1-5.6 | Analisi dei requisiti: modellazione del comportamento degli oggetti |
L13_DynamicModeling_ch05lect3 |
|
6 | 09/04 | Cap. 6 | par. tutto | Progettazione architetturale del sistema |
L14_SystemDes_ch06lect1-short
|
|
|||||
7 | 14/04 | Cap. 6 | par. tutto | Progettazione architetturale del sistema | L15_Addressing Design Goals_ch07lect1 |
16/04 | Cap. 8 | par. 1-3 (escluso 8.3.5) | Progettazione architetturale del sistema |
|
|
8 | 28/04 | Cap. 8 | par. 1-3 (escluso 8.3.5) | Progettazione architetturale del sistema | SDD_template |
30/04 | Cap. 9 | par. 1-6 | Progetto degli oggetti | L16_ObjectDesign_ch08lect1 | |
9 | 05/09 | Cap. 9 | par. 1-6 | Progetto degli oggetti-Ereditarietà Template Object Design Specifica delle interfacce |
L16_ObjectDesign_ch08lect1 ODD_template L19_SpecifyingInterfaces_ch09lect1 |
07/05 | Cap. 10 | par. 1-6 | Linguaggio OCL Dai modelli al codice |
L20_OCL_ch09lect2-short
L21_MappingModelsToCode_ch10lect1-short |
|
10 | 12/05 | Cap. 11 | par. 1-4 | Introduzione al testing Unit Testing |
L23_UnitTesting_ch11lect1 |
14/05 | Cap. 11 | par. 1-4 | Unit Testing |
L23_UnitTesting_ch11lect1 |
|
12 | 19/05 | Cap. 11 | par. 1-4 | Integration and System Testing |
L24_SystemTesting_ch11lect2
|
21/05 | Cap. 11 | par. 1-4 |
Integration and System Testing |
L24_SystemTesting_ch11lect2
|
|
13 | 26/05 | Vedasi sito web | Project Management | Sito su Project Management | |
28/05 | Vedasi sito web | Project Management | Template di Software Project Management Plan (SPMP) |