Software and Systems Engineering


SoftwareAndSystemsEngineering Software and Systems Engineering investigates processes, methods, techniques, and tools for developing high-quality software systems, spanning the whole development life-cycle, from requirements engineering to system deployment and maintenance. Software and Systems Engineering is at the heart of our research, teaching and knowledge transfer activities. Our research focuses on safety- and security-critical systems, model-driven development, verification and quality assurance, as well as process development and improvement. Fields of application are, among others, self-organizing (OC-) systems, component-oriented systems, and mechatronics and robotics. We offer courses in Software and Systems Engineering at Augsburg University and especially in the Elite Graduate Program Software Engineering.


Dr. Dominik Haneberg
Tel.: +49 821 598 - 2178



  • Training in software engineering technologies and methods: modeling, object-oriented analysis and design, classical and agile software engineering processes, requirements engineering, testing
  • Development and survey of architectures for innovative software projects
  • Consulting and supervision of software projects and projects for the development of software intensive systems


Software and Systems Engineering addresses the central topics of software development and systems design: Methods, processes and practices for a systematic and well-structured development of software systems. The activities of a software engineer range from the first contact with the customer to work out the requirements for the system through requirements analysis, software architecture and object-oriented design to testing and maintenance. A wide variety of process models is available for different types of projects, ranging from agile methods (e.g. Scrum and Kanban) for smaller and more explorative projects to heavy-weight processes like the Unified Process or the V-Modell for large and long-term system development efforts. Formulating artifacts in software development requires knowledge and understanding of different specification techniques like use-cases and UML diagrams as well as formal annotations like OCL. Software architecture, design patterns and the principles of object-oriented design are required to turn the customer’s requirements into a reliable, maintainable and sustainable design of the system. Systems engineering focuses on the specifics of analyzing and designing heterogeneous system landscapes. It deals with coupling software with its environment which can be an enterprise application landscape (Enterprise Application Integration) as well as special hardware (Embedded Software, hardware-software-codesign). These integrated systems often have special requirements emerging from the system as a whole. We are dealing with all these aspects of software and systems engineering in our teaching and offer knowledge-transfer and consulting as well as joint research efforts on all these topics. Our research focuses on modeling techniques and languages for security and safety, software development for self-organizing (OC-) systems and component-oriented software development.

The goal of our research is to enhance the state-of-the-art in Software and Systems Engineering to have applications with higher quality in a shorter time.
Our manifold research activities include:

  • SAVE ORCA deals with the systematic design of reliable Organic Computing applications and offers a development guideline for such systems
  • The FORMOSA propject established an approach to develop high assurance systems by combining formal verification techniques like temporal logic with traditional approaches from engineering like fault-tree analysis
  • Secure-MDD develops a model-driven method for the design and implementation of security-critical systems
  • IMPROVE enhanced European semiconductor fabs efficiency by providing methods and tools to better control the process variability, reduce the cycle time and enhance the effectiveness of the production equipment
  • GO!Card combined formal and semi-formal methods into a rigorous development process for secure smartcard applications
  • SoftRobot developed a new software architecture for controlling industrial robots