Seminar: Seminar zu Software- und Systems Engineering (Bachelor) - Details

Seminar: Seminar zu Software- und Systems Engineering (Bachelor) - Details

Sie sind nicht in Stud.IP angemeldet.

Allgemeine Informationen

Veranstaltungsname Seminar: Seminar zu Software- und Systems Engineering (Bachelor)
Veranstaltungsnummer INF-0126
Semester WS 2024/25
Aktuelle Anzahl der Teilnehmenden 9
erwartete Teilnehmendenanzahl 8
Heimat-Einrichtung Softwaretechnik
Veranstaltungstyp Seminar in der Kategorie Lehre
Vorbesprechung Montag, 14.10.2024 14:00 - 14:45
Erster Termin Montag, 14.10.2024 14:00 - 14:45, Ort: (3018N)
Leistungsnachweis Schriftliche Ausarbeitung (ca. 10-12 Seiten LNCS Format) und Vortrag (30 Minuten)
Veranstaltung findet in Präsenz statt / hat Präsenz-Bestandteile Ja
Hauptunterrichtssprache deutsch
ECTS-Punkte 4

Räume und Zeiten

(3018N)
Montag, 14.10.2024 14:00 - 14:45

Modulzuordnungen

Kommentar/Beschreibung

Das Seminar beschäftigt sich mit verschiedenen Themen des Software und Systems Engineering.

Es behandelt zentrale Themen wie Anforderungsanalyse, Entwurfsmuster, Qualitätssicherung sowie Modellierung und Implementierung komplexer Systeme. Der Fokus liegt sowohl auf theoretischen Grundlagen als auch auf praktischen Anwendungsbeispielen aus der Industrie. Agile Methoden wie Scrum und DevOps werden ebenso behandelt wie klassische Entwicklungsmodelle. Das Seminar bietet zudem Einblicke in moderne Werkzeuge zur Unterstützung des Entwicklungsprozesses. Studierende haben die Möglichkeit, praxisnahe Themen zu bearbeiten und dabei ihr Wissen zu vertiefen. Abgerundet wird das Seminar durch die Diskussion aktueller Trends und Herausforderungen im Bereich Software- und Systems Engineering.

Diesjährige Themen sind u.a.:

1) MBSE – Modellbasiertes Systems Engineering
==========================================
Modellbasiertes Systems Engineering (MBSE) ist ein Ansatz zur Systementwicklung, bei dem modellbasierte Methoden und Werkzeuge zur Beschreibung, Analyse und Gestaltung komplexer Systeme eingesetzt werden. Im Gegensatz zu dokumentenbasiertem Vorgehen werden computerinterpretierbare Modelle verwendet. MBSE ist bereits weit verbreitet und in großen Unternehmen im Einsatz. Es stellt sich jedoch vermehrt heraus, dass es zu Spaghetti-Modellierungen kommt.

Fragestellung: Wie ist MBSE aufgebaut, was sind die Hauptkomponenten? Welche Vor- und Nachteile hat MBSE generell? Welche Anwendungsfälle gibt es für MBSE? Welche Werkzeuge und Frameworks werden in dem Kontext eingesetzt? Für welche Art von Problemen kann MBSE gut eingesetzt werden? Was ist Spaghetti-Modellierung und wie kann sie vermieden werden?

Erste Literatur:
----------------
- Perceptions and the extent of Model-Based Systems Engineering (MBSE) use – An industry survey
https://www.researchgate.net/publication/360646526_Perceptions_and_the_extent_of_Model-Based_Systems_Engineering_MBSE_use_-_An_industry_survey
- Value and benefits of model-based systems engineering (MBSE): Evidence from the literature
https://www.researchgate.net/publication/348079941_Value_and_benefits_of_model-based_systems_engineering_MBSE_Evidence_from_the_literature
- Spaghetti-Modellierung mit MBSE: So bitte nicht!
https://www.se-trends.de/spaghetti-modellierung-mit-mbse/


2) Mechatronisches V-Modell
=========================
Mechatronische Systeme sind technische Systeme, die auf dem Zusammenwirken von Mechanik, Elektronik und Informatik basieren. Diese Systeme stellen an das Software Design und den Vorgehensprozess spezielle Herausforderungen. Um diesen gerecht zu werden, wurde das mechatronische V-Modell entwickelt, dass auf dem klassischen V-Modell basiert.

Fragestellung: Stellen Sie die besonderen Herausforderungen der Modellierung mechatronischer Systeme heraus. Erläutern Sie wie das V-Modell für diese Systeme funktioniert und sich von dem klassischen V-Modell unterscheidet. Wie verbreitet ist der Prozess? Welche größeren Systeme wurden anhand des Prozesses schon erstellt? Simulieren Sie den Einsatz des Prozesses an einem kleinen Beispiel.

