48 research outputs found

    Continuous Management of Requirement Decisions Using the ConDec Tools

    Get PDF
    Context and motivation: While eliciting, prioritizing, and implementing requirements, requirements engineers and developers continuously make decisions. They establish important decision knowledge that needs to be documented and exploited, i.e., thoroughly managed, so that it contributes to the evolution and future changes of a software system. Question/problem: The management of decision knowledge is difficult for various reasons: 1) The documentation process is an additional effort, i.e., it is intrusive in the development process. 2) The documented knowledge can be of low quality in terms of completeness and consistency. 3) It might be distributed across many documentation locations, such as issue comments and commit messages, and thus difficult to access and use. Principal ideas/results: Continuous software engineering (CSE) emerged as a development process that involves frequent, incremental decision making, implementation, and validation of requirements. During CSE, requirements engineers and developers implicitly document decision knowledge during established practices, such as committing code, working with issues in an issue tracking system, or conducting meetings. That means that CSE offers opportunities for the non-intrusive capturing of decision knowledgein various documentation locations. Contribution: We develop the ConDec tools (https://se.ifi.uni-heidelberg.de/condec.html) that support requirements engineers and developers in documenting and exploiting decision knowledge directly within the tools they use, such as issue tracking and wiki systems, related to various software artifacts, such as requirements and code, and during change impact analysis

    Continuous Rationale Management

    Get PDF
    Continuous Software Engineering (CSE) is a software life cycle model open to frequent changes in requirements or technology. During CSE, software developers continuously make decisions on the requirements and design of the software or the development process. They establish essential decision knowledge, which they need to document and share so that it supports the evolution and changes of the software. The management of decision knowledge is called rationale management. Rationale management provides an opportunity to support the change process during CSE. However, rationale management is not well integrated into CSE. The overall goal of this dissertation is to provide workflows and tool support for continuous rationale management. The dissertation contributes an interview study with practitioners from the industry, which investigates rationale management problems, current practices, and features to support continuous rationale management beneficial for practitioners. Problems of rationale management in practice are threefold: First, documenting decision knowledge is intrusive in the development process and an additional effort. Second, the high amount of distributed decision knowledge documentation is difficult to access and use. Third, the documented knowledge can be of low quality, e.g., outdated, which impedes its use. The dissertation contributes a systematic mapping study on recommendation and classification approaches to treat the rationale management problems. The major contribution of this dissertation is a validated approach for continuous rationale management consisting of the ConRat life cycle model extension and the comprehensive ConDec tool support. To reduce intrusiveness and additional effort, ConRat integrates rationale management activities into existing workflows, such as requirements elicitation, development, and meetings. ConDec integrates into standard development tools instead of providing a separate tool. ConDec enables lightweight capturing and use of decision knowledge from various artifacts and reduces the developers' effort through automatic text classification, recommendation, and nudging mechanisms for rationale management. To enable access and use of distributed decision knowledge documentation, ConRat defines a knowledge model of decision knowledge and other artifacts. ConDec instantiates the model as a knowledge graph and offers interactive knowledge views with useful tailoring, e.g., transitive linking. To operationalize high quality, ConRat introduces the rationale backlog, the definition of done for knowledge documentation, and metrics for intra-rationale completeness and decision coverage of requirements and code. ConDec implements these agile concepts for rationale management and a knowledge dashboard. ConDec also supports consistent changes through change impact analysis. The dissertation shows the feasibility, effectiveness, and user acceptance of ConRat and ConDec in six case study projects in an industrial setting. Besides, it comprehensively analyses the rationale documentation created in the projects. The validation indicates that ConRat and ConDec benefit CSE projects. Based on the dissertation, continuous rationale management should become a standard part of CSE, like automated testing or continuous integration

    Comprehensive and Targeted Access to and Visualization of Decision Knowledge

    Get PDF
    [Context & Motivation] Developers need to document decisions and related decision knowledge during the software development process. This ensures that future decisions can be assessed in the right context and past decisions can be retraced and understood. The documentation of decision knowledge encompasses all aspects that comprise a decision, including the problem, alternatives, arguments for and against these alternatives, and the selected solution. Since the value of the documentation is not immediately apparent, it is important to provide tools that allow easy documentation and coherent visualization of the documented knowledge. It also demands maintenance of the documentation to ensure consistency and completeness. [Contributions] This thesis provides a problem investigation, a treatment design, and an evaluation concerning the management and visualization of documented decision knowledge. The problem investigation was done in the form of a literature review on current approaches towards the grouping of decision knowledge. The results of the review show that decision grouping is often merely a small part of larger frameworks. These frameworks either use predefined labels for their groups or allow the users to freely select group names. The practical contributions in this thesis are the extension of the Jira ConDec plug-in, which provides features for the documentation and visualization of decision knowledge within Jira. In particular, a grouping possibility for decisions as well as respective views and filters were added to this plug-in. To keep the necessary time spent on the documentation process as low as possible, it was decided to use a mix of fixed groups, in the form of different decision levels and custom groups, which the user is free to assign. New views were implemented which allow users to see relationships between source code and Jira issues and a dashboard is built, which can be used to assess the completeness of decision knowledge within a Jira project. The implementation was preceded by a specification of requirements and a design phase. Extensive testing, including system and component tests, were part of the quality assurance phase. Lastly, an evaluation was done by creating and analysing a gold standard of decision knowledge documentation and a survey with developers who provided feedback on the plug-in extension. [Conclusions] The main focus of the thesis was to improve the visualization of relationships between knowledge elements. The evaluation showed that especially those views, creating connections between Jira elements and code classes were highly anticipated by ConDec users, as support for this form of visualization did not exist. The newly implemented features were almost uniformly evaluated positively. Some concerns were expressed about a need for even more information to be displayed within the views. This was a result of the compromise between a wealth of information and a possible overload in individual views. Evaluation of the responsiveness and time behaviour of the newly implemented features also showed that loading times were passable but require more focus in future works to improve the user experience thoroughly

    Sharing and Exploiting Requirement Decisions

    Get PDF
    Continuous software engineering is an agile development process that puts particular emphasis on the incremental implementation of requirements and their rapid validation through user feedback. This involves frequent and incremental decision making, which needs to be shared within the team. Requirements engineers and developers have to share their decision knowledge since the decisions made are particularly important for future requirements. It has been a vision for long that important decision knowledge gets documented and shared. However, several reasons hinder requirements engineers and developers from doing this, for example, the intrusiveness and overhead of the documentation. Current software development tools provide opportunities to minimize the overhead. Issue tracking and version control systems offer lightweight documentation locations, such as issue comments, commit messages, and code comments. With ConDec, we develop tool support for the continuous management of decision knowledge that uses techniques for natural language processing and integrates into tools that developers often use, for example, into the issue tracking system Jira. In this work, we focus on how ConDec enables requirements engineers and developers to share and exploit decision knowledge regarding requirements

    Teaching Rationale Management in Agile Project Courses

    Get PDF
    Rationale management is beneficial since it supports decision-making and prevents knowledge vaporization. To apply rationale management, developers need to know how to systematically capture rationale and how to exploit the documentation. We believe that teaching these skills to students further integrates rationale management into the daily work of developers and has positive effects on both the software development process and on the quality of the software. In this paper, we report on a lecture on teaching rationale management to students. In this lecture, students are introduced to a rationale model, to capture and exploitation methods, and tool support for rationale management. The goal is to motivate them to apply rationale management. We present the students' results as well as their attitude and feedback towards the applied methods. Further, we sketch how rationale management will be applied during the semester

    Sovereign Digital Consent through Privacy Impact Quantification and Dynamic Consent

    Get PDF
    Digitization is becoming more and more important in the medical sector. Through electronic health records and the growing amount of digital data of patients available, big data research finds an increasing amount of use cases. The rising amount of data and the imposing privacy risks can be overwhelming for patients, so they can have the feeling of being out of control of their data. Several previous studies on digital consent have tried to solve this problem and empower the patient. However, there are no complete solution for the arising questions yet. This paper presents the concept of Sovereign Digital Consent by the combination of a consent privacy impact quantification and a technology for proactive sovereign consent. The privacy impact quantification supports the patient to comprehend the potential risk when sharing the data and considers the personal preferences regarding acceptance for a research project. The proactive dynamic consent implementation provides an implementation for fine granular digital consent, using medical data categorization terminology. This gives patients the ability to control their consent decisions dynamically and is research friendly through the automatic enforcement of the patients’ consent decision. Both technologies are evaluated and implemented in a prototypical application. With the combination of those technologies, a promising step towards patient empowerment through Sovereign Digital Consent can be made

    Modelling Self-managing Multi Agent Systems Using Norms

    Get PDF

    DecXtract: Dokumentation und Nutzung von Entscheidungswissen in JIRA-Issue-Kommentaren

    Get PDF
    [Kontext und Motivation] Zur Entwicklung eines Softwaresystems benötigen EntwicklerIn- nen Wissen über die Evolution der zugehörigen Softwareartefakte. EntwicklerInnen müssen bei- spielsweise vorangegangene Quellcodeänderungen verstehen, um eine neue Anforderung bzw. ei- ne ¨ Anderung an einer bestehenden Anforderung zu implementieren. Dabei spielt Entscheidungs- wissen eine zentrale Rolle für die erfolgreiche Evolution eines Softwaresystems: EntwicklerInnen benötigen Wissen zu bereits getroffenen Entscheidungen, um eigene Entscheidungen zu treffen. Um neuen EntwicklerInnen in einem Softwareprojekt den Zugriff auf dieses Entscheidungswis- sen zu ermöglichen, ist es wichtig, dass Projektbeteiligte Entscheidungen dokumentieren. Dafür nutzen sie verschiedene Dokumentationsmöglichkeiten und halten Entscheidungswissen häufig informell in Commitnachrichten, Chatnachrichten oder Kommentaren fest. [Beitr¨ age] Diese Masterarbeit umfasst eine systematische Literaturrecherche, die Entwick- lung des JIRA-Plug-Ins DecXtract sowie einen Datensatz als Goldstandard zur Evaluation. Die systematische Literaturrecherche beantwortet die Frage, welches Wissen EntwicklerInnen für das Verständnis von Quellcodeänderungen benötigen und welche Rolle Entscheidungswis- sen dafür spielt. Neben einer Liste mit konkreten Fragen, die EntwicklerInnen zu einer Quell- codeänderung stellen, zeigt die Literaturrecherche, dass EntwicklerInnen explizites Entschei- dungswissen benötigen, dieses aber nicht dokumentiert oder auffindbar ist. Um Entscheidungs- wissen in Kommentaren explizit zu machen und seine Auffindbarkeit zu verbessern, wird das Entscheidungsdokumentationstool ConDec für JIRA um die Komponente DecXtract erweitert. DecXtract ermöglicht EntwicklerInnen, Text in Kommentaren von JIRA-Issues automatisch als Entscheidungswissen zu klassifizieren sowie eigene Kommentare manuell als explizites, klassi- fiziertes Entscheidungswissen zu dokumentieren. EntwicklerInnen können Entscheidungswissen in Kommentaren zu bestehenden Softwareartefakten wie Anforderungen, Entwicklungsaufga- ben oder anderem Entscheidungswissen verlinken. So entsteht ein integriertes Wissensmodell mit explizit dokumentiertem Entscheidungswissen. Dieses integrierte Modell wird als Graph visualisiert und bietet NutzerInnen verschiedene Möglichkeiten zur Verwaltung. Eine Befragung von EntwicklerInnen, die ebenfalls am ConDec-Projekt beteiligt sind, zeigt die Eignung von DecXtract zur Dokumentation von Entscheidungswissen. Zur Evaluation wird ein JIRA-Projekt mit 90 JIRA-Issues des Apache LUCENE Projektes erzeugt. Mit Hilfe von DecXtract wird informelles Entscheidungswissen aus den JIRA-Issue-Kommentaren explizit an- gelegt und miteinander verlinkt. Anhand der identifizierten Fragen von EntwicklerInnen an eine Quellcodeänderung wird das von DecXtract bereitgestellte Wissen genutzt um das Verständnis von Quellcodeänderungen zu evaluieren. [Schlussfolgerung] DecXtract verbessert die Entscheidungsdokumentation durch die Klassifi- kation von Entscheidungselementen in JIRA-Issue-Kommentaren. Durch das präsentierte Ent- scheidungswissen können EntwicklerInnen immer den aktuellen Stand einer Diskussion und des dazugehörigen Entscheidungsproblems beobachten. Wenn eine Quellcodeänderung mit einem JIRA-Issue verlinkt ist, können EntwicklerInnen das Entscheidungswissen zu einer Quellco- deändeurng betrachtet. Dieses Wissen unterstützt EntwicklerInnen beim Verständnis der Quell- codeänderung

    Automated deployment of machine learning applications to the cloud

    Get PDF
    The use of machine learning (ML) as a key technology in artificial intelligence (AI) is becoming more and more important in the increasing digitalization of business processes. However, the majority of the development effort of ML applications is not related to the programming of the ML model, but to the creation of the server structure, which is responsible for a highly available and error-free productive operation of the ML application. The creation of such a server structure by the developers is time-consuming and complicated, because extensive configurations have to be made. Besides the creation of the server structure, it is also useful not to put new ML application versions directly into production, but to observe the behavior of the ML application with respect to unknown data for quality assurance. For example, the error rate as well as the CPU and RAM consumption should be checked. The goal of this thesis is to collect requirements for a suitable server structure and an automation mechanism that generates this server structure, deploys the ML application and allows to observe the behavior of a new ML application version based on real-time user data. For this purpose, a systematic literature review is conducted to investigate how the behavior of ML applications can be analyzed under the influence of real-time user data before their productive operation. Subsequently, in the context of the requirements analysis, a target-performance analysis is carried out in the department of a management consulting company in the automotive sector. Together with the results of the literature research, a list of user stories for the automation tool is determined and prioritized. The automation tool is implemented in the form of a Python console application that enables the desired functionality by using IaC (Infrastructure as code) and the AWS (Amazon Web Services) SDK in the cloud. The automation tool is finally evaluated in the department. The ten participants independently carry out predefined usage scenarios and then evaluate the tool using a questionnaire developed on the basis of the TAM model. The results of the evaluation are predominantly positive and the constructive feedback of the participants includes numerous interesting comments on possible adaptions and extensions of the automation tool
    corecore