- Software Architecture
- Summary
Course Syllabus
Obiettivi
Il corso ha i seguenti obiettivi specifici:
- Conoscenza e capacità di comprensione (DdD 1): Comprendere i principi di progettazione del sw, i principali pattern e architetture software e i metodi per documentare l’architettura di un sistema.
- Conoscenza e capacità di comprensione applicate (DdD 2): Saper applicare principi e modelli architetturali per sviluppare sistemi riutilizzabili e flessibili, e documentarne correttamente la struttura attraverso notazioni e strumenti adeguati.
Contenuti sintetici
Modelli di architetture software. Sistemi a componenti. Progettazione di architetture a diversi livelli di astrazione.
Programma esteso
- Why architecture is important, Undestanding quality attributes
- Interfaces
- Virtualization, Cloud, Mobile Systems
- Architecturally Significant Requirements
- Designing an Architecture
- Evaluating an Architecture
- The Role of Architects in Projects
- Architecture Competence, Overview on Documenting an Architecture
- Managing Architecture Debt
- Design of an architectural solution for a simplified case study
Prerequisiti
Conoscenze e competenze generali acquisite nel corso di studi, con riferimento ad aspetti di programmazione e progettazione ad oggetti, ingegneria del software, sistemi operativi e sistemi distribuiti.
Modalità didattica
Lezioni frontali e attività pratica mediante approfondimenti e svolgimento di un progetto pratico.
Le lezioni in classe prevedono una modalità erogative e interattiva.
Il corso sarà erogato in italiano.
Materiale didattico
Verranno indicati articoli e risorse.
Software Architecture in Practice 4° Edition (14 october 2021), SEI Series in Software Engineering by Len Bass, Paul Clements, Rick Kazman. ISBN-10: 0136886094
[suggerito] Engineering Software Products by Ian Sommerville. ISBN-10: 013521064-X
Periodo di erogazione dell'insegnamento
Primo semestre.
Modalità di verifica del profitto e valutazione
La valutazione finale si baserà su una discussione su:
- approfondimento assegnato
- un documento riassuntivo di specifica architetturale del progetto sviluppato.
Criteri di valutazione utilizzati: qualità della presentazione e comprensione dell'argomento esposto per la prima parte; qualità della soluzione proposta nella seconda parte.
Orario di ricevimento
Su appuntamento.
Aims
The course has the following specific learning objectives:
- Knowledge and understanding (DdD 1): Understand software design principles, key architectural patterns and models, and methods for documenting system architecture.
- Applying knowledge and understanding (DdD 2):Be able to apply architectural principles and models to develop reusable and flexible software systems, and to document their structure using appropriate notations and tools.
Contents
Software architecture models. Component-based systems. Architectures design at different abstraction levels.
Detailed program
- Why architecture is important, Undestanding quality attributes
- Interfaces
- Virtualization, Cloud, Mobile Systems
- Architecturally Significant Requirements
- Designing an Architecture
- Evaluating an Architecture
- The Role of Architects in Projects
- Architecture Competence, Overview on Documenting an Architecture
- Managing Architecture Debt
- Design of an architectural solution for a simplified case study
Prerequisites
General knowledge and expertise about programming, object-oriented design, software engineering, operating systems, and distributed systems.
Teaching form
Lectures and practical activities by means of in-depth studies and carrying out a practical project.
The in-class lectures follow the "modalità erogativa" and "modalità interattiva" modes.
The course will be given in Italian.
Textbook and teaching resource
Articles and resources will be indicated.
Software Architecture in Practice 4° Edition (14 october 2021), SEI Series in Software Engineering by Len Bass, Paul Clements, Rick Kazman. ISBN-10: 0136886094
[suggested] Engineering Software Products by Ian Sommerville. ISBN-10: 013521064-X
Semester
First semester.
Assessment method
The final evaluation will be based on a discussion on:
- the in-depth study assigned
- a document summarizing the architectural specification of the developed project
Evaluation criteria used: quality of the presentation and knowledge of the topic in the first part; quality of the solution proposed in the second part.
Office hours
On appointment.
Key information
Staff
-
Luca Guglielmo
-
Elena Masserini
-
Daniela Micucci