Erste Literatur:
----------------
- VDI Richtlinie zum V-Modell
https://www.vdi.de/richtlinien/programme-zu-vdi-richtlinien/vdi-2206/
- The new V-Model of VDI 2206 and its validation
https://www.researchgate.net/publication/341657219_The_new_V-Model_of_VDI_2206_and_its_validation


3) Low-Code/No-Code-Plattformen
============================
Low-Code/No-Code-Plattformen sind Entwicklungsumgebungen, die es ermöglichen, Anwendungen mit minimalem bis gar keinem handgeschriebenen Code zu erstellen. Diese Plattformen zielen darauf ab, den Entwicklungsprozess zu vereinfachen und es auch Personen ohne tiefgehende Programmierkenntnisse zu ermöglichen, Softwareanwendungen zu entwickeln.

Fragestellung: Welche Plattformen gibt es? Wie funktionieren die Plattformen? Für welche Entwicklungen ist dieses Vorgehen sinnvoll? Wo liegt der Unterschied zwischen Low-Code und No-Code? Wer ist jeweils die Zielgruppe für diese Plattformen? Sehen Sie gravierende Nachteile dieser Entwicklung oder wird das unsere Zukunft sein? „Programmieren“ Sie mit einer Plattform Ihrer Wahl ein kleines Beispiel.


Erste Literatur:
----------------
- Challenges of Low-Code/No-Code Software Development: A Literature Review
https://link.springer.com/chapter/10.1007/978-3-031-16947-2_1
- Low-Code, No-Code, What's Under the Hood?
https://ieeexplore.ieee.org/abstract/document/9655393


4) Künstliche Intelligenz im Software-Engineering
==============================================
Künstliche Intelligenz (KI) revolutioniert zunehmend das Software-Engineering, indem sie den Entwicklungsprozess unterstützt, optimiert und automatisiert. Der Einsatz von KI-Methoden in der Softwareentwicklung eröffnet neue Möglichkeiten in Bereichen wie Code-Generierung, Testautomatisierung, Fehlermanagement und Wartung von Softwareprojekten.

Fragestellung: Welche Einsatzmöglichkeiten von KI gibt es im Software-Engineering? Wie und in welchen Bereichen können KI-basierte Tools bei der Softwareentwicklung unterstützen? Wo liegen die aktuellen Grenzen dieser Technologien? Welche ethischen und sicherheitsrelevanten Herausforderungen ergeben sich beim Einsatz von KI in der Softwareentwicklung?
Stellen Sie kurz allgemein die Einsatzmöglichkeiten von KI vor und fokussieren Sie sich in Ihrer Arbeit danach auf einen bestimmten Bereich des Software-Engineering-Prozesses. Recherchieren Sie die Möglichkeiten in diesem Bereich KI einzusetzen und bewerten Sie gestützt auf Literatur die Chancen und Risiken des KI-Einsatzes. Skizzieren Sie dies anhand eines konkreten Beispiels.

Erste Literatur:
----------------
- A Systematic Literature Review on the Use of Deep Learning in Software Engineering Research
https://dl.acm.org/doi/full/10.1145/3485275
- Navigating the Complexity of Generative AI Adoption in Software Engineering
https://dl.acm.org/doi/full/10.1145/3652154


5) Agile Skalierungsframeworks – SAFe, LeSS und Co.
================================================
Agile Entwicklungsmethoden wie Scrum oder Kanban sind mittlerweile weit verbreitet. Doch wie lassen sich diese Methoden in großen, komplexen Projekten und in Unternehmen mit vielen Entwicklungsteams skalieren? Agile Skalierungsframeworks wie SAFe (Scaled Agile Framework) oder LeSS (Large-Scale Scrum) bieten Ansätze, um Agilität auch in großen Organisationen effektiv umzusetzen. In diesem Seminar wird untersucht, wie solche Frameworks aufgebaut sind und welche Vor- und Nachteile sie mit sich bringen.

Fragestellung: Wie funktionieren die agilen Skalierungsframeworks SAFe und LeSS? Für welche Unternehmen und Projekte sind sie besonders geeignet? Welche Unterschiede gibt es zwischen den verschiedenen Frameworks? Welche Herausforderungen entstehen bei der Einführung agiler Skalierungsmethoden? Wie beeinflussen agile Skalierungsframeworks die Zusammenarbeit zwischen Teams, die Kommunikation und die Produktqualität?

