Ricerca di contatti, progetti,
corsi e pubblicazioni

Software Architecture

Descrizione

COURSE OBJECTIVES

This class teaches the students to structure complex and large software systems using software components, containers, services and connectors while keeping track of the rationale behind their design decisions with architectural decision records.

 

COURSE DESCRIPTION

Architecture is not only necessary as the global blueprint to manage the complexity of large software systems, but should also be seen as the focus of the main design decisions influencing the quality attributes of the resulting system. Content: Quality Attributes, Descriptive vs. Prescriptive Architecture, Architectural Modeling, Architectural Styles and Patterns, Modularity and Components, Reusability and Interfaces, Composability and Connectors, Compatibility and Coupling, Deployability, Portability and Containers, Availability, Scalability and Services, Flexibility and Microservices

 

LEARNING METHODS

Following a flipped class method, it features a mix of theoretical lectures with weekly modeling assignments, design workshops and technology demonstrations presented by the students.

 

EXAMINATION INFORMATION
Written if onsite, oral if online

 

PREREQUISITES

  • Software Design & Modeling

 

REFERENCES

  • C. Pautasso, Software Architecture: visual lecture notes, Leanpub, 2021 (textbook)
  • G. Fairbanks, Just Enough Software Architecture: A Risk-Driven Approach, Marshall & Brainerd, August 2010.
  • R. N. Taylor, N. Medvidovic, E. M. Dashofy, Software Architecture: Foundations, Theory, and Practice, Wiley, January 2009
  • Michael Keeling, Design It! From Programmer to Software Architect, Pragmatic Bookshelf, 2017
  • Martin Fowler, Patterns of Enterprise Application Architecture, Addison Wesley, 2002
  • Luke Hohmann, Beyond Software Architecture: Creating and Sustaining Winning Solutions, Addison-Wesley, 2003
  • Mary Shaw and David Garlan, Software Architecture: Pespectives on an Emerging Discipline, Prentice-Hall, 1996

Persone

 

Pautasso C.

Docente titolare del corso

Informazioni aggiuntive

Semestre
Primaverile
Anno accademico
2021-2022
ECTS
6
Lingua
Inglese
Offerta formativa
Master of Science in Financial Technology and Computing, Corso a scelta, 2° anno
Master of Science in Informatics, Corso a scelta, 1° anno
Master of Science in Informatics, Corso a scelta, 2° anno
Master of Science in Software & Data Engineering, Foundation course, 1° anno
Dottorato in Scienze informatiche, Corso a scelta, Corso, 1° anno (4 ECTS)
Dottorato in Scienze informatiche, Corso a scelta, Corso, 2° anno (4 ECTS)