Themen im Forschungsbereich Software Engineering
Geschäftsprozessmanagement

Im Kompetenzfeld Geschäftsprozessmanagement beschäftigt sich der FZI-Forschungsbereich SE mit der Entwicklung von ingenieurmäßigen Methoden und Werkzeugen für eine effiziente und effektive Unterstützung der Unternehmensführung, der Produktionssteuerung sowie der organisatorischen Abläufe in Betrieben und öffentlichen Einrichtungen. Dies bezieht sich auf sämtliche Phasen des Lebenszyklus eines Geschäftsprozesses, von der Modellierung und der Analyse über die Implementierung und die Ausführung bis hin zur Überwachung und Optimierung. Hier beschäftigt sich SE mit Themen wie Ressourcenmanagement, e-Learning, Service Procurement, Performance Management, Social Business Process Modeling, Stammdatenmanagement, Qualitätsmanagement und Standardisierung. Die Modellierung und Analyse von Geschäftsprozessen erfolgt mittels der werkzeuggestützten Methode Horus.
Mobile Anwendungen

Einen besonderen Schwerpunkt im Rahmen des Geschäftsprozessmanagements bildet die Unterstützung von Geschäftsprozessen im Mobile Business. Der Forschungsbereich SE verfügt über umfassendes Wissen zu mobiler Informations- und Kommunikationstechnologie und zum effizienten Einsatz dieser Technologien für Geschäftsprozesse. Hierzu zählt unter anderem auch zu erkennen, wo Verbesserungspotentiale durch den Einsatz mobiler IT z. B. im Hinblick auf neue Interaktionsformen und intuitive Bedienkonzepte aktiviert werden können.
Softwarearchitekturen

Softwarearchitekturen sind ein zentrales Element jedes Softwaresystems. Besonders die nicht-funktionalen Eigenschaften des Systems hängen stark von der Güte der Architekturen ab. So ist beispielsweise die Wartung von Software ohne Unterstützung auf der Architekturebene nicht möglich. Außerdem können Softwaresysteme auch nicht skalieren (bspw. mehrere gleichzeitige Benutzer bedienen), wenn dies nicht durch eine entsprechend gestaltete Architektur unterstützt wird. Hochzuverlässige Software ist ohne Architekturunterstützung überhaupt nicht möglich. Da sich die Softwarearchitektur nach der Implementierung eines Systems nicht beliebig ändern lässt, kommt dem sorgfältigen Entwurf der Architektur eine zentrale Rolle zu.
Der Forschungsbereich SE beschäftigt sich hier mit der Entwicklung von Werkzeugen und Methoden zur nachhaltigen Gestaltung von Softwarearchitekturen. So können hochqualitative Architekturen erstellt werden, die insbesondere die nichtfunktionalen Anforderungen komplexer Softwaresystemen erfüllen. Neben der Neuentwicklung von Software spielen heute im Software Engineering die Wartung und Weiterentwicklung bereits vorhandener komplexer Softwaresysteme eine zunehmend wichtige Rolle. Der Forschungsbereich SE trägt dem Rechnung, indem Methoden und Werkzeuge zur Rekonstruktion der Architektur bestehender Implementierungen entwickelt und verfeinert werden. Auf dem Gebiet des Cloud Computing und Cloud-basierter Architekturen befasst sich SE mit SaaS- und Multi-Tenant-Architekturen sowie mit Sicherheitsmechanismen für die Cloud zum Schutz gegen interne und externe Angriffe.
Softwarequalität und -sicherheit

