Bachelor-, Master-Arbeiten, sowie Praktika die bisher am Lehrstuhl durchgeführt wurden
Masterarbeiten
2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
2024
Automatically Relating Feedback and Existing Requirements
Betreuer | |
---|---|
Bearbeiter | Benjamin Tuna |
Beschreibung | Context and Motivation: In software development, user feedback plays a pivotal role in advancing applications to meet evolving user expectations. Managing diverse feedback sources poses a challenge in filtering and processing this abundance of information. Current approaches aim to for example automate the identification of relevant user feedback but often overlook the aspect of the relationship between feedback and existing software requirements. This is crucial to understanding the impact of feedback on requirements and implementing changes effectively. This approach enables contextual analysis and contributes to the further development and improvement of software applications. Given the inherent challenge of directly establishing relationships of feedback to requirements, where developers and users may use different terminology due to disparate knowledge levels, the TORE framework could prove to be a valuable tool. By pre-classifying feedback and reducing the number of potential requirements, TORE can help bridge the semantic gap between developers and users. Contributions: This Master’s thesis addresses this gap by proposing a solution that automatically establishes a relationship between user feedback and existing requirements. The primary objective is to develop a algorithm leveraging pretrained large language models, specifically integrating a BERT classifier and refining the classification process using the TORE framework. Feedback and requirements should be managed in a dashboard in order to establish the relationships. The relationships are then evaluated. Results: The outcome of this work includes the implementation of the dashboard into the Feed.UVL project, where feedback and existing requirements are imported. Their semantic similarity is classified and subsequently calculated with the assistance of a BERT model. Furthermore, the classification process is refined by integrating the TORE framework to assess whether it enhances the quality of automation. For the similarity calculation, a threshold of 85% match was set, achieving a recall of 47%, a precision of 40%, and an f1-score of 38%. Through pre-classification with TORE, at the same threshold, a recall of 47%, a precision of 39%, and an f1-score of 37% were also achieved. |
Multi-Stage Software Aspect Classification
Betreuer | |
---|---|
Bearbeiter | Lukas Bockstaller |
Beschreibung | Context & Motivation: User feedback from app store reviews and forum comments can be used to evaluate software requirements and implementation. A potential method for correlating feedback with requirements is the Task-Oriented Requirements Engineering- Framework(TORE). However, the amount of work required by developers to extract the information in user feedback from public sources makes this prohibitive. Previous efforts to automate information identification by classifying user feedback using a taxonomy derived from TORE did not perform adequately, which is attributed to the available training dataset size and a large number of categories in the taxonomy. A potential offset could be to leverage the structure of the taxonomy, which groups categories into groups called levels. A classifier system capable of assigning levels in the first categories in the subsequent step while using the level labels from the first stage could improve performance. Contributions: This thesis makes four major contributions. Firstly, a user feedback dataset based on Komoot Android app reviews is annotated. Secondly, a literature search is conducted, compiling research regarding multi-stage classifier systems used to classify natural language user feedback in the context of software-related taxonomies. Thirdly, an experiment and model management tool is integrated into the Feed.UVL infrastructure to support many experiments and large language models. Lastly, a set of TORE classifiers are implemented and evaluated, including a single-stage BERT classifier and combinations of SNER, Bi-LSTM, and BERT classifiers for two-stage classification. Results: MLflow, an existing experiment and model management tool, is integrated into Feed.UVL. The implemented BERT-based classifiers outperformed the existing SNER and Bi-LSTM classifiers both in the single-stage and first-stage level classification setting. The single-stage classifier achieved a precision of 0.659, recall of 0.636, and F1 of 0.647, while the first-stage classifier achieved a precision of 0.776, recall of 0.784, and F1 of 0.78. The two-stage classification did not realize any performance gains in comparison to the single-stage BERT classifier. |
Analysis of Software Usage Behaviour in SMART-AGE
Betreuer | |
---|---|
Bearbeiter | Daniela Tratz-Weinmann |
Beschreibung | The interdisciplinary SMART-AGE research project studies, how digital technologies can support older people. To be able to improve the different applications, that are used to support older people, it is necessary to gather information about their requirements. For this reason, feedback of the study partners is collected and used as basis for deriving their requirements, including ideas for improvements and new features. Due to the amount of feedback, it is necessary to develop a systematic approach for the classification of the feedback and deriving of the requirements. The classification is not only useful for finding the requirements of the study partners butcan also be used for other tasks such as finding correlations with their usage behaviour. The goal of this thesis is to find metrics for measuring usage behaviour and then to find correlations with the classified feedback, supported by appropriate visualizations. To fulfil this goal, first a systematic literature search is conducted, to find metrics that can be used for measuring usage behaviour. Then asubset of these metrics is chosen, based on their suitability for measuring the usage behaviour in the context of SMART-AGE specifically, since not all metrics can be used with the available monitoring data. The next step is to decide which correlations between the metrics and the feedback quality and quantity make sense to examine. Then python code is developed to calculate the metrics and correlations and to produce visualizations for them. These results are analysed to see which correlations are significant and with which effect size. Finally, the visualizations and correlations are evaluated by the supervisor of this thesis and any improvements are implemented. |
2023
Ableitung von Anforderungen aus Nutzerfeedback
Betreuer | |
---|---|
Bearbeiter | Dennis Scherbatschenko |
Beschreibung | In the field of software engineering, requirements play a crucial role in the development of software applications. User feedback serves as a valuable source of information for such requi- rements, as it provides direct feedback on the software and its functionalities. User feedback can take various forms, such as opinions, suggestions, problem descriptions, or requests for new features. It enables the evaluation of user experience, identification of weaknesses, and adap- tation of the software to meet the actual needs of users. Today, Requirement Engineers have various methods for effectively capturing and analyzing user feedback. Automated processes and artificial intelligence facilitate the rapid analysis of large amounts of feedback. However, automated processes often struggle to fully capture and interpret the context and nuances of user expressions. Consequently, manual derivation of requirements from user feedback presents an alternative option. Yet, a comprehensive description of such a manual process is currently lacking in the scientific literature. Therefore, this work aims to develop a manual process that enables the derivation of requirements from user feedback, thus creating a comprehensive and structured foundation for software development. The present work begins with an extensive literature review, which, however, does not identify relevant sources for the manual derivation of requirements from user feedback. Subsequently, three Jira projects related to three apps from the SMART-AGE study are examined in detail. By completing existing requirements, identifying new requirements, and developing improve- ment proposals, a more comprehensive understanding of the specific apps and their domains is obtained. Following that, the developed derivation process is presented in detail. This pro- cess consists of multiple steps, each of which is explained using concrete examples. To support the process, an Excel template is presented, enabling a step-by-step execution of the process. This template includes various worksheets that facilitate efficient organization, analysis, and grouping of feedback. Finally, the developed derivation process is evaluated using a real dataset of user feedback. This evaluation involves deriving new requirements and requirement chan- ges, explaining experiences from applying the process, and presenting possible suggestions for extension and improvement. In retrospect, the results demonstrate that while the developed derivation process is not flawless and has room for optimization, it represents a significant step towards an effective, structured, and manual approach to obtaining requirements from user feedback |
Visualising crowdsourced user feedback in SMARTAGE
Betreuer | |
---|---|
Bearbeiter | Colin Otchere |
Beschreibung | Society is facing significant challenges as a result of demographic changes. In recent decades, there has been a consistent increase in life expectancy, which has particularly impacted elderly individuals. While this is a positive trend, it is important to note that ensuring the overall well-being of older people requires attention to both their physical and mental health. Loneliness is a common issue experienced by many older adults, and this problem has been further increased during the COVID-19 pandemic. However, with the advancements in technology available today, there are potential solutions to support this group. The SMARTAGE project aims to investigate the potential improvements in the quality of life for older adults through the implementation of a well-designed and interconnected set of intelligent assistive systems (IAS). The project focuses on three key areas: social integration and participation, physical and cognitive health including prevention, and well-being and ageing experience. The IAS include a tablet-based app for example social networking and participation or health counselling. The research is conducted in Heidelberg and Mannheim in the Rhein-Neckar region of Germany. For the SMARTAGE project, two apps, smartIMPULS and smartVERNETZT were developed to cover parts of these objectives. To gain a deeper understanding of the usage and potential improvements of the mentioned apps, it is valuable to examine the feedback of the study partners (crowd). The objective of this work is to develop a tool that aids researchers in the SMARTAGE project to understand the use of the apps and to improve the apps. To establish existing research on feedback representation and explore potential visu- alisation approaches, an extensive literature research was conducted. Subsequently, a requirements analysis was carried out involving researchers of the SMARTAGE project. This analysis aimed to determine the tool’s scope and necessary features. Using in- sights from the literature review and requirements analysis, a Python-based tool was developed for the interactive Jupyter Notebook platform. Following implementation, the tool underwent evaluation by researchers involved in the SMARTAGE project. Dur- ing the evaluation phase, researchers had the opportunity to test the tool within specific scenarios over a designated period. Based on their experience, the researchers assessed the tool according to the Technology Acceptance Model (TAM) and provided feedback for further enhancements and optimisations. |
2022
Suggest acceptance criteria of similar user stories
Betreuer | Astrid Rohmann |
---|---|
Bearbeiter | Jannik Brand |
Beschreibung | For most agile projects, software requirements are documented in the form of user stories. This involves defining acceptance criteria that specify when a user story is completed. To support software developers in documenting acceptance criteria, the similarities between user stories can be analyzed. In this way, the acceptance criteria of similar user stories can be determined and reused for other user stories. Several Natural Language Processing (NLP) methods for computing semantic similarity between requirements, especially user stories, are researched and compared. As a result of this thesis, a software tool is provided which implements some of the NLP methods that have shown the most promising performance in related literature. The tool is integrated into an existing system called Feed.UVL, which provides several algorithms for the analysis of requirements. The evaluation is performed on two different datasets of real software projects. All pairwise similarities between user stories are calculated and compared with a ground truth. The best performance is provided by an NLP method based on the Vector Space Model (VSM), the Term Frequency-Inverse Document Frequency (TF-IDF) and the cosine similarity. For one of the datasets, a F1-score of 0.651 can be obtained for this technique. A Word2vec-based approach performs slightly worse with a score of 0.567. The worst performance is provided by an NLP method based on WordNet with an F1-score of 0.501. The evaluation based on the second dataset confirms this ranking, even if the F1-scores (0.471, 0.43, 0.373) are significantly lower. For all techniques, a precision up to 1 can be achieved, although in this case large reductions to the recall have to be accepted. For this reason, there are configuration possibilities presented which allow the user to decide for himself what the desired balance between precision and recall should be. |
Entwicklung einer Low-Code Webanwendung mit Hilfe von SAP-Programmiermodellen
Betreuer | Barbara Paech |
---|---|
Bearbeiter | n.a |
Beschreibung | Sperrvermerk |
Utilization of Deep Learning for the Automatic Classification of Software Aspects
Betreuer | Michael Anders |
---|---|
Bearbeiter | Eileen Dickson |
Beschreibung | Context and Motivation: Users give natural language feedback for software in online forums, which can be used by developers to create requirements. In order to categorize user feedback into categories which are relevant for requirements engineering, feedback can be classified into different categories. One such approach is the classification into dif- ferent software aspects. The TORE framework provides a basis for such a classification. The classification can be done manually by creating codes containing TORE categories for tokens, which can be done by one or multiple raters on the same documents. In order to limit mistakes stemming from the raters, the classifications can be compared by creating inter-rater agreements. This comparison can be supported by tools, which can simplify the process of resolving disagreements. However, manual classification is cost- and time-intensive. Therefore an algorithm is needed for the automatic classification of natural language user feedback into TORE-categories. Contributions: This thesis contains three major contributions. Firstly, a tool support is provided for the comparison of an arbitrary number of annotations of the same dataset. Disagreements can be resolved by accepting or declining codes assigned to words. Ad- ditionally, agreement overviews as well as statistics are provided. Secondly, a literature review is conducted on automatic deep-learning-based classification of natural language user feedback from online forums. The review shows that many approaches use binary classification as a basis, although some use multi-class classification. Most of them use some kind of pre-processing, Word2Vec for word embeddings, and a neural network for the classification. Lastly, a classifier is implemented, based on a Bi-LSTM model for the automatic classification of natural language texts into TORE-categories. The classifier is trained on a manual annotation of forum data, and subsequently evaluated. Results: A tool for the comparison of annotations is developed and implemented in Feed.UVL, and the quality is assured through extensive system tests and an informal usability test. The tool reuses existing views and functionalities, and is user-friendly in design, due to the use of multiple tool-tips and standardized icons. The underlying microservice architecture simplifies possible future extension of the algorithm. The automatic classification tool, based on a deep learning algorithm, is also implemented into Feed.UVL, and reuses the existing views and functionalities for the classification results. The accuracy achieved over all classes is about 52.74%, with a recall of 53.47%, precision of 54.59% and F1-score of 53.78%, which is mainly due to the small amount of training data, as well as a poorly chosen test dataset. |
Applying Machine Learning to the Automatic Classification of Software Aspects
Betreuer | Michael Anders |
---|---|
Bearbeiter | Johannes Wenzel |
Beschreibung | [Context & Motivation] Users of software express feedback in online forums. Forums such as the Reddit forum are well suited as sources for large datasets of user feedback. Among other things, researchers in requirements engineering use this data to analyze what software aspects users refer to when giving feedback on software. For this analysis, the annotation of datasets is a suitable technique to extract information. However, the manual generation and annotation of such datasets is immensely time-consuming. Researchers greatly benefit from the automation of dataset generation and analysis. [Contributions] A method for the automation of the generation and classification of software aspects in forum datasets is provided in this thesis. This is done in the context of the Feed.UVL web application that is used for research on user feedback. The contribution of this work to Feed.UVL is the automation of the dataset generation from the Reddit online forums and the automation of the processing of software aspects in natural-language datasets. The automatic dataset generation is implemented as a forum crawler for the Reddit online forum. To make the generated datasets as relevant as possible, several options for filtering and pre-processing are provided. To get an overview of the contemporary research in this field, a literature research has been conducted as part of this work. The automatic processing of datasets is based on a machine learning classifier that augments natural-language datasets with semantic information using named-entity-recognition. As part of this work, the classifier has been trained and evaluated. For each added service, steps for quality assurance were performed and documented. [Conclusions] The scope of this work was twofold: First, tool support for the auto- matic generation of natural-language datasets in short time periods was created in the form of a Reddit forum crawler. Second, a classifier for the automatic software aspect classification of natural-language data has been implemented and evaluated. With this classifier, it is possible to analyze large datasets with significantly less time and effort. The classifier uses Stanford NER, which is a state-of-the-art machine learning algo- rithm for named-entity-recognition. The average performance of the classifier could be improved with an F1-score of 0.636 which could be improved with more training data. This proves the general suitability of the selected algorithm for the task. Both services were tested during development and in the final stage of the project. |
Generierung von Akzeptanzkriterien aus User Stories
Betreuer | Astrid Rohmann |
---|---|
Bearbeiter | Marvin A. Ruder |
Beschreibung | [Kontext und Motivation] Eine weit verbreitete Methode zur Dokumentation von Anforderungen in der Softwareentwicklung sind User Stories. Eine Erwei- terung dieser Form ist durch Akzeptanzkriterien gegeben. Sie erweitern und verfeinern User Stories um konkrete Bedingungen, die nach der Umsetzung der User Story erfüllt sein müssen. Um den zusätzlichen Aufwand der Formu- lierung von Akzeptanzkriterien zu verringern, ist es Ziel dieser Arbeit, einen Algorithmus zur automatisierten Generierung von Akzeptanzkriterien zu konzi- pieren, implementieren und evaluieren. [Beiträge] Als erster Schritt in die Richtung zu automatisiert generierten Ak- zeptanzkriterien wird ein Werkzeug entwickelt, das mithilfe eines regelbasier- ten Ansatzes und unter Anwendung verschiedener NLP-Technologien zu User Stories ein Akzeptanzkriterium aus Vorbedingungen, Aktionen und erwarteten Ergebnissen in Gherkin-Notation erstellt. Dabei werden Informationen zur Rol- le sowie zur aktiven Benutzeroberfläche als Vorbedingung sowie kausale Zu- sammenhänge als Aktion mit zugehörigem erwarteten Ergebnis formuliert. Das Werkzeug ist Teil von „Feed.UVL“, einemTool zur automatisierten Sprachverar- beitung. Anhand eines Datensatzes an User Stories der Firma andrena objects ag wird die Qualität der Implementierung evaluiert und mit einer zuvor manu- ell erstellten Ground Truth verglichen. Eine Befragung von Mitarbeiter:innen der andrena objects ag ermöglicht die Beurteilung eines zukünftigen Einsatzes des Werkzeugs im Produktivbetrieb und zeigt zukünftige Erweiterungen und Verbesserungen auf. [Schlussfolgerungen] Das entwickelte Werkzeug erlaubt es Entwickler:in- nen, zu einer User Story ein Gherkin-Akzeptanzkriterium zu erzeugen, und nimmt ihnen die Arbeit ab, dieses selbst zu formulieren. Nutzer:innen desWerk- zeugs werden außerdem auf eine fehlerhaft eingesetzte Syntax in User Stories hingewiesen, die zu Problemen bei der Akzeptanzkriteriums-Generierung füh- ren kann, und erhalten Hinweise zur Verbesserung. Die jeweiligen Teile der generierten Akzeptanzkriterien erzielen im Vergleich zur manuell definierten Ground Truth Werte für Precision und Recall zwischen 87,6 und 99,9 Prozent. In der Befragung von andrena-Mitarbeiter:innen konnte festgestellt werden, dass ein Einsatz des Werkzeugs in dortigen Projekten grundsätzlich möglich scheint, jedoch teilweise Anpassungen an der Art undWeise der Anforderungs- dokumentation erfordert. Weitere Erkenntnisse aus der Befragung zeigen Mög- lichkeiten zur zukünftigen Verbesserung und Erweiterung von Werkzeug sowie Algorithmus auf. |
2021
Supporting Social Interaction and Participation of Older Adults Through Technology
Betreuer | Leon Radeck |
---|---|
Bearbeiter | Moritz Bührer |
Beschreibung | The demographic change is in full progress. The society is getting increasingly older which poses many threats. One of those threats is social isolation. Especially older adults who live alone are facing this issue. Social isolation in most cases leads to a poorer quality of life. Further consequences might be the development of psychical and physical problems, cognitive decline and even increasing mortality. Hence, this development must be counteracted. A solution to this problem might be given through the usage of technology. Technology o ers to inform about various topics, connect people who life far apart and help organising daily lives. Subsequently, technology can be a substantial part of improving the quality of life for older adults. To prove if this is the case, the Heidelberg University conducts the SMART-AGE study which investigates how technology can improve the quality of life for older adults. As part of this study the Personal Reminder Information and Social Management (PRISM) application is to be developed. This application focuses on improving social participation, information providing, self-organisation and entertainment for older adults. As a rst goal of this thesis a systematic literature search is conducted to answer the research question of how to motivate people to give feedback. This literature search revealed several factors which have a motivating e ect on the user. Subsequently, requirements for the PRISM application are elicited by conducting interviews with four members of the SMART-AGE project. Based on the interview answers, concrete requirements are extracted and presented. For the requirements extraction the task and object-oriented requirements engineering (TORE) framework is applied. The gained results are used in order to design and implement the PRISM application. Moreover, the quality of the application is assured with the implementation of several tests. The implementation resulted in three frontend and two backend applications. Following on, the implemented applications are evaluated. For this evaluation ve participants worked through de ned scenarios and answered a questionnaire which was developed on the basis of the Technology Acceptance Model (TAM). The overall positive results suggest that the requirements are satisfactorily covered. Besides that, interesting enhancement and improvement ideas were posed, which are in turn to be evaluated and eventually implemented in future research. These results lead to the assumption that the PRISM application is successfully implemented. |
Health assessment and recommendation for older adults
Betreuer | Leon Radeck |
---|---|
Bearbeiter | Robert Jakobs |
Beschreibung | The demographic change is confronting society with growing challenges. Elderly people are affected by this development in particular, due to the consistent increase in life expectancy in recent decades. More and more of them require support in their daily lives. Many also experience loneliness more frequently—especially during the COVID-19 pandemic. This specifically affects their quality of life in many regards. However, given the technological advances of our time, this group of people could be helped. The SMART-AGE project—a collaboration by the Heidelberg University and other institutions— targets these tensions by linking multiple software and hardware solutions together to improve the life-quality and overall well-being of older adults. As part of the project, this thesis presents a solution called SmartImpuls, a web-platform which is available to older adults via tablets. It aims to provide suitable health-recommendations based on a person’s physical- and psychological condition to prevent critical health-situations and improve their overall well-being. To achieve this goal, this thesis features a systematic literature review to investigate the effects of gamification in software applications with regards to increased usage. Furthermore, a requirement analysis together with members of the project was performed to define the solution’s scope in form of TORE specifications. By incorporating the insights of the literature review and the collected requirements, a JavaScript application on Kubernetes was developed. To increase the usage of the application, it features several gamification elements like a progress-bar, badges and feedback. Finally, the implemented solution was evaluated with members of the project. During the evaluation, they independently worked on predefined usage scenarios, which cover the usual tasks that should be carried out inside the application. Afterwards, the participants answered a questionnaire that was created based on the Technology Acceptance Model. It resulted in 65% positive answers, 20% neutral and 15% negative ones. The ratings were commented by the participants with numerous extensions to further optimize the application, which can be addressed in future development efforts. |
Tool Support for the Automatic Analysis of Natural Language User Statements
Betreuer | Michael Anders |
---|---|
Bearbeiter | Johannes Daub |
Beschreibung | [Kontext und Motivation] Entwickler müssen die Anforderungen von Software-Nutzern, die |
Unterstützung der Analyse von Änderungsauswirkungen auf Graphen von Wissenselementen
Betreuer | Anja Kleebaum |
---|---|
Bearbeiter | Klaus Yan |
Beschreibung | [Kontext und Motivation] Während des Software-Entwicklungsprozesses treffen die Beteiligten zahlreiche Entscheidungen und eignen sich wichtiges Entscheidungswissen an, das neben den Entscheidungen unter anderem auch die Entscheidungsprobleme, Alternativen und Argumente umfasst. Diese Entscheidungen sind nicht unveränderlich. Neue Anforderungen oder das Betrachten neuer Alternativen für bereits getroffene Entscheidungen z.B. durch neue Technologien führen zu Änderungsanfragen und zu sich kontinuierlich ändernden Softwareartefakten wie Code, Architekturmodellen, dokumentiertem Entscheidungswissen und anderer Softwaredokumentation. Je größer ein Softwaresystem wird, desto schwieriger ist es Änderungsauswirkungen vollständig zu erfassen. Eine Änderung kann zu einer inkonsistenten und unvollständigen Dokumentation führen, wenn nicht alle von der Änderung betroffenen Softwareartefakte überarbeitet bzw. neu dokumentiert werden. Dieser Prozess setzt sich mit jeder Änderungsanfrage fort. Da für die korrekte Abschätzung von Änderungsauswirkungen eine hohe Dokumentationsqualität nötig ist, führen inkonsistent durchgeführte bzw. unvollständig dokumentierte Änderungen zu immer schlechter abschätzbaren Änderungsauswirkungen. Es ist daher wichtig, das dokumentierte Wissen konsistent und vollständig zu halten, um die Ermittlung von Änderungsauswirkungen besser zu unterstützen. |
Vorschlagsmechanismus für Lösungsoptionen zu Entscheidungsproblemen in der Softwareentwicklung
Betreuer | Anja Kleebaum |
---|---|
Bearbeiter | Paul Zubrod |
Beschreibung | Bei der Softwareentwicklung treffen EntwicklerInnen kontinuierlich Entscheidungen, die sie dokumentieren und kommunizieren müssen, um sie anderen SoftwareentwicklerInnen zugänglich zu machen. Dadurch lässt sich die Software besser weiterentwickeln und instand halten. Mithilfe eines Entscheidungsdokumentationsmodells können Entscheidungsprobleme mit verschiedenen Lösungsoptionen und Argumenten dokumentiert werden. Ein Problem ist, dass EntwicklerInnen z.B. aufgrund kognitiver Verzerrungen wie dem Ankereffekt alternative Lösungsoptionen außer Acht lassen. Das hat zur Folge, dass sie 1) Entscheidungen nicht optimal treffen, weil sie die falsche Lösungsoption wählen oder/und 2) die Dokumentation unvollständig ist, weil nur die Lösung beschrieben wurde und keine Alternativen. Dadurch können Entscheidungen für andere EntwicklerInnen nicht nachvollziehbar sein. In dieser Arbeit wird daher ein Vorschlagsmechanismus für Lösungsoptionen zu Entscheidungsproblemen entwickelt, welcher EntwicklerInnen in der Entscheidungsfindung und Dokumentation unterstützen soll. Der Vorschlagsmechanismus bezieht seine Daten dabei aus verschiedenen Wissensquellen wie der DBPedia-Ontologie und anderen Softwareprojekten. Zunächst wird eine systematische Literaturrecherche durchgeführt, um herauszufinden, welche bekannten Mechanismen zur Unterstützung der Entscheidungsfindung existieren. Die Ergebnisse der Recherche fließen mit in die Anforderungsanalyse und den Entwurf des Vorschlagsmechanismus ein. Der Vorschlagsmechanismus wird in das bestehende ConDec-Jira-Plugin integriert und die dadurch entstandene Erweiterung des Plugins durch eine NutzerInnenumfrage evaluiert. Die Wissensquellen für Lösungsoptionen werden ebenfalls auf ihre Güte geprüft. Insbesondere werden Vorschläge aus der DBPedia-Ontologie hinsichtlich ihrer Qualität und Nützlichkeit evaluiert. Ebenso wird eine Methode zur Evaluation von Wissensquellen in das Plugin integriert. Somit können anhand bestehender Entscheidungsprobleme verschiedene Wissensquellen verglichen werden. Die Ergebnisse der NutzerInnenakzeptanz durch eine NutzerInnenumfrage ergaben, dass es nützlich ist, Vorschläge aus verschiedenen Wissensquellen zu erhalten, da so unbekannte Lösungsoptionen gefunden oder bekannte Lösungsoptionen einfacher dokumentiert werden können. Der Vorschlagsmechanismus unterstützt v.a. bestimmte Entscheidungsprobleme, insbesondere Fragen nach Werkzeugen, Infrastruktur und Architekturentscheidungen. Um die Ergebnisse des Vorschlagsmechanismus weiter zu verbessern, könnten andere Wissensquellen evaluiert sowie noch mehr Kontextinformationen zu dem Entscheidungsproblem zur Berechnung eines Vorschlags mit einbezogen werden. |
Maintaining Global Classification Code with Machine Learning
Betreuer | Andrea Herrmann |
---|---|
Bearbeiter | n.a. |
Beschreibung | Sperrvermerk |
2020
Automated deployement of machine learning applications to the cloud
Betreuer | Barbara Paech |
---|---|
Bearbeiter | Leon Radeck |
Beschreibung | 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. |
Graph Data Augmentation for Openrouteservice
Betreuer | Anja Kleebaum |
---|---|
Bearbeiter | Johannes Visintini |
Beschreibung | Routenplanung kann herausfordernd sein. Dies ist insbesondere der Fall, wenn an die Routenplanung besondere Anforderungen gestellt werden und zusätzliche, neue Informationen berücksichtigt werden sollen, z. B. Überflutungsgebiete. NutzerInnen wie Disponenten des DRK oder Tourenplaner, die Routen mit zusätzlichen, oft individuell vorliegenden Informationen finden wollen, haben bspw. hochaktuelle Informationen über Katastrophengebiete oder detailliertere Informationen über touristische Wege. Diese Informationen sind meist aktueller oder genauer als Informationen, die in einem Routenplanungsdienst vorhanden sind. Der Openrouteservice (ORS), ein auf OpenStreetMap-Daten basierender Routenplanungsdienst, bietet bereits viele Möglichkeiten die Routenplanung zu beeinflussen. Beispielsweise besteht die Möglichkeit eine Höchstgeschwindigkeit anzugeben. Derzeit existiert keine Möglichkeit das Routing flexibel mit individuellen Daten zu beeinflussen. Diese Arbeit hat zum Ziel eine Erweiterung des ORS zu implementieren, die es NutzerInnen erlaubt das Routing auf die zuvor beschriebene Art und Weise anzupassen. Die systematische Literaturrecherche beschäftigt sich mit personalisierter Routenplanung und mit Schnittstellen um benutzerdefinierte Daten zu übergeben. Des Weiteren werden die Anforderungen an die ORS-Erweiterung definiert. Diese spezifizieren die funktionalen, modularen Teile der Erweiterung und die nicht-funktionalen Anforderungen. Benutzerdefinierte Daten können als neuer Parameter an die existierende API übergeben werden. Ein standardisiertes Eingabeformat wird von einem neu implementierten Parser genutzt, der NutzerInnen bei der Verwendung unterstützt. Die Implementation umfasst einen Polygon- Matcher, der alle Kanten im Routing-Graphen findet, die von einem der Erweiterung übergebenen Polygon überdeckt werden. Die Implementation wird mittels statischer Codeanalyse, Komponenten- und Systemtests getestet. Diese decken mindestens alle definierten Systemfunktionen sowie die Methoden der neu implementierten Klassen ab. Um sicherzustellen, dass die Implementation alle Leistungsanforderungen erfüllt und die Erweiterung durch NutzerInnen verwendet werden kann, wird eine Evaluation durchgeführt, auf Basis derer (iterativ) Optimierungen durchgeführt wurden. Der implementierte Prototyp erlaubt NutzerInnen das Routing auf flexible Art und Weise zu beeinflussen. Sie können benutzerdefinierte Geometrien mit einem Gewichtsfaktor an die API übergeben, um eine auf ihre Bedürfnisse angepasstere Route zu erhalten. Mögliche Leistungsverbesserungen werden am Ende der Arbeit erörtert. |
Verlinkungsunterstützung und Duplikaterkennung von Wissenselementen
Betreuer | Anja Kleebaum |
---|---|
Bearbeiter | Philipp de Sombre |
Beschreibung | [Kontext und Motivation] Während der Softwareentwicklung bauen die Beteiligten kontinuierlich Wissen auf. Dieses Wissen ist in Wissenselementen wie Anforderungen, Codeartefakten und Entscheidungen dokumentiert. Um die Software weiterzuentwickeln, benötigen EntwicklerInnen das in den Wissenselementen enthaltene Wissen. Dafür müssen diese eine hohe Qualität besitzen und leicht zugänglich sein. Einzelne Elemente sind einfacher zugänglich, wenn sie untereinander verknüpft sind. In den dokumentierten Wissenselementen können sich Duplikate verbergen. Es ist notwendig Duplikate zu finden und aufzulösen, da es ansonsten zu Inkonsistenzen kommen kann, was einen Qualitätsmangel darstellt. Inkonsistenzen in Wissenselementen können bei EntwicklerInnen zu Missverständnissen und damit in der Software zu Fehlern führen. |
Automatisierte Testgenerierung aus formalen und deklarativen Speyifikationen im Kontext radiologischer Befundungsworkflows
Betreuer | Astrid Rohmann | |
---|---|---|
Bearbeiter | n.a. | |
Beschreibung | Sperrvermerk |
Comprehensive and Targeted Access to and Visualization of Decision Knowledge
Betreuer | Anja Kleebaum |
---|---|
Bearbeiter | Michael Anders |
Beschreibung | [Context and 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. |
Download |
2019
Unterstützung der konsistenten Dokumentation von Entscheidungen im Software Engineering
Betreuer | Anja Kleebaum |
---|---|
Bearbeiterin | Ines Hamma |
Beschreibung | [Kontext und Motivation] Während der Implementierung von Software werden zahlreiche Entscheidungen getroffen. Diese Entscheidungen gehen aus einem Entscheidungsproblem hervor und basieren auf einer Gegenüberstellung verschiedener Alternativen, die es zu bewerten gilt. In der Praxis werden Entscheidungen oft unzureichend dokumentiert. Dies führt zu inkonsistenten Entscheidungen im späteren Entwicklungs- und Änderungsverlauf, woraus wiederum Qualitätsprobleme resultieren. Es ist also wichtig, das dokumentierte Wissen konsistent zu halten, um widersprüchliche Entscheidungen und Informationen zu vermeiden. [Beiträge] Diese Arbeit beschäftigt sich mit Methoden, die den/die Rationale ManagerIn unterstützen, diese Konsistenz aufrecht zu erhalten. Hierfür ist es sinnvoll, dass der/die Rationale ManagerIn bereits dokumentiertes Entscheidungswissen anschauen kann, um zu überprüfen, ob es konsistent und vollständig dokumentiert ist. Um mögliche Inkonsistenzen in der Dokumentation zu erkennen, sollte er/sie alle getroffenen Entscheidungen einsehen und verwalten können, wie diese zueinander in Beziehung stehen. Die Masterarbeit umfasst eine systematische Literaturrecherche, die die Forschungsfrage, wie Abhängigkeiten zwischen Entscheidungen modelliert werden, beantwortet. Das Jira ConDec Plug-In ist eine Werkzeugunterstützung zum Visualisieren und Verwalten von Entscheidungswissen. Diese Werkzeugunterstützung wird um eine Entscheidungsgraphen- und eine Entscheidungsmatrix-Ansicht erweitert, die Abhängigkeiten zwischen Entscheidungen visualisieren. Eine Befragung von EntwicklerInnen, die ebenfalls am ConDec-Projekt beteiligt sind sowie weiteren fachfremden Teilnehmern zeigt die Eignung der entwickelten Ansichten. Zur Evaluation werden außerdem Beziehungen zwischen den bereits existierenden Entscheidungen in ConDec gepflegt und dabei ein Goldstandard aufgebaut. Dieser Goldstandard wird analysiert und beschrieben. [Schlussfolgerung] Die Arbeit unterstützt die Konsistenz der Entscheidungsdokumentation durch das Visualisieren und Verwalten von Beziehungen zwischen Entscheidungen. Der/die Rationale ManagerIn kann mit Hilfe der Entscheidungsgraphen- und Entscheidungsmatrix-Ansicht Entscheidungen und deren Beziehungen analysieren und dabei die Konsistenz zwischen Entscheidungen prüfen und verbessern. Dies verbessert die Qualität des dokumentierten Entscheidungswissens. |
Quality assurance of documented decision knowledge in feature branches
Betreuer | Anja Kleebaum |
---|---|
Bearbeiter | Lukasz Wisniowski |
Beschreibung | [Context and Motivation] Documentation of software artifacts plays an essential role in the development of software systems. Developers need to have access to the knowledge about the evolution of software artifacts they will work with. In particular, they must understand the reasons behind the decisions made in the past, i.e., they need decision knowledge. Therefore, it is important that the stakeholders of a software project document the decision knowledge. This knowledge is captured in different types of documents and less formally in locations like chat messages, ITS ticket comments and commit-messages. Most of their time, developers work with the source code, which might be the most important source of system and project knowledge. For developers, it will be natural to document decision knowledge in source code. [Contributions] This master thesis presents a systematic literature review, the extension of the ConDec JIRA plug-in, the improvements of its development process, and a first evaluation. The systematic literature review attempts to answer the question of how decision knowledge quality can be measured and assured. It provides simple metrics, which are aggregated with some utility function. This allows to visualize the quality of documented decision knowledge. Based on these insights, the ConDec JIRA plug-in is extended with a dashboard, i.e. a statistic report view, to visualize the overall quality in the project and also with a detailed quality view for single feature tasks. To make decision knowledge in code explicit and of high quality, a quality gate for pull requests of feature branches is added. Feature branches should be integrated into the baseline branch only if they pass the quality check of documented decision knowledge. Code reviewers can check the overall quality of the decision knowledge documentation for a feature branch. Both code reviewers and the author are supported in identifying the cause of problems with the documented decision knowledge in a feature branch. To continuously improve the documentation in code, a defined process must be lived by the development team. No code change should ever be integrated into the baseline branch unless it passed all quality checks during pull requests. Feature tasks should be reasonably small to make the code reviews a welcome activity to the developers and not a burden. The suitability of the presented addition to the ConDec JIRA plug-in was evaluated with the developers of the ConDec project. [Results] This increment of the ConDec JIRA plug-in contributes to the continuous improvement of documented decision knowledge in source code and commit messages. Developers can identify quality problems in the documentation of the decision knowledge and correct it. The ConDec statistic report view for the documented decision knowledge of the project's feature branches gives an overview of the momentary amount of decision problems in development and quality concerns in the documentation. The development team can use this information to improve both the software under development and their development process. |
Platform to Assist Medical Experts in Training, Application, and Control of Machine Learning Models Using Patient Data from a Clinical Information System
Betreuer | Anja Kleebaum |
---|---|
Bearbeiter | Matthias Greiner |
Beschreibung | In recent years, clinical data scientists achieved major breakthroughs advancing machine learning models for the medical domain, which have great potential assisting medical experts. Machine learning models can be leveraged to assist medical experts in tasks such as analyzing and diagnosing patient data, for example, from computed tomography scans. However, it is a challenge to translate the latest advancements in academic research fields such as computer sciences and physics into clinical practice. For this purpose, clinical data scientists and medical experts need to closely collaborate. This thesis tackles challenges of accessibility and usability of state-of-the-art machine learning models as well as designing a scalable computing architecture. Hence, conceptual ideas of possible strategies, as well as a prototype of such a machine learning platform, are presented. A systematic literature review was conducted on the current approaches to create medical machine learning platforms, the management of machine learning models, and the version management of large data sets. Afterward, the functional and nonfunctional requirements of the new machine learning platform were elicited as part of the requirements analysis. Two streamlined workflows for clinical data scientists and medical experts were derived from the requirement analysis. The workflow for the clinical data scientists includes steps to define, train, and share machine learning methods, including pre- and postprocessing modules, and management of data sets. Medical experts are able to analyze patient data using pre-defined machine learning methods. Building on the result of these analyses, the architecture of the platform was derived. The architecture consists of a scalable infrastructure stack, a lightweight and easy-to-use web interface, as well as a backend component to provide the required functionalities. The final design decisions solve the issue of efficiently standardizing, parallelizing, and applying machine learning workflows within a scalable computing infrastructure. The proposed platform was evaluated with 22 participants, consisting of clinical data scientists (N=12) and medical experts (N=10). Both groups were asked to rate specific workflows of the platform, as well as the platform as a whole, and to provide additional ideas and feedback. 92% of the medical experts and 90% of the clinical data scientists rated their overall impression of the platform as very good. Furthermore, medical experts and clinical data scientists strongly agreed that the platform facilitates method development and collaborations with 92% and 90%, respectively. The conducted expert survey suggests that the here proposed platform could be used to develop, optimize, and apply machine learning methods in the medical domain and beyond, thereby easing the collaboration between medical experts and clinical data scientists. |
Download |
2018
DecXtract: Dokumentation und Nutzung von Entscheidungswissen in JIRA-Issue-Kommentaren
Betreuer | Anja Kleebaum |
---|---|
Bearbeiter | Jochen Clormann |
Beschreibung | [Kontext und Motivation] Zur Entwicklung eines Softwaresystems benötigen EntwicklerInnen Wissen über die Evolution der zugehörigen Softwareartefakte. EntwicklerInnen müssen beispielsweise vorangegangene Quellcodeänderungen verstehen, um eine neue Anforderung bzw. eine Änderung an einer bestehenden Anforderung zu implementieren. Dabei spielt Entscheidungswissen 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 Entscheidungswissen 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äge] Diese Masterarbeit umfasst eine systematische Literaturrecherche, die Entwicklung 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 Entscheidungswissen dafür spielt. Neben einer Liste mit konkreten Fragen, die EntwicklerInnen zu einer Quellcodeänderung stellen, zeigt die Literaturrecherche, dass EntwicklerInnen explizites Entscheidungswissen benötigen, dieses aber nicht dokumentiert oder auffindbar ist. Um Entscheidungswissen 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, klassifiziertes Entscheidungswissen zu dokumentieren. EntwicklerInnen können Entscheidungswissen in Kommentaren zu bestehenden Softwareartefakten wie Anforderungen, Entwicklungsaufgaben 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 angelegt 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 Klassifikation von Entscheidungselementen in JIRA-Issue-Kommentaren. Durch das präsentierte Entscheidungswissen 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 Quellcodeänderung betrachtet. Dieses Wissen unterstützt EntwicklerInnen beim Verständnis der Quellcodeänderung. |
Download |
(Semi-)automatisierte Vergabe von aussagekräftigen Feature-Namen für User Stories in Issue-Tracking-Systemen
Betreuer | Marcus Seiler |
---|---|
Bearbeiter | Markus Schindler |
Beschreibung | Software-Features spielen eine essenzielle Rolle in vielen Aspekten der Software- Entwicklung. Die während des Release-Planning ausgewählten Features legen den Funktionsumfang der nächsten Version einer Software fest. Im Software- Product-Line-Engineering werden komplette Software-Produktfamilien um zentrale Features herum aufgebaut. Die Analyse der Verwendung von Features erlaubt wertvolle Einsichten beim Erkennen von Mustern innerhalb des Nutzerverhaltens. |
2017
Oncologie-basierte Navigation für CION
Betreuer | Christian Kücherer |
---|---|
Bearbeiter | Anatoli Zeiser |
Beschreibung | Das Ziel dieser Arbeit ist es, eine Software zu entwickeln, die das Navigieren und Auffinden von Pfaden in einer Ontologie ermöglicht. Die Klassen und Relationen der gefundenen Pfade müssen mit Realdaten verknüpft werden. Dadurch beinhalten die gefundenen Pfade auch Informationen zu tatsächlichen Daten. Das Ziel der Software ist es, mit dem Auffinden von Pfaden mögliche Fragestellungen zu beantworten. Diese Software soll einen CIO (ein Verantwortlicher des Informationsmanagements) beim Entscheiden und Begründen von Projekten unterstützen. Dazu wird eine Strukturierte Anforderungserhebung nach der Methode des Aufgabenorientierten Requirements Engineering (TORE) durchgeführt. Auf den definierten Anforderungen wird mittels einer Snowballing Literaturrecherche nach Ansätzen und Lösungsideen für das Navigieren in Ontologien und für Kriterien zur Pfadbestimmung gesucht. Darauf aufbauend erfolgt die Konzeption eines Lösungsentwurfes für die Implementierung des Prototypen CIONw. Der Prototyp wurde als eine App für die Anwendung Cytoscape entwickelt. Dabei wird die Navigation in der Ontologie durch einen Ontologiebrowser in Cytoscape umgesetzt. Die Umsetzung der Pfadfindung erfolgt durch die Anwendung vom Dijkstra und Yen Algorithmus. Die gefundenen Pfade können durch die Anbindung von Instanzdaten mit Realdaten verknüpft werden. Am Ende wird der Entwickelte Prototyp durch einen System- und Akzeptanztest validiert. |
2016
Analyse und Optimierung der Softwarearchitektur für einen CIO-Navigator als Entscheidungsunterstützungssystem für das Informationsmanagement eines Krankenhauses
Betreuer | Christian Kücherer |
---|---|
Bearbeiter | Tim Bittersohl |
Beschreibung |
Das DFG geförderte Projekt Semantisches Netz des Informationsmanagements im Krankenhaus (SNIK) erstellt unter anderem eine Ontologie der Informationsmanagement-Domäne in Krankenhäusern. Eines der Ergebnisse von SNIK ist der CIO-Navigator. Dieser erlaubt, insbesondere dem Chief Information Officer als LeiterIn des Informationsmanagements, die bedarfsgerechte Darstellung von Informationen beispielsweise zum Change- und Projektmanagement. Auf deren Grundlage werden dort Entscheidungen, beispielsweise zur Projektpriorisierung, getroffen. Der aktuelle Stand der Forschung zeigt, dass die Umsetzung des CIO-Navigators als webbasiertes System als gute Entscheidung zu bewerten ist. Um eine Anforderungs- und Architekturanalyse des CIO-Navigators durchzuführen, wird zunächst ein geeignetes Architekturbewertungsverfahren ausgewählt. Dazu werden die Verfahren architecture tradeoff analysis method (ATAM) und software architecture analysis method (SAAM) gegenübergestellt und die Auswahl von SAAM begründet. In SAAM wird zur Vorbereitung eine Dokumentation der bestehenden Softwarearchitektur, basierend auf dem Quellcode und Interviews mit den Entwicklern, erstellt. Bei der Analyse der vorliegenden Softwarearchitektur werden hier Vereinfachungen vorgeschlagen sowie Auffälligkeiten aufgedeckt. Dabei zeigt sich, dass die Werkzeuge CodeMap, Codemetrik sowie CodeCity wertvolle Einblicke in die Struktur der Software geben. Im Anschluss werden die bestehenden Anforderungen zusammengefasst und im Bereich der nichtfunktionalen Anforderungen weiter verfeinert. Daraufhin wird die Softwarearchitektur in Bezug auf die Unterstützung der Anforderungen evaluiert. Dabei zeigt sich, dass die zentrale Komponente für den Datenzugriff zu viele Funktionalitäten beherbergt. Auf Grundlage der Ergebnisse kann die Struktur des Quellcodes des CIO-Navigators in Zukunft weiter verbessert werden. Die vorgeschlagenen Verbesserungen werden nach Abschluss des SAAM-Verfahrens im Detail diskutiert.Dabei wird beim CIO-Navigator der Einsatz des Frameworks ASP.NET MVC empfohlen. Ein Anliegen dieser Arbeit ist außerdem, eine fundierte Grundlage für Softwareprojekte der gleichen oder ähnlicher Ausrichtung bereitzustellen. |
Analysis of implicit Traceability Links in Issue Tracking Systems
Betreuer | Marcus Seiler |
---|---|
Bearbeiter | n.a. |
Beschreibung | Traceability can provide many benefits, including improved documentation, more
|
2015
Semi-automatische Identifikation von Software-Features in natürlichsprachlichen Anforderungsdokumenten
Betreuer | Thomas Quirchmayr |
---|---|
Bearbeiter | Stefan Mücke |
Beschreibung | Die Aufwandsschätzung ist zentraler Bestandteil einer Angebotserstellung in Softwareentwicklungsunternehmen. Um Aufwände zu schätzen, können verschiedene Methoden angewendet werden - bspw. Function Point Analyse, CoCoMo oder eine Schätzung anhand von Software-Features. Da für die Aufwandsschätzung basierend auf Software-Features das gesamte Anforderungsdokument des Kunden manuell auf Feature-relevante Informationen untersucht werden muss, ist der Prozess zeit- und kostenintensiv. Im Rahmen dieser Arbeit wird ein Ansatz für die teilautomatisierte Identifikation von Software-Features entwickelt. Für die Identifikation von Feature-Kandidaten werden syntaktische Muster bestimmt. Mit Hilfe von Natural Language Processing Methoden wird das Anforderungsdokument vorverarbeitet und so für die Anwendung der syntaktischen Muster vorbereitet. Im Anschluss werden die Feature-Kandidaten mittels lexikalischer und semantischer Ähnlichkeitsmessung validiert, um die tatsächlichen Feature zu identifizieren. Die Evaluation einer prototypischen Implementierung dieses Ansatzes zeigt, dass der Einsatz syntaktischer Muster und der lexikalischen bzw. semantischen Ähnlichkeitsmessung die Identifikation von Features ermöglichen. |
Risikomanagement auf Basis dokumentierter Entscheidungen für Softwareprojekte
Betreuer | Tom-Michael Hesse |
---|---|
Bearbeiter | Riccardo Nimser |
Beschreibung | Bei der Softwareentwicklung wird die Struktur und Umsetzung eines Systems ebenso Im Rahmen dieser Arbeit wird ein Modell vorgestellt mit dem Risiken als Teil der Dokumentation |
Identification of Decision Patterns in Open Source Software Projects
Betreuer | Tom-Michael Hesse |
---|---|
Bearbeiter | Stefano La Rossa |
Beschreibung | Architectural Design Decisions haben entscheidenden Einfluss auf den Erfolg von Softwareprojekten. Es existieren bereits viele Ansätze zur Dokumentation von Architecural Design Decisions im Rahmen eines isolierten Softwareprojekts. Allerdings behandeln nur wenige Ansätze die Dokumentation zusammenhangender projektübergreifende Entscheidungen. Das Ziel dieser Arbeit ist die Identifikation von Entscheidungsmustern, welche in verschiedenen Softwareprojekten innerhalb der gleichen Softwaredomäne auftreten. Teil dieser Arbeit ist es ein Wissensmodell für Architectural Design Decisions zu entwickeln. |
Requirements Engineering von Informationsmanagement-Informationssystemen im Krankenhaus
Betreuende | Christian Kücherer |
---|---|
Bearbeiter | Manuel Jung |
Beschreibung | Der Bereich des Informationsmanagements (IM) im Krankenhaus ist zentral für die Unterstützung |
2014
Decision making in software engineering: An issue tracker analysis
Betreuende | Veronika Lerche, Tom-Michael Hesse |
---|---|
Bearbeiter | Konstantin Knöß |
Beschreibung | Two major research streams on decision making exist: naturalistic decision making (NDM) and rational decision making (RDM). Especially in the domain of software development the question emerged which decision type might be the dominant approach utilized by software developers. This is relevant in regard to decision support systems which are more effective the better they fit to human decision making styles. Considering the consequences decisions can have in huge software projects this question is of major importance. Despite this relevance, little research exists on these two decision types and their role in software development. This study investigated the role of NDM and RDM in software development via an issue tracker analysis. Therefore, issues from a Firefox release cycle were taken and analyzed via a theoretically well-grounded coding table. This coding table is transparently designed and can be utilized in further studies. The main hypotheses of this thesis were that a) more naturalistic than rational elements could be exhibited throughout this software release cycle and that b) time pressure should increase NDM elements. The results show that more naturalistic than rational elements can be exhibited within the observed release cycle. Time did not appear to influence the amount of NDM elements. An explorative analysis showed an interaction between task characteristics and decision type which specified the results of the confirmed hypothesis. Closing, possible applications for decision support systems are discussed and promising avenues for future research are depicted. |
2013
A Business-oriented Feature Model for Release Planning
Betreuerin | Gabriele Zorn-Pauli |
---|---|
Bearbeiter | Tobias Beck |
Beschreibung | Sperrvermerk |
2012
Using Social Media for Stakeholder Integration in Software Development Processes
Betreuerin | Gabriele Zorn-Pauli |
---|---|
Bearbeiterin | Sanela Kahrica |
Beschreibung | The challenges occurring in globally distributed software development projects mostly refer to collaboration difffculties. Enterprises more and more embrace social media features to overcome these challenges and efficiently integrate their stakeholders in software development activities. Company-internal software engineering processes can be supported by corporate social media deployment. To find the appropriate features and an adequate solution for a specific scenario within a company’s software development project, the research for this master’s thesis included an enterprise as-is analysis and several Requirements Engineering (RE) activities. The selected scenario served as a use case for the evaluation of three collaboration platforms within and outside the corporate intranet. The elicited stakeholder requirements were realized by utilizing a so called mashup solution. The solution combines several social media features to improve collaboration amongst stakeholders during software development activities. |
2011
Entwicklung und Umsetzung eines Konzepts zur Modellierung von Qualitätsinformationen in einem Geschäftsprozessmodell
Betreuer | Robert Heinrich |
---|---|
Bearbeiterin | Alexander Kappe |
Beschreibung | Das CASE Werkzeug UNICASE umfasst seit einiger Zeit eine Komponente zur Geschäftsprozessmodellierung. Die Komponente ermöglicht die Erstellung von Geschäftsprozessmodellen in der Business Process Modelling Notation (BPMN) und das Verknüpfen der Modellelemente mit anderen Elementen in UNICASE. Mithilfe dieser Komponente können bequem funktionale Anforderungen dokumentiert werden, jedoch fehlt zurzeit noch die Möglichkeit Qualitätsinformationen (QI) im Geschäftsprozessmodell zu modellieren. |
Concept and Implementation of an Editor for a Flexible Representation in UNICASE
Betreuer | Alexander Delater |
---|---|
Bearbeiterin | Christian Göhring |
Beschreibung | The purpose of this thesis is the concept and implementation of an editor for a flexible representation in UNICASE to improve its usability. The UNICASE tool is used within the software engineering group at the University of Heidelberg. However the usability of its integrated editor suffers from the inflexibility of the user interface. The thesis presents the theoretical background and derived usability measures. These measures are compared with the UNICASE tool’s actual state of usability and a solution for solving the most important ones with a flexible UI is suggested. Based on this suggestion a feature for the UNICASE tool is developed. This feature and its functionality is evaluated at the end with measurements for categorizing and assessing tasks, illustrated by scenarios. |
Entwicklung und UNICASE-Umsetzung eines Konzepts für die Integration der Modellierung von persönlichen Werten als Ziele in den Softwareentwicklungsprozess
Betreuerin | Rumyana Proynova |
---|---|
Bearbeiterin | Markus Fischer |
Beschreibung | Zielmodellierung ist die Basis des Goal-oriented Requirements Engineering Ansatz. Aber auch in anderen Requirements Engineering Ansätzen werden die Ziele der Stakeholder erhoben und dokumentiert. Allerdings existieren noch keine Tools, die die Zielmodellierung unterstützen und mit anderen Aspekten des Requirements Engineering Prozesses integrieren. Bisherige Goal Oriented Ansätze konzentrieren sich meistens auf Projektziele und Business Ziele. Neuere Literatur empfiehlt, auch die Ziele der einzelnen Stakeholder in Betracht zu ziehen. Eine Möglichkeit, mehr über die persönlichen Ziele der Stakeholder zu erfahren, ist es, deren persönlichen Werte zu untersuchen, und sie in projektspezifische persönliche Ziele zu verfeinern. Der/die Studierende soll basierend auf praxisrelevanten, existierenden Ansätzen für Zielmodellierung ein Konzept zur Verwaltung von Zielen und persönlichen Werten in UNICASE entwickeln, das es einerseits erlaubt Ziele und Werte untereinander und mit den anderen Modellelementen von UNicase zu verknüpfen und andererseits gezielte Visualisierungen dieser Verknüpfungen erlaubt. Dieses Konzept ist zu implementieren und evaluieren. |
2010
Konzeption und Implementierung einer Komponente zur Prozessmodellierung in UNICASE
Betreuer | Robert Heinrich |
---|---|
Bearbeiterin | Diana Cepoi |
Beschreibung | Geschäftsprozessmodelle bilden typischerweise das Verhalten und die Struktur eines Geschäftsprozesses ab und können somit zur Dokumentation von funktionalen Anforderungen an unterstützende Software-Systeme eingesetzt werden. Um ein besseres Verständnis der Anforderungen an ein Software-System zu erhalten ist eine engere Verknüpfung von Geschäftsprozessen und anderen Möglichkeiten der Anforderungsdokumentation wünschenswert. Existierende Editoren beschränken sich aber typischerweise nur auf die Modellierung von Geschäftsprozessen. UNICASE ist ein open-source CASE-Tool, das Modelle und Artefakte unterschiedlicher Entwicklungsaktivitäten integriert und somit als Framework für die Verknüpfung von Geschäftsprozessen und anderen Möglichkeiten der Anforderungsdokumentation dienen kann. Zurzeit gibt es noch keine Komponente zur Prozessmodellierung in UNICASE. Im Rahmen der Arbeit ist eine Erweiterung des Werkzeugs UNICASE zur Modellierung von Geschäftsprozessen in der Business Process Modeling Notation (BPMN) zu entwickeln. Darüber hinaus soll ein Konzept für die Verknüpfung der Elemente in einem BPMN-Modell mit anderen Anforderungselementen in UNICASE entwickelt werden. |
Systematische Vorbereitung auf ein Zertifizierungsaudit bezüglich Softwarequalität
Betreuer | Achim Hochlehnert |
---|---|
Bearbeiterin | Sharon Friedrich |
Beschreibung | In Zeiten einer steigenden Anzahl an Software mit ähnlicher Funktionalität müssen Softwarehersteller ein Mittel finden, um sich von ihren Konkurrenten abzuheben. Durch eine Zertifizierung kann die Konformität eines Softwaresystems zu anerkannten Standards, Best Practices und Gesetzen nachweisbar gemacht werden. Dies kann sich sowohl positiv auf die Kundengewinnung als auch auf die Kundenbindung auswirken. Letztendlich kann der Softwarehersteller dadurch eine Gewinnsteigerung erzielen. Allerdings ist eine Zertifizierung mit vielen Kosten verbunden, unter anderem da die Vorbereitung sehr zeit- und kostenintensiv ist. Um eine erfolgreiche Zertifizierung sicherstellen und unnötigen Aufwand vermeiden zu können, ist eine systematische Vorgehensweise wichtig. Diese Masterarbeit beschreibt die Entwicklung eines abstrakten, idealen Vorgehensmodells zur systematischen Vorbereitung auf ein Zertifizierungsaudit bezüglich Softwarequalität. Hierzu wurden zunächst Vorgehensmodelle spezifisch für die Qualitätseigenschaften Datensicherheit und Gebrauchstauglichkeit auf Grundlage relevanter Literatur entwickelt. Diese wurden anschließend im abstrakten, idealen Vorgehensmodell vereinigt und abstrahiert. Das abstrakte, ideale Vorgehensmodell enthält sowohl technische als auch organisatorische Aktivitäten und kann flexibel an Rahmenbedingungen angepasst werden. |
2009
Integration Testing for Service-Oriented Architecture Based Applications
Betreuer | Lars Borner |
---|---|
Bearbeiter | Ching-Yi Sabrina Lin |
Beschreibung | Sperrvermerk |
2008
Development of a Runtime Architecture for Model Based Context Aware User Interfaces
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Mario Di Marzo |
Beschreibung | In the last decade, the challenge of generating user interfaces has become a comprehensive research issue. The success of many applications is determined by its user interface because it is the only interaction component that the user perceives; hence the quality of user interfaces plays a decisive role in the software development process. Be it software development from the scratch for any type of software or adaptation of software due to for example reorganization in companies and with it related changes in the business application, either way, the user interface is often affected and needs to be adjusted. Because of ever increasing requirements put on software systems, their complexity has continued to rise. The complexity has been frequently reflected in the application's user interface and therefore a demand for supporting the development and maintenance of user interfaces has come up. In order to pursue this aim and to avoid time consuming and costly adjustments, a structural approach and a formalism to describe user interfaces were necessary [1]. Based on those methods and environments, among others model-driven concepts and XML-based user interface description languages, automatic and semi-automatic user interface development tools [2, 4] were originated to facilitate the user interface development process. One of the most influential factors that define the appropriate appearance of a user interface is the context where the action takes place. The context is usually determined by three parameters: the platform the software is running on, the user who is interacting and the environment. The vision to build only once a user interface and let this user interface be dynamically adapted according to the context in case of changing context conditions is the central idea that has to be focused on. In order to approach that vision a solution to handle each combination of varying parameters has to be found. Research has already been done in terms of context and context modeling techniques [6,7]. A very important topic that has occurred in the last years of research is the mapping problem which refers to the mismatch of the abstraction levels in the model-driven user interface development cycle. That is, models do not share the same degree of abstraction (e.g. task model and presentation model). The mapping elicits the relations between models that support automatic derivation from one model to another and therefore ease the development process. Investigations have been done in order to bridge that mismatch using mapping concepts. Proposals to solve this problem to some degree have already been published, e.g. [3, 5]. Among other approaches context has been taken into account and their central idea is to get an impression of context influence in other models. [7,8,9] Our approach addresses the mapping problem in terms of context models. Established mapping concepts will further be used to handle the parameterization of the named context factors. First a comprehensive analysis on existing context modeling approaches will be done. We will have a look at the influence of context models on user interfaces. Furthermore the ability of those context models to adapt the user interfaces at design- and runtime will be explored. A specification of two concrete and disjoint context models and an implementation of a prototype in Java showing the reaction between those context models will top this thesis off. |
Entwicklung einer Methode zur grafischen Darstellung von Workflow in der Radioonkologie
Betreuerin | Barbara Paech |
---|---|
Bearbeiter | Ronald Lautenschläger |
Beschreibung | Die vorliegende Arbeit befasst sich mit der Darstellung von klinischen Arbeitsabläufen für Beratungszwecke. Ihr Ziel ist es, eine geeignete Notation in Verbindung mit einem Modellierungswerkzeug und einer bestimmten Vorgehensweise hierfür zu ermitteln. Vor dem Hintergrund der fortschreitenden Prozessorientierung in der Gesundheitsversorgung soll hiermit der Notwendigkeit Rechnung getragen werden, klinische Arbeitsabläufe als Prozesse mit Unterprozessen bis hin zu einzelnen Aufgaben darzustellen, um diese für Analysen, Optimierungen und Präsentationen zugänglich zu machen. |
Change Management in Plant Engineering
Betreuerin | Andrea Herrmann |
---|---|
Bearbeiter | Armin Wallnöfer |
Beschreibung | Sperrvermerk |
Groupware Integration mit RSS bei SAP
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Stefan Becker |
Beschreibung | Sperrvermerk |
Modelling, Simulation, Evaluation and Optimization of Business Processes Involving Ubiquitous Systems
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Din Khoa Nguyen |
Beschreibung | There is a recent trend in the manufacturing industry that shop-floor ubiquitous devices (such as smart embedded devices, RFIDs, sensors, etc.) are becoming more powerful regarding the computing and communication resources, up to the point where they can directly offer their functionalities as web services. This capability of ubiquitous devices brings them closer to the novel business processes, which have been traditionally modelled as an orchestration of several coarse-grained web services. The direct integration of device-level services into business processes enables more flexibility and adaptability in the device level by including some business intelligence already at a technical level as low as that. However, this integration must face the problems of the dynamic nature of ubiquitous devices, e.g. device mobility and unreliability. Due to the limited resources and power, or the unreliable wireless connection, ubiquitous devices can be disconnected unpredictably at runtime and hence, the services hosted on them can also become unavailable unpredictably. The challenges here are how to describe business processes that interact not only with enterprise services but also with device-level services, and how to assess their operational performance. This thesis presents the modelling and simulation approaches for such hybrid business processes. The modelling approach tackles the limited characteristics of ubiquitous services to model cross-layered business processes spanning from the enterprise layer down to the device layer. By introducing the virtual costs to the steps of the process, the operational performance of the modelled process can be examined by the simulation approach with the accumulated costs of execution that have been predefined for each process step. Besides, this thesis also explores the feasibility and advantages of decentralizing parts of hybrid business processes down to the device level, with hope for the performance optimization. |
Integration von Web Service Orchestrierung und Benutzungsschnittstellen durch Aufgabenmodelle
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Andreas Diehl |
Beschreibung | Diese Masterarbeit von Andreas Diehl behandelt die beiden Ansätze WSHumanTask (zusammen mit BPEL4People) und ConcurTaskTrees (CTTs) in Hinblick auf die Erstellung von Benutzungsschnittstellen. Es werden zunächst allgemeine Aspekte aufgabenorientierter Modellierung (taskbased modelling) zusammengetragen um schließlich die beiden genannten Ansätze bewerten zu können. Im Rahmen dieser Arbeit wird anhand eines Anwendungsbeispiels ein System spezifiziert, das praktisch mit WS-HumanTask / BPEL4People umgesetzt und implementiert wird. Im Anschluss daran wird die Spezifikation über CTT realisiert sodass zwei vergleichbare Resultate vorliegen. Umfang, Komplexität und Praxis der beiden Ansätze werden verglichen und gegen definierte Kriterien bewertet, zudem entsteht ein direkter, praktischer Vergleich durch das spezifizierte Anwendungsbeispiel. |
Evaluation of design related issues in IT start-ups
Betreuerin | Andrea Herrmann |
---|---|
Bearbeiter | Ulf Schmidt |
Beschreibung | IT start-ups in general fight a constant battle coping with scarce resources affecting virtually all areas of their business operations. This thesis aims to investigate how this lack of resources and manpower affects the design process in IT start-ups. Focussing on questions regarding Software Engineering methods and in particular on Usability, the consequences of this environment are explored. The goal of this work is to examine the impact on these aspects to facilitate the development of counter measures reducing these negative effects – on which little research has been done before. This thesis presents the findings of an empirical evaluation featuring a series of interviews with entrepreneurs in the start-up business. These findings are matched with the results of comprehensive literature research regarding design related issues of IT start-ups. From this analysis it could be derived that, from the start-ups' point of view, issues regarding Software Engineering or Usability in general are not believed to pose a crucial threat to the outcome of the business. Furthermore, Outsourcing of software development or Usability aspects is rarely utilized due to lack of infrastructure and resources. Although credited with high prioritization, Usability in general is given low attention, whereas Agile development methodologies seem to be suited very well for the demands of IT start-ups given their frequent implementation. To conclude, it could be derived that the great impact of Usability on the success of a software product indicated by the usability literature seems not to share the same acceptance in the real world. |
2007
Nachvollziehbare Entscheidungsprozesse in der industriellen Softwareentwicklung durch Rationale Management
Betreuerin | Barbara Paech |
---|---|
Bearbeiter | Philipp Häfele |
Beschreibung | Die Anwendung von Rationale Management ist in der Praxis noch nicht weit verbreitet und geht über die prototypische Anwendung kaum hinaus. Das Ziel der Arbeit ist es, die in der Wissenschaft diskutierten Konzepte auf die Anforderungen eines in der Praxis etablierten Softwareprozessmodells zu übertragen und die dabei gewonnenen Erkenntnisse festzuhalten. Die Arbeit liefert in diesem Zusammenhang eine Zusammenstellung der Konzepte des Rationale Management, um
|
Download |
Creating SAP NetWeaver BI Content for Claims Analytics
Betreuerin | Barbara Paech |
---|---|
Bearbeiter | Alda Dollani |
Beschreibung | Business Intelligence (BI) is a broad category of applications and technologies for gathering, storing, analyzing and providing access to data so that enterprise users can make better business decisions. BI applications include the activities of decision support systems, query and reporting, online analytical processing, statistical analysis, forecasting and Data Mining. SAP NetWeaver BI is a part of the information integration in SAP NetWeaver. It presents a Business Intelligence platform and a collection of Business Intelligence toolkits. SAP NetWeaver BI is able to obtain data from a variety of available systems. It relies on the Data Warehouse to load, cleanse and manage the data for the enterprise’s reporting needs. BI makes it possible to analyze data from operative SAP applications and from other business applications, external data sources, such as databases, online services and Internet. One of the SAP Business Applications whose data will be retrieved and analyzed in SAP NetWeaver BI is SAP Claims Management (FS-CM). SAP Claims Management is a part of the ‘SAP for Insurance’ application and enables automation and management of the entire claims process - from first notification of loss and the capture of claims data to claims adjustment and financial reporting. Workers Compensation is a line of business of SAP Claims Management. It is a system of benefits provided by law to most workers who have job-related injuries or illnesses. |
Bachelorarbeiten
2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2010 2008 2007 2006 2005
2024
Relating Feedback and Existing Requirements using ChatGPT
Betreuer | |
---|---|
Bearbeiter | Anh Tu Duong Nguyen |
Beschreibung | Context & Motivation: User feedback from different sources, i.e. online forums or app stores, enables Requirements Engineers to analyze how well the software product is perceived by the public or if current requirements were implemented correctly. This means that user feedback relates to the current requirements of a software product. The amount of work required for this task, however, poses a great hindrance to making use of user feedback because manually relating feedback to requirements would take too much time. For this reason, the task must be automated to reduce the time needed for the work. Previous efforts towards automation using word embeddings have shown that automation is possible but requires further improvement to be used reliably. With the release of ChatGPT by OpenAI and its consecutive success in the public eye, a chance was seen here to automate relating feedback and requirements through this GPT model which was trained with a larger set of parameters compared to previous attempts using BERT coupled with the intuitive usage, where simple prompts, instructions constructed through natural human language, are needed, could offer desired improvements. Furthermore, requirements documented using the Task-Orientated Requirements Engineering framework could offer a further avenue for improvement by leveraging the framework’s levels to relate feedback to requirements in multiple stages. With this approach, feedback is first assigned to Subtasks and then to the System Functions and Workspaces that are associated with the Subtask. Contributions: This thesis makes four major contributions. Firstly, a Systematic Literature Review was conducted to map the current state of research regarding Prompt Engineering. |
2023
Automated Extraction and Visualization of User Feedback
Betreuer | |
---|---|
Bearbeiter | Jonas Roos |
Beschreibung | The efficient collection, organization and analysis of feedback data has become an increasingly important task in the current digital age. The feedback, especially from diverse user groups, can provide insights into user acceptance, preferences and areas for improvement, which are often challenging due to the complexity and unstructured nature of raw feedback data. The objective of this thesis is to refine given coarse requirements and develop an automation tool that can handle, export and visualize feedback data specifically derived from the SMART-AGE project’s SmartFEEDBACK app. The SMART-AGE is a research project that investigates the impact of networked digital assistant systems to enhance the quality of life, social participation and technological acceptance among older adults. The SmartFEEDBACK app serves as the platform for gathering feedback related to this thesis, mainly focusing on RE-related feedback. To achieve the goal of the thesis, a comprehensive literature review is conducted to explore various feedback gathering methodologies. This forms the basis for understanding the different types of feedback and how tools can assist in its collection. The resulting insights serve as a rough foundation for refining the requirements in form of user stories for the automation tool. In addition, a persona was created according to the PATHY 2.0 guidelines to underpin the de- tailed requirements. Building on the detailed requirements, the automation tool is developed. This tool is capable of extracting data from a database and then sorting and cleaning it before exporting it into an Excel file. In parallel, an Excel template with predefined filters is created to streamline the organization of feedback data. Moreover, a dashboard is designed to visualize this data, enabling easier interpretation and identification of patterns or trends. To ensure the quality of the developed tool, an evaluation process is performed based on the Technology Acceptance Model (TAM). The evaluation is facilitated through a questionnaire employing a 6-point Likert scale. The task for the propant is to follow predefined usage scenarios. The outcomes of this evaluation offer insights into the effectiveness of the automation tool, provid- ing potential directions for its future enhancements. The efficient management, analysis and visualization of feedback data can help to find potential improvements that can be made in the SMART-AGE project, highlighting the significance of the thesis’s contributions and especially the provided automation tool. |
2022
Visualization of Natural Language Annotation Models
Betreuer | Michael Anders |
---|---|
Bearbeiter | Robin Alter |
Beschreibung | [Context & Motivation] Models and other visual media are processed faster and easier by humans than tables or textual representations. But the process of creating and maintaining such visualizations is often very time consuming. So by automatically generating a visualization based on pre-existing data, this process can be expedited. Researchers and Requirements Engineers often use manual coding to extract relevant information from data sets. They assign certain codes to specific passages in the data in order to categorize them. This results in an annotation of a data set. But it is difficult to quickly understand large annotations, so the visualization of an annotation can help a researcher to more quickly get an overview over a given annotation. The addition of filters and display modes like a heatmap and custom coloring further helps to get an overview of data. [Contributions] This thesis explores the state-of-the-art in model generation for requirements and other natural language documents aswell as commonly used features and techniques to better visualize models. The already existing annotation tool Feed.UVL is extended by the posibility to visualize an annotation model. The created extension provides interactivity by offering options to organize, and customize the visualization and offering a heatmap, which displays the occurences or appearances of elements of the visualization, to further emphasize the important elements of a data set. A set of quality assurance measures have also been performed on the tool, namely static code reviews, system tests and an evaluation. [Conclusion] The systematic literature research revealed, which features are mainly used in creating and maintaining a visualization, aswell as the requirements to automate this process. The main part of this thesis was the creation of a tool for the automatic generation of a visualization of an annotation model. The tool has a user-friendly design in line with Feed.UVL in which it is integrated. The automatic visualization can be manually refined, and always displays the current status of an annotation. The tool was also created in a modular fashion with an extensible framework, so it can be easily extended for future research goals. The evaluation has shown that most of the functionalities are considered easy-to-use and useful and would be used in the future. |
____
Entwicklung eines Chatbots zum Einholen von Feedback in SMART-AGE
Betreuer | Leon Radeck |
---|---|
Bearbeiter | Annalena Frey |
Beschreibung | Our society is constantly getting older. This process is called demographic change, and it is in full progress. As the population ages, new problems arise, such as loneliness and social isola- tion in old age, which need to be addressed. The SMART-AGE study deals with precisely such problems and investigates to what extent intelligent assistance systems can provide a remedy for these problems. In order to continuously improve the assistance systems provided during the study and to add new desired functionalities, it is essential to collect feedback from the users. With the help of this feedback, already existing functionalities can be improved, extended, or new requirements can be identified. Due to the large number of study participants, collecting feedback individu- ally is not an option, therefore, a chatbot should be provided for this purpose. This also enables the submission of feedback at any given time, and makes it as easy as possible. This thesis focuses on designing and implementing such a chatbot for collecting feedback. There- fore, the first step is to perform an analysis of several chatbot frameworks, with the goal to identify a suitable one to implement the chatbot in. Subsequently, requirements are identified based on given requirements and material, as well as insights obtained from the framework analysis. For the extraction and presentation of the requirements, the task and object-oriented requirements engineering (TORE) method is applied. The gained requirements are then used to design and implement the chatbot, using the framework identified during the analysis. To ensure the quality of the application, system tests are conducted and captured using the tool Selenium IDE. Afterwards, the application is evaluated. Therefore, usage scenarios have been created, which are then executed by the evaluation participant alone. Subsequently, the par- ticipant has to answer a questionnaire, which has been developed following the Technology Acceptance Model (TAM). The results of the evaluation are throughout positive, and the com- ments of the participant includes interesting adaptations and improvement, which eventually will be implemented in the future. |
Generierung eines Testplans aus Systemfunktionsbeschreibungen
Betreuer | Astrid Rohmann |
---|---|
Bearbeiter | Patrick Pollok |
Beschreibung | Das Testen von Software ist ein wichtiger Bestandteil der Softwareentwicklung, welches sicher- stellt, dass die Software alle vorher definierten Anforderungen erf ̈ullt. Im Anforderungsprozess werden aus den, meistens groben Anforderungen an ein Softwaresystem, spezifischere System- funktionsbeschreibungen abgeleitet. Systemfunktionsbeschreibungen definieren dabei einzelne Aufgaben des Softwaresystems. Aus den Systemfunktionsbeschreibungen werden dann in der Testphase Systemtests generiert. Die Systemtests stellen dabei sicher, dass die Implementierung der Systemfunktionsbeschreibung, die Systemfunktion, ihre Beschreibung erf ̈ullt. Das Erstellen von Systemtests ist arbeitsintensiv und wenig automatisiert. Systemfunktionsbeschreibungen und Systemtests k ̈onnen mit Softwareentwicklung-Tools, wie das Issue-Tracking-System Jira, dokumentiert und verwaltet werden. Im Rahmen dieser Bachelorarbeit wird ein Plugin Proto- typ zur Generierung eines Testplans mit Systemtests aus Systemfunktionsbeschreibungen vor- gestellt. Der Nutzer1 kann sich aus einer beliebigen Anzahl an Systemfunktionsbeschreibungen einen Testplan mit vorgefertigten Systemtests generieren lassen. Der Nutzer kann die vorgefer- tigten Systemtests dann bearbeiten, l ̈oschen, oder weitere Systemtests hinzuf ̈ugen. Abschließend kann der Nutzer eine Auswahl der Systemtests zu einem Jira-Projekt hinzuf ̈ugen lassen. Dabei werden die Systemtests mit den Systemfunktionsbeschreibungen verlinkt. |
Visualization of Natural Language Annotation Models
Betreuer | Michael Anders |
---|---|
Bearbeiter | Robin Alter |
Beschreibung | [Context & Motivation] Models and other visual media are processed faster and easier by humans than tables or textual representations. But the process of creating and maintaining such visualizations is often very time consuming. So by automatically generating a visualization based on pre-existing data, this process can be expedited. Researchers and Requirements Engineers often use manual coding to extract relevant information from data sets. They assign certain codes to specific passages in the data in order to categorize them. This results in an annotation of a data set. But it is difficult to quickly understand large annotations, so the visualization of an annotation can help a researcher to more quickly get an overview over a given annotation. The addition of filters and display modes like a heatmap and custom coloring further helps to get an overview of data. [Contributions] This thesis explores the state-of-the-art in model generation for re- quirements and other natural language documents aswell as commonly used features and techniques to better visualize models. The already existing annotation tool Feed.UVL is extended by the posibility to visualize an annotation model. The created extension provides interactivity by offering options to organize, and customize the visualization and offering a heatmap, which displays the occurences or appearances of elements of the visualization, to further emphasize the important elements of a data set. A set of quality assurance measures have also been performed on the tool, namely static code reviews, system tests and an evaluation. [Conclusion] The systematic literature research revealed, which features are mainly used in creating and maintaining a visualization, aswell as the requirements to automate this process. The main part of this thesis was the creation of a tool for the automatic generation of a visualization of an annotation model. The tool has a user-friendly design in line with Feed.UVL in which it is integrated. The automatic visualization can be manually refined, and always displays the current status of an annotation. The tool was also created in a modular fashion with an extensible framework, so it can be easily extended for future research goals. The evaluation has shown that most of the functionalities are considered easy-to-use and useful and would be used in the future. |
Change Impact Analysis for Issue Tracking Systems
Betreuer | Barbara Paech, Anja Kleebaum |
---|---|
Bearbeiter | Lukas Bendl |
Beschreibung | Developers continuously make decisions during the software development process. These decisions have a large impact on future changes that are applied to the software. However, developers often only document parts of the decision-making process or do not document anything at all. The ConDec project aims to support developers in capturing and exploiting decision knowledge. It introduces a set of plugins that are integrated into existing development tools, thereby aiding developers in documenting and analyzing decision knowledge. This work aims to improve the change impact analysis (CIA) of the ConDec Jira plugin, a feature using traceability and explicit rules to detect and visualize the consequences of a change. For this purpose, a systematic literature synthesis is conducted to review existing literature on this topic. Based on this research, we systematically elicit requirements for a prototype that extends ConDec Jira. We improve the existing CIA implementation by adding additional rules and configuration options. We improve traceability by adding more options for developers to manually edit links. Additionally, developers can choose to include not explicitly linked elements to the change impact calculation. We ensure the quality of the implementation by using a continuous integration workflow. Furthermore, we evaluate the prototype by conducting an experiment, in order to measure the effectiveness of our CIA implementation. The results indicate that including not explicitly linked elements is especially useful for finding non-code software artifacts, such as decision knowledge, that are affected by a change, thereby increasing the effectiveness of CIA. Furthermore, using a finetuned ruleset additionally increases the number of impacted artifacts that are found. In the future, it should be investigated how further configuration options for individual rules could improve CIA. |
2021
Nachhaltigkeitsanforderungen an Technologien für Ältere
Betreuer | Barbara Paech, Leon Radeck |
---|---|
Bearbeiter | Jasmin Sebastian |
Beschreibung | In einer zunehmend alternden Gesellschaft stehen wir vor neuen Herausforderungen im Ge- sundheitssektor und im Sozialleben älterer Menschen. Software spielt hierbei eine zentrale Rolle. Eine weitere große Herausforderung der heutigen Zeit ist das Thema Nachhaltigkeit. Wegen der zunehmend wichtiger werdenden Rolle von Software im gesellschaftlichen Leben, ist es essentiell, dass auch im Bereich der Digitalisierung auf eine nachhaltige Entwicklung geachtet wird. Daher ist es Ziel dieser Arbeit einerseits Nachhaltigkeits- anforderungen an intelligente Assistenzsysteme im Alltag (IASA), die ältere Menschen unterstützen sollen, zu definieren. Andererseits ist es das Ziel, die Anwendung PRISM, um Funktionalitäten im Sinne dieser Nachhaltigkeitsanforderungen zu erweitern. PRISM ist eine Webanwendung, die die Verbesserung der sozialen Interaktion, der Informationsbeschaffung, der Selbstorganisation und der Unterhaltung ältere Erwachsener erreichen soll. Um PRISM weiter zu entwickeln, wurde verschiedene Literatur sowohl im Bereich der nachhaltigen Softwareentwicklung als auch zu Anforderungen an Gesundheitsanwendungen betrachtet. Auf Basis der gefundenen Erkenntnisse wurde das Framework SINS entwickelt, welches Nachhaltigkeitskriterien für Gesundheitsanwendungen definiert. Schließlich wurde die An- wendung PRISM entsprechend dieser Anforderungen erweitert. Um eine qualitätsgesicherte Software zu garantieren wurden mit Hilfe verschiedener Frameworks Tests durchgeführt und die Anwendung anhand der Nachhaltigkeitskriterien evaluiert. |
Einholung von Nutzerfeedback in SMARTAGE
Betreuer | Barbara Paech, Leon Radeck |
---|---|
Bearbeiter | Daniela Tratz-Weinmann |
Beschreibung | Feedback ist eine wichtige Grundlage, um Software weiterzuentwickeln und Fehler finden zu können. Im Rahmen des SMARTAGE-Projektes, dessen Ziel es ist, innerhalb einer Studie zu untersuchen, welche Lebensqualitätsverbesserungen der Einsatz von intelligenten Assistenzsystemen (IAS) erbringen kann, ist es daher notwendig, einen Weg zu finden, sinnvoll Feedback der StudienpartnerInnen zu diesen Systemen einzuholen. Dabei muss darauf geachtet werden, dass die StudienpartnerInnen nicht durch die Einholung gestört werden, die gewählte Methode mit einer großen Anzahl an Personen umgehen kann und die Nutzungsdaten der StudienpartnerInnen berücksichtigt werden. Ziel der Arbeit ist daher, eine Anwendung zu entwickeln, die in der Lage ist, verschiedene Arten von Feedback einzuholen, um verschiedene Aspekte der Nutzungserfahrung zu sammeln, sich an die Nutzungsdaten anpasst und sich gleichzeitig nicht störend auf die StudienpartnerInnen auswirkt. Dafür wird zunächst eine Literaturrecherche durchgeführt, um mögliche Störfaktoren zu identifizieren und allgemeine Hinweise für die Einholung von Feedback zu sammeln. Anschließend werden die vorgegebenen Grobanforderungen zu Detailanforderungen verfeinert und mithilfe von Java EE implementiert. Danach wird die Qualitätssicherung mithilfe von Systemtests und Komponententests durchgeführt und die entwickelte Anwendung evaluiert. |
Implementing toolchain support for annotation of natural language datasets
Betreuer | Barbara Paech, Michael Anders |
---|---|
Bearbeiter | Jakob Weichselbaumer |
Beschreibung | [Context & Motivation] The Feed.UVL platform offers capabilities for natural language data storage and processing. Currently, researchers at the University of Heidelberg's User View Language lab use these features together with third party annotation tools to analyze end user software feedback, but existing annotation tools provide only a partial subset of the required features. Expanding the Feed.UVL platform with a text annotation module would allow the integration of text storage, processing, and annotation into a single environment, while improving annotation user efficiency, reducing operational complexity and eliminating reliance on third-party software. [Contributions] This thesis provides a problem investigation, a treatment design, and a quality assurance process of targeted software support for annotation techniques as used in RE. Specific support was provided for the RE framework TORE. Requirements elicitation for the new tool was guided by a methodical comparison of four modern annotation tools, which revealed incomplete support for labeled relationships between individual text segments. The practical contribution of this thesis is the extension of the Feed.UVL platform with a text annotation environment which fully supports the UVL use case, with a focus on usability and time eciency of the new tool. The annotator supports persistent, user-specifiable domain models as required by TORE. The text annotation environment is augmented with a statistics view, providing downloadable annotation statistics computed from the underlying project. Quality of the released software is assured through a comprehensive test concept and a technology acceptance evaluation survey. [Conclusion] The focus of this thesis was the design, implementation and quality assurance of the novel annotation tool UVL Annotator to improve the text annotation workflow. A comparison of four existing annotation tools in respect to the UVL use case guided the engineering process. A technology acceptance survey conducted among end users found highly favorable reception of the new software, with participants indicating the intention to use the UVL Annotator for their future annotation projects. Future work on the UVL Annotator should focus on improving scalability for large datasets and adding support for keyboard shortcuts during the annotation process. |
Qualitätssicherung von dokumentiertem Wissen mithilfe der Erhebung der Entscheidungsabdeckung
Betreuer | Barbara Paech, Anja Kleebaum |
---|---|
Bearbeiter | Markus Boerner |
Beschreibung | Während der Entwicklung von Software müssen EntwicklerInnen viele Entscheidungen treffen. Diese müssen kommuniziert und dokumentiert werden, um sicherzustellen, dass die Software leicht instand gehalten und weiterentwickelt werden kann. Oft werden Entscheidungen jedoch nicht oder nur unvollständig festgehalten. Das ConDec-Jira-Plug-In unterstützt EntwicklerInnen darin, Entscheidungswissen im Kontext von Anforderungen und Code zu dokumentieren, zu verwalten und zu betrachten. Diese Arbeit hat das Ziel, die Vollständigkeit und hohe Qualität des dokumentierten Entscheidungswissens zu unterstützen. Dafür wird in dieser Arbeit die Ab- deckung von Anforderungen und Code durch dokumentiertes Entscheidungswissen im ConDec-Jira-Plug-In erhoben und dargestellt, sowohl für einzelne Anforderungen und Code-Dateien als auch für ein ganzes Projekt. Es wurde eine systematische Literaturrecherche durchgeführt zu den Fragen, welche Abdeckungsmetriken in der Softwareentwicklung eingesetzt werden und welche Darstellungsarten es für sie gibt. Auf Basis der Literaturrecherche werden Anforderungen erhoben und in einem Prototyp für das ConDec-Jira-Plug-In implementiert. Im Prototyp wird die Entscheidungsabdeckung als ein Kriterium der Definition-of-Done umgesetzt. Das Ergebnis der Definition-of-Done-Prüfung wird auf verschiedene Weisen präsentiert. Der Prototyp unterstützt die Darstellung der Entscheidungsabdeckung und weiterer Metriken eines Projekts in Dashboards. Zudem wird beim Schließen eines Jira-Issues, welches die Definition-of-Done nicht erfüllt, ein Dialog geöffnet, der darauf hinweist. EntwicklerInnen können in einem seperaten Tab die Kriterien, gegen die verstoßen wurde, betrachten. Alle Ansichten des Wissensgraphen heben Wissenselemente, die die Definition-of-Done verletzen, rot hervor. Zusätzlich werden alle Elemen- te, die die Definition-of-Done nicht erfüllen, im Rationale-Backlog aufgelistet. Die Kriterien der Definition-of-Done können für ein Projekt konfiguriert werden. Die Qualität des Prototyps wird durch ein Testkonzept, das statische Codeanalyse, Komponententests und Systemtests umfasst, sichergestellt. Die neuen Funktionen wurden von ConDec-NutzerInnen in einer Akzeptanzevaluation bewertet. Sie erhielten dort positive Bewertungen in den Kategorien einfache Bedienung und Nützlichkeit. Zusätzlich wird mithilfe des Prototyps die Entscheidungsabdeckung im ConDec-Projekt analysiert. Dabei wurde festgestellt, dass die verschiedenen Wissenstypen hinsichtlich ihrer Abdeckung durch Entscheidungen bei einer Linkdistanz von drei oder weniger Unterschiede aufweisen. Bei höheren Linkdistanzen konnten kaum Unterschiede zwischen den Wissenstypen festgestellt werden. In Zukunft sollte noch untersucht werden, wie sich die Linkdistanz auf die Relevanz von Entscheidungswissen auswirkt. |
Support for Rationale Management with Nudging
Betreuer | Barbara Paech, Anja Kleebaum |
---|---|
Bearbeiterin | Julia Baum |
Beschreibung | In order to evolve software, developers need to make decisions. These should be based on previous decisions to support a consistent process and high software maintainability. However, the decisions might not be available because they were not captured, or because their documentation is of poor quality. The ConDec Jira plugin assists the stakeholders of software projects, by enabling the creation, improvement, and use of rationale documentation within the issue tracking system Jira. In this work, we examine how changing the presentation of choices, so-called nudging, can be used in the plugin. The goal is to better engage the ConDec users in the rationale management process. We perform a literature search on nudging, examining various nudges in the field of human-computer interaction. We analyze which of the nudges from literature could make sense to be implemented in the ConDec Jira plugin. We add appropriate nudges to the user interface, changing the coloring of the ConDec view items and intervening on status changes using just-in-time prompts. We also increase the configurability of the plugin by providing new configuration options, and promote usability by setting reasonable default options and opt-out policies. The quality of the implementation is assured using a test concept and continuous integration workflow. In addition, the implementation was evaluated in a survey of other Jira users. The results indicate high ratings in the categories ease of use and usefulness. The plugin should be further developed in response to the results of our survey. In the future, we suggest performing an experiment to gain insight on the effectiveness of the nudging in the context of ConDec. |
2020
Entwicklung eines Rationale Backlogs
Betreuer | Barbara Paech, Anja Kleebaum |
---|---|
Bearbeiter | Rafael Gerner |
Beschreibung | Bei der Entwicklung von Software müssen die Beteiligten kontinuierlich Entscheidungsprobleme lösen, d.h. Entscheidungen treffen. Dabei wägen sie Pro- und Contra-Argumente der alternativen Lösungen gegeneinander ab. Bei diesem Prozess entsteht Entscheidungswissen, auch Rationale genannt. Für die Evolution der Software und die Wiederverwendung von Problemlösungen ist die Dokumentation des Entscheidungswissen von großer Bedeutung. Es ist wichtig, dass offene Entscheidungsprobleme und Lösungsmöglichkeiten innerhalb des Teams bzw. zwischen allen Stakeholdern kommuniziert werden, damit die bestmöglichen Entscheidungen getroffen werden. Weiterhin ist eine hohe Qualität der Dokumentation bedeutsam, damit diese zukünftigen EntwicklerInnen verständlich und nützlich ist. In dieser Arbeit wird dafür ein Rationale Backlog entwickelt. Dieses bietet einen guten Überblick über Punkte, die eine Entscheidung erfordern und zu verbesserungswürdiger Dokumentation von Entscheidungswissen. Damit unterstützt das Rationale Backlog die EntwicklerInnen sowohl bei der Entscheidungsfindung als auch bei Verbesserung der Dokumentationsqualität. In einer systematischen Literaturrecherche wird dafür untersucht, welche Ansätze es dazu bereits gibt. Daraus werden verschiedene Anforderungen an die Umsetzung des Rationale Backlog abgeleitet. Anschließend werden Anforderungen, Entwurf, Implementierung und Qualitätssicherung des Rationale- Backlogs beschrieben sowie die Durchführung und Ergebnisse einer Akzeptanzevaluation. Die positiven Rückmeldungen aus der Evaluation bezüglich der einfachen Benutzbarkeit und hohen Nützlichkeit des Prototyp, bieten eine Basis für den Einsatz des Rationale Backlog in zukünftigen Projekten. Besonders in agilen Projekten, in denen neben der kontinuierlichen Implementierung neuer Features eine qualitativ hochwertige Dokumentation der getroffenen Entscheidungen erreicht werden soll, ist dies vorstellbar. Um die Nützlichkeit und Benutzbarkeit des Prototyp weiter zu verbessern, werden im letzten Kapitel Vorschläge zu Änderungen und neuen Features diskutiert. |
Die Rolle von Qualitätsattributen bei der Dokumentation und Nutzung von Entscheidungswissen
Betreuer | Barbara Paech, Anja Kleebaum |
---|---|
Bearbeiter | Colin Otchere |
Beschreibung | Das Dokumentieren ist und sollte ein wichtiger Bestandteil während der Entwicklung von Software sein. Während der Entwicklung treffen die Beteiligten ständig Entscheidungen. Damit generieren sie neues Wissen über Entscheidungen. Dieses Wissen über Entscheidungen wird Entscheidungswissen genannt. Damit Entscheidungswissen nicht verloren geht und alle Projektteilnehmer von diesem Wissen profitieren können, muss es eine einfache Möglichkeit geben dieses Wissen zu dokumentieren und zu visualisieren. Das ConDec-Jira-Plug-In bietet eine solche Möglichkeit. Damit Entscheidungen nicht nur zu funktionalen, sondern auch zu nicht-funktionalen Anforderungen dokumentiert werden, wird in dieser Arbeit eine Möglichkeit geschaffen, den Bezug von Entscheidungen zu Qualitätsattributen wie z.B. Perfomanz und Sicherheit deutlich zu machen und nachvollziehen zu können. Dafür wird eine systematische Literaturrechere durchgeführt. Die daraus gewonnenen Erkenntnisse fließen anschließend in einen Prototyp, der eine Dokumentations- und Visualisierungsmöglichkeit bietet, Entscheidungswissen bezügliche Entscheidungen zu Qualitätsattributen zu dokumentieren und nachzuvollziehen. |
Evaluation of TAFTR for the retrospective development of feature knowledge
Betreuer | Barbara Paech, Marcus Seiler |
---|---|
Bearbeiter | Yagmur Arslan |
Beschreibung | In order to comprehend the evolution of a software system and the rationale behind the decisions, it is essential to identify and understand the features of the software. Thus, including management tasks and development tasks, software features play an essential role in many software engineering activities. |
Semi-Automatisierte Vergabe von Feature-Tags im Code
Betreuer | Barbara Paech, Marcus Seiler |
---|---|
Bearbeiter | Paul Mack |
Beschreibung | [Kontext und Motivation] Featurewissen, wie z.B. das Wissen darüber welche Features eine Software enthält, oder welche Anforderung oder Code ein bestimmtes Feature implementiert, liefert Entwicklern wertvolle Informationen, die für verschiedene Software- Engineering Aktivitäten nützlich sein können wie z.B. Releaseplanung. Dafür werden Feature-Tags an Code-Abschnitte vergeben, um so die Nachverfolgbarkeit zwischen Softwareartefakten zu verbessern. Eine Studie zeigt auf, dass Entwickler zwar in der Lage sind, richtige Feature-Tags an ihren Code zu vergeben, hierbei allerdings nur 65% des Codes überhaupt getaggt wird. Um Entwickler bei der Vergabe von Feature-Tags zu unterstützen, wird ein (semi-) automatisches Feature-Vergabesystem entwickelt, das basierend auf einer textuellen und strukturellen Codeanalyse die fehlenden Feature-Tags im Code einer Software vervollständigt. [Fragestellung] Diese Bachelorarbeit analysiert zunächst verschiedene Ansätze zur textuellen und strukturellen Codeanalyse, erarbeitet welche Techniken und Ähnlichkeitsmaße die Ansätze dafür verwenden und welche Güte in Form der Metriken Precision und Recall diese dabei erreichen. [Ansatz] Mit dem Ansatz der Feature-Regionen wird ein Eclipse Plug-In implementiert. Dabei gibt es die Möglichkeit die vorgeschlagene Vergabe manuell anzupassen, bevor diese für das Tagging übernommen wird. [Ergebnis] Das Plug-In wird durch ein Studentenprojekt mit existierendem Goldstandard durch einen IST-SOLL-Vergleich auf seine Qualität bzgl. der Metriken Precision und Recall evaluiert. Die Ergebnisse mit durchschnittlich 84,83% Precision und 82,85% Recall zeigen, dass das entwickelte Plug-In gute Werte für eine (semi-)automatische Vergabe von Feature-Tags im Code liefert. Es konnte gezeigt werden, dass ein (semi-)automatisches Feature-Vergabesystem Entwicklern dabei hilft, ihren Code mit Feature-Tags zu vervollständigen. |
2019
Analyse und Klassifikation von Entscheidungswissen in Jira-Issues
Betreuer | Barbara Paech, Anja Kleebaum, Astrid Rohmann |
---|---|
Bearbeiterin | Özlem Boz Kumru |
Beschreibung | Bei der Entwicklung eines Softwaresystems benötigen EntwicklerInnen Wissen über die getroffenen Entscheidungen, um während der Softwareentwicklung auftretende Entscheidungsprobleme zu beheben. EntwicklerInnen müssen ihr Entscheidungswissen teilen, da die getroffenen Entscheidungen beispielsweise für die Umsetzung zukünftiger Anforderungen besonders wichtig sind. Um EntwicklerInnen, die neu an einem Projekt beteiligt werden, den Zugriff auf dieses Entscheidungswissen zu ermöglichen, ist es wichtig, Entscheidungen zu dokumentieren. Jedoch werden Entscheidungen von EntwicklerInnen sehr wenig dokumentiert und es ist ein Problem, dass EntwicklerInnen Entscheidungswissen benötigen, dieses aber nicht dokumentieren und es somit nicht auffindbar ist. Die mangelnde Dokumentation an Entscheidungen stellen somit ein großes Problem bei der Entscheidungsfindung dar. Eine Lösung für das Festhalten von Entscheidungswissen bietet das Issue-Tracking-System Jira. EntwicklerInnen können dort beispielsweise Entscheidungswissen in der Beschreibung und den Kommentaren von Jira-Issues festhalten. Ein Ziel dieser Arbeit war es eine systematische Literaturrecherche durchzuführen, um die Fragen zu beantworten, welche Kategorien beziehungsweise Taxonomien für Entscheidungen es gibt, wofür diese eingesetzt werden und was die Erkenntnisse aus der Nutzung der Taxonomien sind. Um das Entscheidungswissen zu klassifizieren wurde durch die Literaturrecherche eine Taxonomie gefunden, die vier Kategorien von Entscheidungen unterscheidet. Diese Taxonomie wurde beispielsweise eingesetzt, um Entscheidungen in dem Issue-Tracking-System Jira automatisch mittels eines Ansatzes des maschinellen Lernens zu identifizieren. Das Ergebnis aus der Literaturrecherche zeigte, dass dabei die meisten Entscheidungen Existenzentscheidungen waren und mit Hilfe der automatischen Klassifizierung Entscheidungen identifiziert werden können. Ein weiteres Ziel dieser Arbeit war es selbst eine empirische Analyse des in Jira-Issues dokumentierten Entscheidungswissens durchzuführen. Zur Analyse wurde ein Jira-Projekt mit 108 Jira-Issues aus dem Lucene-Projekt importiert. Bei der empirischen Analyse werden Antworten auf die Forschungs- und Analysefragen gesucht, welches Entscheidungswissen EntwicklerInnen dokumentieren, wie vollständig die Dokumentation ist, ob Entwickler Entscheidungen in der Zeit ablehnen und - wenn ja - wie oft und warum? Mit Hilfe des ConDec Jira Plug-Ins wurde eine manuelle Klassifikation von Jira-Issues durchgeführt. Die Ergebnisse der Analyse zeigen, dass in den meisten Fällen für dokumentierte Entscheidungsprobleme Entscheidungen dokumentiert werden und durch die explizite Dokumentation verworfene Entscheidungen verfolgt werden können. |
Unterstützung der Erstellung von Release-Beschreibungen durch dokumentiertes Entscheidungswissen
Betreuer | Barbara Paech, Anja Kleebaum |
---|---|
Bearbeiter | Fabian Gronert |
Beschreibung | Dokumentation ist ein wichtiger Bestandteil der Software-Entwicklung. Während der Entwicklung fertigen die Beteiligten auf verschiedenen Ebenen Dokumentation an. Beispielweise dokumentieren Entwickler im Programmcode, während Projektmanager in Issue-Tracking-Systemen und anderen Projektmanagement-Tools dokumentieren. Ein Teil dieser Dokumentation sind Release-Notes. Diese werden am Ende des Release-Zyklus entweder manuell oder (semi-) automatisch mithilfe von Werkzeugen erstellt. Während der Software-Entwicklung lösen die Beteiligten Entscheidungsprobleme, finden alternative Lösungsmöglichkeiten, wägen die Vor- und Nachteile ab und treffen Entscheidungen. Das Wissen, das sie darüber besitzen, wird als Entscheidungswissen bezeichnet. Die Dokumentation von Entscheidungswissen wird durch das ConDec-Jira-Plugin unterstützt. In dieser Arbeit wird dieses Plugin um die Funktion erweitert, Release-Notes zu erstellen, die Entscheidungswissen beinhalten. Dafür gibt es verschiedene Konfigurationsmöglichkeiten und ein Algorithmus zur Relevanzbewertung kann bei der Entscheidung, welcher Inhalt in die Release-Notes einfließen soll, helfen. Die Erweiterung wird durch eine Umfrage mit Entwicklern des ConDec-Jira Plugins und einem Vergleich mit bestehenden ähnlichen Werkzeugen evaluiert. |
Darstellung der Evolution von Entscheidungswissen
Betreuer | Barbara Paech, Anja Kleebaum |
---|---|
Bearbeiter | Tim Kuchenbuch |
Beschreibung | Entscheidungen, die während der Entwicklung getroffen werden, werden meist nicht dokumentiert und auch nicht an andere Projektmitglieder weitergegeben. Im späteren Verlauf können diese fehlenden Informationen zu Arbeitsverzögerungen durch doppelte Arbeit führen. Das ConDec Werkzeug befasst sich mit dieser Problematik. Es ermöglicht das Erfassen von Entscheidungsproblemen, die während der Softwareentwicklung auftreten, die Diskussion von Alternativen zu einem Entscheidungsproblem und das Festlegen sowie die Dokumentation von Entscheidungen. Im Verlauf eines Projekts können Entscheidungen durch neue ersetzt werden oder neue Argumente entstehen. Aus diesem Grund müssen auch die Entscheidungen, die vor langer Zeit getroffen wurden, immer wieder neu betrachtet werden. Die Neubetrachtung im Rahmen einer Besprechung bleibt jedoch meist aus, da keine zeitliche Einordnung möglich ist. Neue EntwicklerInnen haben oft das Problem sich in ein neues Projekt einzuarbeiten und die Entscheidungen nachvollziehen zu können. Ziel dieser Arbeit ist es, diese Probleme anzugehen. Im Umfang dieser Arbeit wird durch eine Literaturrecherche herausgefunden, was EntwicklerInnen und ProjektmanagerInnen wissen wollen, um die Evolution von Entscheidungswissen verwalten und bearbeiten zu können und welche Unterstützung sie dafür benötigen. Der Status von Entscheidungswissen wird zu dem bereits vorhandenen ConDec Werkzeug hinzugefügt. Außerdem werden Evolutionsansichten hinzugefügt, die es ermöglichen, den zeitlichen Verlauf und eine Gegenüberstellung anzuzeigen, die die Einarbeitung und das Überarbeiten von Entscheidungswissen erleichtert. Filter ermöglichen den NutzerInnen dabei, essenzielles Wissen zu visualisieren. Die Erweiterungen werden im Arbeitsumfeld des ConDec Werkzeugs evaluiert und die Qualität wird sichergestellt. Als Abschluss werden die Ergebnisse dargestellt und mit einer Aussicht auf die Zukunft beschrieben. |
Design and implementation of a developer-centric quality web application
Betreuer | Barbara Paech, Anja Kleebaum |
---|---|
Bearbeiterin | Katherina Nizenkov |
Beschreibung | [Motivation] Bei SAP HANA gibt es zahlreiche Tools zur Qualitätssicherung des Softwareentwicklungsprozesses. Oftmals ist die Sicht solcher Tools eher auf die Bedürfnisse der Produktmanager und Qualitätsmanagementbeauftragten zugeschnitten. Die Ergebnisse sind oft zusammengefasst und nicht aktuell, weil die Datenerhebung der Qualitätsmetriken vom Release-Zeitpunkt abhängig ist. Diese Sicht auf die Qualitätssicherung erfüllt aber nicht immer die Informationsbedürfnisse eines Softwareentwicklers bzw. einer Softwareentwicklerin. [Ziele] Das Hauptziel dieser Arbeit ist der Entwurf und die Implementierung einer Webanwendung, die die Qualitätsmetriken anzeigt, die aus Entwicklersicht nützlich sind. Diese Metriken sollen sich direkt in konkrete Aufgaben übersetzen lassen. Um dieses Ziel umzusetzen, wurde eine Literaturrecherche zum Thema entwickler-zentrierte Qualitätssicherung durchgeführt und anschließend wurden die potenziellen NutzerInnen einer solchen Webanwendung in Einzelinterviews zu den Metriken befragt. [Ergebnisse] Die Hauptergebnisse dieser Arbeit sind zum einen eine Liste von Metriken, die sich bei den Interviews als nützlich herausgestellt haben und zum anderen ein Prototyp der Webanwendung (Quality Page), der zwei dieser Metriken anzeigt. Die implementierte Quality Page wurde von den Teilnehmern der Interviewstudie bewertet und im Allgemeinen für nützlich befunden. Während der Evaluation wurden zudem Ideen genannt, wie die Quality Page weiter ausgebaut werden kann, um EntwicklerInnen täglich bei der Qualitätssicherung ihres Codes unterstützen zu können. |
Visualisierung und Verwaltung von Entscheidungswissen in JIRA
Betreuer | Barbara Paech, Anja Kleebaum |
---|---|
Bearbeiter | Lars Tralle |
Beschreibung | Während der Softwareentwicklung treffen Entwickler kontinuierlich Entscheidungen. Das Wissen, das sie dabei aufbauen, wird als Entscheidungswissen bezeichnet und umfasst neben den getroffenen Entscheidungen auch die dahinterliegenden Entscheidungsprobleme, alternative Lösungsmöglichkeiten, sowie deren Vor- und Nachteile. Verlassen Mitarbeiter ein Projekt besteht die Gefahr, dass Wissen über ihre getroffenen Entscheidungen verloren geht. Um dies zu verhindern und neuen Entwicklern einen Überblick über bereits getroffene Entscheidungen zu geben, ermöglicht das ConDec JIRA Plug-In, Entscheidungswissen zu dokumentieren und mit Anforderungen oder Entwicklungsaufgaben zu verknüpfen. Ziel dieser Arbeit ist es, die Visualisierung und Verwaltung des Entscheidungswissens zu verbessern. Als Alternative zur bestehenden Darstellung von Dokumentation und Zusammenhängen in Form eines Baumes wird eine Visualisierung als gerichteter Graph hinzugefügt. In dieser gibt es die Möglichkeit Elemente und Verknüpfungen zu verwalten. Zusätzlich ermöglichen es Filter, die Größe des dargestellten Baumes oder Graphen zu reduzieren, indem Elemente, die nicht den Filterkriterien entsprechen, ausgeblendet werden. Eine erste Evaluation der in der Arbeit entwickelten Erweiterung zeigt, dass die Visualisierung als gerichteter Graph sowie die Filtermöglichkeiten einfach zu verwenden sind und Zusammenhänge leichter erkennbar machen. |
Automatisierte Empfehlung von Feature-Tags im Code
Betreuer | Barbara Paech, Marcus Seiler |
---|---|
Bearbeiter | Maximilian Verclas |
Beschreibung | Entwickler sind immer mehr auf Code-Empfehlungssystem während der Programmierung der Software angewiesen. Code-Empfehlungssysteme wie zum Beispiel der Content Assist in Eclipse sind mittlerweile allgegenwärtig. Jedoch gibt es noch kein Empfehlungssystem für Feature-Tags im Code, welches Vorschläge bezüglich des Codekontext generiert. Ein solches System wäre jedoch von Wichtigkeit, da EntwicklerInnen oft den passenden Feature-Tag für den Code nicht wissen oder Probleme haben, falls der Code mehr als ein Feature implementiert. Diese Arbeit analysiert zuerst verschiedene Ansätze bereits existierender Code-Empfehlungssysteme auf welche Teile des Codes diese Ansätze angewendet werden und welche Ergebnisse für Precision und Recall diese dabei erzielen. Es wird aus einem dieser Ansätze ein Eclipse Plug-In implementiert, welches dem Entwickler Empfehlungen für Feature-Tags vorstellt. Die Empfehlungen werden ihrer Relevanz bezüglich des Quellcodes absteigend sortiert angezeigt. Die Evaluation des Plug-Ins auf zwei Studentenprojekte mit gegebenen Goldstandard zeigt, dass die erste Implementierung eines Code-Empfehlungssystem für Feature-Tags bereits gute Werte für Precision und Recall aufweist. |
Unterstützung der Konsistenz zwischen Entscheidungen und ihrer Umsetzung durch Zusammenfassung von Codeänderungen
Betreuer | Barbara Paech, Anja Kleebaum |
---|---|
Bearbeiterin | Vita Aman |
Beschreibung | Ein zentraler Bestandteil bei der Entwicklung eines Softwaresystems ist die Dokumentation der zugehörigen Softwareartefakte. Die Dokumentation ist wichtig, damit EntwicklerInnen die Software gut evolvieren und so die Qualität der Software aufrecht erhalten können. Insbesondere wenn EntwicklerInnen nicht von Beginn an in einem Softwareprojekt tätig waren, fehlt ihnen das Wissen über die zuvor getroffenen Entscheidungen. Dieses Wissen wird als Entscheidungswissen bezeichnet. Neben der getroffenen Entscheidung umfasst das Entscheidungswissen auch das dahinterstehende Entscheidungsproblem, alternative Lösungsmöglichkeiten, sowie deren Vor- und Nachteile. Entscheidungswissen ist ein wichtiges Dokumentationsartefakt. Damit EntwicklerInnen das dokumentierte Entscheidungswissen gut nutzen können, sollte es möglichst vollständig und konsistent dokumentiert sein. Konsistenz heißt dabei zum einen, dass das Entscheidungswissen in sich richtig dokumentiert ist, das heißt, dass beispielsweise die Entscheidung das Entscheidungsproblem löst und nicht ein ganz anderes Problem. Zum anderen muss die dokumentierte Entscheidung konsistent zu ihrer Umsetzung sein, das heißt beispielsweise, dass Entwurfs- und Implementierungsentscheidungen im Code umgesetzt sein müssen. Um die Konsistenz zwischen Codeänderungen und den getroffenen Entscheidungen zu prüfen, müssen EntwicklerInnen bzw. der/die Rationale ManagerIn unter Umständen sehr viele Änderungen im Code überblicken, was sehr aufwändig sein kann. Daher ist es Ziel dieser Arbeit eine Zusammenfassung von Codeänderungen zu schaffen und somit EntwicklerInnen und den/die Rationale ManagerIn dabei zu unterstützen, die Konsistenz zwischen Entscheidungswissen und Code aufrecht zu erhalten. Dafür wird in dieser Arbeit das Jira Plugin ConDec erweitert. Eine erste Evaluation der in der Arbeit entwickelten Erweiterung zeigt, dass die Anzeige von zusammengefassten Codeänderungen nützlich sein kann, um die Konsistenz zwischen Entscheidungen und Code zu unterstützen. |
2018
Werkzeugunterstützung zur automatisierten Identifikation von gemeinsamen Bestandteilen in User Stories
Betreuer | Barbara Paech, Marcus Seiler |
---|---|
Bearbeiterin | Maksim Schreck |
Beschreibung | Anforderungen sind wichtig um die Umsetzung einer Software gemäß vorgegebener Kundenwünsche zu garantieren. Crosscutting Concerns zwischen diesen Anforderungen erschweren die Kapselung der in den Anforderungen beschriebenen Funktionalität. Bleiben diese Crosscutting Concerns unerkannt, manifestieren sie sich später in schlecht wartbarer und schwer erweiterbarer Software. Im Kontext dieser Arbeit wird eine Literaturrecherche durchgeführt, um einen Überblick Über bestehende Ansätze zur Identikation von gemeinsamen Bestandteilen in User Stories zu erhalten. Diese Ansätze werden auf ihre Eignung zur automatischen Adaption verglichen. Anhand von vorher festgelegten Kriterien wird ein Ansatz ausgewählt und als Plugin für die Vorgangsverfolgungssoftware Jira prototypisch implementiert. Das entwickelte Werkzeug wird anhand von zwei Testprojekten evaluiert. Die Evaluationsergebnisse zeigen, dass die mehrdeutige Auslegung von textuellen Anforderungsdokumenten die Analyse schwierig macht. Zusätzlich beeinträchtigen schlecht formulierte Anforderungen die automatische Identikation. Somit kann das entwickelte Werkzeug zwar zur Unterstützung des Anforderungsingenieurs genutzt werden, jedoch bleibt ein Restaufwand für den Anforderungsingenieur zur finalen und eindeutigen Auswahl der Crosscutting Concerns bestehen. |
Werkzeugunterstützung zur Umstrukturierung von Features in Issue Tracking Systemen und Versionskontrollsystemen
Betreuer | Barbara Paech, Marcus Seiler |
---|---|
Bearbeiter | Johannes Keller |
Beschreibung | Die meisten Softwareunternehmen sowie Open-Source Projekte nutzen für Software Engineering Aktivitäten eine Kombination aus Issue Tracking Systemen (ITS), wie JIRA oder Bugzilla, und Versionskontrollsystemen (VCS), wie git. Durch die Kombination dieser Systeme liegen die Informationen über Features der Software verteilt vor, und sind dadurch nicht mehr so gut verfolgbar. Im Laufe der Entwicklung können sich allerdings Änderungen an Features ergeben, wodurch diese umstrukturiert werden müssen. Zur Nachverfolgbarkeit von Features zwischen dem ITS und dem VCS wird die TAFT-Methode (Tagging Approach for Feature managemenT), verwendet, auf diesen Tags findet die Umstrukturierung statt. Beim Zusammenfassen sind lediglich die Tags der betroffenen Artefakte im ITS und VCS zu ändern, während beim Aufspalten entstehende Features in dem Feature identifiziert werden müssen, und die Artefakte sowie der Code zu den Features zugeordnet werden müssen. Um Anforderungsklassifikationen zu analysieren und zu identifizieren, wurde eine Literaturrecherche durchgeführt. Diese ergab, dass Anforderungen durch viele verschiedene Methoden klassifiziert werden können, unter anderem durch Clusteringverfahren. Um ein Feature aufzuspalten und Artefakte im ITS und VCS Feature zuzuordnen, wurde Hierarchical Agglomorative Clustering mit complete linkage und das Ähnlichkeitsmaß des Euklidischen Abstands verwendet. Die Evaluation des Ansatzes auf einem gegebenen Goldstandard zeigte, dass das Aufspalten von Features und das Zuordnen der Artefakte zu Features, mit einer durchschnittlichen Precision von 0.061 und einem durchschnittlichen Recall von 0.67 möglich ist. |
Werkzeugunterstützung zur Durchführung von Änderungen am Feature-Wissen
Betreuer | Barbara Paech, Marcus Seiler |
---|---|
Bearbeiter | Michael Anders |
Beschreibung | Softwareentwickler benutzen oft Techniken während des Entwicklungsprozesses, um die Effizienz, Qualität und Wartbarkeit ihrer Software zu verbessern. Da alle Softwareprojekte Feature enthalten, die implementiert werden um gewünschte Funktionalitäten zu sichern, kann das Nutzen von Tags an Projektelementen dazu verwendet werden, um zu Kennzeichnen, welches Feature von einem Element implementiert wird. Diese Feature- Tags bestehen aus Stichwörtern, welche sowohl an Objekte in Issue-Tracking-Systemen als auch an Codefragmente in Versions-Kontroll-Systemen angeheftet werden können. Dies verringert die Informationsverteilung zwischen den beiden Systemen. Um die Nutzbarkeit dieses Ansatzes zu erhöhen können Software Tools verwendet werden, welche den Entwicklungsprozess und die spätere Wartung des Quellcodes und der Dokumentation unterstützen. Ein Beispiel für solche Tools sind die Implementation des Eclipse Plug-ins FormS4E und des Jira Plug-ins FormS4J. Diese zwei Plug-ins erlauben es einem Nutzer die Konsistenz innerhalb der Feature-Tags eines Projekts zu bewahren, sollten Änderungen am Feature-Wissen, also der Summe aller Informationen, die im Zusammenhang mit den Features stehen, vonnöten sein. Sowohl FormS4E als auch FormS4J führen eine Funktionalität ein, welcher Veränderungsvorschläge generiert, sollte ein Feature umbenannt, gelöscht oder mehrere Feature zusammengelegt werden. Diese Veränderungsvorschläge können dann von einem Nutzer analysiert werden, woraufhin ausgewählte Vorschläge automatisch in sowohl Jira als auch Eclipse durchgeführt werden. FormS4E reagiert dabei nicht nur auf Veränderungen innerhalb des Quellcodes, sondern auch auf Feature-Wissens-Änderungen innerhalb von Jira. Auch dahingehend werden Veränderungen vorgeschlagen. Ein weiterer Faktor ist die Granularität der Feature-Tags zwischen den einzelnen Codefragmenten. FormS4E bietet auch hier Funktionen um die Übertragung von Feature-Tags auf Klassen Ebene zur Methoden Ebene und umgekehrt zu ermöglichen. Beide Plug-ins wurden mit Daten aus zwei Studentenprojeketen evaluiert, um die korrekte Funktionalität aller Features in einem realistischen Benutzungsablauf zu garantieren. So kann die Konsistenz während der Lebenszeit eines Softwareprojekts erhalten werden. Die Verfolgbarkeit zwischen einem Issue-Tracking-System und einem Versions-Kontroll- System wird verbessert, indem die Verbindung zwischen dem Quellcode und den Entwurfsdokumenten erhöht wird. |
Entwicklung einer Plattform zur Evaluation (Semi-)automatischer unüberwachter domänenspezifischer Terminologieextraktionsansätze aus natürlichsprachigen Texten
Betreuer | Barbara Paech, Thomas Quirchmayr |
---|---|
Bearbeiter | Christopher Jung |
Beschreibung | Der Fokus dieser Arbeit ist die Evaluation bestehender unüberwachter, domänenspezifischer Termextraktionsansätze. Dafür wird eine Evaluationsplattform erstellt, die die relevantesten Ansätze miteinander vergleicht. Der theoretische Teil dieser Arbeit beschäftigt sich mit der Analyse der existierenden Ansätze und gibt einen Einblick in die domänenspezifische Termextraktion. Eine selbst implementierte Entwicklungsplattform, die die relevantesten Ansätze vergleicht, wird ebenfalls beschrieben. Die Ergebnisse dieser Arbeit werden in Bezug auf Precision, Recall und F1-Score bewertet und diskutiert. Im letzten Kapitel werden die Ergebnisse zusammengefasst und es wird ein kurzer Ausblick gegeben. |
Dokumentation und Nutzung von Entscheidungen in Code
Betreuer | Barbara Paech, Anja Kleebaum |
---|---|
Bearbeiter | Martin Seiler |
Beschreibung | Die Nutzung von Entscheidungswissen ist ein wichtiger Bestandteil der Entwicklertätigkeit. Diese Bachelorarbeit hat die Dokumentation und Nutzung von Entscheidungswissen zum Thema. Entscheidungswissen, das bereits vorhanden ist, sollte genutzt werden bei der Verbesserung von bestehendem Code. Der im Rahmen dieser Bachelorarbeit entwickelte Prototyp DecXplore unterstützt die Erforschung vorhandenen Wissens. Das Festhalten von Entscheidungswissen trägt weiter zur Verbesserung der Entwicklertätigkeit bei. DecXplore unterstützt auch die Dokumentation von Entscheidungswissen im Code. Änderungen in Commits können verwoben sein und die Erforschung von Entscheidungswissen behindern. In dieser Bachelorarbeit werden Ansätze zur Identifizierung verwobener Änderungen beschrieben und es wird ein Ansatz umgesetzt. Unverwobene Änderungen sind entscheidend für das Gelingen von Ansätzen zur Analyse von Änderungsauswirkungen. Diese Bachelorarbeit beschreibt so auch einen Ansatz zur Analyse von Änderungsauswirkungen und evaluiert diesen. Im Ergebnis zeigt sich, dass der implementierte Prototyp die an ihn gestellten Anforderungen erfüllt und mit Weiterentwicklung zukunftsfähig bleiben kann. |
Prozessoptimierung durch Erstellung eines Werkzeugs zur kombinierten Übersicht des Plannungs- und Entwicklungsstands von Produktanforderungen
Betreuer | Barbara Paech, Astrid Rohmann |
---|---|
Bearbeiter | n.a. |
Beschreibung | Sperrvermerk |
2017
Dokumentation und Nutzung von Entscheidungen in Git
Betreuer | Barbara Paech, Anja Kleebaum |
---|---|
Bearbeiter | Paul Zubrod |
Beschreibung | Die Dokumentation von Software ist ein wesentlicher Bestandteil des Software Engineerings. Sie ist wichtig für die Wartung und Evolution einer Software. Leider fehlt oft aus Zeitgründen die Dokumentation ganz oder ist unvollständig. Eine der nützlichsten Informationsquellen für EntwicklerInnen sind sogenannte Commit-Nachrichten in einem Git-Repositorium, aus denen man entnehmen kann Was und Warum etwas geändert wurde. Die Gründe, warum eine Änderung stattgefunden hat, sind allerdings häufig nicht dokumentiert. Das Ziel dieser Arbeit ist daher, Entscheidungen hinter einer Änderung strukturiert und chvollziehbar in einer Commit-Nachricht zu speichern. Ein Prototyp, namens "DecDoc Git", soll Entscheidungen automatisiert aus geschriebenem Code extrahieren und dem/der EntwicklerIn vorschlagen, der/die nun anschließend die Möglichkeit hat, die Nachricht anzupassen und zu speichern. |
Evaluation von Topic Modeling zur (semi-)automatisierten Generierung von Feature-Tags
Betreuer | Barbara Paech, Marcus Seiler |
---|---|
Bearbeiter | Tobias Wächter |
Beschreibung | Im Issue-Tracking System JIRA lassen sich Issues anlegen, die der Dokumentation von verschiedenen Projektschritten dienen. Anforderungen an die zu entwickelnde Software werden dabei in Epics oder User-Stories dokumentiert. JIRA bietet Entwicklern die Möglichkeit, Feature-Tags an Issues zu vergeben. Auf diese Weise können Software Features mit verschiedenen Issue-Typen (z.B Usertasks oder Workitems), die mit dem gegebenen Feature in Verbindung stehen, verlinkt werden. Dadurch soll die Rückverfolgbarkeit von Anforderungen innerhalb eines Softwareprojekts gewährleistet werden. Diese Arbeit untersucht die Möglichkeit, Feature-Tags (semi-) automatisiert aus Anforderungen zu extrahieren. Für die Extraktion der Feature-Tags werden verschiedene Topic Modeling Algorithmen verwendet. Diese werden dann als ein JIRA Plug-In implementiert. Das Plug-In soll beim Anlegen von Issues geeignete Feature-Tags vorschlagen. Es wird untersucht, inwieweit sich die Ergebnisse der verwendeten Topic Modeling Algorithmen unterscheiden und wie gut die Vorschläge für Feature-Tags funktionieren. Dafür werden die Topic Models mit den gebräuchlichen Metriken Precision, Recall und F1-Score analysiert. |
Trace Link Qualitätsverbesserung unter Verwendung von Strukturinformationen
Betreuer | Barbara Paech, Paul Hübner |
---|---|
Bearbeiter | Carsten Neuses |
Beschreibung | [Kontext und Motivation] Gegenwärtige Verfahren zur automatisierten Trace Link Erzeugung erreichen noch keine zufiredenstellenden Precision-und Recall Werte. Obwohl in den vergangenen Jahren Verbesserungen erzielt wurden, bleiben Trace Link-Datensätze unvollständig und fehlerbehaftet. [Fragestellung] In dieser Arbeit wird untersucht, ob die Berücksichtigung von Strukturinformationen Precision und Recall bei Trace Links erhöhen kann, die mithilfe von Information Retrieval (IR) oder mithilfe von Interaction Logs (IL) generiert wurden. [Ansatz] Zwei neu entwickelte Optimierungsverfahren werden auf einem Open Source Projekt angewendet, für welches bereits IR- und IL-basierte Trace Links existieren. [Ergebnis] Die Ergebnisse der durchgeführten Untersuchung zeigen, dass durch die Optimierungsverfahren die relative Precision gegenüber IR-basierten Links gesteigert werden kann. Zudem können mithilfe der Optimierungsverfahren neue Trace Links identifiziert werden, die weder durch IR, noch von IL-Ansätzen erkannt werden. |
Ontologieunterstützung für Tasks und Subtasks in JIRA
Betreuer | Barbara Paech, Christian Kücherer |
---|---|
Bearbeiter | Ewald Rode |
Beschreibung | Das DFG geförderte Projekt Semantisches Netz des Informationsmanagements im Krankenhaus (SNIK) befasst sich mit dem Informationsmanagement im Krankenhaus. Ein wichtiges Ergebnis des SNIK Projekts ist die SNIK-Ontologie, die die Domäne des Informationsmanagements im Krankenhaus modelliert. Domänenontologie wie die SNIK-Ontologie können im Requirements Engineering (RE) für unterschiedliche Zwecke verwendet werden. Einer davon ist die Nutzung als Glossar. Anforderungen werden in natürlicher Sprache und als Modelle dokumentiert. Anforderungen sind Bedingungen oder Fähigkeiten, die eine Softwaresystem erfüllen oder besitzen muss, um zur Lösung eines Problems beizutragen oder zur Erreichung eines Ziels benötigt werden. Die Aufgabenorientierte Requirements Engineering Methode TORE ist ein Framework zur SPezifizierung von Anforderungen, in dem die zu erledigenden Aufgaben der NutzerInnen im Mittelpunkt stehen. NutzerInnen werden in TORE durch Personas und deren Rollen dokumentiert, zu erledigende Aufgaben werden durch Aufgaben (engl. task) und Unteraufgaben (engl. subtask) dokumentiert. Unteraufgaben sind Aufgaben untergeordnet und beschrieben diese näher. Spezifizierte Anforderungen sind häufig mit Qualitätsproblemen behaftet. Sowohl natürliche Sprache als auch Modelle enthalten manchmal mehrdeutige Begriffe, die die Systementwicklung negativ beeinflussen. Um die Mehrdeutigkeit der Anforderungen zu reduzieren, können Glossare verwendet werden. Ein Glossar ist eine Sammlung von Begriffen und ihren Begriffsdefinitionen. Die Festlegung der Begriffsdefinitionen sorgt für ein einheitlich genutztes Vokabular und eine eindeutige Semantik. Es ist wichtig, die Verwendung solcher Glossarbegriffe während der Anforderungsdokumentation zu unterstützen, d.h. es muss eine entsprechende Unterstützung in RE-Werkzeugen geben. Neben verschiedenen Werkzeugen im RE können Anforderungen auch im Issue-Tracker JIRA dokumentiert und verwaltet werden. Ziel dieser Arbeit ist es, ein Plug-In für den Issue-Tracker JIRA zu entwickeln, das die SNIK-Ontologie als Glossar zur Unterstützung der Dokumentation von Anforderungen verwendet. Die Funktionsweise und Implementierung der vorgeschlagenen Lösung werden im Detail beschrieben. Abschließend wird das entwickelte Plug-In evaluiert. |
Klassifikation von medizinisch relevanten Informationen in Webdomänen
Betreuer | Barbara Paech, Thomas Quirchmayr |
---|---|
Bearbeiter | Frederic Born |
Beschreibung | Ziel dieser Bachelorarbeit ist, in Zusammenarbeit mit der Gotthardt Health Group (GHG), die Entwicklung eines modularen Softwareprototypen, mit dessen Hilfe domänenrelevante Textdokumente von medizinischen Webdomänen extrahiert und klassifiziert werden können. Als relevante Textdokumente werden sämtliche Artikel der jeweiligen Webdomäne bezeichnet. DieseTextdokumente sollen von irrelevanten Textdokumenten, wie Werbung, Überssichtsseiten oder mit Login gesicherten Seiten getrennt werden. Als Teil dieser Bachelorarbeit wurde eine strukturierte Literaturrecherche durchgeführt, in der verschiedene Klassifizierungsansätze anhand von festgelegten Charakteristiken miteinander verglichen wurden. Auf Basis der gefundenen Literatur wurden erste eigene Klassifizierungsansätze entwickelt und deren Tauglichkeit mit dem Stakeholder abgestimmt. Aufgrund von geänderten Anforderungen während des Entwicklungsprozesses ist ein modularer Softwareprototyp entstanden, der einen regelbasierten Klassifizierungsansatz verfolgt. Der Klassifikator dieses Ansatzes ist mittels Konfigurationsdatei flexibel auf jede beliebige Webdomäne erweiterbar. Abschließend wird der entwickelte modulare Softwareprototyp anhand von Testdaten evaluiert und mit den alternativen Klassifizierungsansätzen verglichen, die während der Entwicklungsphase entstanden sind. |
Continuous trace link creation in issue tracking systems
Betreuer | Barbara Paech, Paul Hübner |
---|---|
Bearbeiter | Thorsten Bernhard Wünsche |
Beschreibung | Software development usually involves the creation of source code and requirement specifications. Information about which source code entities were based on a specific requirement, or were influential during the implementation, is frequently incomplete. This thesis investigates how interaction data can be used to create trace links between source code entities and requirement specifications, as well as possible applications for those trace links. Interaction data is gathered in the integrated development environment, transmitted to an issue tracking system and assigned to an issue chosen by the developer as changes to the source code are committed to the version control system. The prototype developed to showcase this functionality contains an extension to the Eclipse plug-in Mylyn, which minimizes the user interactions required to record and upload the interaction data to the issue tracking system. A Jira plug-in displays the trace links created based on the gathered data in the issue view of the relevant requirement specification. It also provides hyperlinks to the source code in a repository browser. |
2016
Einsatz einer Ontologie als Datenmodell zur Datenaggregation
Betreuer | Barbara Paech, Christian Kücherer |
---|---|
Bearbeiter | Benedikt Tröster |
Beschreibung | Ontologien enthalten eine semantische Beschreibung von Konzepten und deren Relationen aus der realen Welt und liegen in maschinenlesbarer Form vor. Im Rahmen des DFG geförderten Projekts SNIK (Semantisches Netz des Informationsmanagement im Krankenhaus) wird eine Ontologie erstellt, die Aufgaben, Rollen und Objekttypen des Informationsmanagements abbildet.In der IT Umgebung des Krankenhauses fallen unzählige Daten an, die für Entscheidungen des IT-Leiters oder auch Chief Information Officer (CIO) relevant sind. Um den CIO bei seinen Entscheidungen zu unterstützen, wird der CIO-Navigator (CION)im SNIK Projekt entwickelt. Der fertige CION unterstützt den CIO durch die Erstellung, Aggregation und Darstellung von relevanten Informationen aus der IT-Abteilung im Krankenhaus, und ermöglicht so das Treffen objektiver Entscheidungen. So entstand die Idee, die Ontologie als Datenmodell mit semantischer Beschreibung zur Datenaggregation zu verwenden. Dieser Ansatz wird in der wissenschaftlichen Literatur als Ontology Based Data Access (OBDA) bezeichnet und lässt sich unter anderem in Frameworks wiederfinden. Diese Bachelorarbeit zeigt den aktuellen Forschungsstand des Einsatzes einer Ontologie als Datenmodell und zum Zugriff auf Daten im Bereich OBDA. Verschiedene Ansätze und Frameworks werden gegenübergestellt und hinsichtlich der Anforderungen an eine an das Projekt angepasste Lösung, in Form eines Prototyps, verglichen. Der in dieser Arbeit entstandene Prototyp zeigt auf, wie die vorhandene Ontologie mit den verschiedenen Datenquellen (z.B. Excel) verknüpft und so als eine semantische Beschreibung der Daten verwendet werden kann. Für die Entwicklung werden dessen Anforderungen erhoben und dann im Prototyp umgesetzt. Der Prototyp baut auf einem in der Literaturrecherche evaluierten Framework namens Ontop auf und greift über dieses auf die Daten zu. Die Daten werden über einen Föderationsserver (Teiid) als eine virtuelle Datenbank an Ontop exponiert. Um sicher zu stellen, dass der Prototyp den Anforderungen gerecht wird, werden manuelle- und Unit-Tests eingesetzt. Zur Dokumentation der Anforderungen wird UNICASE verwendet. |
Evaluierung von NPL Frameworks für ein Werkzeug zur Automatisierten Trace Link Erstellung
Betreuer | Barbara Paech, Paul Hübner |
---|---|
Bearbeiter | Philipp Lehr |
Beschreibung | Im Zuge der Softwareentwicklung entsteht eine Vielzahl von unterschiedlichen Dokumenten. Dies gilt auch für die Dokumentation von Anforderungen. Die Rückverfolgbarkeit (Traceability) von einem Anforderungsdokument zur Umsetzung in der Implementierung wird durch Trace Links sichergestellt. Trace Links für Dokumente in Software Entwicklungsprojekten werden jedoch oftmals nur teilweise oder gar nicht umgesetzt. Der Hauptgrund dafür ist der hohe Aufwand der manuellen Erstellung von Trace Links. Diese Arbeit beschäftigt sich daher mit dem Vergleich von zwei unterschiedlichen Verfahren zur automatisierten Trace Link Erstellung. Hierbei werden Trace Links, die durch Interaktionen von Entwicklern mit Ihrer Entwicklungsumgebung erzeugt wurden, verwendet, um diese mit Trace Links, die durch Information Retrieval (IR) erzeugt werden, zu vergleichen. Dazu wird ein Werkzeug entworfen, welches sowohl bei der Erstellung von IR Trace Link Datensätzen als auch der weiteren Verarbeitung von Trace Link Datensätze unterstützt. |
2015
Entwurf und Entwicklung einer Methode zur Verlinkung von Requirements und Source Code durch Annotationen
Betreuer | Barbara Paech, Paul Hübner |
---|---|
Bearbeiter | Daniel Barthel |
Beschreibung | In Software Projekten werden sehr viele Dokumente angelegt, um Anforderungen und Entscheidungen zu dokumentieren. In dieser Dokumentation werden alle wichtigen Informationen zu einem Projekt hinterlegt. Viele dieser Informationen sind wichtig für die Implementation einer Software, sind aber im Arbeitsbereich des Software Entwicklers, der die Implementation vornimmt, nicht mühelos und nachvollziehbar erreichbar. Diese Arbeit versucht diese Lücke zwischen der Dokumentation im CASE-Tool UNICASE und der Implementierung zu schließen. Dazu wird eine Methode zur Verlinkung von Quelltext und Anforderungsdokumenten entwickelt und prototypisch als Eclipse Plug-In umgesetzt. |
Erweiterung von EMF-basierten Modellen zur Laufzeit
Betreuer | Marcus Seiler |
---|---|
Bearbeiter | Jochen Clormann |
Beschreibung | Das auf dem Eclipse Modeling Framework (EMF) basierende CASE-Tool UNICASE unterstützt die Nachverfolgbarkeit von Softwareprojekt-Artefakten. Die nachverfolgbaren Artefakte sowie die Tracelinks zwischen den Artefakten sind dabei fest in das zugrundeliegende Meta-Modell von UNICASE integriert, d.h. alle möglichen nachverfolgbaren Artefakte stehen bereits vor der Ausführung fest. Im Verlauf eines Projekts und der Nutzung von UNICASE können sich Situationen ergeben, die es erfordern, dass bisher nicht verlinkte Artefakte miteinander verbunden werden oder sogar neue Artefakte hinzugefügt werden müssen um eine vollständige Nachverfolgbarkeit sicherzustellen. Jedoch ist bisher in UNICASE keine Möglichkeit zur Erweiterung von nachverfolgbaren Artefakten zur Laufzeit vorhanden. Mittels Meta-Modellierung kann das zugrundeliegende UNICASE-Modell zur Laufzeit erweitert werden. |
2014
Operational Controlling in Software Development Projects
Betreuer | Paul Hübner |
---|---|
Bearbeiter | Matthias Franz |
Beschreibung | In recent years more and more companies are migrating to software-based project management and tracking solutions. These systems produce a constant stream of events that, if combined and analysed appropriately, will produce unique, holistic insights into the inner workings and structure of the organization. In order to arrive at the long term goal of having a unified system that can give relevant insights from the multiple heterogeneous connected systems of a company, a number of engineering challenges must be addressed in the areas of flexibility, scalability and security. This thesis takes the first steps towards developing this type of automated eventmonitoring, aggregation and interpretation system for the modern business environment. The system primarily addressed the problematic area of financial controlling in software development projects according to the Earned Value methodology. The proposed software solution comes in the form of a prototypical plugin for the JIRA Project Management System, and the feasibility and future potential of this solution is examined as part of this thesis. |
Erstellung von Feature Modellen durch die Analyse von Benutzungsoberflächen mit Hilfe von UI-Modellen
Betreuer | Paul Hübner |
---|---|
Bearbeiter | Karsten Mayer |
Beschreibung | Many programs exist a long time. Thereby knowledge of the system is often lost that includes the knowledge of the functionality of the programs. In this field much research is currently done to get information about a program and its context. The goal of this research is to get a feature model about a software system with the help of the user interface. Therefore, an approach was created including an prototypical implementation. The prototype use a UI model that was created with a reverse engineering tool. Finally the prototype was evaluated with three user interfaces examples. The evaluation has shown that there are some problems in the automatic created models. It is necessary to configure the prototype for each UI individually. The prototype creates nodes, that don’t represent a real feature. Moreover, the hierarchy is not always correct. Nevertheless, the prototype provides an overview of the features that are available in a user interface of a program. This shows that it is possible to get information about features of a program with the analysis of its user interface. |
Documentation of Decisions During the Implementation Phase Through Code Annotations
Betreuer | Tom-Michael Hesse |
---|---|
Bearbeiter | Arthur Kühlwein |
Beschreibung | Many decisions which are made during the implemetation phase of software projects are documented either not at all or through unstructured comments within the source code. This makes the rationale, i.e. the underlying issue with its context, alternative solutions and criteria behind the decision implicit. As a consequence, reproducing the decision later on becomes very difficult. It is thus necessary to make as much of this decision knowledge as possible explicit, since decisions made during the earlier stages are frequently reevaluated, changed or discarded during the evolution of a software project. |
Download |
Entwicklung eines Software Feature Modellierungs- und Visualisierungskonzepte
Betreuerende | Gabriele Zorn-Pauli, Paul Hübner |
---|---|
Bearbeiterin | Milinda Femina Joseph |
Beschreibung | Um die Gesamtfunktionalität eines Systems zu beschreiben, wird diese häufig in mehrere Funktionseinheiten, sogenannte Features aufgeteilt. Ein Feature beinhaltet dabei eine abgeschlossene Systemfunktionalität oder -qualität, die für Kunden oder Benutzer einen Mehrwert erzeugen und je nach Nutzungskontext sind unterschiedliche Sichtweisen auf Feature Strukturen notwendig. Zur Kommunikation mit dem Kunden benötigt man beispielsweise eine kundenorientierte Sichtweise, zur Festlegung der Implementierungsreihenfolge von Features jedoch eine technische. In der Praxis sind Informationen über die Features eines Softwaresystems oftmals nicht, teilweise oder nur unstrukturiert vorhanden und gerade für Marketingzwecke fehlt es derzeit an einem geeigneten Modellierungs- und Visualisierungskonzept. Basierend auf bereits existierenden Konzepten, wird in der vorliegenden Arbeit ein Modellierungskonzept vorgestellt, das eine kundenorientierte Sichtweise auf die Software Feature eines Systems ermöglicht und darauf abzielt existierende Feature zu Marketingzwecken an Stakeholder zu kommunizieren. Die Validierung des Konzeptes erfolgt anhand ausgewählter Datensätze aus der Industrie. Des Weiteren wird für das Modell ein Visualisierungskonzept vorgestellt, das eine kundenfreundlich Darstellung der Feature ermöglichen soll. |
2013
Data-Mining in Versionsverwaltungssystemen zur Extraktion von Entscheidungs- und Feature-Wissen
Betreuer | Paul Hübner |
---|---|
Bearbeiter | Tristan Engel |
Beschreibung | This thesis presents a Ontology for Version Control System Data, so that phrasing answerable Questions about the Development Process in regard to knowledge about Decisions and Features is possible. This Ontology is based on a comprehensive literature research in scientic databases. Furthermore answerable Questions are presented combined with a proposal for their implementation. Some of these Questions are practically implemented in a prototypical analysis tool and tested on the ArgoUML project. Finally the results of these tests are also presented which showed that the used methods are indeed reasonable. |
Erstellung eines Testkonzepts für die Komponenten Use Case und Test Case in UNICASE
Betreuer | Alexander Delater |
---|---|
Bearbeiter | Burak Alper Türkpencesi |
Beschreibung | UNICASE bietet die Möglichkeit, Use Cases und Test Cases zu spezifizieren. In einem Use Case wird der Interaktionsablauf des Aktors mit dem System als „Flow of Events“ beschreiben. In den Test Cases werden die Tests spezifisiert. Diese werden zu Testprotokollen verlinkt, in denen die Testergebnisse der ausgeführten Use Cases protokolliert werden. Zurzeit sind die Komponenten Use Case und Test Case noch nicht umfassend qualitätsgesichert. Im Rahmen einer Bachelor Thesis ist ein Testkonzept für den Systemtest und die Implementierung dieser Testfälle in UNICASE zu entwickeln. |
2010
Entwurf eines agilen Requirements Engineering Vorgehens mit Fokus auf Gebrauchstauglichkeit für das Allianz Business System
Betreuerin | Barbara Paech |
---|---|
Bearbeiter | Andreas Fay |
Beschreibung | Um einen agilen Requirements Engineering-Prozess mit Fokus auf Gebrauchstauglichkeit für das Allianz Business System zu etablieren, erläutert diese Arbeit zunächst den IST-Zustand. Dabei sticht vor allem die ungenügende Einbindung von Benutzerinnen und Benutzern hervor. Bisher werden diese erst am Ende des Prozesses eingebunden. Um dies zu beheben, werden zwei bekannte Ansätze aus der Literatur näher betrachtet und deren "Best Practices" vereint. Auch für die Integration von klassischem Requirements Engineering und agilen Methoden werden aus der Literatur die Praktiken extrahiert. Diese beiden Sammlungen an Praktiken sind die Grundlage für die Behebung der identifizierten Defizite, um das Ziel eines agilen Requirements Engineering-Prozesses mit Fokus auf Gebrauchstauglichkeit für das Allianz Business System zu erreichen. |
Download |
2008
Nutzen von Qualitätssicherungsmaßnahmen in der Softwareentwicklung
Betreuerin | Timea Illes-Seifert |
---|---|
Bearbeiter | Alexander Kappe |
Beschreibung | Qualität ist heute einer der wichtigsten Wettbewerbsfaktoren im Bereich der Softwareentwicklung. Hierbei ist die frühzeitige Qualitätssicherung durch geeignete Maßnahmen wichtig und die Notwendigkeit zusätzliche Zeit und Kosten aufzuwenden, wird immer offensichtlicher. Die Bereitschaft dazu ist allerdings nach wie vor zurückhaltend, da die meisten Maßnahmen sehr zeitaufwendig und kostenintensiv sind. Dabei existiert eine große Anzahl von erprobten Verfahren zur Sicherstellung von Qualität, deren Aufwand bzw. Kosten – richtig angewendet - meistens eine lohnende Investition darstellen. Aber welche Maßnahmen sind das? Und in welchem Zusammenhang, zu welchem Zeitpunkt und in welchem Maße müssen sie durchgeführt werden um ein lohnendes Aufwand/Nutzen-Verhältnis zu schaffen? Diese Arbeit beschäftigt sich mit genau diesen Fragen und zielt darauf ab, bekannte Qualitätssicherungsmaßnahmen praxisfokussiert zu analysieren, um eine konkrete Nutzen-Darstellung zu erhalten. Hierfür wurden Fallstudien aus der Praxis gesammelt, analysiert und ausgewertet. Als Resultat entstand eine Übersicht, welche die Maßnahmen nach relevanten Aspekten kategorisiert, den entsprechenden Nutzen veranschaulicht und im besten Falle quantitativ beschreibt. Das zusammenfassende Ergebnis der Arbeit ist, dass fast alle untersuchten Maßnahmen potentiell erfolgversprechend sind, die Qualität des Softwareprodukts erhöhen können und bei korrekter Anwendung auch aus wirtschaftlicher Sicht von Nutzen sind. |
Systematische Analyse und Realisierung von Zugriffsschutz in offenen Systemen
Betreuerin | Barbara Paech |
---|---|
Bearbeiter | Sharon Friedrich |
Beschreibung | In der heutigen Informationsgesellschaft werden in vielen Unternehmen die Geschäftsprozesse durch Informationstechnologien unterstützt. So werden auch in vielen Notariaten vertrauliche Dokumente wie Testament oder Ehevertrag in digitaler Form verwaltet und aufbewahrt. Allerdings birgt dies auch neue Gefahren, da die vertraulichen Dokumente leichter vervielfältigt und gestohlen werden können. Grund dafür sind die Schnittstellen zum Anschluss externer Speichermedien und die Anbindung zum Internet, Eigenschaften, die mit der Offenheit des im Notariat eingesetzten IT-Systems zusammenhängen. Zudem müssen weitere Personen zur Wartung der Hard- und Software extern angestellt werden, die ebenso wie die Notarfachangestellten einen leichten Zugang zum IT-System und somit zu den darauf gespeicherten Daten haben. Hierbei stellen Rache, Habgier und Neugier nur einige der Motivationen dar, die das Personal zu einem Diebstahl der zu schützenden Dokumente und zu einer Verletzung ihrer Vertraulichkeit bewegen könnten. Ein weiteres Risiko besteht durch Unwissenheit und Fahrlässigkeit des Personals. Um das existierende Bedrohungspotenzial zu vermindern und die Sicherheit der vertraulichen Dokumente trotz Einsatz von Informationstechnologien gewährleisten zu können, muss die Notariatsumgebung auf Schwachstellen, Misuser, Bedrohungen und Missbrauchsszenarien untersucht werden. Hierfür eignet sich die als MOQARE (Misuse-Oriented Quality Requirements Engineering) bezeichnete Methode, die eine schrittweise Identifizierung der einzelnen relevanten Aspekte ermöglicht und einen Überblick über das Bedrohungspotenzial schafft. Diese Informationen ermöglichen, eine geeignete Kombination und Umsetzung der Standardsicherheitsmaßnahmen Authentisierung, Rechtevergabe, Kryptografie, Überwachung sowie Organisation erarbeiten zu können, was als ein Sicherheitskonzept zum Schutz der vertraulichen Dokumente vor unautorisiertem Zugriff innerhalb der Notariate realisiert werden kan |
Gestaltung eines Kundenfeedback-Werkzeugs bei Siemens OCS
Betreuerin | Barbara Paech |
---|---|
Bearbeiter | Maik Häsner |
Beschreibung | Die Motivation für die Anfertigung dieser Arbeit war die Lösung der in der Einleitung beschriebenen Probleme. Die Probleme bestanden darin, dass verschiedene Prozesse zur Aufnahme und Verarbeitung von Kundenwünschen bei Siemens Medical Solutions Oncology Care Systems existieren. Diese sollten gebündelt und vereinheitlicht werden, um klare Abläufe zu schaffen. Für die Lösung des Problems wurde ein IT-Werkzeug benötigt, welches Kundenwünsche aufnimmt, um diese anschließend einheitlich bearbeiten zu können. Hierzu wurden zunächst drei bei Siemens Medical Solutions vorhandene Werkzeuge vorgestellt, die für die Lösung von ähnlichen Problemstellungen entworfen wurden. Ziel war es herauszufinden, ob für die Entwicklung des Werkzeugs auf eines der drei vorhandenen Werkzeuge aufgesetzt oder ob ein neues entwickelt werden sollte.Eine erstellte Featureliste half bei dem Vergleich der vorhandenen Werkzeuge. Sie basiert auf groben Features, welche unter anderem aus dem Prototypen VOiCe abgeleitet wurden. Die groben Features wurden zu Features verfeinert, die letztlich als Vergleichspunkte dienten. Das Ergebnis des Vergleichs ist, dass keines der drei Werkzeuge die Features gut erfüllt. OCS kam zu dem Entschluss, auf den Prototypen VOiCe aufzubauen und diesen anzupassen. Parallel zur Aufstellung der Featureliste und dem anschließenden Vergleich von den vorhandenen Werkzeugen wurden die konkreten Kundenanforderungen an das zu entwickelnde Werkzeug herausgearbeitet. Hierfür wurden zuerst lösungsneutrale Use Cases erstellt. Zusätzlich wurde ein Prozess entworfen, der den Verarbeitungsablauf eines Kundenwunsches mithilfe des Werkzeugs beschreibt. Unter Verwendung der Use Cases und der Beschreibung des Prozesses wurden Kundengespräche geführt, um konkrete Kundenanforderungen aufzustellen. Die Kundenanforderungen wurden anschließend notiert und zusätzlich auf die Use Cases abgebildet, um die Nachvollziehbarkeit zu gewährleisten. Aus den Use Cases, welche mit den Kundenanforderungen verknüpft sind, wurden Systemtestfälle erstellt. Zweck der Systemtestfälle ist es, das zu entwickelnde Werkzeug nach seiner Fertigstellung dahin gehend zu testen, ob alle Kundenanforderungen korrekt und vollständig umgesetzt wurden. Mit dem zu entwickelnden Werkzeug werden Kundenwünsche erfasst und anschließend muss eine Entscheidung getroffen werden, ob sie angenommen oder abgelehnt werden. Für die Entscheidungsfindung ist es hilfreich, eine Methode zur Priorisierung der Kundenwünsche einzusetzen. Deshalb wurden die Methoden QFD und MOQARE vorgestellt, mit dessen Hilfe Kundenwünsche priorisiert werden können. Zunächst erfolgte die Beschreibung der Vorgehensweise für beide Methoden. Anschließend wurde analysiert, inwieweit sie sich in den speziellen Kontext, dass zu einem vorhandenen Produkt neue Kundenwünsche hinzukommen, integrieren lassen. Ziel war es herauszufinden, ob eine der beiden Methoden für den Kontext geeignet ist und somit die Entscheidungsfindung von den Kundenwünschen unterstützen kann. Hierbei gab es kein klares Ergebnis, da beide Methoden sowohl ihre Vor- und Nachteile haben. Jedoch wurde eine Kombination aus beiden vorgestellt, die versucht, die Vorteile der Methoden zu vereinen. Zum Schluss wurde ein Implementierungskonzept für das zu entwickelnde Werkzeug angefertigt. Hierfür wurde eine Architektur entworfen, wodurch weitere Aspekte näher betrachtet werden mussten. Dies war zum einen die Definition einer Benutzungsschnittstelle, welche Benutzersichten und deren Übergänge beinhaltet. Außerdem wurde ein Klassendiagramm für die Implementierung entworfen. Zusätzlich wurde das Modell für die dem Werkzeug zugrunde liegende Datenbank festgelegt und die Struktur der Datenbank entwickelt. . |
Vergleich von Algorithmen zur Ermittlung der Testreihenfolge im Integrationstest
Betreuer | Lars Borner |
---|---|
Bearbeiterin | Yulia Kosolapova |
Beschreibung | In den letzten Jahrzehnten wurden einige neue Vorgehensmodelle in der Softwareentwicklung geschaffen und für den Prozess des Testens einige neue Verfahren und Algorithmen vorgeschlagen. In dieser Arbeit wird es um deren Einsatz für die Lösung praktischer Probleme gehen. Der Integrationstest stellt dabei besonders wichtige und häufig ausgeführte Testaktivitäten dar, die zudem aufgrund der vielfältigen Interaktionsmöglichkeiten in objektorientierten Programmen sehr komplex sind. Eine der wichtigsten Aufgaben im Integrationstest ist die Ermittlung einer Testreihenfolge. Sie hat Einfluss auf den Aufwand für das Erstellen der notwendigen Testumgebung für die Testläufe, d. h. sie beeinflusst die Anzahl der zu erstellenden Stubs und Treiber, um noch nicht integrierte Klassen zu simulieren. In der Literatur wird eine Vielzahl von Algorithmen zur Ermittlung der Integrationsreihenfolge vorgeschlagen. Über die Güte der einzelnen Algorithmen ist jedoch nicht viel bekannt. Im Rahmen dieser Arbeit wird eine Literaturrecherche durchgeführt, um existierende Algorithmen zur Ermittlung der Integrationsreihenfolge zu identifizieren, zu vergleichen und mit Hilfe der Programmiersprache Java zu implementieren. Anschließend werden die implementierten Algorithmen auf Beispielsysteme angewendet und gemäß vorher definierten Kriterien miteinander verglichen. Bei der Literaturrecherche liegt der Schwerpunkt auf Algorithmen, die sich mit der Ermittlung von Integrationsreihenfolgen für Softwaresysteme beschäftigen, in denen Zyklen existieren. Für Systeme ohne Zyklen gibt es bereits gute Standardlösungen. Die vorliegende Arbeit soll die Algorithmen zur Ermittlung der Testreihenfolge im Integrationstest zusammenfassen, anhand eines Beispiels veranschaulichen und vergleichen. Das Ziel ist es, sich mit einer Menge von Algorithmen zur Ermittlung der Testreihenfolge auseinander zu setzen und einige davon zu implementieren. |
Entwicklungsumgebung für die Benutzungsschnittstellen-Beschreibungstechnik Virtuelle Komponenten
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Riccardo Nimser |
Beschreibung | Auf Grund der steigenden Komplexität moderner Softwaresysteme und dem damit verbundenen Aufwand zur Realisierung neuer Projekte gewinnt die modellgetriebene Softwareentwicklung in den letzten Jahren immer mehr an Bedeutung. Während mit Hilfe der Unified Modeling Language Softwaresysteme im Allgemeinen beschrieben werden können, ist für spezielle Problembereiche eine eigens dafür erstellte Modellierungssprache nötig. Gerade hier erfreuen sich graphische Editoren immer größerer Beliebtheit, da sich mit ihnen konkrete Modellinstanzen intuitiv und benutzerfreundlich erstellen lassen. Die Bereitstellung solcher Werkzeuge erfordert mit der traditionellen Softwareentwicklung jedoch selbst wiederum einen nicht zu unterschätzenden Aufwand, der im Widerspruch zu den eigentlichen Zielen steht und möglichst reduziert werden soll. Das Graphical Modeling Framework kann hier helfen, indem es die Entwicklung solcher graphischen Editoren mittels eines modellgetriebenen Prozesses unterstützt. Hierfür stellt es Modelle bereit, mit denen die Eigenschaften des Editors beschrieben werden können. Durch anschließende Transformationen mit Hilfe von ebenfalls bereitgestellten Werkzeugen werden diese in ausführbaren Quellcode überführt. Problematisch dabei ist die Unterstützung bei der Durchführung dieses Entwicklungsprozesses durch entsprechende Dokumentationen. In der vorliegenden Arbeit werden die allgemeinen, theoretischen Grundlagen und die benötigten Technologien zur Entwicklung eines graphischen Editors für ein selbst zu definierendes Modell auf Basis des Graphical Modeling Framework vorgestellt. Darauf aufbauend werden der Entwicklungsprozeß sowie die einzelnen Modelle detailliert vorgestellt und anhand einer konkreten Problemstellung illustriert. Dabei werden die Stärken und Schwächen der verwendeten Technologien und Werkzeuge aufgezeigt und, wenn möglich, gewinnbringende Gegenmaßnahmen vorgestellt. Die bei der praktischen Umsetzung gewonnenen Erkenntnisse werden abschließend festgehalten, wobei eine Bewertung bezüglich der Eignung des Graphical Modelling Frameworks erfolgt. |
Test Focus Selection in the Integration Testing Process
Betreuer | Lars Borner |
---|---|
Bearbeiter | Daniel Musa Nyuyki |
Beschreibung | Quality assurance at the integration testing level is quite difficult due to inadequate knowledge of the properties of dependencies and items in many software systems. In order for testers to design test cases, knowledge of the properties of items and dependencies of the system under test is required. The aim of integration testing is to find the defects concerning these dependencies between different items of the software system under test. Software systems normally consist of numerous items and dependencies. Testing the whole system is usually impossible. Many testers are therefore faced with the challenge of making decisions on which particular dependencies to test. On the other hand, most CASE-Tools do not provide the possibility for developers and testers to document the properties of dependencies and items. But information about these properties is required in order for testers to select the test foci for the integration testing process, select suitable test design techniques, estimate the cost of testing, and define a suitable integration test order. In this thesis, an existing CASE Tool called Sysiphus is extended to support the selection of the test foci in the integration testing process. A dependency taxonomy is used in the development of the extension which makes it possible for testers to gather relevant information about the properties of items and dependencies of a system under test. The documented properties are used to evaluate the complexity for each dependency and item. These complexities are later used to prioritize dependencies in order to select the most complex dependencies to be tested. |
2007
Modellgetriebene Softwareentwicklung
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Wotan von Klass |
Beschreibung | Model-Driven Software Development (MDSD) ist ein Vorgehensmodell zur Softwareentwicklung. Bei MDSD steht das Meta-Modell der Anwendung im Mittelpunkt. Ausgehend von diesem Meta-Modell und auf Basis von Vorlagen, werden Softwareartefakte generiert. Ziel dieses Vorgehen ist zum einen die Verkürzung der Dauer der Softwareentwicklung und zum anderen die Verbesserung der Softwarequalität. In dieser Arbeit wird eine Werkzeugkette erstellt, die Softwareartefakte generiert, ausgehend von Entity-Relationship-Modellen. Die Werkzeugkette wird in dem Heidelberg-Mobil Projekt des European Media Laboratory (EML) eingesetzt. |
2006
Durchführung einer Requirements Engineering Fallstudie mit den Methoden TORE, MOQARE und ICRAD
Betreuer | Andrea Herrmann |
---|---|
Bearbeiter | Andreas Brandenburger |
Beschreibung | Am Lehrstuhl für Software Engineering wird für die Ermittlung und Beschreibung von funktionalen Anforderungen an Softwaresysteme TORE verwendet und für die nicht-funktionalen Anforderungen MOQARE. Beide sind inzwischen in dem Tool Sysiphus integriert. Auf den Anforderungen in dieser Form baut ICRAD auf, eine Methode zur integrierten Lösung von Anforderungskonflikten und dem Design einer groben Architektur. Diese wurde noch nicht in Sysiphus unterstützt und wurde im Rahmen dieser Bachelorarbeit implementiert. Unklar war bisher, ob die Toolunterstützung dieser Methoden in Sysiphus benutzerfreundlich ist, insbesondere auch, wenn man ein größeres Projekt durchgängig durchführt. Dies wurde in dieser Bachelorarbeit anhand einer umfangreichen Fallstudie getestet und bewertet. Ziel der Bachelorarbeit war zunächst im ersten Teil die Implementierung einer Toolunterstützung von ICRAD in Sysiphus. Im zweiten Teil der Bachelorarbeit wurde eine größere Fallstudie anhand von Anforderungen aus einem realen Projekt eines Industriepartners toolunterstützt durchgeführt. Im dritten Teil wurde anhand klarer Qualitätskriterien die Benutzerfreundlichkeit der Implementierung von ICRAD und MOQARE während der Fallstudie bewertet. |
Modell-Quelltext-Synchronisierung für Java Quelltexte und Sysiphus
Betreuer | Lars Borner |
---|---|
Bearbeiter | Dirk Dorsch |
Beschreibung | Die Aufgabe des Studenten war, einen Prototyp für eine Synchronisation zwischen Quelltext und Feinentwurf zur realisieren. Dabei sollten existierende Lösungen und Lösungsvorschläge analysiert und auf das CASE – Werkzeug Sysiphus angepasst werden. Dies umfasste sowohl das Forward Engineering (das Erstellen von Quelltext aus einem gegebenen Modell), das Reverse Engineering (das Erstellen des Modells aus dem Quelltext) als auch das Round-Trip Engineering (das gleichzeitige Ändern von Modell und Quelltext mit anschließender Synchronisation). |
2005
Abbildung logistischer Prozesse mit SAP-Software
Betreuerin | Barbara Paech |
---|---|
Bearbeiter | Martin Boudikianov |
Beschreibung | Ziel dieser Arbeit war es anhand einer Beispielfirma das Verbesserungspotential beim Einsatz von SAP-Software für logistische Prozesse zu identifizieren und so genau zu beschreiben, dass sie implementiert werden kann. Dabei sollte insbesondere für die Beschreibung der Anforderungen Software Engineering Methoden zum Einsatz kommen. |
AGENTEN-Basierte Softwareentwicklung - Fallstudie mit Raja und dem TRAIN-Prozess
Betreuerin | Dima Suliman |
---|---|
Bearbeiter | Dinh Khoa Nguyen |
Beschreibung | Ziel dieser Arbeit war es, die Biet-Aktivität in einem Auktionsszenario durch das RAJA Agentensystem im mobilen Kontext zu realisieren. Die Entwicklung erfolgt im Rahmen der Train Methode. Anschließend wurde die entwickelte Software mit einer weiteren Realisierung des Systems mittels J2EE und Web-Services (implementiert an der Universität Mannheim) verglichen. |
Softwareentwicklung mit dem TRAIN-Prozess
Betreuer | Lars Borner |
---|---|
Bearbeiter | Philipp Häfele |
Beschreibung | Ziel dieser Arbeit war es, die Ziele, Inhalte und Vorgehensweisen der Übung zur Lehrveranstaltung Software Engineering I im Sommersemester 2004 zusammenzufassen. Dabei entstand ein übersichtlicher Leitfaden für künftige TeilnehmerInnen dieser Lehrveranstaltung, der ihnen einen Überblick über die typischen Modellierungstechniken der einzelnen Softwareentwicklungsphasen bietet. |
Download | TRAIN-Prozess |
Werkzeugunterstütztes Unit-Testen
Betreuer | Lars Borner |
---|---|
Bearbeiter | Steve Kenfack Dongmo |
Beschreibung | Ziel der Arbeit war es, drei verschiedene Testtools zu vergleichen, um eine Übersicht über die Arbeitsweise und die Einsatzmöglichkeiten der Werkzeuge zu gewinnen. Hierzu wurden die Werkzeuge „Rational Test Realtime“, „JUnit“ und „TestMentor“ an Teilen des Quelltexts des Softwaresystems Sysiphus angewendet. |
Zulassungsarbeiten
2010
Planung und Durchführung eines Software Engineering Projektes am Beispiel eines Internetportals aus dem Bereich Sport
Betreuerin | |
---|---|
Bearbeiter | Thomas Hahn |
Beschreibung | Die vorliegende Arbeit thematisiert und erschließt den an der Universität Heidelberg gelehrten Software Engineering Prozess (TRAIN Prozess) im praktischen Einsatz. |
Download |
2009
Konzept für die Verwendung von GameMaker zur Vermittlung von Programmierkompetenz im Schulunterricht
F-Praktika
2023 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004
2023
Improvement and Extension of Tool-Support for the Encoding of Natural Language Datasets
Betreuerin | Michael Anders |
---|---|
Bearbeiter | Daniel Knorr |
Beschreibung | Context and Motivation: Software users naturally make statements about new software and existing software on online platforms. Developers need to analyze these statements to better understand the users’ requirements, needs and frustrations. For this, the TORE-Framework can be used. Developers can thus better respond to the requirements of users. Based on TORE, certain text segments of the statements are classified into various software aspects. To facilitate this analysis of statements, tools developed for natural language coding can be used. A tool specially developed for this encoding with TORE is Feed.UVL. Feed.UVL is a coding tool, that allows coders to manually code text segments with word- and TORE-codes. This manual approach is very fine-grained and can therefor result in a time-consuming process. To speed up and improve the coding process in Feed.UVL, targeted functionalities, specifically for this very fine grained coding, need to be developed. |
2021
Verwendung von NLP-Methoden zur Konzeptextraktion aus Nutzeraussagen
Betreuerin | Michael Anders |
---|---|
Bearbeiter | Jakob Weichselbaumer |
Beschreibung | Es fehlt eine gemeinsame Sprache von NutzerInnen, EntwicklerInnen und Herstellern für die Außensicht auf Software, die beschreibt was die Software für NutzerInnen leistet. Dies beeinträchtigt letztendlich die Herstellung von Nutzer-gerechter Software und die Effektivität der Nutzung von Software. Es ist deshalb wichtig, die Konzepte dieser Außensicht zu erforschen, in einer Ontologie zu bündeln, und diese zur Unterstützung der NutzerInnen einzusetzen. Zur Analyse solcher Konzepte in großen Datensätzen, wie sie zum Beispiel beim Crowd-Sourcing oder größeren Interviewstudien erzeugt werden, bedarf es technologischer Unterstützung. Ein Weg der Konzept-Gewinnung aus größeren Datensätzen ist beispielsweise die Verwendung von NLP-Methoden wie POS-Tagging in Kombination mit unter anderem Frequency Analysis. Ob sich diese Methoden für die Gewinnung von UVL-Relevanten Konzepten anwenden lassen, soll dieses Praktikum herausfinden. |
Visualisierung von Wissen zu Code in Jira
Betreuerin | Anja Kleebaum |
---|---|
Bearbeiter | Marvin Ruder |
Beschreibung | Zur Dokumentation und Verwaltung von Entscheidungswissen stehen die am Lehrstuhl für Software Engineering entwickelten ConDec-Plug-ins für das Issue Tracking System Atlassian Jira, die Entwicklungsumgebung (IDE) Eclipse sowie weitere bei der Entwicklung von Software häufig verwendete Tools (Atlassian Confluence, Slack, Atlassian Bitbucket ) zur Verfügung. Sie erlauben die Dokumentation von Entscheidungswissen an verschiedenen Orten wie in eigenständigen Issues oder in Beschreibungstexten oder Kommentaren anderer Issues in Jira, aber auch in Code-Kommentaren oder Commit-Nachrichten des Versionskontrollsystems git. Das auf diese Weise dokumentierte Entscheidungswissen kann gemeinsam mit anderen Wissenselementen wie Anforderungen, Entwicklungsaufgaben oder Code auf verschiedene Arten visualisiert werden, wozu alle Wissenselemente in eine Graphstruktur innerhalb des ConDec-Jira-Plug-ins eingelesen und dort geeignet verlinkt werden. Jedoch ist das Auslesen und Verlinken von Codedateien sowie dem Entscheidungswissen aus Code-Kommentaren bisher nur ansatzweise implementiert und bietet Raum für Verbesserungen und Erweiterungen. In diesem Praktikum wurden die ConDec-Plug-ins in diesem Bereich um Funktionalitäten erweitert. |
Systematic Documentation and Automation of System Tests for ConDec
Betreuerin | Anja Kleebaum |
---|---|
Bearbeiterin | Julia Baum |
Beschreibung | Developing high-quality software in an agile setting presents many challenges. One of them is how a system testing process can be implemented so it is not an impediment to developers’ progress, but rather a helpful tool in the development process. In this project, we present a system testing strategy for the ConDec Jira plugin project. A test plan was created on the basis of the IEEE-829 standard, and adapted for the agile nature of the project. An approach favoring test automation, but also allowing manual test execution was used. A repository of automated tests was created, and is kept separate from the plugin code. This gives the developers testing their software a high degree of flexibility in test execution, and enables them to extend the tests easily when new features are implemented. Documentation of test specifications and executions are managed in Jira using a plugin called XRay. This enables non-intrusive documentation of testing activities, by integrating with existing documentation processes in Jira. |
Dokumentation und Nutzung von Entscheidungswissen in Besprechungen
Betreuerin | Anja Kleebaum |
---|---|
Bearbeiter | Dominik Hirsch |
Beschreibung | Das Praktikum beschäftigte sich mit der Frage, wie EntwicklerInnen und Rationale- ManagerInnen besser bei Ihrer Arbeit, mithilfe des ConDec-Confluence Plugins, unterstützt werden können. Auf der Grundlage der in der Ausschreibung beschriebenen Grobanforderungen, sowie aus eigenen Überlegungen, wurde das ConDec-Confluence Plugin dahingehend verbessert, dass es die Rationale-ManagerInnen beim Import von Entscheidungswissen besser unterstützt dasjenige Entscheidungswissen zu importieren, das für ein Meeting relevant ist. Umgesetzt wurde dies durch die Implementierung weiterer Filteroptionen für den Import. Die EntwicklerInnen werden bei der gemeinsamen Entscheidungsfindung sowie bei der Präsentation der getroffenen Entscheidungen durch eine verbesserte Oberfläche der Stand-Up-Tabelle unterstützt. Diese Verbesserung des Plugins wurde dadurch umgesetzt, dass die importierten Entscheidungswissens-Elemente nach ihrem Zustand eingefärbt werden und weitere Eigenschaften dieser Elemente dargestellt werden. Darüber hinaus wurde das weiterentwickelte Plugin mithilfe eines Fragebogens, der von EntwicklerInnen, die im Umgang mit dem Plugin vertraut sind, beantwortet wurde, evaluiert. |
2020
Austausch von Entscheidungswissen zwischen EntwicklerInnen mithilfe von Slack
Betreuerin | Anja Kleebaum |
---|---|
Bearbeiter | Silas Hauk |
Beschreibung | Um Entscheidungen während der Softwareentwicklung systematisch zu dokumentieren, unterstützt das Jira-ConDec-Plug-In EntwicklerInnen bei der Verwaltung von Entscheidungswissen. Damit EntwicklerInnen in Slack über Entscheidungen automatisch informiert werden können, erweitert diese Arbeit das Jira-ConDec-Plug-In und die Slack-ConDec-App um einen Webhook. Der Webhook gibt neu dokumentiertes Entscheidungswissen oder Änderungen an bereits dokumentiertem Entscheidungswissen an Slack weiter. In Slack wird das neue oder geänderte Entscheidungswissen in einem Slack-Channel angezeigt und EntwicklerInnen können nach Jira navigieren. So werden EntwicklerInnen über Entscheidungen und offene Entscheidungsprobleme auf dem Laufendem gehalten. |
Visualisierung und Verwaltung von Wissen zu Code
Betreuerin | Anja Kleebaum |
---|---|
Bearbeiter | Markus Boerner |
Beschreibung | Um Code verstehen und evolvieren zu können, benötigen EntwicklerInnen Entscheidungswissen über diesen Code sowie Wissen zu den dazugehörigen Anforderungen. Dabei kann kann die Visualisierung des Wissens zu Code hilfreich sein. Das am Lehrstuhl entwickelte ConDec-Eclipse-Plug-In soll es EntwicklerInnen ermöglichen, sich Entscheidungswissen, Commits und Jira-Issues wie Anforderungen und Entwicklungsaufgaben im Zusammenhang zu Code ansehen zu können und die Dokumentation zu verwalten. Das Ziel dieses Praktikums ist die Erweiterung des ConDec-Eclipse-Plug-Ins zur verbesserten Visualisierung von Wissen zu Code, insbesondere auch zu Code-Änderungen, sowie zur Schaffung von Verwaltungsmöglichkeiten des dokumentierten Wissens. |
Generierung von Quick-Fixes zur Vervollständigung von Featurewissen im Code
Betreuer | Marcus Seiler |
---|---|
Bearbeiter | Marvin Ruder |
Beschreibung | Zur Unterstützung von Software-Engineering-Aktivitäten verwenden die meisten Softwareunternehmen und Open-Source-Projekte eine Kombination aus Issue-Tracking-System (ITS) wie beispielsweise Jira, sowie ein Versionskontrollsystem (VCS) wie etwa git. Entsprechend sind auch die Informationen zu Features einer Software über beide Systeme verteilt. Deshalb werden Artefakte, die zu einem Feature gehören, in beiden Systemen mit demselben Feature-Tag gekennzeichnet. Jedoch vergeben Entwickler:innen Feature-Tags nicht immer vollständig oder korrekt. Dies kann dazu führen, dass relevantes Featurewissen für weitere Tätigkeiten innerhalb der Softwareentwicklung nicht genutzt werden kann. Die bisherige Werkzeugunterstützung zeigt für jede Codedatei, in der Featurewissen fehlt, eine Meldung mithilfe eines „Markers“ an. Es enthält außerdem ein Empfehlungssystem, das auf der Grundlage der Ähnlichkeit zwischen Codedateien Feature-Tags für eine Codedatei vorschlägt. Im Praktikum wurde die bestehende Werkzeugunterstützung um Misleading Feature Tag Marker erweitert, die einen möglicherweise irreführenden Feature-Tag markieren, wenn dieser von dem Vorschlag des Empfehlungssystems abweicht. Die verschiedenen Feature-Tag-Marker wurden um Quick-Fixes ergänzt, die in einem Codeartefakt neue Feature-Tags hinzufügen sowie bestehende Feature-Tags entfernen oder ersetzen. Mithilfe von Komponenten- und Systemtests wurde die Korrektheit der Implementierung untersucht. Auch die Erfüllung nichtfunktionaler Anforderungen wurde geprüft. Das Empfehlungssystem wurde dahingehend erweitert, dass auch die Ähnlichkeit zwischen Featurebeschreibungen und Codeartefakten in die Generierung von Vorschlägen für Feature-Tags einfließt. Zur Bestimmung der Ähnlichkeit wurde das Tf-Idf-Maß verwendet. Die Erweiterung des Empfehlungssystems wurde anhand eines Beispielprojekts evaluiert. Hierbei wurden die Verbesserungen im Vergleich zum bisherigen System deutlich. |
2019
Automatische Erkennung von Entscheidungswissen in der Beschreibung und den Kommentaren von Jira-Issues und Commit-Nachrichten
Betreuerin | Anja Kleebaum |
---|---|
Bearbeiter | Philipp de Sombre |
Beschreibung | Während des Softwareenwicklungsprozesses müssen EntwicklerInnen eine Vielzahl an Entscheidungen treffen. Diese Entscheidungen können sich auf verschiedenste Teile des Prozesses beziehen. Das hierbei erzeugte Wissen wird Entscheidungswissen genannt. Neben der Entscheidung ist es für EntwicklerInnen auch wichtig das Entscheidungsproblem, das hinter der Entscheidung steht, sowie alternative Lösungsmöglichkeiten und Argumente bzw. Begründungen zu kennen. Studien haben gezeigt, dass EntwicklerInnen Entscheidungswissen häufig nicht explizit dokumentieren. Es ist stattdessen nur implizit in Kommunikationsartefakten vorhanden. Als Grund für dieses Phänomen gilt das capture problem. Das Problem beschreibt, dass der kurzfristige Nutzen, den einE EntwicklerIn aus der expliziten Dokumentation zieht gering, der Aufwand jedoch relativ dazu gesehen hoch ist. Um implizites Entscheidungswissen explizit zu machen wird maschinelles Lernen genutzt. Durch eine Literaturrecherche werden verschiedene Ansätze der automatischen Klassifizierung von Entscheidungswissen verglichen. Die Erkenntnisse werden dann in Experimenten geprüft und erweitert. Die Erkenntnisse aus den Experimenten fließen dann in die programmatische Umsetzung in dem Entscheidungsdokumentationstool ConDec für JIRA ein. Zusätzlich werden Git-Commit-Nachrichten als weitere mögliche Quelle für Entscheidungswissen in das Tool integriert. Die Umsetzung wird nach dem Technology-Acceptance-Model durch ConDec-EntwicklerInnen evaluiert. Die Entscheidungsdokumentation kann durch die automatische Klassifizierung von Entscheidungselementen verbessert werden. Implizites Wissen wird explizit und kann somit genutzt werden. Die Integration von Git-Commit-Nachrichten als weitere Wissensquelle erlaubt EntwicklerInnen die Dokumentation von Entscheidungswissen ohne einen Kontextwechsel und senkt somit den Aufwand der Dokumentation. |
Unterstützung der kontinuierlichen Dokumentation von Featurewissen
Betreuer | Marcus Seiler |
---|---|
Bearbeiter | Julius Daub |
Beschreibung | Zur Unterstützung von Software Engineering Aktivitäten verwenden die meisten Softwareunternehmen und Open-Source Projekte eine Kombination aus Issue-Tracking System (ITS) wie z.B. Jira1 und ein Versionskontrollsystem (VCS) z.B. git2 Da die Informationen über beide Systeme verteilt sind, z.B. Anforderungsdokumente im ITS und Code im VCS, sind die Features einer Software nicht mehr gut nachvollziehbar. Im Kontext dieses Praktikums ist ein Feature eine Bündelung von Software Engineering Artefakten (Requirements, Design, Work-Items und Code), die zusammengenommen eine Funktionalität spezifizieren und implementieren. Artefakte, die zu einem Feature gehören, werden mit demselben Feature-Tag gekennzeichnet. In Jira werden die Feature-Tags in Form von Labels vergeben. Im Code werden die Feature-Tags in Form von Annotationen vergeben. |
Unterstützung für das Auffinden von Featurewissen im Code
Betreuer | Marcus Seiler |
---|---|
Bearbeiter | Fabian Schenk |
Beschreibung | Zur Unterstützung von Software Engineering Aktivitäten verwenden die meisten Softwareunternehmen und Open-Source Projekte eine Kombination aus Issue-Tracking System (ITS) wie z.B. Jira1 und ein Versionskontrollsystem (VCS) z.B. git2 Da die Informationen über beide Systeme verteilt sind, z.B. Anforderungsdokumente im ITS und Code im VCS, sind die Features einer Software nicht mehr gut nachvollziehbar. Im Kontext dieses Praktikums ist ein Feature eine Bündelung von Software Engineering Artefakten (Requirements, Design, Work-Items und Code), die zusammengenommen eine Funktionalität spezifizieren und implementieren. Artefakte, die zu einem Feature gehören, werden mit demselben Feature-Tag gekennzeichnet. In Jira werden die Feature-Tags in Form von Labels vergeben. Im Code werden die Feature-Tags in Form von Annotationen vergeben. |
Dokumentation und Nutzung von Entscheidungswissen in Slack
Betreuerin | Anja Kleebaum |
---|---|
Bearbeiter | Rafael Gerner |
Beschreibung | Ein Problem ist, dass eine strukturierte Dokumentation von wertvollem Entscheidungswissen (EW) häufig nicht in den Prozess der Software Entwicklung integriert ist. Entwickler sehen die Dokumentation von EW als Mehraufwand an und erkennen keine kurzfristigen Nutzen. Daher wird EW häufig nur informell und in natürlicher Sprache diskutiert. Dies geschieht z.B. in Chat-Systemen, in welchem Entscheidungsprobleme gemeinsam diskutiert und gelöst werden. Diese Chat-Systeme wie z.B. Slack sind praktisch, da sie eine einfache Kommunikation ermöglichen und werden auch in Software-Projekten immer beliebter. Dort enthalten Chat-Nachrichten wichtiges EW. Da diese Nachrichten aber in der Regel von kurzlebiger Natur sind, geht dieses Wissen schnell wieder verloren. Ziel dieses Praktikums ist es, Unterstützungen für die Dokumentation und Nutzung von Entscheidungswissen in Slack zu schaffen. Dafür wird eine Slack App namens Slack ConDec entwickelt. |
Wrong link detection in tangled commits for Jira
Betreuer | Astrid Rohmann, Anja Kleebaum |
---|---|
Bearbeiter | Zhaobin Zhu |
Beschreibung | In vielen Software-Entwicklungsprojekten wird der Code in einem Versionskontrollsystem (VCS) wie Git und Anforderungen sowie Entwicklungsaufgaben in einem Issue-Tracking-System (ITS) wie Jira verwaltet. Während EntwicklerInnen an einer Aufgabe arbeiten, fassen sie Änderungen am Code von Zeit zu Zeit zu Commits zusammen. In Commit-Nachrichten ist es üblich Jira-Issue-Keys aus dem ITS anzugeben. Dieser Jira-Issue-Key kann zur Verknüpfung von Anforderungen und Entwicklungsaufgaben im ITS mit dem Code im VCS verwendet werden, d.h. es können Trace Links zwischen Anforderungen und Code hergestellt werden. Ein Problem der Verknüpfung über Commits sind tangled changes. Als tangled changes werden in der Vergangenheit eingebrachte Änderungen im Code bezeichnet, die nicht zu dem in der Commit-Nachricht angegebenen Jira-Issue gehören. Das Ziel dieses Praktikums ist die Erweiterung des ConDec-Jira-Plug-Ins zur Unterstützung der Erkennung von tangled changes, d.h. zur Beurteilung der zu Entwicklungsaufgaben verlinkten Klassen auf Korrektheit der Links. |
Entwicklung einer Feature-Abfragesprache für das Issue Tracking System JIRA
Betreuerin | Marcus Seiler |
---|---|
Bearbeiter | Seida Basha |
Beschreibung | Zur Unterstützung von Software Engineering Aktivitäten verwenden die meisten Softwareunternehmen und Open-Source Projekte eine Kombination aus Issue-Tracking System (ITS) wie z.B. Jira und ein Versionskontrollsystem (VCS) z.B. git Da die Informationen über beide Systeme verteilt sind, z.B. Anforderungsdokumente im ITS und Code im VCS, sind die Features einer Software nicht mehr gut nachvollziehbar. Im Kontext dieses Praktikums ist ein Feature eine Bündelung von Software Engineering Artefakten (Requirements, Design, Work-Items und Code), die zusammengenommen eine Funktionalität spezifizieren und implementieren. Artefakte, die zu einem Feature gehören, werden mit demselben Feature-Tag gekennzeichnet. |
Unterstützung von Besprechungen und Pull-Requests durch dokumentiertes Entscheidungswissen
Betreuerin | Anja Kleebaum |
---|---|
Bearbeiter | Fabian Gronert |
Beschreibung | Ein Problem in der Software-Entwicklung ist, dass Entscheidungen und das für ihr Verständnis benötigte Wissen (Entscheidungswissen) nicht allen Projektbeteiligten zugänglich sind. Beispielsweise dokumentieren Entwickler Entscheidungen im Code, aber dieses Wissen ist dann nur ihnen zugänglich. Dies ist in der heutzutage stark verbreiteten agilen Entwicklung kontraproduktiv, da ja auch die Kunden, Architekten und Produkt/ Projekt-Manager die Entscheidungen nachvollziehen wollen. Das ConDec Jira Plugin versucht dieses Problem zu lösen, indem Entscheidungen direkt in Jira dokumentiert und zu Work-Items verlinkt werden. Um dieses dokumentierte Wissen besser zu nutzen, wäre es zum Beispiel hilfreich, wenn das Entscheidungswissen oder (Decision Knowledge, DK) aus Jira in Besprechungen und in Pull-Requests, d.h. bei der Umsetzung von Entwicklungsaufgaben, für die Entwickler einsehbar wäre. Dafür fehlt bisher noch die Anbindung an einige der bekannteren Software-Entwicklungs-Tools wie das WiKi-System Confluence oder das webbasierte Versionsmanagement-Tool BitBucket. |
Visualisierung von Feature- und Entscheidungswissen in der Eclipse Entwicklungsumgebung
Betreuerin | Anja Kleebaum, Astrid Rohmann, Marcus Seiler |
---|---|
Bearbeiter | Edgar Brotzmann |
Beschreibung | Während der Entwicklung von Software treffen EntwicklerInnen viele Entscheidungen, z.B. hinsichtlich der umzusetzenden Features der Software, den verfeinerten Anforderungen, der Software-Architektur, Implementierung und Qualitätssicherung. Es ist wichtig, dass EntwicklerInnen solche Entscheidungen kommunizieren und dokumentieren, damit (dieselben aber auch zukünftige) EntwicklerInnen die Software gut evolvieren bzw. instand halten können. In vielen Software-Entwicklungsprojekten wird der Code in einem Versionskontrollsystem (VCS) wie Git und Anforderungen sowie Entwicklungsaufgaben in einem Issue-Tracking-System (ITS) wie JIRA verwaltet. Dabei halten EntwicklerInnen auch Informationen über die Features der Software sowie Entscheidungen in diesen beiden Systemen fest. Entscheidungen werden beispielsweise in Issue-Kommentaren und Commit-Nachrichten festgehalten. Die Features werden mit Hilfe von Feature-Tags dokumentiert und nachverfolgt. Anforderungen, Entwicklungsaufgaben und Code, die zu einem Feature gehören, werden mit demselben Feature-Tag gekennzeichnet. Der zugehörige Code und die Feature-Dokumentation werden als Featurewissen bezeichnet. |
2018
Entwurf und Implementierung eines JIRA Plug-Ins zum Anzeigen von Entscheidungswissen aus Commit-Nachrichten
Betreuerin | Anja Kleebaum |
---|---|
Bearbeiterin | Ines Hamma |
Beschreibung | Während der Implementierung von Software werden zahlreiche Entscheidungen getroffen, beispielsweise dazu, wie ein Algorithmus am effizientesten implementiert werden kann oder wie die Nutzereingabe bestmöglich verarbeitet werden soll. Diese Entscheidungen basieren meist auf einer Gegenüberstellung verschiedener Alternativen, die es anhand unterschiedlicher Kriterien zu bewerten gilt. Für diese Gegenüberstellung sind Expertenmeinungen, persönliche Erfahrungen und der Kontext der Entscheidung wichtig. Das bedeutet, dass komplexes und umfangreiches Wissen notwendig ist, um eine Entscheidung im Nachhinein nachvollziehen zu können. In der Praxis werden Entscheidungen, die während der Implementierung getroffen werden, oft unstrukturiert, gar nicht oder in externen Dokumenten, ohne Verbindung zum Code, dokumentiert. Dies führt zu inkonsistenten Entscheidungen im späteren Entwicklungs- oder Änderungsverlauf, woraus wiederum Qualitätsprobleme resultieren. Es ist also wichtig, dass Entscheidungen während der Implementierung strukturiert und in Verbindung zum Code dokumentiert werden. Eine Möglichkeit dies zu tun, ist es, die Entscheidungen in Commit-Nachrichten in einem Versionskontrollsystem festzuhalten. Um EntwicklerInnen zu motivieren, dies umzusetzen, muss ihnen der Nutzen dahinter klar sein. Das Ziel dieses Projekts ist der Entwurf und die Implementierung eines JIRA-Plug-Ins, das Entscheidungswissen aus Commit-Nachrichten anzeigt, um Entscheidungen, die während der Entwicklung getroffen werden, besser nachvollziehen zu können. Hierzu werden Entscheidungen und die zugehörigen Entscheidungskomponenten mittels Annotationen in Commit-Nachrichten angelegt und anschließend in JIRA visualisiert. Das DecXplore Plug-in zeigt also den Nutzen davon auf, Entscheidungen in Commit-Nachrichten festzuhalten und bietet EntwicklerInnen einen Anreiz diese zu dokumentieren. |
2017
Design, Implementation and Testing of a Feature-Perspective for the Eclipse IDE
Betreuer | Marcus Seiler |
---|---|
Bearbeiter | Michael Anders |
Beschreibung | Software Development is a delicate process that often requires the use of additional techniques in order to improve development efficiency, quality and maintainability. An example for such a technique is the use of annotations as a form of Feature Tag for different code artefacts. By using a standardized annotation which contains key words that describe the implemented feature for each code file we allow the use of software tools as support during the development process and later maintenance of the source code. The plug-in FEliPE developed during this internship offers such tool support in the form of a new perspective for the integrated development environment (IDE) Eclipse. The perspective offers multiple views that allow the management of artefacts that are equipped with such Feature Tags. Additional capabilities are offered that allow the user to apply Tags to code artefacts for example by using drag and drop functionalities and manage the code files that have not been categorized by Feature Tags. The plug-in thus tackles the problem of the separation of code version control and documentation within a software project. It establishes a clearer bond between the written code and its implemented functionality, which can then be traced back to the design documents thus reducing the distribution of information among the used version control and issue tracking system. |
Entwicklung einer Android-App zur Unterstützung des Spracherwerbs im naturwissenschaftlichen Kontext
Betreuerin | Anja Kleebaum |
---|---|
Bearbeitende | Paul Zubrod, Mira Böhme |
Beschreibung | Mobilgeräte wie Smartphones und Tablets sind aus unserem Alltag kaum mehr wegzudenken und ermöglichen es, Anwendungssoftware (Apps) überall einzusetzen. Mit Apps wie Duolingo oder Rosetta Stone kann man so zu jeder Zeit Sprachen lernen. Der Lernende wird bei der Verwendung dieser Apps ständig korrigiert und kann seinen Erfolg selbst evaluieren. Sprachlern-Apps können aber nicht nur von Individuallernenden, sondern auch im Unterricht eingesetzt werden. Dabei kann der Lernerfolg jedes Schülers/jeder Schülerin zentral von dem/der LehrerIn eingesehen und ausgewertet werden, wodurch der Unterricht interaktiv gestaltet werden kann. Darüber hinaus können Sprachlern-Apps Methoden wie den „Flipped Classroom“ bzw. „Flipped Learning“ unterstützen, bei denen die SchülerInnen Lerninhalte zuhause erarbeiten und der Unterricht v.a. dem Anwenden des Gelernten dient. Das heiEDUCATION Projekt ist ein gemeinsames Projekt der Universität Heidelberg und der Pädagogischen Hochschule Heidelberg. Im Rahmen dieses Projekts soll das Erlernen von Sprache im naturwissenschaftlichen Kontext untersucht werden. Dafür wird im Rahmen dieses Praktikums eine Android App entwickelt, die es ermöglicht naturwissenschaftliche Fachsprache ohne Verwendung der Muttersprache des Lernenden zu vermitteln. Die App soll im Unterricht eingesetzt werden und eine zentrale Auswertungsmöglichkeit durch die Lehrperson unterstützen. Bei der Entwicklung der App werden Methoden kontinuierlicher Softwareentwicklung eingesetzt, die im Rahmen des DFG-Projekts „Continuous Usage- and Rationale-based Evolution Decision Support“ (CURES) untersucht werden. Dazu zählen u.a. die Entscheidungsdokumentation während der Software-Entwicklung, die Verwendung kleinteiliger „Branches“ beim Einbringen neuer „Features“ im Versionsverwaltungstool, die kontinuierliche Veröffentlichung neuer Software-Versionen sowie das Auswerten von Nutzermeinung bzw. –erfahrung im Umgang mit der Software. Diese Methoden sollen zur kontinuierlichen Weiterentwicklung und Verbesserung der Software beitragen. |
Entwurf und Implementierung eines Eclipse Plug-Ins zum Vorschlagen von Feature-Tags im Source Code
Betreuer | Marcus Seiler |
---|---|
Bearbeiter | Martin Seiler |
Beschreibung | Zur Unterstützung von Software Engineering Aktivitäten verwenden die meisten Softwareunternehmen und Open-Source Projekte eine Kombination aus Issue-Tracking System (ITS) wie z.B. JIRA und ein Versionskontrollsystem (VCS) z.B. git. Da die Informationen über beide Systeme verteilt sind, z.B. Anforderungsdokumente im ITS und Code im VCS, sind die Features einer Software nicht mehr gut nachvollziehbar. Im Kontext dieses Praktikums ist ein Feature eine Bündelung von Software Engineering Artefakten (Requirements, Design, Work-Items und Code), die zusammengenommen eine Funktionalität spezifizieren und implementieren. Artefakte, die zu einem Feature gehören, werden mit demselben Feature-Tag gekennzeichnet. EntwicklerInnen müssen den Feature-Tag kennen um den Code dem/n relevanten Feature/s zuordnen zu können. Um die Vergabe von Feature-Tags im Code zu vereinfachen, wurden im Rahmen dieses Praktikums Feature-Tag-Vorschläge in Abhängigkeit des Kontexts generiert und den EntwicklerInnen in der Entwicklungsumgebung Eclipse angeboten werden (ähnlich zur Java-Codevervollständigung). |
2016
Implementierung eines Editors für die Dokumentation von Entscheidungen in Confluence auf Basis von UNICASE DecDoc
Betreuer | Tom-Michael Hesse, Paul Hübner |
---|---|
Bearbeiter | Frederic Born |
Beschreibung | Das Dokumentations-Tool Confluence wird in vielen Software-Entwicklungspro-jekten eingesetzt um das Design sowie Projektspezifikation und -dokumentation festzuhalten. |
Implementierung eines Editors für die Dokumentation von Entscheidungen in JIRA auf Basis von UNICASE DecDoc
Betreuer | Tom-Michael Hesse, Paul Hübner |
---|---|
Bearbeiter | Ewald Rode |
Beschreibung | Das Fehlerverwaltungs- und Projektmanagementtool JIRA wird vermehrt in Software-Entwicklungsprojekten eingesetzt um die Entwicklungsarbeit durch Issues zu planen und zu dokumentieren. Ein bedeutender Teil der Arbeit an solch einem Projekt ist die Dokumentation von Entscheidungen. Der zusätzliche Aufwand der durch die Dokumentation entsteht, soll so gering wie möglich gehalten werden. Um dies zu erreichen soll die Dokumentation von Entscheidungen in JIRA integriert und durch ein Plugin unterstütz werden. |
Erweiterung des Mylyn Task- und Interaktionsdatenmodells zur Erfassung von anforderungsspezifischen Interaktionen
Betreuer | Paul Hübner |
---|---|
Bearbeiter | Thorsten Bernhard Wünsche |
Beschreibung | Interaction data created during software development contains information about a developers workflow. The Eclipse plug-in Mylyn records interaction data between code and documented tasks to optimize the User Interface. Extending this functionality to also record interactions between parts of the documentation may lead to a better understanding of the projects structure and further optimizations. The plug-in Mytrace, which was developed over the course of this internship, records this information for all parts of the documentation available as Mylyn issues. |
Entwurf und Implementierung eines Dashboards zur Darstellung von und Navigation in Feature-relevanten Informationen in Issue Tracking Systemen
Betreuer | Marcus Seiler |
---|---|
Bearbeiter | Tim Kuchenbuch |
Beschreibung | Zur Unterstützung von Software Engineering Aktivitäten verwenden die meisten Softwareunternehmen und Open-Source Projekte eine Kombination aus Issue-Tracking System (ITS) wie z.B. Jira1 und Versionskontrollsystem (VCS) z.B. git2. Da die Informationen über beide Systeme verteilt sind, z.B. Anforderungsdokumente im ITS und Code im Versionskontrollsystemen (VCS), sind die Features einer Software nicht mehr gut nachvollziehbar. Um einen Überblick über die Features im ITS und im VCS zu bekommen und um die Suche nach bestimmten Features zu vereinfachen, sind eine Visualisierung von Feature-relevanten Informationen und eine Navigation zwischen den Artefakten eines Features erforderlich. Zur Visualisierung und Navigation kann ein Dashboard verwendet werden. Ein Dashboard ist eine Software zur Visualisierung von Informationen in verdichteter Form. Es existieren bereits Frameworks, die bei der Erstellung von Dashboards helfen. Ziel dieses Praktikums war es, einen Dashboard-Prototyp namens FloRIDA für das ITS Jira umzusetzen. FloRIDA dient zum Darstellen von Feature-relevanten Informationen und zur Navigation zwischen den Artefakten innerhalb einzelner Features. |
2015
Konzeption und Realisierung einer domänenspezifischen Sprache für Entscheidungswissen in der ADOxx-Plattform
Betreuer | Tom-Michael Hesse |
---|---|
Bearbeiter | Tim Bittersohl |
Beschreibung | Das Strukturieren und Festhalten von Entscheidungswissen ist bei der Durchführung Dabei ist der Einsatz von angepassten Werkzeugen äußerst hilfreich. Ein solches wurde im Rahmen des Praktikums erstellt. Es stellt eine grafische Oberfläche mit genau definierten Modellierungs-Elementen bereit, welche das Festhalten des Entscheidungswissens vereinfachen und dabei Fehler verhindern. Dieser Bericht enthält die Konzeption und Realisierung einer domänenspezifischen Sprache, die hilft das oben genannte Ziel zu erreichen. Weiter wird die Umsetzung der Sprache mit Verwendung der ADOxx-Plattform unter Berücksichtigung deren Besonderheiten beschrieben. Die Tests der Funktionalitäten und der Modellierungsfähigkeiten |
Entwurf und Implementierung generischer Trace-Links im CASE-Tool UNICASE
Betreuer | Marcus Seiler |
---|---|
Bearbeiter | Benjamin Keller |
Beschreibung | Steigende Komplexität in der Entwicklung von Software sowie häufige Änderungsbedürfnisse verlangen nach der Möglichkeit, alle anfallenden Projekt-Artefakte wie Anforderungen, Software-Architektur-Modelle, Quellcode und Testfälle verfolgen zu können. Die Methoden der Nachverfolgbarkeit (Traceability) stellen Verfahren zur Verfügung, Relationen (Trace-Links) zwischen Artefakten über den gesamten Entwicklungsprozess hin zu erzeugen.Das auf dem Eclipse Modeling Framework (EMF) basierende CASE-Tool UNICASE unterstützt die Nachverfolgbarkeit von Softwareprojekt-Artefakten. Dabei sind die Trace-Links über fest definierte Assoziationen in das zugrundeliegende Modell von UNICASE integriert. Jedoch ist es bisher weder möglich Artefakte flexibel miteinander zu verlinken (generisch) wenn diese nicht durch vorher definierte Assoziation miteinander verbunden sind, noch können die Trace-Links mit weiteren Informationen wie z.B. Status oder Version angereichert werden.Zum Darstellen und Modifizieren von Artefakten und deren Trace-Links nutzt UNICASE die EMF Client Platform (ECP). ECP ist ein Framework zum Erstellen von EMF-basierten Client-Anwendungen. Ziel des ECP Frameworks ist es, wiederverwendbare, anpassungsfähige und erweiterbare Komponenten für die Benutzeroberfläche, die auf einem zuvor festgelegten EMF-Modell basieren, zu entwickeln. Um generische Trace-Links in UNICASE mit Hinblick auf Benutzbarkeit unterstützen zu können, müssen entweder relevante Teile von ECP selbst oder deren Oberflächenkomponenten angepasst werden. |
Entwurf und Implementierung eines Tagging- und Tagempfehlungssystems für UNICASE
Betreuer | Marcus Seiler |
---|---|
Bearbeiter | Clemens Maier |
Beschreibung | Steigende Komplexität in der Entwicklung von Software sowie häufige Änderungsbedürfnisse verlangen nach der Möglichkeit, alle anfallenden Projekt-Artefakte wie Anforderungen, Software-Architektur-Modelle, Quellcode und Testfälle verfolgen zu können. Die Methoden der Nachverfolgbarkeit (Traceability) stellen Verfahren zur Verfügung, Beziehungen (Trace-Links) zwischen Artefakten über den gesamten Entwicklungsprozess hin zu erzeugen. Das auf dem Eclipse Modeling Framework (EMF) basierende CASE-Tool UNICASE unterstützt die Nachverfolgbarkeit zwischen allen Softwareprojekt-Artefakten. Zum Darstellen und Modifizieren von Artefakten und deren Trace-Links nutzt UNICASE die EMF Client Platform (ECP). ECP ist ein Framework zum Erstellen von EMF-basierten Client-Anwendungen. Ziel des ECP Frameworks ist es, wiederverwendbare, anpassungsfähige und erweiterbare Komponenten für die Benutzeroberfläche, die auf einem zuvor festgelegten EMF-Modell basieren, zu entwickeln. Um die Nachverfolgbarkeit zwischen Artefakten besser verstehen zu können, könnten Schlagwörter (Tags) an den Artefakten und den Trace-Links versehen und analysiert werden. Beim Tagging reichern NutzerInnen die Artefakte mit selbstgewählten Wörtern an um letztendlich eigene Kategorien von Artefakten bzw. Beziehungen zu bilden. Wurden Artefakte und Trace-Links mit Tags versehen, können der NutzerIn mit Hilfe eines Empfehlungssystems vorhandene Tags vorgeschlagen werden. Jedoch bietet UNICASE bislang weder die Möglichkeit Tags zu vergeben noch vorhandene Tags vorzuschlagen. |
Implementierung einer Erweiterung zur Zusammenführung heterogener Daten im Krankenhaus auf Basis des Microsoft SharePoint Server
Betreuer | Christian Kücherer |
---|---|
Bearbeiter | Carsten Neuses |
Beschreibung | Innerhalb des DFG-Projektes Semantisches Netz des Informationsmanagements im Krankenhaus (SNIK) wird unter anderem eine auf einem semantischen Netz basierende entscheidungsunterstützende Software CIO-Navigator (CION) für Krankenhaus-CIOs entwickelt. Erste Anforderungen sind unter anderem als Virtual Windows nach Lauesen dokumentiert, die für die Bearbeitung von Aufgaben relevanten und zusammenhängenden Daten darstellt. Ausgehend von Virtual Windows können UI Prototypen erstellt werden. Das Ziel dieses Praktikums ist es, das Virtual Window Projektstatus und Krankenhausziele als Erweiterung des Microsoft SharePoint Servers zu implementieren. Das Virtual Window zeigt den Beitrag einzelner Projekte zu strategischen Krankenhauszielen und den Projektfortschritt bzw. Status. Die dazu notwendigen Daten sollen aus zwei unterschiedlichen Datenquellen entnommen werden. Die strategischen Datenquellen liegen in einem Dokument (z.B. Word oder OpenOffice Format) und die Informationen über Projekte stammen aus einer einfachen Datenbank. Der Zugriff auf Daten muss so gekapselt sein, dass ein Austausch der Quellen nur Anpassungen in der Zugriffsschicht (DataAccess Layer) nach sich zieht. |
Vergleich von CASE-Werkzeugen in Bezug auf gleichzeitige Unterstützung
von UML-Moldellierung und Traceability
Betreuer | Christian Kücherer |
---|---|
Bearbeiter | Tchavdar Bachev |
Beschreibung | Steigende Komplexität in Software und häufige Änderungsbedürfnisse verlangen nach der Möglichkeit, Anforderungen zu Entwicklungsartefakten wie Dokumente, Software-Architektur-Modelle, Quellcode und Testfälle verfolgen zu können. Die Methoden der Verfolgbarkeit (Traceability) stellen Verfahren zur Verfügung, Relationen zwischen Artefakten durch den gesamten Entwicklungsprozess hin zu erzeugen. |
2014
Automatisierung von Feature-Datenerkennung und Extraktion mit dem Text-Mining-Werkzeug Gate
Betreuer | Paul Hübner |
---|---|
Bearbeiter | Viktor Bersch |
Beschreibung | Die Erkennung und Extraktion von Feature Daten wird auch als Feature Mining bezeichnet. Durch Feature Mining sollen die Features einer Software ermittelt werden. Diese dienen als Charakterisierung und Beschreibung der gesamten Software und finden zahlreiche Anwendungen. So werden entwickelte Anwendungssysteme beispielsweise häufig anhand ihrer Features beworben. Anhand Untersuchungen geht hervor, dass die Features in Open Source Entwicklungsprojekten nicht explizit dokumentiert werden und dass dies auch für Entwicklungsprojekte in der Industrie gilt. So werden bei der Entwicklung von Teilen der Software mit dem Namen des zugehörigen Features bezeichnet. Daraus folgt, dass die Informationen über Features eines Systems nicht einfach aufgelistet werden können. Die Informationen über die Feature eines Systems sind auf viele Quellen verteilt, wie zum Beispiel Issue Tracker, User Dokumentationen, Code und weitere Entwicklungsartefakte wie z.B Sprint Backlog. Diese Arbeit beschreibt eine Anwendung, die zum Ziel hat semi-automatisch die Feature relevanten Daten aus der User Dokumentation einer Software zu extrahieren. Dabei beschränkt sie sich zunächst auf User Dokumentation im Html Format. Konzept und Implementierung ermöglichen jedoch durch die Architektur, dass sehr leicht weitere Formate hinzugefügt werden können. Eine der Rahmenbedingungen des Praktikums war die Verwendung von Gate. |
UNICASE Android Client
Betreuer | Tom-Michael Hesse, Paul Hübner |
---|---|
Bearbeiter | Hüseyin Dagaydin |
Beschreibung | Die stets wachsende Nachfrage nach mobilen Endgeräten macht es unumgänglich sich mit der Entwicklung mobiler Applikationen auseinanderzusetzen. Betrachtet man den Kontext in dem das Tool UNICASE verwendet wird, entdeckt man viele Szenarien, in denen es sinnvoll ist einen mobilen UNICASE Client zu verwenden. Ein Beispiel ist das Requirements Engineering. Hier werden zu Beginn eines Softwareprojektes Anforderungen an das zu entwickelnde System ermittelt, dokumentiert, geprüft und verwaltet. Hierzu werden Interviews mit den Stakeholdern durchgeführt, in denen der Requirements Engineer versucht die Anforderungen herauszufiltern. In einer solchen Situation entsteht durch den mobilen UNICASE Client ein Mehrwert, denn die Anforderungen können gemeinsam mit dem Stakeholder dokumentiert und festgehalten werden. So sinkt beispielsweise das Risiko unklar definierte Anforderungen zu dokumentieren. Mit dem Projekt UNICASE Android Client (UAC) wird der Versuch durchgeführt, nachzuweisen, ob ein Teil des bestehenden UNICASE Tools auf mobilen Endgeräten abgebildet werden kann. Darunter fallen vor allem die Tätigkeiten, die ein Anwender im Rahmen eines üblichen Unicase Use-Cases abwickeln kann. Insbesondere liegt hier die größte Herausforderung bei der Umsetzung eines sog. Change Sets. |
Generisches Commiten in den EMFStore
Betreuer | Tom-Michael Hesse, Paul Hübner |
---|---|
Bearbeiter | Zaher Aldefai |
Beschreibung | Das Praktikum hat das Ziel, eine mobile Applikation zu entwickeln die Projektentscheidungen protokollieren und verwalten kann. Dabei wurde der EMFStore, eine Versionsbasierte Datenbank zum Speichern von EMF Modellen, als technologische Grundlage festgelegt. Das Praktikum wurde in drei Teilprojekte aufgeteilt. (1) Darstellung der Daten über ein User Interface eines mobilen Gerätes (2) Lesen der Daten aus dem EMFStore (3) Schreiben der Daten in den EMFStore. |
EMF Stores auslesen zur flexiblen Anbindung von mobilen Endgeräten
Betreuer | Tom-Michael Hesse, Paul Hübner |
---|---|
Bearbeiter | Stefan Mücke |
Beschreibung | Die stets wachsende Nachfrage nach mobilen Endgeräten ist ein Grund dafür sich mit der Entwicklung mobiler Applikationen auseinanderzusetzen. Betrachtet man den Kontext in dem das Tool UNICASE verwendet wird, entdeckt man viele Szenarien, in denen es sinnvoll ist einen mobilen UNICASE Client zu verwenden. Ein Beispiel ist das Requirements Engineering. Hier werden zu Beginn eines Softwareprojektes Anforderungen an das zu entwickelnde System ermittelt, dokumentiert, geprüft und verwaltet. Hierzu werden Interviews mit den Stakeholdern durchgeführt, in denen der Requirements Engineer versucht die Anforderungen herauszufiltern. In einer solchen Situation entsteht durch den mobilen UNICASE Client ein Mehrwert, denn die Anforderungen können gemeinsam mit dem Stakeholder dokumentiert und festgehalten werden. So sinkt beispielsweise das Risiko unklar definierte Anforderungen zu dokumentieren. Im Rahmen dieser Arbeit soll eine Schnittstelle entwickelt werden, die es ermöglicht Informationen aus dem EMFStore auszulesen und diese in einem einheitlichen Format über einen RESTful Webservice bereitzustellen. Diese Daten können dann von einem mobilen Client konsumiert werden. Eine besondere Herausforderung stellt dabei das EMF Model dar, welches im späteren Verlauf detaillierter erläutert wird. Das EMF Model kann beliebig angepasst werden. So können beispielsweise neue Model Elemente hinzugefügt werden und bereits bestehende Elemente gelöscht oder verändert werden. Dadurch entsteht die Problematik das die Daten generisch aus EMF Store ausgelesen werden müssen. Des Weiteren gibt es verschiedene Möglichkeiten an die Daten im EMFStore heranzukommen. Zum einen besteht die Möglichkeit die Daten via XMLRPC abzurufen. Hierbei werden Methoden auf einem entfernten Server aufgerufen. Der Transport der Daten erfolgt über das HTTP-Protokoll und die Daten selbst werden im XML-Format übertragen. Die zweite Möglichkeit ist die direkte Verwendung der Eclipse Client Platform. Diese ist für die Kommunikation mit dem EMFStore zuständig und stellt bereits ein umfangreiches Set an Methoden für das Auslesen der Daten im EMFStore bereit. Die detaillierte Funktionsweise der beiden Ansätze wird im Kapitel Grundlagen besprochen. |
Entwurf und Implementierung einer Analyse-API fur Feature-Daten im Software-Engineering
Betreuer | Paul Hübner |
---|---|
Bearbeiter | Adrian Danisch |
Beschreibung | In einem Software-Projekt werden zwecks der Dokumentation eine große Anzahl von Daten archiviert. Während des Entwicklungsprozesses werden Versionierungsprogramme genutzt, um diese Daten zu speichern. Diese Daten können gezielt mit Analysetechniken ausgewertet werden, um Aufälligkeiten, insbesondere Features, eines Software-Projektes zu erkennen. Das Ermitteln von Features ist hilfreich, um sich eine Übersicht über die Funktionalitäten einer Software zu verschaffen. Dazu zählen bereits vorhandene Features, die Beziehungen verschiedener Features zueinander, in welcher Vielfalt und Anzahl sie eventuell vorkommen, oder ob Features fehlen.
|
Entwurf und Entwicklung eines Scrum-Plug-In für UNICASE
Betreuer | Marcus Seiler |
---|---|
Bearbeiter | Thomas Altenbuchner |
Beschreibung | Das CASE-Werkzeug UNICASE integriert modellbasiert die Daten von unterschiedlichen Aktivitäten der Softwareentwicklung. UNICASE ermöglicht u.a. das Erfassen von Anforderungen, das Erstellen von UML-Modellen und unterstützt das Projektmanagement. Neben den klassischen Vorgehensmodellen wie dem V-Modell oder dem Rational Unified Process erfreuen sich agile Vorgehensmethoden in der Softwareentwicklung immer größerer Beliebtheit. Zu den bekanntesten Vertretern zählt unter anderem Scrum. Scrum ist ein Vorgehens-Framework für das Projektmanagement im agilen Umfeld. Scrum wird als Framework und bewusst nicht als Vorgehensmodell bezeichnet, da es nur aus wenigen Regeln besteht. Diese Regeln definieren fünf Aktivitäten, drei Artefakte und drei Rollen, die den Kern von Scrum ausmachen und sind im ScrumGuide von Ken Schwaber und Jeff Sutherland - den Erfindern von Scrum - hinterlegt.Mit der bisherigen Funktionalität des Projektmanagements lässt sich jedoch nur bedingt Scrum betreiben, da es UNICASE an entsprechenden Modellelementen wie beispielsweise dem ProductBackLog, den entsprechenden Rollen und Aktivitäten etc. fehlt. Scrum-Elemente werden in UNICASE nur teilweise in Form von Sprints bereitgestellt. Ziel dieses Praktikums ist daher die Konzeption und Entwicklung eines Scrum-Plug-Ins für UNICASE. |
UNICASE Maintenance Plug-In
Betreuer | Paul Hübner |
---|---|
Bearbeiter | Jochen Clormann |
Beschreibung | Derzeit ist es nicht moglich in der, auf dem EMF Store basierenden, Version 0.5.2 des CASE-Tools UNICASE Projektdaten aus der alten Version 0.4.5 zu migrieren. Für diese fehlende Funktionalitat ist in diesem Praktikum ein Eclipse Plug-In entwickelt worden, welches den XML-Quellcode eines Projektes der mit einem UNICASE Client in der Version 0.4.5 erzeugt wurde einliest und in der Version 0.5.2 abspeichert. Des weiteren wird die Funktionalitat bereit gestellt UNICASE Test-Projekte zu generieren. Diese lassen sich entweder nach Nutzerwunschen parametrisieren, oder unter Angabe von Obergrenzen der ModelElemente und Sections per Zufallsprinzip erzeugen. |
Erweiterung einer Crawling Anwendung für Feature-Datenquellen im Software Engineering
Anbindung neuer Datenquellen und Erweiterung des Schemas zur Datenspeicherung
Betreuer | Paul Hübner |
---|---|
Bearbeiter | Evgenij Reznik |
Beschreibung | Software systems contain a great amount of valuable information. Extracting those information can be a difficult matter. Crawler can be useful to facilitate the process. The goal of this internship is to extend an existing software in such way, that it is able to crawl the data sources Git, JIRA and GitHub Wiki for valuable data. |
Unterstützung der Wissenserfassung zu Designentscheidungen im UNICASE-UML-Editor
Betreuer | Tom-Michael Hesse |
---|---|
Bearbeiter | Tobias Limpert |
Beschreibung | Entscheidungen sind im Entwicklungsprozess einer Software tagtäglich anzutreffen. Besonders Requirements Engineers und Softarearchitekten treffen im Softwareentwurf früh Entscheidungen, die sich massiv auf das spätere Produkt auswirken. Damit dieses Entscheidungswissen nicht im Laufe der Zeit verloren geht, stellt dieser Bericht eine Möglichkeit vor, das Wissen einfach und ohne Unterbrechung während des Softwareentwurfs strukturiert zu erfassen und zu überblicken. Das Ziel des Praktikums ist eine integrierte Werkzeugunterstützung für das CASE-basierte Werkzeug UNICASE, da dieser Arbeitsablauf bisher in UNICASE nur über den Standardeditor möglich ist. Der Umweg Entscheidungen über den Standardeditor zu erfassen stellt eine erhebliche Unterbrechung des Arbeitsablaufs dar und bedarf somit weiterer Überarbeitung. |
Darstellung der Historie von dokumentierten Entscheidungen in UNICASE
Betreuer | Tom-Michael Hesse |
---|---|
Bearbeiter | Daniel Egenolf |
Beschreibung | Während eines Softwareentwicklungsprojekt werden, ähnlich zu anderen Wissenselementen eines Projekts, Entscheidungen getroffen und diese in UNICASE dokumentiert. Nachdem Entscheidungen in einem Projekt erstmalig dokumentiert wurden, durchlaufen auch sie einen Lebenszyklus, da sich insbesondere die Struktur und Eigenschaften getroffener Entscheidungen ständig ändern können. Für das Nachvollziehen von Änderungen im zeitlichen Verlauf dokumentierter Entscheidungen bedarf es einer Werkzeugunterstützung, welche momentan in UNICASE nicht verfügbar ist. Das Ziel dieses Projekts ist es, eine erweiterte View des Decision Editors für die Visualisierung der Historie und damit den Änderungsverlauf von Attributen und Wissenselementen dokumentierter Entscheidungen in UNICASE und der basierenden Eclipse Modeling Framework (EMF) zu entwickeln. Hierzu sollen die ausgewählten Attribute aus dem ChangeSet des EMFStore extrahiert und grafisch in geeigneten Diagrammen aufbereitet werden. Im Zuge dieses Projekts wurde ein UNICASE Plugin entwickelt, welches bereits dokumentierte Entscheidungen eines Projektes rekursiv bestimmt und anschließend deren Änderungsverlauf mithilfe von Tabellen, Balken- und Kuchendiagramme sowie Zeitdiagramme für den Status der Implementierung und des Fortschritts visualisiert. Mithilfe von Filter- und Auswahlfunktionen können die BenutzerInnen die erwünschten Attribute selektieren und somit einen spezifischen Überblick der Historie einer dokumentierten Entscheidung erhalten. In diesem Bericht werden die Vorgehensweise der Planung als auch die Implementierung sowie die Evaluationsergebnisse vorgestellt. |
2013
Entwurf und Implementierung von Crawlern für Feature- Datenquellen im Software Engineering
Betreuer | Paul Hübner |
---|---|
Bearbeiter | Matthias Brandt |
Beschreibung | In diesem Praktikum wurde ein Crawler für verschiedene Arten von Datenquellen aus dem Software Engineering (Quellcode, Issue-Tracker, Dokumentation) entwickelt. Dies beinhaltete den Auswahlprozess für ein geeignetes Crawling-Framework und die im Software Engineering ülichen Vorgehensprozesse. Mit der entwickelten Software ist es möglich implizit gespeicherte Informationen zu Features in Softwareprojekten zu finden, um diese später in einem weiterführenden Prozess zu analysieren und so explizite Informationen extrahieren zu können. |
UNICASE-Meeting app for Android™
Betreuer | Paul Hübner |
---|---|
Bearbeiter | Matthias Franz |
Beschreibung | The modeling CASE-tool UNICASE provides different model elements that are part of different development activities and integrates them into an unified model. One part is the integrated project management that includes the administration of meetings. The goal of this internship is to create an Android application that enables access to UNICASE‘s meeting management features using the Android Service concept. |
UNICASE for Android™
Betreuer | Paul Hübner |
---|---|
Bearbeiter | Artem Vasilcenko |
Beschreibung | UNICASE, a CASE-tool that supports modeling artifacts of a software engineering project, is based on the Eclipse platform using EMF and GMF. The goal of this advanced practical course is to explore the possibilities of creating a simple UNICASE client for the Android platform. The final result serves only as proof of concept and will not offer the full funcionality of UNICASE. Nonetheless it lays the foundation for future expansion. |
Konzeption und Implementierung eines automatischen Testsystems für C++-Programme auf Basis von CppUnit
Betreuer | Tom-Michael Hesse |
---|---|
Bearbeiter | Axel Wagner |
Beschreibung | Zum Training von Studierenden werden immer häufiger automatische Testsysteme eingesetzt. Diese nehmen Abgaben von Quellcode zu Aufgaben entgegen, prüfen diese auf etwaige Compiler- Fehler und testen die Abgaben anschließend automatisch anhand definierter Testfälle. Während für Java einige solcher Systeme existieren und auch einer breiten Öffentlichkeit zugänglich sind, gibt es für C++ bisher keine solchen Systeme. Ziel dieses Praktikums ist es deshalb, ein automatisches Testsystem für C++-Quellcode zu erstellen. |
Vergleich von Software-Werkzeugen zur Unterstützung des Rationale Managements in der Entwurfsphase
Betreuer | Tom-Michael Hesse |
---|---|
Bearbeiter | Stefano La Rossa |
Beschreibung | Many of decisions done in software project development have a great impact on the software development process. Rationale can improve this process by providing the ability to capture decisions and reasons behind them starting early in design phase. However, there are different notions of and emphasis on what and how decision-making activities should be supported. This is reflected in the design and implementation of existing rationale management tools. To understand what these tools are capable of, this practical course compares these tools. |
Definierbare Sichten auf den Übersichtsbaum in UNICASE
Betreuer | Tom-Michael Hesse |
---|---|
Bearbeiter | Arthur Kühlwein |
Beschreibung | In UNICASE, knowledge items, such as diagrams, use cases and work packages are versionized and managed instances of EMF (Eclipse Modeling Framework) model elements and displayed in an overview tree using the ECP (EMF Client Platform) navigator. For big UNICASE projects, getting an overview over all instances of one or many specific types of model elements using the navigator can become a difficult and tedious task. Especially when one considers that these instances may be scattered throughout the project not only in different places, but also in places of arbitrary depth inside the project's document structure. Within the scope of this advanced practical course, a view concept for the ECP navigator was specified, designed and implemented as an Eclipse plug-in, allowing the user to reduce the navigator tree. Only instances of types specified by the user are then displayed in the ECP navigator. |
2012
Vergleich der Unterstützung von Source Code Traceability zwischen UNICASE und anderen CASE-Tools
Betreuer | Alexander Delater |
---|---|
Bearbeiter | Lukasz Wisniowski |
Beschreibung | UNICASE vereint zwei Modelle: System Model und Project Model. Die Modellelemente im System Model dienen der Beschreibung der Anforderungen und Funktionen an das zu entwickelnde Software System, wohingegen die Modellelemente des Project Model für die Planung und Umsetzung genutzt werden. Aktuell wird ein drittes Model in UNICASE implementiert: das neue Code Model verbindet den in Eclipse programmierten Code mit den Modellelementen der anderen beiden Modelle. Zur Zeit besitzt UNICASE nur eine rudimentäre Unterstützung für Source Code Traceability, d.h. es ist bereits auf einfache Weise möglich, Modellelemente aus dem System Model und Project Model mit dem implementieren Source Code des Code Models zu verbinden. Das Ziel dieses Praktikums war es daher ein Vergleich der Unterstützung von Source Code Traceability zwischen UNICASE und anderen existierenden CASE-Tools durchzuführen. |
Erweiterung des CASE-Tools UNICASE um eine Hilfefunktion
Betreuer | Robert Heinrich |
---|---|
Bearbeiter | Daniel Barthel |
Beschreibung | Mit CASE Werkzeug UNICASE können viele verschiedene Modellelemente erstellt werden, auf denen dann Funktionen ausgeführt werden können. Für Studierende, die sich in kurzer Zeit in UNICASE einarbeiten müssen, ist es oft schwierig einen Überblick über die verschiedenen Elemente und Funktionen zu bekommen. Obwohl es bereits Dokumentation zu UNICASE gibt, besitzt UNICASE noch keine integrierte Hilfefunktion. Eine integrierte Hilfefunktion ist notwendig, um den Studierenden während der Verwendung von UNICASE Informationen zur Verfügung zu stellen. Die Studierenden sollen Informationen über Modellelemente und Funktionen angezeigt bekommen, ohne dass sie UNICASE verlassen müssen, um beispielsweise auf einer Website nach Informationen zu suchen. |
2011
Erweiterung des CASE-Tools UNICASE um eine Vergleichsfunktion
Betreuer | Alexander Delater |
---|---|
Bearbeiter | Andreas Theobald |
Beschreibung | Zur Zeit besitzt UNICASE nur eine rudimentäre Vergleichsfunktion. Sie ermöglicht lediglich den Vergleich auf Gleichheit bzw. Ungleichheit von zwei Projekten. Es wird überprüft, ob zwei Projekte die gleichen Elemente enthalten und ob sich die enthaltenen Elemente ihn ihren Eigenschaften unterscheiden. Sobald sich die Eigenschaften eines Elements geändert hat, sind die zwei Projekte nicht mehr gleich. Ziel dieser Arbeit war daher die Implementierung einer neuen Funktionalität zum Vergleich von zwei Projekten. Im Regelfall soll dabei die Entwicklung eines Projektes im Laufe der Zeit veranschaulicht werden, also den Vergleich einer Ausgangsversion mit einer späteren Revision, so dass der Benutzer sehen kann, an welchen Stellen sich das Projekt verändert hat, und welche Elemente und Sektionen davon betroffen sind. Dabei sollen im Speziellen veränderte, neu erstellte und gelöschte Elemente übersichtlich in einer eigenen Ansicht innerhalb von UNICASE dargestellt werden. |
2010
Erweiterung des CASE-Tools UNICASE um eine Suchfunktion
Betreuer | Alexander Delater |
---|---|
Bearbeiter | Markus Fischer |
Beschreibung | Mit dem CASE Werkzeug UNICASE können sehr große und umfangreiche Projekte mit vielen Elementen erstellt werden. Es ist nicht trivial bei der großen Anzahl der Elemente einen Überblick über das Projekt zu behalten. Es werden ggf. Elemente redundant erzeugt, weil sie im Projekt nicht gefunden werden können. Das verringert die Qualität der Dokumentation des Projekts. UNICASE bietet aktuell eine einfache Suchfunktion. Allerdings ist diese nicht direkt zugänglich und erlaubt lediglich Modellelemente bezüglich des Namens zu suchen. Ebenfalls gibt es keine Übersicht zu den Suchergebnissen. Ziel dieser Arbeit war es, eine eigenständige Suchfunktion für UNICASE in Form eines neuen Eclipse-Plugins zu entwerfen und zu implementieren. Das Plugin soll das EMF Query Framework, welches die Suche auf EMF-Modellen mittels SQL-Syntax ermöglicht, nutzen. Die Suchergebnisse sollen in einer eigenständigen Übersicht dargestellt werden. Das Ergebnis dieser Arbeit ist zusammen mit Informationen zur Installation und Benutzung auf unicase.org zu finden. |
EduMote – eine Software für den Einsatz der Wii-Remote im Unterricht
Betreuerin | |
---|---|
Bearbeiter | Alexander Brändlein, Christiane Smandzik |
Beschreibung | Ziel dieses Projektes ist die Nutzbarmachung des vergleichsweise kostengünstigen Nintendo-Wii Spielkonsolencontrollers für den Einsatz im Unterricht. Die interessante Fragestellung und die Gelegenheit direkt für den praktischen Einsatz im Schulbetrieb verwendbare Software zu entwickeln gab bei uns den Ausschlag, sich diesem Projekt anzunehmen. |
Objektorientierung und bedingte Anweisungen mit POV-Ray
Betreuerin | Barbara Paech |
---|---|
Bearbeiterin | Lisa Tuschner |
Beschreibung | Für diese Praktikum wurden einige Programmierkonzepte aus Lehrbüchern der 6./7. Klasse ausgewählt und Lehreinheiten erstellt, die die zuvor ausgewählten Programmierkonzepte mithilfe von POV-Ray vermitteln sollen. Die hier vorgestellten Unterrichtseinheiten wurden mit Schülern der Unterstufe durchgeführt und die Ergebnisse der Durchführung in Anschluss an die einzelnen Lehreinheiten vermerkt. |
Download |
Wiki-System zur Unterstützung der empirischen Forschung
Betreuerin | Rumyana Proynova |
---|---|
Bearbeiterin | Thomas Monninger |
Beschreibung | Das Forschungsprojekt VaReMed am Lehrstuhl für Software Engineering beschäftigt sich mit Softwareanforderungen im Medizininformatikumfeld. Das Projekt hat einen hohen Anteil an empirischer Forschung, z. B. Benutzerinterviews und Fragebogenauswertung. Im Projekt entsteht eine große Menge an Wissen, die strukturiert abgelegt und gespeichert werden soll. Zusätzlich muss die Zusammenarbeit der Teammitglieder (vom Lehrstuhl SWE sowie vom Partnerlehrstuhl für Medizininformatik) koordiniert werden. Dazu wäre eine zentrale Softwarelösung geeignet. Der/die Studierende hat die Aufgabe, eine Lösung zur Wissensverwaltung zu finden und anzupassen. Der/die Studierende muss nach vorhandenen webbasierten Lösungen im Bereich Kollaborationssoftware bzw. Wiki-Frameworks suchen und geeignete Alternativen evaluieren. Mit dem gewählten Framework ist ein für das Projekt geeignetes Wiki aufzubauen. Dieses Wiki soll um Features erweitert werden, die speziell für die Unterstützung eines empirischen Forschungsprojekts geeignet sind, z. B. durch Plug-Ins für Aufgaben wie Fragebogenerstellung und –auswertung. |
2009
Erweiterung des CASE-Tools UNICASE um eine Benutzeroberfläche für die Testfallspezifikation
Betreuer | Alexander Delater |
---|---|
Bearbeiterin | Sharon Friedrich |
Beschreibung | UNICASE ist ein CASE-Tool, mit welchem die TeilnehmerInnen eines Softwareentwicklungsprozesses die entstehenden Artefakte dokumentieren können, wie z.B. Anforderungen oder Projektplanung. UNICASE ist der Nachfolger von Sysiphus. Das CASE-Tool basiert auf der Eclipse-Plattform und nutzt viele seiner Konzepte, wie z.B. das Plug-In-Konzept. Es bestand bereits eine einfache Benutzeroberfläche für die Spezifikation von Testfällen in UNICASE. Bisher wurden alle notwendigen Informationen zu einem Testfall in einfachen Textfeldern gespeichert, wie z.B. die Input- bzw. Outputparameter. Dies hatte erhebliche Nachteile, z.B. in der Benutzbarkeit. Ziel dieser Arbeit war es, die bestehende Benutzeroberfläche für die Spezifikation von Testfällen zu erweitern. Es sollte möglich sein, komplexere Elemente darzustellen, wie z.B. Tabellen. Hierfür mussten neue Komponenten erstellt werden, um diese Elemente in die Benutzeroberfläche von UNICASE zu integrieren. |
Ableiten von graphischen Benutzungsschnittstellen aus Use Cases
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Alexander Kappe |
Beschreibung | In diesem Bericht wird ein Praktikum zum Thema „Ableiten von graphischen Benutzungsschnittstellen aus Use Cases“ dokumentiert. Hierbei wurde das bestehende Metamodell der Use Cases erweitert, um einer Transformation in das Guilet-Dialogmodell zu genügen, ohne dabei aber die ursprüngliche Gestalt und Aussagekraft einschneidend verändern zu müssen. Das Guilet-Dialogmodell ist ausführbar und ermöglicht die Generierung kontextsensitiver Benutzungsschnittstellen, wodurch der Entwicklungsprozess beschleunigt und kostengünstiger gestaltet werden kann. Es wurden nun Transformationsregeln formuliert, welche die Überführung der einzelnen Modellierungselemente der Use Cases in die Elemente der Guilets beschreiben. Bis auf wenige Ausnahmen war dies erfolgreich möglich. Es bleiben allerdings unweigerlich Bestandteile des Guilet-Modells übrig, welche nicht ohne weiteres aus Use Cases generiert werden können, da die dafür nötigen Informationen nicht Bestandteil des Use Case Metamodells sind und sinngemäß auch nicht sein sollten. Diese Elemente des Guilet-Modells müssen nach der automatischen (Teil-)Transformation manuell modelliert werden. Anhand eines ausführlichen Anwendungsbeispiels wurde die ausgearbeitete Modellzu-Modell-Transformation schließlich exemplarisch durchgeführt. Es wurde außerdem eine Software implementiert, welche die in XML-Dateien vorliegenden Modell-Instanzen anhand der Transformationsregeln ineinander überführen kann. |
Migrationsfähige Benutzungsschnittstellen auf Basis von Dialogmodellen
Betreuer | Jürgen Rückert |
---|---|
Bearbeiterin | Anna Mazhayskaya |
Beschreibung | Ziel der Arbeit ist es aufzuzeigen, dass die Dialogmodellierung zur Modellierung von migrationsfähigen Benutzungsschnittstellen (migratory user interfaces) verwendet werden kann. Dazu sind zwei Dinge zu zeigen.
|
2008
Realisierung der Generierung von Testfällen aus Use Case Beschreibungen in Sysiphus
Betreuer | Lars Borner |
---|---|
Bearbeiterin | Nataliya Melamed |
Beschreibung | Ziel des Praktikums ist es, ein vorhandenes theoretisches Konzept der automatischen Ableitung von Testfällen aus Use Cases in Sysiphus zu realisieren. Hierbei können die Studierenden auf existierende Beschreibungen des Konzepts zurückgreifen. |
Diagrammerstellung und –bearbeitung in REQuest
Betreuer | Lars Borner |
---|---|
Bearbeiter | Alexander Kappe |
Beschreibung | Ziel dieses Praktikums war es zuerst ein Konzept zur Darstellung und Bearbeitung von Diagrammen auf einer Weboberfläche zu entwerfen. Dieses Konzept sollte schließlich prototypisch realisiert werden. Hierfür sollte lediglich HTML in Kombination mit Javascript, unter Ausnutzung moderner AJAX-Effekte, zum Einsatz kommen. |
Überarbeitung des Oberflächenkonzepts in REQuest
Betreuer | Lars Borner |
---|---|
Bearbeiter | Mathias Braun |
Beschreibung | Die im Rahmen eines Sysiphus Workshops gesammelten Ideen zur Verbesserung der Web-Oberfläche Request sollen prototypisch realisiert werden. Hierbei soll ein Framework entstehen, dass das erstellen der dynamischen Web-Oberfläche einfach ermöglicht. Hierbei soll die Technologie AJAX verwendet werden. Aufgabe des Studenten ist es, dieses Framework konzeptuell und prototypisch zu entwickeln. |
Werkzeugunterstützung für die Anforderungspriorisierung in MOQARE
Betreuerin | Andrea Herrmann |
---|---|
BearbeiterIn | Sharon Friedrich, Maik Häsner |
Beschreibung | Das Ziel dieses Praktikums ist es, Sysiphus so zu erweitern, dass die Anforderungspriorisierung nach der oben angedeuteten Methode in RAT und Request unterstützt wird. Die Anforderungsprioritäten sollen in ICRAD zur Bewertung von Architekturalternativen verwendet werden. Der Praktikant/ die Praktikantin hat dabei die folgenden Aufgaben:
|
Vergleich von Ansätzen zur Präsentationsmodellierung von Benutzungsschnittstellen
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Marcel Krause |
Beschreibung | Während in den 90er Jahren eine Fülle modell-basierter Ansätze zur Entwicklung von Benutzungsschnittstellen enstanden ist, ignorieren derzeitige Entwicklungs-Technologien wie Portal-Anwendungen, AJAX-basierte Web-Anwendungen und Anwendungen auf Basis der Eclipse Plattform diese Errungenschaften. Doch warum ist dem so? Erfüllen die Ansätze eventuell nicht die heutigen Anforderungen? Dieses Praktikum soll durch einen Vergleich ausgewählter modell-basierter Ansätze zur Entwicklung von Benutzungsschnittstellen der Frage auf den Grund gehen, was welcher Ansatz anbietet. Dabei sind dessen methodische Fähigkeiten (das Software Engineering) von den technischen Fähigkeiten zu unterscheiden überführen kann |
Eine empirische Studie über den Zusammenhang zwischen „Bad Smells“ und Fehlern in der Software
Betreuerin | Timea Illes-Seifert |
---|---|
Bearbeiterin | Anna Goryainova |
Beschreibung | Das Ziel des Praktikums ist eine Untersuchung des Einflusses von „Bad Smells“, die auf einer Kombination von Metriken basieren, auf die Fehleranfälligkeit mit Hilfe eines Open-Source-Werkzeug zur strukturellen Untersuchung und Bewertung der inneren Qualität von Software-Systemen (SISSY). Während des Projektes sollen sowohl neue „Detection Strategies“, als auch neue „Bad Smells“ ausgewählt und in SISSY implementiert werden. Dann sollen die Zusammenhänge zu den Korrelationen zwischen „Bad Smells“ und Fehlern in der SW analysiert werden.
|
Empirische Studie über den Einfluss der Änderungshistorie auf die Fehleranfälligkeit
Betreuerin | Timea Illes-Seifert |
---|---|
Bearbeiterin | Hanna Barysava |
Beschreibung | In dieser Arbeit soll untersucht werden, welchen Einfluss Änderungen der Programmdateien auf die Fehleranfälligkeit haben. Es handelt sich um eine empirische Studie, in der mehrere Hypothesen durch die Analyse unterschiedlicher Open-Source-Programme geprüft und evaluiert werden |
Anwendung statistischer Verfahren zur Fehlervorhersage
Betreuerin | Timea Illes-Seifert |
---|---|
Bearbeiterin | Klara Maria Kotarlea |
Beschreibung | Ziel der Softwareentwicklung ist, Fehler in der Software vor Auslieferung zu finden und zu beseitigen. Daher ist es sehr wichtig so früh wie möglich zu wissen, welche Stellen der Software fehleranfällig sind und welche nicht, damit man genau diese Stellen intensiver testet und die Fehler somit vor Auslieferung beseitigen kann. Um die fehleranfälligen Stellen zu entdecken sollen mehrere statistische Modelle zur Fehlervorhersage angewendet werden. |
2007
Benchmark unterschiedlicher Testmuster für den Systemtest
Betreuer | Lars Borner, Timea Illes-Seifert |
---|---|
Bearbeiter | Tatyana Nykonova |
Beschreibung | The aim of this student work is to perform a comparative evaluation of Use-Case based testing patterns within an industrial case study and within a faulty program benchmark suite. Use cases are a well-established means for requirements elicitation and specification. UC based testing (UCBT) is an approach to system testing, where test cases are defined and selected on the basis of the requirements specified in terms of UCs. Several approaches for UCBT have been proposed in the literature, which can be synthesized to Test Patterns. This work aims at comparing these patterns with respect to their effectiveness and efficiency. Particularly the power, maintainability, credibility, representativeness, complexity and the types of faults of the resulting test cases have to be compared. The comparison will be performed on the basis of an industrial system (eps/ICW) and on the basis of a faulty program benchmark suite. |
Eclipse - Plugin zur Erzeugung von Testanfragen
Betreuerin | Dima Suliman |
---|---|
Bearbeiter | Ricardo Nimser |
Beschreibung | Ziel der Arbeit war es, ein Eclipse-Plugin zu entwickeln um die Erstellung von Konfigurationsdatein für Morabitkomponenten zu unterstützen. |
Erweiterung des Portalservers "intrexx xtreme" zur Unterstützung von firmeninternen Prozessen
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Daniel Ritter |
Beschreibung | Der Portalserver „intrexx xtreme“ ermöglicht das einfache Zusammenstellen von Systemen um firmeninterne Geschäfts-Prozesse zu unterstützen. Hierbei wird eine Reihe von vordefinierten Bausteinen zur Verfügung gestellt, die zu diesem Zweck verwendet werden können. Leider unterstützt „intrexx xtreme“ nicht alle gewünschten Prozesse der Firma Isacon. In dieser Arbeit wird „intrexx xtreme“ um individuelle Portalbausteine in Java erweitert. Es werden mögliche Erweiterungspunkte von „intrexx xtreme“ identifiziert und für einen vorgegebenen firmeninternen Prozess die fehlenden Bausteine ergänzt. |
Hamstern mit BlueJ
Betreuerin | Barbara Paech |
---|---|
Bearbeiter | Betuel Sucu |
Beschreibung | Ziel dieser Arbeit ist es, die Werkzeuge BlueJ und Java-Hamster besser miteinander zu verbinden. Diese Verbindung muss flexibel unterrichtlich nutzbar gemacht und dokumentiert werden. |
Java-Applikation zur Verwaltung von Parametersätzen von Sinteröfen
Betreuer | Lars Borner |
---|---|
Bearbeiter | Armin Wallnöfer |
Beschreibung | Ziel der Arbeit war es, ein bestehendes System zu erweitern. Hierzu wurde es ermöglicht, verschiedene Parameter, die für das Sintern im Sinterofen notwendig sind zu spezifizieren, anzuwenden, zu exportieren und zu importieren. Hierzu wurde das bestehende System analysiert, die Anforderungen aufgenommen, realisiert und die Funktionalität in umfangreichen Tests überprüft. |
Semantische Beschreibung von Web Services mit WSDL-S
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Din-Khoa Nguyen |
Beschreibung | Die aktuellen Arbeiten im Bereich Web Services lassen den Bedarf an semantischen Beschreibungen von Web Services erkennen. In dieser Arbeit werden anhand eines Anwendungsbeispiels die notwendigen Informationen für eine semantische Beschreibung von Web Services in WSDL-S herausgearbeitet, anwendungs-spezifische Ontologien erstellt und die semantischen Informationen in einer korrespondierenden Java-Anwendung verwendet. |
Werkzeugunterstützte Abhängigkeitsanalyse für JAVA-Programme
Betreuer | Lars Borner |
---|---|
Bearbeiter | Yulia Kosolapova |
Beschreibung | Die Qualitätssicherung auf Ebene des Integrationstests für Java – Programme wird durch das fehlende Wissen über die Abhängigkeiten zwischen Klassen erschwert. Um einen Integrationstestfall zu erstellen und die entsprechenden Testdaten zu identifizieren, muss der Integrationstestdesigner die verschiedenen Beziehungen und Interaktionen zwischen den zu testenden Klassen kennen. In dieser Arbeit sollen Analysewerkzeuge untersucht werden, die zur automatischen Identifikation von Abhängigkeiten zwischen Java – Klassen und Paketen geeignet sind. Ziel des/der StudentIn ist es, existierende Werkzeuge zu finden und drei von Ihnen selbständig an einem gegebenen Beispiel anzuwenden und miteinander zu vergleichen. |
2006
Auswahl eines Tools für das Knowledge Management
Betreuer | Andrea Herrmann |
---|---|
Bearbeiter | Sascha Orf |
Beschreibung | Man kann nicht nur aus der eigenen Erfahrung, sondern auch der anderer lernen. Diesen komplexen Prozess haben wir am Lehrstuhl untersucht und Erfahrungs-Daten gesammelt, und nun sollte der Prozess durch eine einfache Software unterstützt werden. Hierzu sollte möglichst keine neue Software entwickelt, sondern ein Standard-Tool ausgewählt und angepasst werden. |
BPEL
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Wotan von Klass |
Beschreibung | Die aktuellen Arbeiten der Web Services Business Process Execution Language (WS-BPEL) fokussieren auf zwei Aspekte. Der eine Aspekt ist die Beschreibung des ausführbaren Geschäftsprozesses, der Web Services orchestriert. Der andere Aspekt ist die Beschreibung des beobachtbaren Verhaltens von Web Services. Beide Aspekte sind von Interesse für Web Service Client-Anwendungen. Eine Web Service Client-Anwendung wird von einem Endbenutzer verwendet, der eine Aufgabe mit Hilfe eines Geschäftsprozesses lösen möchte. Dieses Praktikum soll durch eine Realisierung einer prototypischen (nicht graphischen) Anwendung unter Verwendung von WS-BPEL den Aspekt Orchestrierung beleuchten und damit die Frage beantworten: Wie können Geschäftsprozesse mit WS-BPEL von Web Service Client Anwendungen verwendet werden? |
Entwicklung einer Mittelstufen AG Informatik
Betreuerin | Barbara Paech |
---|---|
Bearbeiter | Catalina Filler |
Beschreibung | Ziel dieser Arbeit ist es, einen Informatik-Kurs zu entwickeln – aufbauend auf vorhandenem Lehrmaterial - für Mittelstufen-SchülerInnen. Der Kurs soll insbesondere konkretes Übungsmaterial beinhalten. Geplante Lehrkräfte sind Informatik-Studierende (Lehramt / Bachelor / Master). mehr |
Erweiterung von RAT um Misuses und deren graphische Darstellung
Betreuer | Lars Borner, Andrea Herrmann |
---|---|
Bearbeiter | Kwong Yung |
Beschreibung | Im vorangegangenen Semester wurde in einem Praktikum die REQuest - Oberfläche um Misuse Cases erweitert. Dieselben Erweiterungen sollten in diesem Praktikum für RAT umgesetzt werden. Zusätzlich sollte die graphische Darstellung des Misuse Tree realisiert werden. Weiterhin sollte es möglich werden, innerhalb der graphischen Darstellung die Positionen der einzelnen Elemente zu ändern und darüber hinaus neue Elemente anzulegen (sowohl in REQuest als auch in RAT). |
Erweiterung von Sysiphus um Funktionen für das Projektmanagement
Betreuer | Lars Borner, Andrea Herrmann |
---|---|
Bearbeiter | Maxym Gerashchenko |
Beschreibung | Im Tool Sysiphus werden im Dokument „PM“ (=Projektmanagement) die Projektplanung, das Angebot, Change Requests und Unterprojekte dokumentiert. Sie hatten jedoch bisher keine Verknüpfung zu den Anforderungen im Dokument „ReqSpec“. Darüber hinaus war es noch nicht möglich, mit Hilfe von Sysiphus die notwendigen Arbeitspakete ausreichend zu spezifizieren (Startzeitpunkt, Endzeitpunkt, Dauer usw.). Aus diesem Grund wurde die Unterstützung des Projektmanagers durch das Tool Sysiphus ausgebaut. |
From Metadata Browsing for Beagle towards an Association Browser
Betreuer | Carsten Binnig |
---|---|
Bearbeiter | Max Wiehle |
Beschreibung | Beagle (siehe http://beagle-project.org) ist ein Programm zur Indizierung und zum Durchsuchen des persönlichen Datenbestandes (Desktopsuche). Im Rahmen dieses Softwarepraktikums soll die Desktopsuche um einen Speicher für Metadaten erweitert werden. Zum Startpunkt des Softwarepraktikums werden die Metadaten in Beagle zwar mit den indizierten Dokumenten abgelegt, jedoch nicht zur Suche verwendet. Beagle basiert auf Lucene - einem Open-Source Textindizierungssystem (siehe http://lucene.apache.org). Dieses bietet nur begrenzte Möglichkeiten auf die gespeicherten Metadaten zuzugreifen. In Ergänzung zu Lucene soll ein Metadatenspeicher auf SQL Basis implementiert werden, der eine erweiterte Nutzung der Metadaten ermöglicht. Dieses Projekt wird zum Teil im Rahmen von Googles „Summer of Code” Programm unterstützt (siehe http://code.google.com/soc) und von dem Beagle Entwickler Joe Shaw mitbetreut. |
Portale und Portlets
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Sandro Koll |
Beschreibung | Portal-Lösungen und Portlets gewinnen immer mehr an Aufmerksamkeit. Für manche gelten sie bereits als Königsweg der unternehmensinternen Kommunikation. Was aber genau sind Portlets? Wie kommunizieren diese mit dem zugrunde liegenden Portal? Was ist Standard und was nicht? Was sind die bedeutendsten Produkte auf dem Markt? Welche Rolle spielen Portlets in Zusammenhang mit Web Services? Solche und ähnliche Fragen werden in diesem Praktikum beantwortet und an einem spezifizierten, implementierten Anwendungsbeispiel veranschaulicht. |
Remote Portlets
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Nick Meier |
Beschreibung | Portal-Lösungen und Portlets gewinnen immer mehr an Aufmerksamkeit. Für manche gelten sie bereits als Königsweg der unternehmensinternen Kommunikation. Viele Unternehmen setzen zudem auf Web Services, die die derzeit populärste Umsetzung der Service Oriented Architecture (SOA) darstellt. Remote Portlets sind eine Melange: präsentations-orientierte, interaktive Web Services. Deshalb ist die zentrale Frage des Praktikums: Wie werden Portale und Web Services durch Remote Portlets integriert? Das Praktikum wird geleitet von einer Portal-Anwendung auf Basis von Remote Portlets. Die Portal-Anwendung liest und schreibt Daten von mehreren Remote Portlets, um die verschiedenen Arten der Einbindung von Web Services zu betrachten. Die zugrunde liegenden Anwendungsfälle und Spezifikationen werden im Laufe des Praktikums erarbeitet. |
Web Service Contracts
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Philipp Häfele |
Beschreibung | Qualität von Web Services ist von grundlegender Bedeutung für einen erfolgreichen Einsatz von Web Services im eCommerce. Eine in Zukunft tragfähige Basis kann geschaffen werden durch eine vertragliche Bindung von Qualitätseigenschaften. Für die vertragliche Bindung gibt es bereits verschiedene Ansätze. In dieser Arbeit wird die vertragliche Bindung von Qualität untersucht anhand eines Anwendungsbeispiels. Die vertragliche Bindung soll mit Hilfe des Standards WSOL in Hinblick auf Qualitätseinbindung mit WS-Policy realisiert werden. |
2005
Automatisches Generieren von Modellklassen in Sysiphus
Betreuer | Lars Borner |
---|---|
Bearbeiter | Dirk Dorsch |
Beschreibung | Der Student hatte die Aufgabe, die automatische Generierung von Model-Elementen im CASE - Tool Sysiphus prototypisch zu realisieren. Hierzu ist von ihm zu überprüfen, inwieweit der Benutzer des Entwicklungswerkzeugs Eclipse bei der Weiterentwicklung von Sysiphus unterstützt werden kann. Die prototypische Umsetzung für das automatische Generieren sollte in die Eclipseplattform integriert werden. |
Automatische und manuelle Emailbenachrichtigung der Anwender durch Sysiphus
Betreuer | Lars Borner |
---|---|
Bearbeiter | Mario Dimarzo, Andreas Brandenburger, Dirk Dorsch |
Beschreibung | Das System Sysiphus wurde um einen automatischen und manuellen Email - Benachrichtigungsmechanismus erweitert. Die Bearbeiter der verschiedenen Projekte bekommen eine Nachricht vom System, wenn sich an einem ihrer Projekte etwas geändert hat bzw. wenn ein Bearbeiter einen anderen über eine Änderung an einem oder mehreren Elementen informieren möchte. |
Eclipse Plug-In
Betreuer | Lars Borner |
---|---|
Bearbeiter | Christian Pretzsch |
Beschreibung | Sysiphus ist ein Software – Entwicklungstool, das den EntwicklerInnen von großen, mittleren und kleinen Softwareprojekten das Erstellen, Verwalten und Weiterentwickeln von Softwareentwicklungsdokumenten ermöglicht. Derzeit existieren für dieses Tool zwei Benutzungsschnittstellen: die Swing – Oberfläche RAT und die WEB – Oberfläche REQuest. Jedoch bietet keine der Oberflächen die direkte Möglichkeit, sich den Quellcode der bereits umgesetzten Systemanforderungen anzeigen zu lassen und mit den bereits erstellten Entwicklungsdokumenten zu vergleichen. Eine Möglichkeit, sich den Quellcode anzuschauen und zu bearbeiten bietet Eclipse. Daher liegt es nahe, beide Tools miteinander zu verschmelzen. Ziel dieser Aufgabe war es, die Dokumente, die Sysiphus zur Verfügung stellt auch in Ecplipse anschauen, verändern und erweitern zu können. |
Erstellen eines WiKi Parsers um aus den Informationen ein XML - File zu erstellen (Programmiersprache Perl und Python)
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Florian Winkelmeier, Timo Taglieber |
Beschreibung | Am Erziehungswissenschaftlichen Seminar (EWS) der Universität Heidelberg wurde ein Software-Prototyp entwickelt, der es erlaubt, Websites unter Verwendung von Topic Maps zu erstellen: Webseiten werden manuell erweitert mit reichhaltigen semantischen Link-Informationen. Besonders Webseiten, die in einem hohen Maße verlinkt sind, werden am EWS für Lehrzwecke verwendet, beispielsweise zur Arbeit an literarischen Texten, die viel eingeblendete Zitate verwenden. Im Rahmen der Lehre erstellen Studierende der Pädagogik Topic Maps. Der Prototyp unterstützt aber noch nicht die kollaborative Erstellung von Topic Maps (Kollaboratives Topic Map Authoring). Diese Funktionalität soll allerdings nicht neu entwickelt, sondern durch Verwendung von WIKI bereitgestellt werden. WIKI erlaubt Webseiten manuell zu editieren ohne Kenntnisse von HTML, dafür mit Kenntnissen der einfacheren WIKI-Markup-Elemente. Verwendet werden soll das MoinMoin Wiki. |
Erweiterung von RQP um verschachtelte SQL Anfragen
Betreuer | Carsten Binnig |
---|---|
Bearbeiter | Nico Leidecker |
Beschreibung | Reverse Query Processing (RQP for short) is an approach which was originally developed in order to generate a database instance for testing database applications. RQP is much more powerful than other approaches known for test database generation because RQP also takes the application logic into account and considers not only the constraints imposed by the database schema as many other approaches only do. The basic idea is that RQP gets a query Q and a result R as input and returns a possible database instance D that could have produced that result for that query. More formally, the database D generated by RQP must fulfill Q(D)=R. Thus, RQP turns the problem known from traditional query processing around. SPQR is the prototype which implements RQP for SQL. In order to reverse process a query SPQR uses a reverse relational algebra (RRA for short) which defines a reverse operator op-1 for every relational algebra operator op such that op(op-1(R))=R is fulfilled. Nested SQL queries can be processed by unnesting the SQL query either by the rules known for nested SQL queries (e.g. by join operators) or by some more aggressive rules which result from a different equivalence definition of two query plans in RRA. In order to study the cost tradeoffs of nested queries for RQP in depth, this work should first analyze different approaches used to process nested queries in traditional query processing without unnesting (e.g. by the apply operator or by using a so called nested algebra). Afterwards one of this approaches should be selected in order and applied for RQP (e.g. implement the reverse apply operator for RRA). The work should also cover some basic experiments which compare the performance to process nested queries in RRA by unnesting or by the new implementation of this work in order to analyze the cost tradeoffs. However, a complete performance study is out of the scope of this work. |
Konzeption und Implementierung eines Online Fragebogens
Betreuer | Timea Illes-Seifert |
---|---|
Bearbeiter | Jascha Zapp |
Beschreibung | Da das Testen, besonders bei komplexem Programmcode, eine sehr große Rolle im Softwarelebenszyklus einnimmt, ist die Automatisierung von Software-Tests durch sogenannte Testtools zur Zeit- und Kosteneinsparung von großer Bedeutung. Ziel dieses Projektes ist es, eine auswertbare Datensammlung über die Eigenschaften und Features von solchen Testtools zu erhalten, um später auf eine gegebene Anfrage nach einem bestimmten Testtool eine Vorauswahl aus den Unmengen an vorhandenen Produkten geben zu können. Dazu wurden bereits Kriterien für Testtools definiert. Diese gilt es nun durch beispielhafte Klassifizierung von zwei konkreten, marktführenden Testtools eventuell anzupassen, besonders im Hinblick auf Web- bzw. Datenbankanwendungstests. Anschließend kann ein Fragebogen für die Hersteller der Testtools anhand dieser Kriterien entworfen werden, der letztendlich als Webapplikation zugänglich gemacht werden soll, um die Daten kooperativ mit den Herstellern aufnehmen zu können. |
Optimierung des Reverse Query Processing Frameworks
Betreuer | Carsten Binnig |
---|---|
Bearbeiter | Daniil Nekrassov |
Beschreibung | Das Reverse Query Processing Framework (kurz RQP) generiert für eine gegebene SQL-Anfrage (Q) und deren Ergebnis (R) eine Datenbasis (D), so dass Q(D)=R gilt. Die Generierung der Daten im RQP-Framework stellt eine Herausforderung dar, da RQP das zugrunde liegende Datenbankschema inklusive der Integritätsbedingungen berücksichtigen muss. Hierzu werden diese Informationen in einen logischen Ausdruck transformiert der von einem Constraint Solver instanziiert wird. Je komplexer die Anfrage, desto mehr Integritätsbedingungen müssen u.U. von RQP berücksichtigt werden. Dies kann die Laufzeit des Algorithmus negativ beeinflussen, speziell wenn in der Anfrage eine Aggregation enthalten ist, also z.B. über ein Attribut summiert wird. Daher ist das Ziel dieses Praktikums, mit der zu der Zeit des Praktikums aktuellen Version des RQP-Algorithmus Performance-Messungen durchzuführen, um den Einfluss von den zu berücksichtigenden Integritätsbedingungen auf die Laufzeit des Programms zu untersuchen und darauf aufbauend mögliche Optimierungen des RQP-Algorithmus konzeptionell zu entwickeln und zu implementieren. Anschließend sollen wiederum Performance-Messungen durchgeführt und ihre Ergebnisse mit denen von der ursprünglichen Version von RQP verglichen werden. |
2004
Java Generation for Sysiphus
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Kai Bormann |
Beschreibung | Das Requirements Engineering Werkzeug Sysiphus erlaubt die Modellierung von Java-Paketen und Klassen im Dokument Object Design (ODD). Aus diesem Modell sollen Java-Klassen für das Sysiphus-Rahmenwerk generiert werden, mit denen die Modell-Schicht von Sysiphus erweitert werden kann. Diese Arbeit legt den Grundstein für die schnelle Erweiterung von Sysiphus. |
SYSIPHUS: Flexible Dokumentenstruktur für REQuest
Betreuer | Jürgen Rückert |
---|---|
Bearbeiter | Jens Lechner |
Beschreibung | Die Web-Oberfläche des REQuest Requirements Engineering Werkzeug Sysiphus benötigt neue Funktionalität bezüglich der Dokumentenstruktur. Es soll möglich sein: Kapitel umzubennen, neue Kapitel zu addieren, bestehende Kapitel zu entfernen, Unterkapitel in ihrer Reihenfolge in einem Kapitel zu verschieben und Unterkapital in andere Kapitel zu verschieben. Die Funktionalität ist in der Modell-Schicht von Sysiphus enthalten, aber noch nicht in der Web-Darstellungsschicht REQuest. |
Vergleich von OOGP und TORE
Betreuerin | Barbara Paech |
---|---|
Bearbeiter | Din-Khoa Nguyen |
Beschreibung | Ziel dieser Arbeit ist es, das in dem Buch „Objektorientierte Geschäftsprozessmodellierung“ (OOGP) beschriebene Vorgehen mit dem TORE- Vorgehen zu vergleichen. Das umfasst die Einordnung der Gestaltungsentscheidungen von OOGP nach dem TORE-Schema und den Vergleich der in TORE vorgeschlagenen Beschreibungstechniken mit den in OOGP verwendeten Beschreibungstechniken anhand des im Buch vorgeschlagenen Beispiels. |
A-Praktika
2022 2012 2008 2007 2006 2005 2004
2022
Web Crawling of App Store Reviews
Betreuerin | Michael Anders |
---|---|
Bearbeiter | Anh Tu Duong Nguyen |
Beschreibung | App reviews are one valuable ressource to analyse how users are communicating about software and have for example been used to analyse the users opinions, sentiment and requirements of apps, since users are directly expressing their opinion about an app. The number of app reviews can be explosive, especially for popular apps, since people from all around the globe can write reviews thanks to the internatiol review function of the Google Play Store or Apple App Store. This is much more evident considering that for example the Instagram 1 app possesses over 100 million app reviews. Given these large amounts of data it is clear that the data collection needs to be automated in order to have more time to analyse the content of the feedback extracted from the reviews. Tools already exist which help to analyse amounts of user feedback. One such tool is is Feed.UVL, which already contains features such as automatic classification algorithms and coding functionalities. It however lacked to take advantage of the large amounts of feedback present in the app store. This is the reason why a Web Crawler for the Feed.UVL-tool was implemented using the exisiting technologies next to the exisiting forum crawler, that crawls posts from the online forum Reddit. To ensure the quality of the implementation process, coarse requirements were set. These coarse requirements were used to derivate requirements and tests which are implemented and tested. |
Verbesserung des Vorschlagsmechanismus für Entscheidungswissen aus externen Wissensquellen
Betreuerin | Anja Kleebaum |
---|---|
Bearbeiter | Maximilian Hartmann |
Beschreibung | Mit dem am Lehrstuhl für Software Engineering entwickelten ConDec-Plugin für das Issue- Tracking-System Atlassian Jira ist es Software-Entwicklern möglich, kontinuierlich Entscheidungswissen zu dokumentieren und zu verwalten. Als wichtiger Bestandteil unterstützt dabei das Decision Guidance-Feature des Plugins beim Treffen von Entscheidungen, indem auf Basis externer Wissensquellen wie DBpedia oder anderer Jira-Projekte Vorschläge für Entscheidungen und Entscheidungsalternativen angeboten werden. Der Umgang mit diesen Vorschlägen ist aus mehreren Gründen erschwert. Zum einen ist es bisher nicht möglich, unpassende Empfehlungen zu verwerfen, um sich einen besseren Überblick über die passenden Vorschläge zu verschaffen. Zum anderen lässt sich die Anzahl der angezeigten Vorschläge nicht einstellen, sodass mitunter über 100 Vorschläge zu bewältigen sind. Eine weitere Schwierigkeit stellt die Rückverfolgbarkeit der Informationen aus externen Wissensquellen dar. So ist es bislang nicht möglich, bei einem akzeptierten Vorschlag zu sehen, wo dieser ursprünglich herstammt. Dies wäre hilfreich, um weitere Informationen zu erhalten bzw. den Kontext zu verstehen, in dem diese Lösungsoption bereits festgehalten wurde. Außerdem ist die Qualität der Vorschläge teilweise mangelhaft, wie die Evaluation einer kleinen exemplarischen Stichprobe in der vorliegenden Arbeit zeigt. Für alle diese Aspekte wurden im Rahmen des in der vorliegenden Arbeit beschriebenen Praktikums Lösungen implementiert bzw., im Falle der mangelhaften Vorschlagsqualität, neue Wege exploriert und aufgezeigt, die den Nutzen der Decision Guidance im ConDec-Plugin für Jira erhöhen können. |
2012
Kontextvollständigkeit in UNICASE
Betreuer | Robert Heinrich |
---|---|
BearbeiterInnen | Oliver Friedrich, Konrad Kühne, My-Tien Nguyen, Marcel Schork |
Beschreibung | Der Kontext eines Elements sind alle Elemente die mit dem entsprechenden Element verlinkt sind. Der Kontext eines Elements kann unvollständig sein. D.h. spezifizierte Elemente sind nicht zu dem Element verlinkt. Im Rahmen dieses Praktikums soll eine Komponenten in UNICASE entwickelt und umgesetzt werden, die fehlende Links in UNICASE Projekten findet und im Projektverlauf überwacht. |
2008
Implementierung und empirische Validierung unterschiedlicher Strategien zur Fehlerzuordnung zu Versionshistorien
Betreuerin | Timea Illes-Seifert |
---|---|
Bearbeiterin | Anna Mazhayskaya |
Beschreibung | Ziel dieser Arbeit ist es Strategien der Zuordnung von Fehlern in der Fehlerdatenbank (z.B. in Bugzilla) eines Softwareprojektes zu Meldungen im CVS/SVN-Repository dieses Softwareprojektes zu implementieren und empirisch zu validieren. |
2007
2006
Testspezifikation in Sysiphus
Betreuer | Lars Borner |
---|---|
Bearbeiter | Dirk Dorsch |
Beschreibung | Die Aufgabe des Studenten war es, die Testfallspezifikation von Sysiphus zu überarbeiten, neue Strukturierungsmöglichkeiten des Testspezifikationsdokuments zu erarbeiten und die erarbeiteten Möglichkeiten in Sysiphus umzusetzen. Dabei mussten die Anforderungen identifiziert und spezifiziert, der Entwurf erstellt und im Quelltext umgesetzt werden. |
2005
Erweiterung von Sysiphus u.a. um Misuse Cases
Betreuer | Lars Borner, Andrea Herrmann |
---|---|
Bearbeiter | Andreas Brandenburger |
Beschreibung | Im Tool Sysiphus werden im Dokument „RequirementsSpecification“ Anforderungen dokumentiert. Inzwischen wurde der TRAIN-Prozess für die Erfassung von nicht-funktionalen Anforderungen weiterentwickelt und u.a. um Misuse Cases erweitert. Diese neuen Kapitel wurden in REQUEST hinzugefügt, einschließlich der nötigen Verknüpfungen. |
Implementierung einer Notenverwaltung mit Hilfe des ElementStores
Betreuer | Lars Borner |
---|---|
Bearbeiter | Hendrik Heinrich |
Beschreibung | Ziel der Aufgabe war es, eine Notenverwaltung mit Hilfe des ElementStores zu erstellen. Dabei sollten alle Phasen des Softwareentwicklungsprozesses (Anforderungen, Architektur, Design, Implementierung, Qualitätssicherung) durchlaufen werden. |
Nicht-funktionale Anforderungen an eine wissenschaftliche Software
Betreuer | Andrea Herrmann |
---|---|
Bearbeiter | Mario Di Marzo |
Beschreibung | Für ein am IWR verwendetes Framework zur numerischen Lösung von Gleichungssystemen wurde ein Qualitätsmodell für dessen nicht-funktionale Anforderungen erstellt, speziell die Zeiteffizienz, und Optimierungsmöglichkeiten. Wir betrachteten hier speziell jenes Modul, das lineare Gleichungssysteme für dünn besetzte Matrizen löst. Anhand dieses Beispiels sollen nicht-funktionale Anforderungen sowie Metriken und Realisierungsmöglichkeiten dargestellt und bewertet werden. Hier spielt die Effizienz der Berechnungen eine zentrale Rolle und wird auch ständig optimiert. Eine systematische Untersuchung der Faktoren und Maßnahmen sollte bei einer weiteren Optimierung helfen. |
SYSIPHUS: Filtern und Suchen von Elementen
Betreuer | Lars Borner, Timea Illes-Seifert |
---|---|
Bearbeiter | Jerko Horvat |
Beschreibung | Das Teilsystem REQuest vom Gesamtsystem Sysiphus (Software Engineering CASE-Werkzeug) soll erweitert werden. Dem Benutzer soll es ermöglicht werden auf der Web Oberfläche von REQuest nach beliebigen Schlagwörtern und/oder vorgegebenen Suchkriterien zu suchen um sich eine bestimmte Auswahl von Elementen (Anforderungselemente, Klassenelemente, Systemelemente usw.) und Fragenelemente anzeigen zu lassen, die genau auf die vorgegebenen Schlagwörter und Suchkriterien passen. Ziel des Praktikums ist es die Erweiterung der Systemfunktionalität durch systematische Vorgehensweise nach Software-Engineering Prinzipien durch den Studenten durchzuführen. Hierzu gehören:
|
2004
Flexible Indexbearbeitung für REQuest
Betreuer | Lars Borner |
---|---|
Bearbeiter | Jochen Kienberger |
Beschreibung | Die Indexfunktion im Tool REQuest soll um einige Optionen erweitert werden. Derzeit listet die Indexfunktion alle Anforderungselemente alphabetisch nach Namen auf. Die Erweiterung des Tools besteht darin, dass selber zu bestimmende Filter und Sortierkriterien eingearbeitet werden um dem Benutzer eine bessere Übersicht über alle Anforderungselemente zu geben. |
Glossarverwaltung für REQuest
Betreuer | Lars Borner |
---|---|
Bearbeiter | Oleksander Maykivets |
Beschreibung | Die Glossarverwaltung im Tool REQuest sollte um einige Optionen erweitert werden. Die Glossareinträge, die vom Benutzer eingegeben werden, werden in den Anforderungselementen automatisch vom System gefunden. Weiterhin wird ein Link von dem entsprechenden Anforderungselement zum Glossareintrag erzeugt. Folgende Ziele waren dabei zu realisieren |