Search for contacts, projects,
courses and publications

Software Architecture

Description

COURSE OBJECTIVES

This class teaches the students to structure complex and large software systems using components and connectors while keeping track of the rationale behind their design decisions.

 

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 and Portability and Containers, Scalability, Availability and Services, Flexibility and Microservices

 

LEARNING METHODS
It features a mix of theoretical lectures with modeling assignments, design workshops and technology demonstrations presented by the students.

 

EXAMINATION INFORMATION
Written exam if onsite, Written and oral exam if online.

 

PREREQUISITES

  • Software Design & Modeling

 

RECOMMENDED COURSES
Data Design & Modeling, Engineering of Domain Specific Languages, Programming Styles, S&DE Atelier: Design 101

 

REFERENCES
- G. Fairbanks, Just Enough Software Architecture: A Risk-Driven Approach, Marshall & Brainerd, August 2010. (textbook) - R. N. Taylor, N. Medvidovic, E. M. Dashofy, Software Architecture: Foundations, Theory, and Practice, Wiley, January 2009 (reference book) - 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

People

 

Pautasso C.

Course director

Additional information

Semester
Spring
Academic year
2020-2021
ECTS
6
Language
English
Education
Master of Science in Financial Technology and Computing, Elective course, Lecture, 2nd year
Master of Science in Software & Data Engineering, Core course, Lecture, 1st year
PhD programme of the Faculty of Informatics, Elective course, Lecture, 1st year (4 ECTS)
PhD programme of the Faculty of Informatics, Elective course, Lecture, 2nd year (4 ECTS)