Profile of the Software Engineering Group at Heidelberg University

 

Our main focus is Quality Engineering, namely the engineering of quality products and the quality of the engineering process.

The overall goal is to develop effective and efficient methods for achieving high quality of software. The main facets of our quality engineering approach are:

  • Process
    Create and capture the organization of distributed working groups during projects and beyond
  • Communication
    Create and capture the knowledge necessary for a joint understanding of all process participants
  • Management
    Create and capture decisions during software development by managers, developers and customers
  • Experience
    Create and capture the experience of process participants to allow for continuous improvement
  • Modeling
    Create and capture the understanding of the developed software on different levels of abstraction

Based on this we support customers and developers in elicitation, specification, management, design, inspection and testing of quality. An example of an industrial collaboration where we helped Nokia STP to improve their requirements engineering process along these facets is described in the article B. Paech, J.Doerr, M. Köhler: Improving Requirements Engineering Communication in Multiproject Contexts, IEEE Software, Januaray/February, 2005.

An underlying theme for all these quality engineering facets is rationale. Rationale is the justification behind decisions. It is captured and used in many different forms during and for software engineering. The availability of rationale increases the developers’ understanding of the system, making it easier to adapt or maintain. Being able to explain past decisions also facilitates the training of new members in a development team.

For a few years we are successfully applying our task-oriented requirements engineering approach TORE (Task- and object-oriented requirements engineering, Link to publication) in industry and teaching. It shows how to capture functional requirements with use cases. In addition, it links the use cases to the business and work processes through the notion of tasks, and it links the use cases to user interface design through the notion of the user interface structure. Ongoing work encompasses the integrated treatment of non-functional requirements as well as the link to architecture specification and design. Furthermore, we are working on an approach integrating test planning and specification with requirements engineering.

Our approach is supported by the tool unicase developed by the TU München and recently also by our students. unicase is a CASE tool supporting participants in a distributed software engineering project to collaborate on the development of models over an extended period of time. Among other things, unicase focuses on rationale management.

Contact | Travel Info

News

CrowdRE'23: Keynote 'Reflections on Human Values in Crowd-based Requirements Engineering' held by Barbara Paech

REFSQ 2023: Keynote 'Explicit and Implicit Values in and of Requirements Engineering Practice and Research' held by Barbara Paech

Our paper 'Empirical Research Design for Software Architecture Decision Making: An Analysis' was selected for the JSS Happy Hour. You can watch it on YouTube

Anja Kleebaum et al. 'Continuous Design Decision Support'. Chapter published in 'Managed Software Evolution' (2019)