Forschung

Überblick: Entwicklung qualitativ hochwertiger Software

Das übergreifende Ziel des Fachgebiets Software Engineering ist, die Entwicklung qualitativ hochwertiger Software zu fördern.

Wichtige Qualitätsaspekte sind dabei die Korrektheit und Nützlichkeit von Software als Basis. Besonders konzentrieren sich die Arbeiten darüber hinaus auf Bedienbarkeit (Usability) und Security (Schutz vor Angriffen) im Rahmen besonders sensibler, aber auch ganz normaler Softwareprojekte. Wie können Unternehmen und Entwickler im Rahmen ihrer Möglichkeiten zu besserer Softwarequalität beitragen? Zu den untersuchten Techniken gehören automatisierte Security-Warnungen für Entwickler und der Einsatz von Eye-Tracking-Technologie zum Wissenstransfer.

Ein neuer Aspekt in der Forschung ist die sogenannte „Erklärbarkeit“ von Software: Komplizierte Algorithmen und Komponenten der künstlichen Intelligenz verhalten sich oft unerwartet. Dann fragen sich Benutzer und Betroffene, ob alles mit rechten Dingen zugegangen ist: Wieso hat die Software diese Entscheidung gefällt? Lag es an Anforderungen, an den Eingabedaten, oder liegt vielleicht ein Fehler vor? Wir erforschen die angemessene Form und die technische Realisierung von Erklärungen – dort, wo sie sinnvoll sind.

Die anderen Forschungsthemen des Fachgebiets (siehe dort) stehen in engem Zusammenhang mit dem Überthema der Entwicklung qualitativ hochwertiger Software:

  • Im Requirements Engineering untersuchen und unterstützen wir die Fähigkeit, Anforderungen wirksam zu erheben und in die Entwicklung einfließen zu lassen. Ohne valide und aktuelle Anforderungen kann die Entwicklung keine befriedigenden Lösungen liefern.
  • Agile Entwicklungsmethoden dienen seit der Jahrtausendwende dazu, Softwareprojekte schneller, flexibler und für die Kunden nützlicher zu machen. Sie erfordern ein grundlegendes Umdenken und eine neue Perspektive. Die Transformation auf agile Methoden ist daher nicht einfach und erfordert spezielles Augenmerk. Oft werden bewährte, traditionelle Methoden mit agilen Ansätzen gemischt. Diese Hybriden Ansätze untersuchen wir in Zusammenarbeit mit Industrieunternehmen.
  • Um qualitativ hochwertige Software herzustellen, muss man die Anforderungen kennen. Sie müssen aber auch wirksam kommuniziert und in Entwurfs- und Entwicklungsentscheidungen überführt werden. Durch Informationsflussanalyse und die Kombination technischer Entwicklungsdaten (z. B. aus JIRA) mit sozialen Aspekten entwickeln wir ein übergreifendes Gesamtbild, um letztlich Praktiker bei der angemessenen Kommunikation zu unterstützen.

Siehe: DFG Schwerpunktprogramm Design for Future – Managed Software Evolution (SPP 1593)