Software Architecture
People
Course director
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
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.
Sustainable development goals
- No poverty
- Zero hunger
- Good health and well-being
- Quality education
- Gender equality
- Clean water and sanitation
- Affordable and clean energy
- Decent work and economic growth
- Indusrty, innovation and infrastracture
- Reduced inequalities
- Sustainable cities and communities
- Responsible consumption and production
- Climate action
- Life below water
- Life on land
- Peace and justice strong institutions
Teaching mode
In presence
Learning methods
Following a flipped class method, it features a mix of theoretical lectures with weekly modeling assignments and design workshops presented by the students.
Examination information
Mastery checks during the semester followed by an optional oral exam
Bibliography
- Pautasso, Cesare. Software Architecture: visual lecture notes. Leanpub, 2022. (https://leanpub.com/software-architecture)
Education
- Master of Science in Informatics, Lecture, Software Development, Elective, 1st year
- Master of Science in Informatics, Lecture, Software Development, Elective, 2nd year
- Master of Science in Software & Data Engineering, Lecture, 1st year
Prerequisite
- Software Design & Modeling, Furia C. A., Paganoni M., SA 2024-2025