Auf dem Gebiet der Softwarequalität hat der Bereich SE herausragende Expertise. Ein entwicklungsbegleitendes Qualitätskonzept, die Verwendung von Software-Metriken und Problemmustern, architekturbasierte Qualitätsvorhersage sowie die Durchführung von Tradeoff- und Trend- Analysen bringen hohe Qualitätsstandards in die Entwicklung komplexer Softwaresysteme ein. Auf dem Gebiet der Softwaresicherheit entwickelt SE auf Basis von neuartigen Datenverschlüsselungskonzepten und Methoden zur Durchführung von Berechnungen auf verteilten Daten innovative Sicherheitslösungen, speziell für die Datensicherheit von Cloud-Anwendungen.
Die qualitätsbewusste Evolution von Softwaresystemen wird durch eine integrierte Betrachtung mehrerer Qualitätsdimensionen (z. B. Performance, Zuverlässigkeit, Wartbarkeit oder Sicherheit) erreicht. Im Rahmen der Etablierung einer Software-Zertifizierung werden Qualitätsmodelle und -standards entwickelt. Beim ingenieurmäßigen Entwurf von Software ist die Modellbildung Voraussetzung für die Vorhersage der Qualitätseigenschaften. Hierzu werden die Softwaremodelle automatisiert in Vorhersagemodelle der jeweiligen Qualitätseigenschaften übersetzt. Die Qualitätsbewertung erfolgt auf Basis von Analysen der Vorhersagemodelle. Diese Vorgehensweise erlaubt erstmalig den systematischen Umgang mit Anforderungen an die Qualität der Software. Durch den Einsatz modellgetriebener Techniken werden für Industriepartner Methoden erschlossen, deren Komplexität bisher in Unternehmen nicht handhabbar war. Die Übersetzung des Software-nahen Entwurfsmodells in ein Vorhersagemodell benötigt keine reine, kostenintensive Handarbeit mehr, sondern wird weitestgehend automatisiert von Werkzeugen übernommen. Industrietaugliche Werkzeugunterstützung zur Bewertung der Qualität eines Software-Produkts wird unter anderem durch Software-Werkzeuge wie SISSy und Palladio erprobt.
Parallelverarbeitung und Multicore

Bis vor wenigen Jahren beschränkte sich Parallelverarbeitung in erste Linie auf den Bereich des High Performance Computing. Inzwischen ist Parallelverarbeitung wegen des anhaltenden Trends zu Multicore-Plattformen jedoch ein zentrales Thema des Software Engineering. Programmierparadigmen, -sprachen und -werkzeuge werden durch die Notwendigkeit zur parallelen Ausführung von Software geprägt werden. SE stellt sich dieser Herausforderung in zahlreichen Projekten und entwickelt Methoden und Werkzeuge zur effizienten Erstellung von Multicore-Anwendungen bzw. der Parallelisierung existierender Anwendungen.
Der Forschungsbereich SE bietet Geschäftspartnern zu den Themen Parallelverarbeitung und Multicore von der Software-Portfolioanalyse über Prototyp-Entwicklung und Parallelisierungswerkzeuge bis hin zu Schulungen und Leistungsschätzungen umfangreiche Unterstützung.
Softwarekonstruktion

Ein Schwerpunkt im Bereich der Softwarekonstruktion liegt in der Modellierung der Architektur großer Softwaresysteme. Im Vordergrund stehen Methoden und Werkzeuge, die geeignete Ausdrucksmittel bieten, um mit komplexen Softwaresystemen umgehen zu können. Dazu zählt vor allem auch, den Entwurf der Fachlichkeiten aus der Anwendungsdomäne des Softwaresystems zu erleichtern und dabei gleichzeitig die technischen Details zu verbergen. Unter dem Schlagwort Model Driven Software Development (MDSD) werden solche Methoden und Werkzeuge zunehmend industriell einsetzbar.
Neben der modellgetriebenen Entwicklung beschäftigt sich der Bereich SE auf dem Gebiet der Softwarekonstruktion auch mit der Entwicklung domänenspezifischer Sprachen (Domain-Specific Languages, DSL) sowie (im Rahmen der serviceorientierten Softwareentwicklung) mit der Komposition von Diensten und Mashups. Ein weiteres aktuelles Forschungsthema bei SE bildet das verantwortungsbasierte hierarchische Entwerfen, Analysieren und Optimieren von Softwarearchitekturen.
