Softwaretechnik
Software und Systems Engineering untersucht Prozesse, Methoden, Techniken und Werkzeuge für alle Abschnitte der Entwicklung qualitativ hochwertiger Softwaresysteme, vom Requirements Engineering bis zur Inbetriebnahme und der Wartung. Software und Systems Engineering bildet den Kern unserer Forschung, Lehre und Wissenstransferaktivitäten. Unsere Forschung fokussiert sich auf sicherheitskritische Systeme, modellbasierte Entwicklung, Verifikation und Qualitätssicherung sowie Prozeßentwicklung und -verbesserung. Anwendungsfelder sind unter anderem selbstorganisierende (OC-)Systeme, komponentenorientierte Systeme sowie Mechatronik und Robotik. Wir bieten an der Universität Augsburg und insbesondere im Elitestudiengang Software Engineering Lehrveranstaltungen in Software und Systems Engineering an.
- Telefon: +49 821 598 2178
- E-Mail: haneberg@informatik.uni-augsburginformatik.uni-augsburg.de ()
- Raum 3013 (Gebäude N)
Aktuelle Themen
Softwarevisualisierung
Die innere Qualität von Software ist entscheidend für ihre Zukunftsfähigkeit. Mit Techniken der Softwarevisualisierung lassen sich technische Schulden in Softwaresystemen aufspüren und darstellen.
Agile Entwicklung
Time-to-market und die Fähigkeit, schnell auf ein sich änderndes Geschäftsumfeld reagieren zu können sind heute entscheidende Merkmale der Softwareentwicklung. Agile Methoden helfen, Features schnell umzusetzen und trotzdem eine hohe Qualität der Software zu gewährleisten.
Microservices
Skalierbarkeit spielt für viele Anwendungen eine große Rolle. Mit Microservices als Architekturmuster kann Software so gestaltet werden, dass eine horizontale Skalierung einfach möglich ist.
Software und Systems Engineering
Software und Systems Engineering adressiert die zentralen Themen von Softwareentwicklung und Systemdesign: Methoden, Prozesse und Techniken für eine systematische und strukturierte Entwicklung von Softwaresystemen. Die Aufgaben eines Softwareentwicklers reichen vom ersten Kontakt mit dem Kunden zur Findung der Requirements über die Analyse der Requirements, Softwarearchitektur und objektorientiertes Design bis zum Testen und der Wartung.
Eine Vielzahl von Entwicklungsprozessen ist für unterschiedliche Arten von Projekten verfügbar, von agilen Methoden (z.B. Scrum und Kanban) für explorative Projekte bis hin zu schwergewichtigen Prozessen wie dem Unified Process oder dem V-Modell für große und langwierige Entwicklungsvorhaben. Das Erstellen von Entwicklungsartefakten erfordert Kenntnis von unterschiedlichen Spezifikationstechniken wie Use-Cases und UML-Diagrammen sowie formalen Notationen wie OCL. Softwarearchitektur, Designpatterns und die Prinzipien objektorientierten Design sind ebenso nötig, um Kundenanforderungen in ein verlässliches, wartbares und nachhaltiges Systemdesign zu übertragen. Das Systems Engineering fokussiert speziell auf die Analyse und das Design von heterogenen Anwendungslandschaften. Es beschäftigt sich der Einbettung einer Software in ihre Umgebung, die eine unternehmensweite IT-Landschaft sein kann (Enterprise Application Integration) aber auch besondere Hardware im Falle eingebetteter Systeme (Hardware-Software-Codesign). Solch integrierte Systeme haben oft spezielle Anforderungen, die sich aus dem System als Ganzes ergeben. Wir beschäftigen uns mit all diesen Aspekten des Software und Systems Engineering in unseren Lehrveranstaltungen, Wissenstransferaktivitäten und im Consulting sowie in gemeinsamen Forschungsaktivitäten zu all diesen Themen. In der Forschung beschäftigen wir uns besonders mit Modellierungstechniken und Sprachen für Safety und Security, Softwareentwicklung für selbstorganisierende Systeme und komponentenorientierte Entwicklung. Das Ziel unserer Forschung sind Fortschritte im Software und Systems Engineering, um Anwendungen von höchster Qualität in kürzerer Zeit entwickeln zu können. Unsere Forschungsaktivitäten umfassen unter anderem:
- SAVE ORCA beschäftigt sich mit verlässlichen Organic Computing Anwendungen
- Secure-MDD entwickelt ein modellbasiertes Vorgehen für die Entwicklung sicherheitskritischer Systeme
- GO!Card kombiniert formale und semiformale Methoden zu einem Entwicklungsprozess für sichere Smartcard-Anwendungen
- SoftRobot entwickelte eine Softwarearchitektur zur Programmierung von Industrierobotern in modernen Programmiersprachen
Dienstleistungen
- Schulung, Beratung und Vorträge zu softwaretechnischen Methoden und Technologien: Modellierung, objektorientierte Analyse und Design, klassische und agile Vorgehensweisen, Requirements Engineering und Testen
- Entwicklung und Beurteilung von Architekturen für innovative Softwareprojekte
- Consulting und Begleitung von Softwareprojekten
- Beurteilung der Prozessqualität von Entwicklungsteams
- Untersuchung von Legacy-Systemen auf technische Schulden und Architekturdefizite
Team
Institut für Software & Systems Engineering
Das Institut für Software & Systems Engineering, geleitet von Prof. Dr. Wolfgang Reif, ist eine wissenschaftliche Einrichtung in der Fakultät für Angewandte Informatik an der Universität Augsburg. Das Institut unterstützt sowohl Grundlagen- als auch angewandte Forschung in allen Bereichen der Software & Systems Engineering. In der Lehre ermöglicht es die weitere Entwicklung des relevanten Kursangebots von Fakultät und Universität.