20810007 - ARCHITETTURA DEI SISTEMI SOFTWARE

The goal of the course is to present the discipline of software architecture, which is interested in studying the relationships between the structures of software systems and their quality attributes; this knowledge is fundamental for the analysis, design, evaluation and evolution of complex software systems. The course also presents the architecture of distributed software systems, the service-based architecture, and the software architecture for the Cloud, as well as some middleware services.

Curriculum

scheda docente | materiale didattico

Programma

Fundamentals: Software architecture concepts; Architectural descriptions; Software qualities; The architecture definition process.
Software qualities and designing for software qualities: performance; modifiability; availability; veriafiability; scalability; interoperability; monitoring.
Architectural patterns: Domain Model; Domain Object; Layers; Pipes & Filters; other POSA patterns; hexagonal architecture.
Architecture of distributed systems; client/server, peer-to-peer, remote invocation; broker; asynchronous communication; messaging; components; component-based architecture; container.
Service-based architecture; services; service-based architecture; REST services; microservices.
DevOps and software delivery: environments and their management; cloud computing; virtual machines and system virtualization; containers and container-based virtualization; container orchestration; continuous delivery.
Middleware.

Testi Adottati

Luca Cabibbo
Architettura del Software: Strutture e Qualità
Edizioni Efesto, 2021
ISBN: 9788833812458

Modalità Erogazione

Lectures. Exercises on middleware services.

Modalità Frequenza

Course attendance is optional but recommended.

Modalità Valutazione

The exam will take place orally. The middleware exercises can be verified by carrying out a small project, in small groups.

scheda docente | materiale didattico

Programma

Fundamentals: Software architecture concepts; Architectural descriptions; Software qualities; The architecture definition process.
Software qualities and designing for software qualities: performance; modifiability; availability; veriafiability; scalability; interoperability; monitoring.
Architectural patterns: Domain Model; Domain Object; Layers; Pipes & Filters; other POSA patterns; hexagonal architecture.
Architecture of distributed systems; client/server, peer-to-peer, remote invocation; broker; asynchronous communication; messaging; components; component-based architecture; container.
Service-based architecture; services; service-based architecture; REST services; microservices.
DevOps and software delivery: environments and their management; cloud computing; virtual machines and system virtualization; containers and container-based virtualization; container orchestration; continuous delivery.
Middleware.

Testi Adottati

Luca Cabibbo
Architettura del Software: Strutture e Qualità
Edizioni Efesto, 2021
ISBN: 9788833812458

Modalità Erogazione

Lectures. Exercises on middleware services.

Modalità Frequenza

Course attendance is optional but recommended.

Modalità Valutazione

The exam will take place orally. The middleware exercises can be verified by carrying out a small project, in small groups.

scheda docente | materiale didattico

Programma

Fundamentals: Software architecture concepts; Architectural descriptions; Software qualities; The architecture definition process.
Software qualities and designing for software qualities: performance; modifiability; availability; veriafiability; scalability; interoperability; monitoring.
Architectural patterns: Domain Model; Domain Object; Layers; Pipes & Filters; other POSA patterns; hexagonal architecture.
Architecture of distributed systems; client/server, peer-to-peer, remote invocation; broker; asynchronous communication; messaging; components; component-based architecture; container.
Service-based architecture; services; service-based architecture; REST services; microservices.
DevOps and software delivery: environments and their management; cloud computing; virtual machines and system virtualization; containers and container-based virtualization; container orchestration; continuous delivery.
Middleware.

Testi Adottati

Luca Cabibbo
Architettura del Software: Strutture e Qualità
Edizioni Efesto, 2021
ISBN: 9788833812458

Modalità Erogazione

Lectures. Exercises on middleware services.

Modalità Frequenza

Course attendance is optional but recommended.

Modalità Valutazione

The exam will take place orally. The middleware exercises can be verified by carrying out a small project, in small groups.

scheda docente | materiale didattico

Programma

Fundamentals: Software architecture concepts; Architectural descriptions; Software qualities; The architecture definition process.
Software qualities and designing for software qualities: performance; modifiability; availability; veriafiability; scalability; interoperability; monitoring.
Architectural patterns: Domain Model; Domain Object; Layers; Pipes & Filters; other POSA patterns; hexagonal architecture.
Architecture of distributed systems; client/server, peer-to-peer, remote invocation; broker; asynchronous communication; messaging; components; component-based architecture; container.
Service-based architecture; services; service-based architecture; REST services; microservices.
DevOps and software delivery: environments and their management; cloud computing; virtual machines and system virtualization; containers and container-based virtualization; container orchestration; continuous delivery.
Middleware.

Testi Adottati

Luca Cabibbo
Architettura del Software: Strutture e Qualità
Edizioni Efesto, 2021
ISBN: 9788833812458

Modalità Erogazione

Lectures. Exercises on middleware services.

Modalità Frequenza

Course attendance is optional but recommended.

Modalità Valutazione

The exam will take place orally. The middleware exercises can be verified by carrying out a small project, in small groups.