Dettagli sull'Insegnamento per l'A.A. 2017/2018
Nome:
Ingegneria del Software / Software Engineering
Informazioni
Crediti:
: Bachelor Degree in Computer Science 6 CFU (b)
Erogazione:
Bachelor Degree in Computer Science 3rd anno curriculum General Compulsory
Lingua:
Italiano
Prerequisiti
Conoscenza dei concetti base dei linguaggi formali e della programmazione.
Obiettivi
Questo modulo fornisce agli studenti una formazione eccellente che incorpora una preparazione sia teorica che applicata dell'ingegneria del software,
basata su esercitazioni di laboratorio ed interazioni con partner aziendali.
La profonda conoscenza teorica e l'esperienza pratica nelle sessioni di laboratorio hanno lo scopo di
preparare gli studenti a carriere proficue sia in ambito industriale che in ambito della pubblica
amministrazione per consentire loro di affrontare le sfide attuali e future, e le tendenze emergenti
del software.
Sillabo
- TEORIA
- Modelli di sviluppo del software semplici (e.g., modello a cascata) e iterativi (e.g., modello incrementale). Metodi Agili
- Ingegneria dei Requisiti: definizione requisiti e processo di specifica. System models
- Progettazione architetturale del software. Pattern architetturali
- Progettazione del software: Progettazione orientata agli oggetti
- Project Management: scheduling di progetto, analisi dei rischi
- Dalla progettazione all'implementazione
- LABORATORIO
- Linguaggio UML come formalismo per la modellazione di sistemi software. Meta-modello UML
- UML per analisi e specifica dei requisiti, per la progettazione, prototipazione, gestione, sviluppo e documentazione di un progetto
- UML in pratica: il tool MagicDraw
-
Descrittori di Dublino
Alla fine del corso, lo studente dovrebbe
- Acquire deep knowledge of the core areas of software engineering: requirement engineering, architectural design, object-oriented design and implementation, verification and validation, testing, project management (,).
- Be able to apply the principles dealt with in the course, such as i) to interpret and properly use UML diagrams during requirement engineering, software architecture design and low design; ii) to specify functional, non functional requirements iii) apply testing techniques on simple cases iv) define ACCELEO model-to-code transformation starting from UML models.
- Be able: i) to identify, formulate, and solve software engineering problems; ii) to explain, argue and defend his/her design decisions
- Be able to: i) organize, develop and manage a project and the relative documentation ii) Compose a report documenting the developed project iii) to convey technical material through oral presentation and written reports.
- Develop capacity to regularly engage in exploring, learning and applying state-of-the-art software technologies to the solution of software engineering problems.
- Have capacity to be an effective software development team member who contributes innovative software design solutions to the resolution of IT problems.
- Be able to communicate effectively and successfully, both individually and within multi-disciplinary teams.
Testi di riferimento
- Bernd Bruegge and Allen H. Dutoit, Object-Oriented Software Engineering , Prentice Hall. 2012.
- The UML Bible , Wiley.
- H.E. Eriksson e altri, UML Distilled , Wiley. 2004.
Modalità d'esame
Progetto e prova orale.
Chi ha acquisito la frequenza negli anni precedenti al 2007/08 dovrà sostenere l'esame di Lab. di Ingegneria del Software. Gli studenti immatricolati nell'A.A. 2007/08 dovranno sostenere l'esame unico di Ingegneria del Software con Laboratorio
Aggiornamenti alla pagina del corso
Le informazioni sulle editioni passate di questo corso sono disponibili per i seguenti anni accademici:
Per leggere le informazioni correnti sul corso, se ancora erogato, consulta il catalogo corsi di ateneo.
Ultimo aggiornamento delle informazioni sul corso: 17 ottobre 2017, 00:31