Programmazione Object Oriented
Scopi del corso:
- Fornire gli elementi di base della disciplina
- Comunicare le problematiche reali attraverso un approccio pratico orientato alla professione
- Definire il panorama dello stato dell’arte ed i riferimenti per muoversi nello stesso
Parte I Gestione del software
1. Introduzione alla gestione dell'ingegneria del software
2. Il ciclo di vita del software
• Il modello a cascata
• Il modello agile
• Il Processo Unificato razionale (RUP)
• Ingegneria e architettura model-driven
• Linee di prodotti software e modelli di funzionalità
• Modellazione dei processi
3. Gestione della configurazione
• Git come esempio
4. Gestione delle persone e organizzazione del team
• Modello gerarchico, team agile
5. Garanzia di qualità del software
Parte II Il ciclo di vita del software
6. Ingegneria dei requisiti
• Elicitazione dei requisiti
• Specifica dei requisiti
• Verifica e validazione
7. Modellazione
• UML
8. Architettura e design del software
9. Test del software
10. Manutenzione del software
Il corso include sia lezioni frontali che attività di laboratorio.
L’esame sarà costituito da una prova scritta finale – 3 ore ed un colloquio opzionale. Si potrà portare anche un progetto da concordare con il professore.
Testi:
Software Engineering: Principles and Practice THIRD EDITION, Hans van Vliet, John Wiley &Sons
Martina Seidl, Marion Scholz, Christian Huemer, Gerti Kappel. UML@Classroom, Springer Verlag, 2015.
Object Oriented Programming
Aims of the course:
- Provide the foundations of the discipline
- Discuss real-world problems, through a profession-oriented approach
- Overview the state of the art of the discipline
Part I Software Management
1. Introduction to Software Engineering Management
2. The Software Life Cycle
• The waterfall model
• The agile model
• The rational Unified Process (RUP)
• Model-driven Engineering and architecture
• Software product lines and feature models
• Process modeling
3. Configuration Management
• Git as an example
4. People Management and Team Organization
• Hierarchical model, agile team
5. Software quality assurance
Part II The Software Life Cycle
6. Requirements Engineering
• Requirements elicitation
• Requirements Specification
• Verification and Validation
7. Modeling
• UML
8. Software Architecture and Design
9. Software Testing
10. Software Maintenance
The course includes both lectures and lab sessions.
The examination consists of a written test – 3 hours and an optional oral examination. Students can present a project (agreed with the teacher)
Text books:
Software Engineering: Principles and Practice THIRD EDITION, Hans van Vliet, John Wiley &Sons
Martina Seidl, Marion Scholz, Christian Huemer, Gerti Kappel. UML@Classroom, Springer Verlag, 2015.