Modul

QEKS - Qualitätsgesteuerter Entwurf komplexer Softwaresysteme

Master Technische Informatik 2020


PDF Studiengangsverzeichnis Studienverlaufspläne Master Technische Informatik

Version: 3 | Letzte Änderung: 06.10.2019 17:26 | Entwurf: 0 | Status: vom Modulverantwortlichen freigegeben | Verantwortlich: Kreiser

Anerkannte Lehrveran­staltungen SEKM_Kreiser
Dauer 1 Semester
ECTS 5
Zeugnistext (de) Qualitätsgesteuerter Entwurf komplexer Softwaresysteme
Zeugnistext (en) Quality Controlled Development of Complex Software Systems
Unterrichtssprache deutsch oder englisch
abschließende Modulprüfung Ja
Inhaltliche Voraussetzungen
PL
-undefined
oder aus einem (naturwissenschaftlich-technischen) Bachelorstudium:
- grundlegende Kenntnisse in (agilem) Projektmanagement
Handlungsfelder
Komplexe Rechner-, Kommunikations- und Eingebettete Systeme sowie komplexe Software-Systeme unter interdisziplinären Bedingungen entwerfen, realisieren und bewerten
Wissenschaftlich arbeiten und wissenschaftliche Erkenntnisse anwenden und erweitern
Fachliche Führungs- und Projektverantwortung übernehmen
Modulprüfung
Benotet Ja
Frequenz Jedes Semester
Prüfungskonzept

Mündliche Prüfung nach schriftlicher Vorbereitung.
Anhand einer realitätsnahen Aufgabenstellung angemessener Komplexität entwickeln und modellieren die Studierenden eine geeignete Softwarearchitektur für ein verteiltes Automatisierungssystem unter angemessener Anwendung von Strategien zur Wiederwendung von Modell- und/oder Softwareartefakten. Sie begründen die essenziellen Strukturen ihrer Architektur unter Bezugnahme auf die spezifische Zielsetzung und die spezifischen Umgebungsbedigungen für den Einsatz des jeweiligen Automatisierungssystems sowie unter Bezugnahme auf grundlegende Qualitätskriterien für automatisierungstechnische Softwaresysteme (System-, Entwicklungs-, Betriebs-, Service- und Wartungsanforderungen). Sie erläutern, welche besonderen organisatorischen Rahmenbedingungen sich für die Entwicklung aus der Architektur ergeben, und bewerten die Qualität der Softwarearchitektur aus technischer und betriebswirtschaftlicher Sicht.

Learning Outcomes
LO1 - Studierende sind im Hinblick auf die Qualität eines Softwaresystems in der Lage:
- zur vorhersagbaren, effizienten Entwicklung eines Softwaresystems bzw. einer Softwarearchitektur zielgerichtet angemessene Wiederverwendungsstrategien und professionelle Modellierungs- und Entwicklungswerkzeuge sowie den Rahmenbedingungen insgesamt angemessene Projektstrukturen einzusetzen.
- die Softwarearchitektur für komplexe, verteilte Automatisierungssysteme unter Berücksichtigung der spezifischen Anforderungen hinsichtlich der besonderen Zielsetzung des jeweiligen Automatisierungssystems zu analysieren, zu konzipieren, zu entwerfen, zu implementieren, zu prüfen und zu bewerten.
- die besonderen Anforderungen an die Servicequalität, an die Einsatzumgebung und die organisatorischen Rahmenbedingungen für die Entwicklung, die sich aus dem Entwicklungsprozess und einem angemessenen Lebenszyklusmanagement ergeben, zu erkennen und im Hinblick auf ihre Relevanz für die Softwarearchitektur des Automatisierungssystems zu analysieren und zu bewerten.
Kompetenzen

Vermittelte Kompetenzen
Gesellschaftliche Vertretbarkeit technischer Lösungen bewerten
Fachwissen erweitern und vertiefen und Lernfähigkeit demonstrieren
Komplexe Systeme und Prozesse analysieren, modellieren, realisieren, testen und bewerten
Probleme wissenschaftlich untersuchen und lösen, auch wenn sie unscharf, unvollständig oder widersprüchlich definiert sind
Anerkannte Methoden für wissenschaftliches Arbeiten beherrschen
Wissenschaftliche Ergebnisse und technische Zusammenhänge schriftlich und mündlich darstellen und verteidigen
Situations- und sachgerecht argumentieren
Projekte organisieren und im Team bearbeiten
Komplexe Aufgaben selbständig bearbeiten
Aufkommende Technologien einordnen und bewerten können
Sich selbst organisieren
Sprachliche und interkulturelle Fähigkeiten anwenden