Erste Literatur:
----------------
- Scaling Agile Company-Wide: The Organizational Challenge of Combining Agile-Scaling Frameworks and Enterprise Architecture in Service Companies
https://ieeexplore.ieee.org/abstract/document/9651540
- Why Do Organizations Adopt Agile Scaling Frameworks?: A Survey of Practitioners
https://dl.acm.org/doi/abs/10.1145/3475716.3475788

6) Serverless Architectures
========================
Serverless Computing ermöglicht es Entwicklern, sich nicht mehr um die Verwaltung von Servern und Infrastruktur zu kümmern. Stattdessen wird Code in kleinen, unabhängigen Einheiten ausgeführt, die automatisch auf Basis des Bedarfs skaliert werden. Diese Architektur verändert, wie Softwareanwendungen entwickelt und betrieben werden und beeinflusst tiefgehend die Prozesse im Software- und Systems Engineering.

Fragestellung: Was ist Serverless Architecture? Wie unterscheidet sie sich von klassischen Architekturen? Welche Prinzipien und Designmuster sind relevant für Serverless-Systeme? Welche Herausforderungen gibt es hinsichtlich Architekturdesign, Sicherheit, Performance und Kosten? Welche Anwendungsfälle eignen sich besonders und wo stößt das Konzept an Grenzen?
Erstellen Sie mithilfe eines frei verfügbaren Frameworks eine einfache, serverlose Anwendung und diskutieren Sie die Unterschiede zu einer Umsetzung mit einer „klassischen Architektur“.

Erste Literatur:
----------------
- Serverless Computing: State-of-the-Art, Challenges and Opportunities
https://ieeexplore.ieee.org/abstract/document/9756233
- Serverless Computing: A Survey of Opportunities, Challenges, and Applications
https://dl.acm.org/doi/full/10.1145/3510611


7) Microservice-Architekturen
==========================
Microservice-Architekturen haben sich als eines der zentralen Paradigmen im modernen Software-Engineering etabliert. Sie ermöglichen es, komplexe Anwendungen in kleinere, unabhängige Dienste zu zerlegen, die separat entwickelt, bereitgestellt und skaliert werden können. In dieser Seminararbeit sollen die grundlegenden Design-Prinzipien von Microservices sowie die wichtigsten Technologien und Frameworks beleuchtet werden, die für die Implementierung von Microservice-basierten Anwendungen relevant sind. Zudem sollen Best Practices für den erfolgreichen Einsatz von Microservices diskutiert werden, einschließlich Herausforderungen wie Service-Orchestrierung, Datenkonsistenz und Sicherheit in verteilten Systemen.

Fragestellung:
Was sind die grundlegenden Design-Prinzipien von Microservice-Architekturen? Welche Technologien und Frameworks unterstützen die Entwicklung und Verwaltung von Microservices? Welche Best Practices gibt es für den erfolgreichen Einsatz von Microservices? Welche Herausforderungen bringen Microservice-Architekturen mit sich, und welche Lösungsansätze gibt es?

Erste Literatur:
----------------
- Challenges and Solution Directions of Microservice Architectures: A Systematic Literature Review
https://www.mdpi.com/2076-3417/12/11/5507
- On Microservice Analysis and Architecture Evolution: A Systematic Mapping Study
https://www.mdpi.com/2076-3417/11/17/7856



8) Nachhaltige Softwareentwicklung und GreenIT: Konzepte, Herausforderungen und Best Practices zur Minimierung des ökologischen Fußabdrucks
============================================================================================================================
Die Softwareindustrie trägt erheblich zum globalen Energieverbrauch und zur Umweltverschmutzung bei. Eine nachhaltige Softwareentwicklung ist entscheidend, um die negativen Auswirkungen zu minimieren. Ziel ist es, Konzepte und Strategien der nachhaltigen Softwareentwicklung zu untersuchen und Best Practices zu identifizieren, die zur Reduzierung des ökologischen Fußabdrucks beitragen.

Fragestellung:
Was versteht man unter den Begriffen "Green IT" sowie "nachhaltiger Softwareentwicklung"? Wie kann der ökologische Fußabdruck von Software bestimmt werden? Welche Konzepte für nachhaltige Softwareentwicklung gibt es, etwa um den ökologischen Fußabdruck zu verkleinern? Welche Software Architekturen sind nachhaltig, welche nicht?

Erste Literatur:
- A Comprehensive Review of Green Computing: Past, Present, and Future Research
https://ieeexplore.ieee.org/abstract/document/10214579
- Sustainable software engineering: Reflections on advances in research and practice https://www.sciencedirect.com/science/article/pii/S0950584923001714


Nach der Vorbesprechung am 14.10.24 um 14:00 Uhr im Raum 3018N werden die Themen vergeben.
Die Seminarvorträge finden dann im Januar in einer Blockveranstaltung statt.