Modulbeschreibung

Software Architecture and Design

ECTS-Credits:
3
Lernziele:
  • können Anforderungen systematisch analysieren und in Softwarestrukturen überführen
  • entwickeln Awareness für relevante IEEE Standards, z.B. für die Requirements Specification
  • verstehen grundlegende Architekturprinzipien (Modularisierung, Schichten, Abstraktion)
  • können einfache Softwareentwürfe dokumentieren und implementieren
  • wenden modellbasierte Dokumentation (UML) an
  • können Softwareentwürfe in Code überführen
  • kennen exemplarische Entwurfsmuster (Patterns) und deren Motivation
  • können event-based Systems implementieren
  • kennen Möglichkeiten, wie gutes Design in Projekte mit Nutzung von Codegeneratoren, z.B. STM32CubeMX, integriert werden kann
  • wenden Design for Testability an, insbesondere bei Embedded Systems
  • können Refactoring anwenden, auch mit Unterstützung von LLMs
  • entwickeln und programmieren eigenständig Teile eines Softwareprojekts

Kurse in diesem Modul

Software Architecture and Design:
  • Analyse und Modellierung von Anforderungen (Use Cases, User Stories, UML)
  • Softwarearchitektur: Schichtenmodelle, Schnittstellen, Modularisierung
  • Prinzipien guten Designs (Kohäsion, Kopplung, Abstraktion)
  • Entwurfsmuster (z. B. Observer, Mediator, Dependency Injection) und deren Implementation in C++
  • Modellierung von zustandsbasierten Systemen mit Statecharts
  • Dokumentation von Architektur und Designentscheidungen
  • Mocking
  • Refactoring
  • Entwurf und Implementierung eines Mini-Projekts in einer Einer- oder Zweiergruppe
Vorlesung mit 1 Lektionen pro Woche
Praktikum mit 2 Lektionen pro Woche
Disclaimer

Diese Beschreibung ist rechtlich nicht verbindlich! Weitere Informationen finden Sie in der detaillierten Modulbeschreibung.