08.079.382 Softwarearchitektur

Veranstaltungsdetails

Lehrende/r: Dr. Mohammad Sadeq Dousti

Veranstaltungsart: online: Vorlesung/Übung

Anzeige im Stundenplan: Softwarearchitektur

Semesterwochenstunden: 4

Credits: 6,0

Unterrichtssprache: Englisch

Min. | Max. Teilnehmerzahl: - | -

Voraussetzungen / Organisatorisches:
Unbedingt Einführung in die Programmierung, Einführung in die Softwareentwicklung und Software-Engineering/Software-Technik

Inhalt:
This course covers material based on the following three objectives:

• Building a solid theoretical understanding of software architecture: The students will learn the definition and importance of software architecture, and how to look at it from four contextual lenses: Technical, Project, Professional, and Business. The technical context covers various quality attributes, such as availability, performance, and security — and how software architecture should address them. The project context looks at software architecture within the software’s lifecycle, such as architecture in agile projects. The professional and business contexts investigate the relation of software architecture to the organization and the industry within which the organization operates.

• Introducing microservice architecture: Although the concept of breaking down software into multiple components that provide service to each other is not new, the microservices architecture has proved to be a quite challenging yet fruitful endeavor. In this part of the course, the students will get acquainted with the advantages and disadvantages of the microservice architecture, as well as its supporting techniques and technologies such as asynchronous messaging, sagas, domain-driven design, event storming, event sourcing, and CQRS. The concepts will be illustrated via a hypothetical case study.

• Investigating the architecture of real-world software: During the tutorial classes, the students will get the chance of looking into the architecture of real-world software, such as Firefox, Moodle, Git, and Eclipse. By brainstorming their architectures through questions like “why” and “what if”, they will learn the impact of architectural decisions on the software’s quality attributes.

Empfohlene Literatur:


  • Len Bass, Paul Clements, and Rick Kazman. Software Architecture in Practice, 3rd Edition, Pearson Education Inc., 2013.
  • Chris Richardson. Microservices Patterns with Examples in Java, Manning, 2019.
  • Amy Brown, Greg Wilson, Tavish Armstrong, and Michael DiBernardo (Eds.). The Architecture of Open-Source Applications. Four volumes, available at https://aosabook.org.

Termine
Datum Von Bis Raum Lehrende/r
1 Fr, 16. Apr. 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
2 Fr, 23. Apr. 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
3 Fr, 30. Apr. 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
4 Fr, 7. Mai 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
5 Fr, 14. Mai 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
6 Fr, 21. Mai 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
7 Fr, 28. Mai 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
8 Fr, 4. Jun. 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
9 Fr, 11. Jun. 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
10 Fr, 18. Jun. 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
11 Fr, 25. Jun. 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
12 Fr, 2. Jul. 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
13 Fr, 9. Jul. 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
14 Fr, 16. Jul. 2021 12:00 14:00 Online Dr. Mohammad Sadeq Dousti
Veranstaltungseigene Prüfungen
Beschreibung Datum Lehrende/r Pflicht
1. Klausur Mi, 28. Jul. 2021 09:00-11:00 Dr. Mohammad Sadeq Dousti Ja
Übersicht der Kurstermine
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
Lehrende/r
Dr. Mohammad Sadeq Dousti