Modulbeschreibung
Software Architecture and Design
Kurzzeichen:
M_SOAD
Unterrichtssprache:
Deutsch
ECTS-Credits:
3
Leitidee:
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
Modulverantwortung:
Prof. Bonderer Reto (BORE)
Lehrpersonen:
Kälin Noah (KALN)
Standort (angeboten):
Rapperswil-Jona
Modultyp:
Wahlpflicht-Modul für
Elektrotechnik STD_05
(Empfohlenes Semester: 4)
Kategorien:Grundlagen Elektrotechnik (E-g), Technik (E-et)
Wahlpflicht-Modul für
Elektrotechnik STD_14
(Empfohlenes Semester: 4)
Kategorien:Grundlagen Elektrotechnik (E-g), Technik (E-et)
Wahlpflicht-Modul für
Elektrotechnik STD_21
(Empfohlenes Semester: 4)
Kategorien:Grundlagen Elektrotechnik (E-g), Technik (E-et)
Wahlpflicht-Modul für
Elektrotechnik STD_24
(Empfohlenes Semester: 4)
Kategorien:Grundlagen Elektrotechnik (E-g), Technik (E-et)
Semester Empfehlung:
Elektrotechnik_STD_24
Musterstudienplan Elektrotechnik Teilzeit – Semester 4
Musterstudienplan Elektrotechnik Vollzeit – Semester 4
Modulbewertung:
Note von 1 - 6
Leistungsnachweise und deren Gewichtung
Modulschlussprüfung:
Schriftliche Prüfung, 90 Minuten
Während der Unterrichtsphase:
Bewertung des SW-Projekts
Bewertungsart:
keine Note oder Wertung
Gewichtung:
Prüfung: 70%
SW-Projekt: 30%
Bemerkungen:
Inhalte
Modul- und Lerninhalt:
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