Modules | Area | Type | Hours | Teacher(s) | |
INGEGNERIA DEL SOFTWARE | ING-INF/05 | LEZIONI | 60 |
|
L'insegnamento ha l'obiettivo di fornire le conoscenze su UML e lo Unified Process
The student who successfully completes the course will have the ability to (1) understand the basic concepts of Software Engineering; (2) design simple software systems; (3) take part in software development projects.
Esame orale basato sulla discussione di un progetto.
During the oral exam the student must be able to demonstrate his/her knowledge of the course material.
Methods:
L'insegnamento ha l'obiettivo di sviluppare le capacità di analisi e progetto del software.
The student who successfully completes the course will have the ability to (1) understand the basic concepts of Software Engineering; (2) design simple software systems; (3) take part in software development projects.
Esame orale basato sulla discussione di un progetto.
Final oral discussion of a written questionnaire.
L'insegnamento ha l'obiettivo di sensibilizzare gli studenti ad un approccio rigoroso all'ingegneria del software.
The course aims at making students aware of the importance of a rigorous aproach to software engineering.
Discussione di un progetto alla prova di esame.
Final oral discussion of a written questionnaire.
Basic computer science notions, object-oriented programming.
Delivery: face to face
Learning activities:
Attendance: Not mandatory
Teaching methods:
Metodi di sviluppo del software: differenze tra il classico modello a cascata ed i modelli iterativi ed incrementali. Introduzione al metodo Unified Process (UP). Workflow e fasi in UP. Workflow Requisiti: modello dei requisiti e modello dei casi d'uso. Metodi di individuazione dei requisiti funzionali e non funzionali. Metodi di individuazione degli attori e dei casi d'uso. Diagramma dei casi d'uso e specifica dei casi d'uso. Modello dei casi d'uso: relazioni di inclusione e di estensione, gerarchia tra i casi d'uso e tra gli attori. Introduzione al workflow Analisi. Individuazione delle classi e degli oggetti di analisi. Metodi di individuazione delle classi di analisi. Relazioni tra classi di analisi: associazione, dipendenza, ereditarieta'. Definizione di package. Package annidati. Dipendenze tra package. Generalizzazione tra package. Introduzione alla realizzazione dei casi d'uso. Diagrammi di interazione: linee di vita e messaggi. Diagrammi di sequenza: frammenti combinati ed operatori, occorrenze di interazione e continuazioni. Diagrammi di attivita': nodi azione, nodi controllo e nodi oggetto. Semantica dell'attivita', connettori, regioni di attivita' interrompibili, nodi di espansione. Diagramma Interaction overview. Esempio di applicazione del workflow Analisi. Diagrammi delle classi e realizzazioni dei casi d'uso. Alcune realizzazioni di casi d'uso. Introduzione al workflow Progetto. Classi di progetto. Relazioni di aggregazione e composizione. Trasformazione delle relazioni di associazione in relazioni di aggregazione e composizione. Realizzazione delle relazioni di associazione. Classi strutturate. Interfacce e componenti. Sottosistemi. Realizzazione dei casi d'uso nel workflow progetto. Classi attive. Diagrammi temporali. Macchine a stati. Stati composti. Stati di una sottomacchina. Workflow Implementazione. Modello di dislocazione. Svolgimento di un progetto didattico in architettura web multilivello.
Software development process models: waterfall, iterative, Unified Process. Specification methods and formalisms: Finite State Automata, Logic, UML. Concepts of software design: modularity, polymorphism, components, concurrency. Elements of testing: structural and functional testing, unit, integration, and system testing.
J. Arlow, I. Neustadt, UML 2 and the Unified Process, Pearson Education, 2005 [excerpt];
C. Ghezzi, M. Jazayeri, D. Mandrioli "Ingegneria del software -- Fondamenti e principi" Pearson - Prentice Hall.
Course handouts.
Suggested readings:
E. Gamma, R. Helm, R. Johnson, J. Vlissides, "Design Patterns", Addison-Wesley.
Any text on the UML language.
See Bibliography and Class web page. Contact the teacher for student reception.
Presentazione e discussione di un progetto software.
Written questionnaire with multiple-choice questions and exercises involving coding and/or diagramming. The questionnaire and its individual discussion constitute the exam and they are not separate parts.