About
262
Publications
47,500
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
4,007
Citations
Publications
Publications (262)
Mit der Einführung bzw. dem Ausbau des seit Jahren geforderten Pflichtfaches Informatik entsteht noch mehr Bedarf an qualifizierten Lehrkräften. Auch wenn Maßnahmen zur Nachquali-fizierung von bestehenden Lehrkräften einen wichtigen Beitrag zur Deckung des Bedarfs leisten, muss gleichzeitig die Anzahl der Absolvent:innen aus lehramtsbezogenen Infor...
[Context/Motivation] In crowd requirements engineering, users are asked specific questions (explicit pull feedback) to elicit requirements. Existing approaches collect explicit pull feedback by asking the same questions to all users. [Problem] Not all questions are meaningful for all users, e.g. regarding a functionality they have not yet used. Fur...
Cobbler’s children do not wear shoes. Software engineers build sophisticated software but we often cannot find the needed information and knowledge for ourselves. Issues are the amount of development information that can be captured, organizing that information to make them useable for other developers as well as human decision-making issues. Curre...
As software engineering (SE) practitioners, we can help society by using our communities of experts to address a software need of a socially conscious organization. Doing so can benefit society in the locale of a SE conference and provide access to international experts for local organizations. Furthermore, established SE researchers as well as pra...
Context and Motivation: Software users describe requirements for new software and give feedback to existing software. Both are well studied in requirements engineering research. However, both are also heavily influenced by the users’ comprehension of existing software. We do not know which aspects of software users have in mind when they talk about...
Trace links between requirements and code are beneficial for many software engineering tasks such as maintenance, program comprehension, and re-engineering. If trace links are created and used continuously during a project, they need to have high precision and recall to be useful. However, manual trace link creation is cumbersome and existing autom...
Background:
User understanding of information technology systems (IT-Systems) is a prerequisite for their use. This study aimed to explore how primary care physician trainees learn, understand and use IT-Systems.
Methods:
A paper-based survey study among 301 primary care physician trainees in Baden-Wuerttemberg, Germany, was performed. The quest...
This chapter considers the nature of software evolution: What kinds of software systems are evolved? Which quality aspects of software systems play a role throughout evolution? What kinds of software changes exist and which evolution processes are considered? What is the impact of these changes? The purpose of this chapter is to clarify the fundame...
The main challenges of rational decision-making, documentation, and exploitation are intrusiveness of the activities and consistency between decisions and between decisions and artefacts. This chapter presents three approaches that address these challenges and that contribute to a continuous design decision support: They assist the design decision-...
In this chapter, we discuss the diverse set of challenges, from different perspectives, that we face because of our aim to incorporate knowledge in software and processes tailored for software and systems evolution. Firstly, the discovery and externalization of knowledge about requirements, the recording and representation of design decisions, and...
Continuous software engineering (CSE) emerged as a process that is increasingly applied by practitioners. However, different perceptions impede its adoption in industry. Furthermore, opportunities through utilizing usage and decision knowledge remain unexploited. We conducted a semi‐structured interview study with 24 practitioners from 17 companies...
[Context and Motivation] In order to use automatically created trace links during a project directly, the precision of the links is essential. Our interaction-based trace link creation approach (IL) utilizes the interactions of developers recorded in an integrated development environment (IDE) while working on a requirement. For this, developers ne...
This position paper acknowledges that customer orientation is a key requirement for companies to be competitive in the marketplace. Customer orientation has led to concepts, such as personalization, one-to-one-marketing, mass customization and co-creation, which all strive for a strong alignment of individual customer demands and encounters with a...
As researchers and teachers and practitioners, we “software types” excel at multitasking. This, in part, led us to ask the question: Can one attend a software engineering conference and do something good for society? We found the answer to be a resounding yes. In this article, we present our first experience of running RE Cares, a conference colloc...
Mature software systems comprise a vast number of heterogeneous system capabilities which are usually requested by different groups of stakeholders and which evolve over time. Software features describe and bundle low level capabilities logically on an abstract level and thus provide a structured and comprehensive overview of the entire capabilitie...
Context: Despite past empirical research in software architecture decision making, we have not yet systematically studied how to perform such empirical research. Software architecture decision making involves humans, their behavioral issues and practice. As such, research on decision making needs to involve not only engineering but also social scie...
[Context and motivation] In decision-making, executives are supported by Personal Decision Support Systems (PDSSs) which are information systems providing a decision- and user-specific data presentation. PDSSs operate on current data with predefined queries and provide a rich user interface (UI). Therefore, a Requirements Engineering (RE) method fo...
Decision knowledge encompasses decisions and related information such as the problems the decisions address, their rationale, or alternatives. The management of decision knowledge is considered important for software development, however, it is often not integrated, since it requires additional effort and developers do not perceive short-term benef...
Continuous software engineering (CSE) emerged as a process that is increasingly applied by practitioners. However, different perceptions of CSE among practitioners might impede its adoption in industry. We aim to support practitioners by giving a comprehensive overview of current CSE practices. Our observations provide guidance for practice on how...
[Context and Motivation] In projects where trace links are created and used continuously during the development, it is important to support developers with an automatic trace link creation approach with high precision. In our previous study we showed that our interaction based trace link creation approach achieves 100% precision and 80% relative re...
Despite past efforts, we have little understanding and limited research efforts on how architects make decisions in the real-world settings. It seems that software architecture researchers make implicit assumption that decision making by software architects can be a rational and prescribed process. Such an assumption is disputed in other fields suc...
Context and Motivation: Information retrieval (IR) trace link creation approaches have insufficient precision and do not perform well on unstructured data which is typical in issue tracker systems (ITS). Question/problem: We are interested in understanding how interaction tracking on artifacts can help to improve precision and recall of trace links...
Context and motivation: Mature software systems comprise a vast number of heterogeneous system capabilities which are usually requested by different groups of stakeholders and which evolve over time. Software features describe and bundle low level capabilities logically on an abstract level and thus provide a structured and comprehensive overview o...
Context & motivation: Features are important for many software engineering activities, e.g. release planning. Companies document features in Issue Tracking Systems (ITS) and store feature code in Version Control Systems (VCS). Question/Problem: However, companies do not always manage features systematically. This issue hinders e.g. the prioritizing...
[Context and motivation] Personal Decision Support Systems (PDSSs) are information systems which support executives in decision-making by a decision- and user-specific data presentation. PDSSs operate on current data with predefined queries and provide a rich user interface (UI). Thus, a Requirements Engineering (RE) method for PDSSs should support...
The SNIK project converts textbooks about information management in hospitals to a domain ontology that provides a shared vocabulary for institutions to model and integrate processes, data and infrastructure. To accommodate user groups with different requirements and technical backgrounds, and to support incremental and cooperative development, we...
Communication about requirements is often handled in issue tracking systems, especially in a distributed setting. As issue tracking systems also contain bug reports or programming tasks, the software feature requests of the users are often difficult to identify. This paper investigates natural language processing and machine learning features to de...
Software readability and comprehension are important factors in software maintenance. There is a large body of research on software measurement, but the actual factors that make software easier to read or easier to comprehend are not well understood. In the present study, we investigate the role of method chains and code comments in software readab...
The terminology for the management of health information systems is characterized by complexity and polysemy which is both challenging for medical informatics students and practitioners. SNIK, an ontology of information management (IMI) in hospitals, brings together IM concepts from different literature sources. Based on SNIK, we developed a blende...
The realization of ontology visualization requirements in university education is a challenging task and should be supported by appropriate tools. This applies in particular, if the ontology to be visualized is based on a large text corpus that comprises a huge number of concepts, relations and annotations. In SNIK, we developed such an ontology of...
The increasing number of terms used in textbooks for information management (IM) in hospitals makes it difficult for medical informatics students to grasp IM concepts and their interrelations. Formal ontologies which comprehend and represent the essential content of textbooks can facilitate the learning process in IM education. The manual construct...
Context: Decision-making is a vital task during software development. Typically, issue tracking systems are used to document decisions in large open source projects where developers are spread across the world. While most decision documentation approaches assume that developers use rational decision strategies, in practice also naturalistic strateg...
Context/Motivation: Developers make many important decisions as they address given requirements during system design. Each decision is explained and justified by decision-related knowledge. Typically, this knowledge is neither captured in a structured way, nor linked to the respective requirements in detail. Then, it is not obvious, how design deci...
[Context and motivation] Traces between issues in issue tracking systems connect bug reports to software features, they connect competing implementation ideas for a software feature or they identify duplicate issues. However, the trace quality is usually very low. To improve the trace quality between requirements, features, and bugs, information re...
The terminology for the management of health information systems is characterized by complexity and polysemy which is both challenging for medical informatics students and practitioners. SNIK, an ontology of information management (IMI) in hospitals, brings together IM concepts from different literature sources. Based on SNIK, we developed a blende...
Methods for supporting evolution of software-intensive systems are a competitive edge in software engineering as software is often operated over decades. Empirical research is useful to validate the effectiveness of these methods. However, empirical studies on software evolution are rarely comprehensive and hardly replicable. Collaboration may prev...
Software-intensive systems are subject to continuous change due to modification of the systems themselves and their environment. Methods for supporting evolution are a competitive edge in software engineering as software is operated over decades. Empirical research is useful to validate the effectiveness of these methods. However, empirical studies...
Software developers make various decisions when implementing software. For instance, they decide on how to implement an algorithm most efficiently or in which way to process user input. When code is revisited during maintenance , the underlying decisions need to be understood and possibly adjusted to the current situation. Common documentation appr...
Software-Evolutionsforschung ist essenziell, um langlebige Software verlässlich und effizient zu entwickeln. Dieser Beitrag plädiert auf Basis der Erfahrungen aus dem DFG-Schwerpunktprogramm (SPP) ,,Design for Future – Managed Software Evolution“ für eine stärkere Rolle von empirischer Forschung zu Phänomenen im Kontext von Software-Evolution und d...
[Context and motivation] Communication in distributed software development is usually supported by issue tracking systems. Within these systems, most of the communication is stored as unstructured natural language text. The natural language text, however, contains much information with respect to requirements management, e.g. discussion, clarificat...
Business process (BP) designs and enterprise information system (IS) designs are often not well aligned. Missing alignment may result in performance problems at run-time, such as large process execution time or overloaded IS resources. The complex interrelations between BPs and ISs are not adequately understood and considered in development so far....
Beim Studium der Literatur zum Informationsmanagement sieht man sich auf Grund
verschiedener theoretischer Ansätze und praxisorientierter Frameworks mit einer enormen
Begriffsvielfalt konfrontiert. Insbesondere im Krankenhaus sind CIO und die Geschäftsleitung auf
vernetzte Informationen angewiesen, um die Krankenhausziele effektiv unterstützen zu k...
The successful delivery of IT services is enabled by information management that can be distinguished into strategic, tactic and operational information management. A major challenge of information management is the structuring and definition of its tasks, entity types and tools. At the same time, the increasing complexity of IT services and relate...
Einleitung: Heutzutage wird die schnell wachsende Masse an kom-plexen Daten und Prozessen im Krankenhaus immer größer. Um die Komplexität des Informationsmanagement (IM) in der Lehre und Praxis zu erleichtern, wird ein Semantisches Netz des IM im Krankenhaus (SNIK) entwickelt. Methodik: Der Entwicklungsprozess unterteilt sich in drei Phasen. Zuerst...
Application systems are often advertised with features, and features are used heavily for requirements management. However, often software manufacturers only have incomplete information about the features of their software. The information is distributed over different sources, such as requirements documents, issue trackers, user manuals, and code....
In this paper we propose I/O state transition diagrams for service
description In contrast to other techniques like for example Statecharts we
allow to model non atomic services by sequences of transitions This is
especially important in a distributed system where concurrent service
invocation cannot be prohibited We give a mathematical model of ob...
Security issues can have a significant negative impact on the business or reputation of an organization. In most cases they are not identified in requirements and are not continuously monitored during software evolution. Therefore, the inability of a system to conform to regulations or its endangerment by new vulnerabilities is not recognized. In c...
Social networks, public and private media, administrative and business processes are based on a multitude of interconnected information systems. These growing software infrastructures, called social software in the following, get more and more entangled with everyday life and the processes of the society. Social software and society together form c...
ABSTRACT
Software repository data, for example in issue tracking sys- tems, include natural language text and technical informa- tion, which includes anything fromlog files via code snippets to stack traces. However, data mining is often only interested in one of the
two types e.g. in natural language text when looking at text mining. Regardless of...
In the quality assurance of scientific frameworks, both the special characteristics of scientific software and the large variability in frameworks must be accounted for. In previous research, the authors developed a process for handling the variability of a framework using software product line variability modeling. They described the design of a q...
Software engineering is a knowledge-intensive task. Many different kinds of knowledge are created, for example, system knowledge, such as requirements, design, or code, and project knowledge, such as project plans, decisions, and work items. In this chapter, we study two kinds of project knowledge: work items and decisions. Work items document what...
Security of software systems is critical to business because detected security flaws such as the loss of sensitive information or damages can decrease revenue significantly [8]. One reason for security problems is the lack of security awareness in software development. If software engineers are not aware of security concerns as early as in requirem...
This problem statement describes the lack of effective methodologies and tool support for documenting decision knowledge during software evolution. After a brief description and definition of decisions in software evolution, we outline the current mismatch between the need for decision documentation and the effort required for documentation.
Researchers have studied how best to involve users in software development for a long time, primarily in the area of information systems and human-computer interaction. The authors consider the effects of both user participation and user involvement, which they abbreviate to UPI. Existing research describes several benefits of UPI, such as improved...
[Context and motivation] In practice, trace ability links between requirements and code are often not created, because this would require increased development effort. To address this weakness, we developed in previous work an approach that semi-automatically captures trace ability links between requirements and code during development. We do this...
Support of end-user needs is an important success factor for a software application. In order to optimize the support of end-user needs, developers have to be aware of them and their evolution over time. But a communication gap between developers and users leads to ignorance of developers about how users use their application. Also, developer assum...
To identify whether motivation of nurses coincides with personal values, workplace or personal characteristics.
Shortage of nursing workforce compromises patient care. Motivation and job satisfaction are factors considered to make nurses quit. Little is known about measurement and variation of nurses' motivation. Funding for human resource programm...
In most software projects, particular requirements significantly drive the design of the software architecture by forcing architectural decisions to be made. As requirements and architecture are refined iteratively, their extensions and improvements need to be aligned continuously. Much research has been conducted to identify such requirements and...
Die Beziehung zwischen der Informatik einerseits und der Gesellschaft und Informatiknutzung andererseits ist von Unverständnis und Missverständnissen gekennzeichnet. Nicht-InformatikerInnen verstehen oft nicht, worum es in der Informatik geht, und InformatikerInnen tun sich schwer, den Bedürfnissen und Anforderungen der Gesellschaft und der NutzerI...
The testing of scientific frameworks is a challenging task. The special characteristics of scientific software e.g. missing test oracle, the need for high performance parallel computing, and high priority of non-functional requirements, need to be accounted for as well as the large variability in a framework. In our previous research, we have shown...
Large-scale IT projects with traditional development methods are still very common in practice. These projects mostly involve the end user in the beginning and at the end of the development. However, there are also user-relevant decisions in the phases between. Thus, it is important to investigate what decisions are made and which of them are user-...
[Context and motivation] Traceability links between requirements and code are often created after development, which can, for example, lead to higher development effort. To address this weakness, we developed in previous work an approach that captures traceability links between requirements and code as the development progresses by using artifacts...
[Context and motivation] Strategic release planning (SRP) for a globally used information system is a challenging task. Changes to requirements on different abstraction levels are arriving continuously and have an impact on long-term selected features. [Question/problem] The major question is how to successfully do SRP to create competitive advanta...
[Context and motivation] Requirements engineers need feedback from users on planned system features. The simplest way is to present feature descriptions to the users and ask for their opinion. [Problem/question] The feedback users can give in such a situation is not always accurate. The mechanisms which cause a mismatch between actual and predicted...
Software users have different sets of personal values, such as benevolence, self-direction, and tradition. Among other factors, these personal values influence users’ emotions, preferences, motivations, and ways of performing tasks—and hence, information needs. Studies of user acceptance indicate that personal traits like values and related soft is...
User participation and involvement in software development are considered to be essential for a successful software system. Three research areas, human aspects of software engineering, requirements engineering, and information systems, study these topics from various perspectives. We think it is important to analyze user participation and involveme...
Frequently, the development of business processes and enterprise information systems (IT systems) is not well aligned. Missing alignment of business process design and IT system design can result in performance problems at runtime. Simulation is a promising approach to support the alignment of the designs by impact prediction. Based on the predicte...
In unseren Volkswirtschaften gewinnt der Dienstleistungssektor eine immer größere Bedeutung. Parallel dazu verstärkt die nahezu ubiquitäre Verfügbarkeit von Informationen den Selbstbestimmungswunsch der Bürger. Als Kunden z. B. im Bereich der Ausbildung, der Finanzwirtschaft und der Mobilität sowie als Patienten im Gesundheitswesen wollen sie Diens...
The management and coordination of globally distributed development poses many new challenges, including compensating for informal implicit communication, which is aggravated by heterogeneous social and engineering traditions between development sites. Although much research has gone into identifying challenges and working with practical solutions,...
A review of the literature showed that the probability of system success, i.e. user acceptance, system quality and system usage, can be increased by user-developer communication. So far most research on user participation focuses either on early or on late development phases. Especially large IT projects require increased participation, due to thei...
[Context and motivation] The tender process is a special requirements engineering process. The customer provides a request for proposal (RFP) with requirements of varying detail. Several software companies answer with a solution proposal. The customer chooses the supplier according to the price and the quality of the proposed solution. So far very...
Testing a scientific framework is a challenging task, given the framework's large variability. The approach taken here is to apply software product line engineering, using variability modeling to support the selection of test applications and test cases. Specifically, regression testing is used for a complex scientific framework called the Distribu...
Model-based CASE tools provide mechanisms to capture and store heterogeneous artifacts produced during the software development process. These tools incorporate a meta-model describing artifact types and traceability links. Although model-based CASE tools provide required means to create and link different artifact types, still the process of linki...
Business process quality assessment plays an important role in business process management. Business process quality is often assessed by identifying potentials for improvement. In practice, a questionnaire is a commonly used means. However, creating a questionnaire requires a high expertise because systematic approaches are missing. Moreover, ques...
The First International Workshop on Requirements Patterns (RePa'11) was held in conjunction with the 19th IEEE International Requirements Engineering Conference in Trento, Italy. The workshop was attended by 12 participants from the UK, Germany, Sweden, Switzerland, Canada, Russia, Brazil, and China. The workshop program included discussions of fiv...
Testing scientific software involves dealing with special challenges like missing test oracle and different possible sources of a problem. When testing scientific frameworks, additionally a large variety of mathematical algorithms and possible applications for the framework has to be handled. We propose to use concepts of software product line engi...