Inhaltliche Voraussetzungen
PL
-undefined
oder aus einem (naturwissenschaftlich-technischen) Bachelorstudium:
- grundlegende Kenntnisse in (agilem) Projektmanagement
Handlungsfelder
Komplexe Rechner-, Kommunikations- und Eingebettete Systeme sowie komplexe Software-Systeme unter interdisziplinären Bedingungen entwerfen, realisieren und bewerten
Wissenschaftlich arbeiten und wissenschaftliche Erkenntnisse anwenden und erweitern
Fachliche Führungs- und Projektverantwortung übernehmen
Learning Outcomes
LO1 - Studierende sind im Hinblick auf die Qualität eines Softwaresystems in der Lage:
- zur vorhersagbaren, effizienten Entwicklung eines Softwaresystems bzw. einer Softwarearchitektur zielgerichtet angemessene Wiederverwendungsstrategien und professionelle Modellierungs- und Entwicklungswerkzeuge sowie den Rahmenbedingungen insgesamt angemessene Projektstrukturen einzusetzen.
- die Softwarearchitektur für komplexe, verteilte Automatisierungssysteme unter Berücksichtigung der spezifischen Anforderungen hinsichtlich der besonderen Zielsetzung des jeweiligen Automatisierungssystems zu analysieren, zu konzipieren, zu entwerfen, zu implementieren, zu prüfen und zu bewerten.
- die besonderen Anforderungen an die Servicequalität, an die Einsatzumgebung und die organisatorischen Rahmenbedingungen für die Entwicklung, die sich aus dem Entwicklungsprozess und einem angemessenen Lebenszyklusmanagement ergeben, zu erkennen und im Hinblick auf ihre Relevanz für die Softwarearchitektur des Automatisierungssystems zu analysieren und zu bewerten.
Kompetenzen
Kompetenz Ausprägung
Gesellschaftliche Vertretbarkeit technischer Lösungen bewerten Vermittelte Kompetenzen
Fachwissen erweitern und vertiefen und Lernfähigkeit demonstrieren Vermittelte Kompetenzen
Komplexe Systeme und Prozesse analysieren, modellieren, realisieren, testen und bewerten Vermittelte Kompetenzen
Probleme wissenschaftlich untersuchen und lösen, auch wenn sie unscharf, unvollständig oder widersprüchlich definiert sind Vermittelte Kompetenzen
Anerkannte Methoden für wissenschaftliches Arbeiten beherrschen Vermittelte Kompetenzen
Wissenschaftliche Ergebnisse und technische Zusammenhänge schriftlich und mündlich darstellen und verteidigen Vermittelte Kompetenzen
Situations- und sachgerecht argumentieren Vermittelte Kompetenzen
Projekte organisieren und im Team bearbeiten Vermittelte Kompetenzen
Komplexe Aufgaben selbständig bearbeiten Vermittelte Kompetenzen
Aufkommende Technologien einordnen und bewerten können Vermittelte Kompetenzen
Sich selbst organisieren Vermittelte Kompetenzen
Sprachliche und interkulturelle Fähigkeiten anwenden Vermittelte Kompetenzen

Exempla­rische inhaltliche Operatio­nalisierung

Entscheidend für einen differenzierten Diskurs um die Qualität von und in Softwaresystemen sind eine allgemeine Definition des Qualitätsbegriffs bzw. der verschiedenen Qualitätsdimensionen für automatisierungstechnische Softwaresysteme sowie eine Diskussion um den betriebswirtschaftlichen Wert einer Software und den Komplexitätsbegriff. Darauf aufbauend können zweckmäßige Vorgehen zur additiven Entwicklung einer Softwarearchitektur am Beispiel wiederverwendbarer Softwareartefakte abgeleitet werden. Wiederverwendung kann am Beispiel von Mustern und Musterkatalogen (White-Box-Reuse) und Komponenten- bzw. Frameworkarchitekturen (Black-Box-Reuse) diskutiert werden. Als Beispiele professioneller Komponentenarchitekturen zum Aufbau verteilter technischer Softwaresysteme können Object Request Broker Architekturen wie CORBA bzw. das echtzeitfähige Open Source Derivat TAO (The ACE ORB), OPC/UA, die Funktionsbausteinarchitektur industrieller Leitsysteme (nach EN61499) aber auch integrierte Frameworks wie MS .NET herangezogen werden. Als weitere Abstraktionsstufe, also Architekturen mit begrenzter Intelligenz zur Verfolgung abstrahierter Zielvorgaben und zur Selbstrekonfiguration durch fortwährende Analyse des System- und Umgebungszustands, können Multiagentensysteme untersucht werden. Wesentlich für eine umfassende Beurteilung der Qualität von Softwarearchitekturen im Hinblick auf deren Einsatz unter spezifischen Bedingungen ist zudem ein grundlegender Diskurs über betriebswirtschaftlich, haftungsrechtlich und ethisch begründete Anforderungen.

Separate Prüfung

keine

Exempla­rische inhaltliche Operatio­nalisierung

anspruchsvolle Seminarthemen können z. B. aus den Themengebieten
- wiederverwendbare Artefakte zum Aufbau der Architektur verteilter Softwaresysteme,
- professionelle Verteilungsarchitekturen,
- Multiagentensysteme,
- besondere betriebswirtschaftliche, haftungsrechtliche und ethische Anforderungen bei Softwaresystemen mit (verteilter) künstlicher Intelligenz und deren Auswirkungen auf die Gestaltung von Softwarearchitekturen
oder fachlich angrenzenden Themengebieten definiert werden.

Separate Prüfung
Benotet Ja
Frequenz Einmal im Jahr
Gewicht 50
Bestehen notwendig Ja
Voraussetzung für Teilnahme an Modulprüfung Ja
Prüfungskonzept

Auswertung wissenschaftlicher Literatur und Bewertung der Qualität von Softwarearchitekturen für verteilte Automatisierungssysteme im Hinblick auf vorgegebene automatisierungstechnische Fragestellungen.
Ergebnisvorstellung und wissenschaftlicher Diskurs in der Gesamtgruppe.

Exempla­rische inhaltliche Operatio­nalisierung

Entwicklung einer Softwarekomponente für eine echtzeitfähige Verteilungsarchitektur in C++. Die Komplexität und der erwartete Arbeitsumfang zur Lösung der Aufgabenstellung richten sich nach dem verfügbaren Zeitkontingent des Projektteams (abh. von der Teamgröße).

Separate Prüfung
Benotet Nein
Frequenz Einmal im Jahr
Voraussetzung für Teilnahme an Modulprüfung Ja
Prüfungskonzept

Entwicklung eines wiederverwendbaren Softwareartefakts für verteilte automatisierungstechnische Softwaresysteme. Ergebnisvorstellung und wissenschaftlicher Diskurs in der Gesamtgruppe.


© 2022 Technische Hochschule Köln