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

Michael Anders

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

Michael Anders

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

Leon Radeck

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

Leon Radeck

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

Leon Radeck

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
ihr Feedback meist in Form von Aussagen in natürlicher Sprache geben, kennenlernen. Die Verarbeitung
dieser Aussagen durch manuelle Kodierung ist jedoch eine aufwändige Aufgabe und
für große Datenmengen ungeeignet. Durch die Extraktion von Konzepten aus diesen Aussagen
können Entwickler Einblicke in die Sichtweise der Software-Nutzer gewinnen. Ein Software-
Werkzeug, das eine automatische Verarbeitung ermöglicht, kann bei diesem Prozess helfen.
[Beiträge] Diese Arbeit untersucht den Stand der Technik von Methoden zur Themenmodellierung
für Benutzerforen und wendet geeignete Methoden im Kontext der Konzepterkennung
auf einen manuell erhobenen und annotierten Interviewdatensatz an. Es wird ein Software-
Werkzeug zur automatischen Sprachverarbeitung mit dem Namen "Feed.UVL" erstellt und die
ausgewählten Methoden in dieses Werkzeug integriert. Das erstellte Software-Werkzeug bietet
eine Datensatzverwaltung, d. h. Datensätze können mit der Software gespeichert, überprüft
und gelöscht werden. Mit den implementierten Methoden können diese Datensätze auf
Konzepte hin analysiert werden. Mit der Ergebnisvisualisierung können die Analyseergebnisse
überprüft und die Leistung über den F1-Score auf einer Ground Truth bewertet werden.
Feed.UVL verwendet eine Microservice-Architektur, d. h. es kann leicht um neue Methoden
oder Funktionen erweitert werden. Die integrierten Methoden werden dann für die Aufgabe der
Konzepterkennung evaluiert. Eine Reihe von Qualitätssicherungsmaßnahmen, einschließlich
statischer Code-Analyse, Komponenten- und Systemtests, wurden ebenfalls mit dem erstellten
Werkzeug durchgeführt.
[Schlussfolgerung] Der Hauptteil der Arbeit war die Entwicklung eines neuartigenWerkzeugs
für die Verarbeitung natürlicher Sprache. DasWerkzeug hat ein klares und benutzerfreundliches
Design und unterstützt Forscher bei ihrer Analyse. Es können automatische Analyseaufgaben
durchgeführt werden, und die Benutzeroberfläche bietet eine umfangreiche Ergebnisanzeige,
einschließlich der Metriken false positives, false-negatives, Precision, Recall und F1-Score. Das
aktuelle Design und die Microservice-Architektur stellen sicher, dass das Werkzeug leicht für
weitere Analysemethoden und zukünftige Forschungsziele erweitert werden kann. Derzeit sind
zwei moderne Methoden zur Themenmodellierung (LDA und SeaNMF) integriert, die für die
Verwendung in der Konzepterkennung angepasst wurden. Die Evaluierung hat gezeigt, dass
ihre Präzision zwar relativ hoch ist (0,84 für LDA und 0,83 für SeaNMF), ihr Recall im Vergleich
zu einer manuell annotierten Ground Truth für den Einsatz in der Konzepterkennung
jedoch eher gering ist, was Raum für Verbesserungen und zukünftige Arbeiten lässt.

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.
[Beiträge] Diese Arbeit beschäftigt sich mit Methoden, die die am Entwicklungsprozess beteiligte Personen unterstützen, Änderungsauswirkungen zu ermitteln. Eine systematische Literaturrecherche beantwortet die Frage, wie sich die Analyse von Änderungsauswirkungen, im Hinblick auf Graphen von Softwareartefakten, algorithmisch unterstützen lässt. Es wird weiterhin betrachtet, welcher Visualisierungsmöglichkeiten für Änderungsauswirkungen auf Graphen angewendet werden können. Es werden systematisch Änderungsszenarien abgeleitet. Die Arbeit erweitert die Werkzeugunterstützung ConDec, die dem Verwalten und Visualisieren von Entscheidungswissen im Kontext zu anderen Softwareartefakten dient und einen Wissensgraphen aus Softwareartefakten aufbaut. Softwareartefakte werden in dieser Arbeit auch als Wissenselemente bezeichnet. Aus den Erkenntnissen der systematische Literaturrecherche (SLR) werden Anforderungen an neue Funktionalität für ConDec abgeleitet und umgesetzt, um von einem Softwareartefakt ausgehend Änderungsauswirkungen auf andere Softwareartefakte zu ermitteln und anzuzeigen und so die Änderungsszenarien zu unterstützen. Die Erweiterung wurde qualitätsgesichert und mithilfe einer Umfrage mit NutzerInnen sowie der Anwendung auf die Änderungsszenarien evaluiert.
[Schlussfolgerung] Die in dieser Arbeit umgesetzte Erweiterung von ConDec unterstützt den/die AnwenderIn darin die Konsistenz und Vollständigkeit der Softwareartefakte, durch das Ermitteln und Visualisieren von Änderungsauswirkungen, zu erhalten. Dies verbessert die Qualität der dokumentierten Wissenselemente und ermöglicht die Abschätzung von Änderungsauswirkungen bei zukünftigen Änderungsanfragen.

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.
[Beiträge] Die Arbeit entwickelt Methoden, um EntwicklerInnen bei der Verknüpfung von verwandten Wissenselementen und dem Auffinden von Duplikaten zu unterstützen. Eine Methode zum Auffinden von verwandtem Wissen wird bereits in einem Artikel von Miesbauer und Weinreich behandelt. Da keine Methoden zur Erkennung von Duplikaten in Wissenselementen bekannt sind, wird zu diesem Thema eine Literaturrecherche durchgeführt. In dieser werden passende Methoden gesucht und untereinander verglichen. Die am besten geeignete Methode wird dann umgesetzt. Die Umsetzung findet im Jira-ConDec-Plug-In statt. Dabei handelt es sich um ein Werkzeug zur Visualisierung und Verwaltung von Entscheidungswissen im Kontext zu anderen Wissenselementen. Eine Befragung zur Nutzerfahrung zeigt die Eignung der umgesetzten Software. Zur Evaluation der umgesetzten Methoden werden diese auf Wissenselemente im ConDec-Projekt angewandt und die Güte überprüft. Dabei wird ein Goldstandard aufgebaut und analysiert.
[Schlussfolgerung] Diese Arbeit unterstützt EntwicklerInnen und Rationale-ManagerInnen bei der konsistenten Dokumentation von Wissenselementen. Die Unterstützung ist als Plug-In in dem Issue Management System Jira umgesetzt, um sich gut in den Softwareentwicklungsprozess zu integrieren. Mit einer Visualisierung als Wissensgraph werden Zusammenhänge zwischen Elementen gut sichtbar.

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.
Trotz ihrer Wichtigkeit werden Software-Features häufig nicht systematisch verwaltet. In vielen Fällen sind explizite Informationen über Features daher nicht leicht verfügbar. Oft sind diese nur implizit in den verschiedenen Artefakten der Software- Entwicklung enthalten und über diese verteilt. In der Literatur wurde angemerkt, dass die Vergabe von Feature-Labels für Artefakte helfen kann, die Verwaltung von Features zu erleichtern und der Fragmentierung von Feature-Wissen entgegen zu wirken. User Stories sind kurze, in natürlicher Sprache verfasste Artefakte, die häufig verwendet werden, um Anforderungen an eine Software festzuhalten. User Stories werden oft in Issue-Tracking-Systemen verwaltet.
In dieser Arbeit wird ein (semi-)automatisches Modell für die Vergabe von Feature- Labels für User Stories vorgestellt. Das Modell erreicht dies durch 1) die Extraktion und Bündelung feature-relevanter Informationen aus User Stories und 2) dem Vorschlagen von passenden Feature-Labels anhand bereits vergebener Labels. Feature-relevante Informationen werden durch das Anwenden von Part-Of-Speech- Mustern auf den Syntaxbäumen von User Stories extrahiert. Das Vorschlagen von Feature-Labels wird mithilfe eines künstlichen neuronalen Netzes erreicht. Die Evaluation anhand zweier Datensätze von User Stories aus studentischen Projekten zeigt, dass das vorgestellte Modell im Stande ist, aussagekräftige feature-relevante Informationen zu extrahieren und treffende Feature-Labels vorzuschlagen.

   

 

 

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
reusable system components, and support for more precise and effective analysis of
changes occurring in the systems in which it is implemented. Despite these benefits,
traceability concepts have only had limited integration in software development and
issue tracking systems (ITSs) and bug reports in particular. This thesis aims to change
that and explores traceability within ITSs by utilizing the Bugzilla and Jira implementations.
It provides a literature review of link implementations in ITSs, develops the first known
coding scheme of traceability in ITSs, derives a traceability information model encompassing
all of the important links and relationships between artifacts in ITSs, and ultimately
uses qualitative content analysis and basic statistical methods to help analyze
and assess traceability in ITSs. These elements themselves can help improve traceability
by contributing the foundation for future research in a relatively new area of study;
however, this thesis also proposes a specific set of improvements.
Despite the presence of a large number of artifacts and links, the results of this thesis
show that consistent traceability is lacking in two major implementations of ITSs,
Bugzilla and Jira, and a number of important factors hindering traceability are identified,
including the prevalence of implicit links between artifacts. In conclusion this
thesis proposes a number of improvements, including a greater focus on artifacts in
the header of bug reports, better integration of artifacts such as patches, the use of
high-traceability elements such as flags, and the overall minimization of implicit links
in ITSs. Through implementing these suggestions, it is believed that both traceability
and overall usability of Bugzilla and Jira will be improved, and the suggestions can be
further generalized to ITSs as a whole.

 

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
wie der Verlauf des zugehörigen Entwicklungsprojektes maßgeblich von einer Vielzahl
an Entscheidungen bestimmt. Gleichzeitig ist jedes Softwareentwicklungsprojekt Risiken
ausgesetzt, die es zu kontrollieren gilt. Durch mangelnden Umgang mit den Risiken
kann ein Großteil aller Projekte nicht erfolgreich abgeschlossen werden. Innerhalb eines
Projektes können die Entscheidungen und Risiken auf unterschiedliche Weise miteinander
verknüpft sein. So kann eine Alternative zur Lösung eines Problems beispielsweise
mit neuen Risiken verbunden sein. Obwohl die möglichen Auswirkungen von Risiken
bekannt sind, wird das notwendige Risikomanagement in der Praxis gar nicht oder nur
mangelhaft durchgeführt. Ein wichtiger Grund dafür ist, dass das Risikomanagement
nicht hinreichend in das Wissensmanagement der Projektbeteiligten integriert ist und
viel zusätzlichen Arbeitsaufwand erzeugt.

Im Rahmen dieser Arbeit wird ein Modell vorgestellt mit dem Risiken als Teil der Dokumentation
von Entscheidungswissen integriert werden können. Das Modell ermöglicht
es dabei, dass Vor- und Nachteile verschiedener Alternativen und einzelner Entscheidungen
für unterschiedliche Projektbereiche sowie für das Gesamtprojekt sichtbar und
abschätzbar werden. Weiterhin wird das entwickelte Modell prototypisch auf Basis eines
quelloffenen Werkzeuges zur rechnergestützten Softwareentwicklung implementiert.
Insbesondere wird dabei gezeigt, wie vorhandenes Wissen über typische Risiken in Verbindung
mit Entscheidungswissen genutzt werden kann, um sowohl bei der Identifikation
als auch bei der Analyse von Risiken eine systemgestützte Hilfe zu leisten.

Identi fication 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.
Um festzustellen, wie Architectural Decision Points einer Softwaredomäne erfasst werden können, wurde eine Literatursuche duchgefuhrt. Als Ergebnis wurden relevante Forschungsergebnisse festgehalten, die sich auf den Rahmen dieser Arbeit beziehen. Basierend auf diesen Ergebnissen wurden Anforderungen fur das Wissensmodell für Architectural Design Decisions entwickelt.
Die Vollständigkeit der Entscheidungserfassung soll mit diesen Anforderungen überprüft werden.
Anschließend wurde das Wissensmodell entwickelt und dessen Elemente und Beziehungen so festgelegt, um die Identifi kation von Entscheidungsmustern zu ermöglichen. Um die Entscheidungsfi ndung zu unterstützen, werden Visualisierungsmethoden angewendet. Im Anschluss wurde das Wissensmodell fur Entscheidungsmuster in einer Softwaredomäne angewendet, um die Praxistauglichkeit zu testen. Als Ergebnis wurde ein Katalog von Entscheidungsmustern festgehalten, die im Rahmen dieser Softwaredomäne gelten. Abschließend wurde das Wissensmodell evaluiert. Dabei wurden zwei Aspekte behandelt: (i) die Sicherstellung der Vollständigkeit der Entscheidungserfassung anhand der de finierten Anforderungen und (ii) die Anwendbarkeit des Wissensmodell auf eine generische Softwaredomäne.

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
der Aufgaben eines Krankenhauses. IM stellt die Erbringung von IT-Services
sicher und orientiert sich dabei an drei Managementebenen: der strategischen, der administrativen
und der operativen Ebene. Es weist somit eine hohe Komplexität für ein
umfassendes Informationssystem des IT-Bereichs auf. Dadurch kann der Istzustand über
die Struktur dieser Aufgaben, der verwendeten Anwendungssysteme und Informationsartefakte
häufig unklar sein. In diesem Zusammenhang sind standardisierte Prozesse erstrebenswert,
die eine effektive Aufgabenbearbeitung und Nutzerzufriedenheit im Rahmen
von IT-Services gewährleisten können. Ein bedeutendes Konzept bietet hierbei das Framework
IT Infrastructure Library (ITIL), eine Sammlung von Best Practices für den
IT-Betrieb. Im IM von mehreren Krankenhäusern sind ITIL-Prozesse bereits eingeführt,
um die Leistung ihrer IT-Services auf der operativen Ebene zu optimieren. Diese Arbeit
beschreibt den Istzustand sowie den Einsatz von ITIL in dem jeweiligen IT-Bereich
zweier Krankenhäuser. Hierfür wird eine Systemanalyse mithilfe von Interviews mit den
Mitarbeiterinnen und Mitarbeitern aus dem IM-Bereich durchgeführt. Die identifizierten
Aufgaben, Anwendungssysteme, deren Schnittstellen und verarbeitete Daten werden mit
dem Werkzeug 3LGM2 modelliert. Auf den Ergebnissen der Analyse aufbauend werden im
Rahmen einer Systembewertung umgesetzte ITIL-Prozesse mithilfe eines Referenzmodells
untersucht. Zudem werden Probleme und Auffälligkeiten aufgedeckt, die eine Beurteilung
über die aktuelle Situation in den IT-Bereichen der Krankenhäuser zulassen. In dieser
zeigt sich, dass zwar gewisse ITIL-Prozesse in den Krankenhäusern unterstützt werden,
ITIL jedoch nicht flächendeckend im IT-Betrieb verwendet wird.

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.
In dieser Master Thesis soll ein Konzept zur Modellierung von QI in Geschäftsprozessmodellen erstellt und prototypisch in dem bereits in UNICASE vorhandenen Editor umgesetzt werden (der Begriff Modellierung umfasst die Erfassung und Auswertung von QI in einem Modell). Zuvor soll der aktuelle Stand der Literatur zur Modellierung von QI in Geschäftsprozessmodellen untersucht werden, sowie die QI aus Geschäftsprozessen eines aktuellen Forschungsprojekts ausgewertet und auf die Möglichkeit geprüft werden diese in Geschäftsprozessmodellen darzustellen. 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.

HeiDOK

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
  • die Grundlagen für die weiteren Ausführungen zu schaffen und auf Basis dieser Grundlagen eine Anwendung zu diskutieren,
  • dem interessierten Leser aus der industriellen Praxis die Ideen und Intentionen von Rationale Management näher zu bringen, um diese mit deren Erfahrung und Expertise anwenden zu können und
  • die Konzepte dann auf das Umfeld des Softwareprozessmodells übertragen zu können.
Anwendungsgegenstand für die Übertragung bildet das in einer Teilorganisation der SAP AG entwickelte und eingesetzte Softwareprozessmodell, welches die dort verwendeten Prozesse der Produktentwicklung bündelt.

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

Michael Anders

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.
Secondly, a user feedback dataset was annotated with new review data of the Komoot Android app. Thirdly, the existing issue descriptions of Komoot’s requirements were revised. Lastly, a set of prompts was developed to examine ChatGPT’s capability for the automatic relation of feedback and requirements. The foundation for the development of these prompts was the result of the Systematic Literature Review. ChatGPT’s capability was examined by applying two kinds of processes to relate feedback and requirements together; a direct process and a multistage process. Results: A total of 9 prompts were developed to interact with ChatGPT to accomplish the task of relating feedback and requirements together for both evaluated processes. The direct process showed that the best achievable Recall is 40% and the best achievable Precision is 33%. The multistage process showed that none of the patterns were able to draw out a Recall higher than 20% and the Precision was always higher than the Recall value. The best Precision achievable in this multistage process was 40%. These results indicate that ChatGPT is less suited for the relation task than previously used BERT models.

2023

Automated Extraction and Visualization of User Feedback

Betreuer

Leon Radeck

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.
However, managing feature knowledge is extremely challenging and time consuming, as features continuously change over time and most software companies and open source projects use a combination of an Issue Tracking System (ITS) such as Jira and a Version Control Systems (VCS) such as git. Thus, the information is usually distributed across both systems, e.g., requirements are documented in ITS and code is stored in VCS. Often, this results in lacking traceability between features and their refining artifacts.
Therefore, TAFT, the tagging approach to support feature management across ITS and VCS was developed by Seiler and Paech. TAFT provides a tool support that enables to document, maintain, and exploit feature knowledge in ITS and integrated development environments (IDE) consistently and eÖciently. Instead of creating traces between feature knowledge, feature knowledge is tagged with the same keyword that precisely summarizes the functionality of the feature. TAFTR indicates that the approach TAFT is applied retrospectively. The aim of using TAFTR is to subsequently and systematically develop feature knowledge for a software project.
In this work, we first carried out a systematic literature search in order to find and analyze the existing approaches for identifying software features. We then applied TAFTR on the open source project ConDec and evaluated it by calculating inter-rater reliability. Consequently, we reported our experience and shared our suggestions for the improvement of TAFTR.

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 PaechPaul 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 PaechPaul 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 PaechPaul 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.
This thesis investigates the possibilities and limitations of documenting decision knowledge through annotations in the source code within the Eclipse IDE. For this, an annotation schema is developed and implemented as an Eclipse plug-in. It is investigated, how this schema can be made flexible in the sense that project-specific adjustments to the structure of the decision knowledge should be possible with as less time and effort as possible. Also, annotated decisions are mapped to and kept consistent with an external
UNICASE documentation.

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 Require­ments 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

Startet das Herunterladen der DateiTRAIN-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   2009

2010

Planung und Durchführung eines Software Engineering Projektes am Beispiel eines Internetportals aus dem Bereich Sport

Betreuerin

Barbara Paech

Bearbeiter

Thomas Hahn

Beschreibung

Die vorliegende Arbeit thematisiert und erschließt den an der Universität Heidelberg gelehrten Software Engineering Prozess (Startet das Herunterladen der DateiTRAIN Prozess) im praktischen Einsatz.
Nach einer Einführung erfolgt eine detaillierte Durchführung des Prozesses anhand eines Internet Portalprojektes aus dem Bereich Sport. Als Resultat entsteht eine multi-Tier Anwendungskomponente, die das Registrierungsmanagement für Sportveranstaltungen bereitstellt. Nach einer kritischen Betrachtung des durchgeführten Prozesses werden Vorschläge zur Modifikation von TRAIN für den schulischen Einsatz erarbeitet. Darauf aufbauend wird der Prozess in einer angepassten Version anhand einem thematisch verwandten aber technisch völlig unterschiedlichen Projekt erneut bis zur Implementierungsphase durchlaufen. Das Ergebnis dient als Grundlage für weitergehende Vorschläge, die besonders den Einsatz von Szenarien und systematischen Test berücksichtigen. Das Ergebnis stützt die These, dass ein umfassendes Software Engineering an allgemeinbildenden Gymnasien realisierbar ist.

Download

2009

Konzept für die Verwendung von GameMaker zur Vermittlung von Programmierkompetenz im Schulunterricht

Betreuerin

Barbara Paech

Bearbeiter

David Grünbeck

Beschreibung

Ziel dieses Praktikums war die Entwicklung mehrerer Lehreinheiten zur Vermittlung von Programmierkompetenz, die statt einer konkreten Programmiersprache das Programm Game Maker (YoYo Games) verwenden. Dazu wurde zunächst in einer Literaturrecherche zusammengestellt, was wichtige Programmierkonzepte sind und wie sie typischerweise vermittelt werden. Daraufhin wurde eine Auswahl einiger Konzepte, auf denen die Lehreinheiten basieren sollen, getroffen. Schließlich wurde die Klassenstufe festgelegt, in der diese Konzepte vermittelt werden sollen. Die Ergebnisse dieser Recherche- und Auswahltätigkeit finden sich im ersten Teil der Arbeit.
Im weiteren Verlauf des Praktikums wurde dann ein Vorschlag für mehrere aufeinander abgestimmte Lehreinheiten erarbeitet, die die zuvor ausgewählten Programmierkonzepte mithilfe von Game Maker vermitteln sollen. Diese finden sich im zweiten Teil der Arbeit. Bei der Ausarbeitung wurde darauf geachtet, die Darstellung des Vorgehens im Unterricht detailliert zu gestalten, um auch Lehrern mit einem geringen Einarbeitungsgrad in die Entwicklungsumgebung Game Maker die Durchführung des hier vorgestellten Konzepts zu ermöglichen. Um dies weiterhin zu unterstützen, finden sich zudem zwei Anhänge: Der erste Anhang beschreibt mögliche technische Stolperfallen in der Benutzung von Game Maker und wie diese umgangen werden können. Der zweite Anhang beschreibt die im Zuge dieses Praktikums erstellten und gesammelten Materialen, die Schülern wie Lehrern sowohl das Verständnis des hier vorgestellten Konzepts als auch die Erweiterung ihrer eigenen Projekte erleichtern sollen.

Download

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.
Contributions: This work contains three main contributions. Firstly, Feed.UVL is extended with new functionalities. These functionalities accelerate the code assignment process, create a better overview in the underlying dataset, and improve the administration of TORE-codes. Secondly, existing functionalities in Feed.UVL are adjusted. This improves performance in terms of the code assignment process and ensures an improved overview of possible TOREcodes during the code assignment process. Thirdly, errors and potential sources of errors are fixed, making certain functions reusable and protecting users from making mistakes. Results: The coders now have the option to receive recommendations for category-codes during the code assignment process for a code, which significantly speeds up the process and is based
on experiences from past code assignments. The recommendations can be updated as desired. Additionally, Feed.UVL now has the function to highlight tokens, that have been assigned to certain category-codes. Each annotation now has its own list of category-codes, ensuring that coders are not shown irrelevant category-codes during the code assignment process. The category-codes in the list can now also be renamed, in addition to being deleted or created. In addition to these new functions, the performance when opening the code assignment dialog is improved, and the category-code list in the dialog now shows all possible category-codes. The quality of the described functionalities has been ensured through intensive testing. Additionally, the new functionalities were evaluated with a survey based on the Technology Acceptance Model (TAM).

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.
Jedoch dokumentieren EntwicklerInnen das Feature-Wissen in Issues und Code nicht immer konsequent und kontinuierlich. Dies kann dazu führen, dass relevantes Feature-Wissen für weitere Tätigkeiten innerhalb der Softwareentwicklung nicht genutzt werden kann. Im Rahmen dieses Praktikums wird daher sowohl ein Plug-In für Jira als auch ein Plug-In für Eclipse umgesetzt, dass die EntwicklerInnen bei der kontinuierlichen Dokumentation von Feature-Wissen möglichst gut unterstützt.

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.
Jedoch dokumentieren EntwicklerInnen das Feature-Wissen im Code nicht immer konsequent. Dies kann dazu führen, dass relevantes Feature-Wissen für weitere Tätigkeiten innerhalb der Softwareentwicklung nicht genutzt werden kann, z.B. beim Beheben von Fehlern. Im Rahmen dieses Praktikums wird daher ein Plug-In für Eclipse umgesetzt, um Feature-Wissen im Code gezielt aufzufinden.

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.
Jira bietet mit der Jira Query Language (JQL) bereits eine mächtige Abfragesprache für Issues. Mit Hilfe von JQL können Abfragen bzgl. der Features allerdings nur sehr umständlich formuliert und durchgeführt werden. Zur leichteren Durchführung von Abfragen bzgl. Features wurde im Rahmen dieses Praktikums eine Feature-Abfragesprache für das Issue Tracking System Jira umgesetzt.

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.
Um Code verstehen und evolvieren zu können, benötigen EntwicklerInnen somit Feature- und Entscheidungswissen über diesen Code. Insbesondere benötigen sie eine geeignete Visualisierung des Wissens im Zusammenhang zum Code sowie Möglichkeiten diese Visualisierung je nach Anwendungsfall anzupassen. Beispielsweise möchten EntwicklerInnen (in der Rolle einer Feature-ManagerIn) die Features einer Software im Code einsehen können, um Codeteile, die viele Feature umsetzen zu identifizieren. EntwicklerInnen (in der Rolle einer Rationale-ManagerIn) möchten die Entscheidungen, die für die Umsetzung eines Features getroffen wurden, code-nah einsehen können, um zu prüfen, ob diese konsistent mit dem Code sind. Das Ziel dieser Arbeit war es EntwicklerInnen zu ermöglichen, im VCS und ITS festgehaltenes Feature- und Entscheidungswissen ausgehend vom Code zu visualisieren. Dafür wurde ein Prototyp namens „FlAVOreD“ als Eclipse-Plug-In entwickelt.

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.
Entscheidungen die während des Design- und Spezifikationsprozesses getroffen werden sind ein enorm wichtiger Bestandteil eines jeden Projekts und werden oft nicht ausreichend dokumentiert, da der zusätzliche Aufwand als verhältnismäßig zu hoch erachtet wird.
Um den Dokumentationsaufwand solcher Entscheidungen in Confluence zu min-imieren soll die Dokumentation von Entscheidungen in Confluence durch ein Plugin unterstützt werden.
Ziel dieses Fortgeschrittenenpraktikums war es ein Software-Plugin für Confluence zu entwickeln, welches dem Nutzer eine inkrementelle Bearbeitung, verteilte Doku-mentation von Entscheidungen, sowie eine Verbindung von Anforderungs- bzw. Implementierungsentscheidungen zum Fehlerverwaltungs- und Projektmanagementtool JIRA ermöglicht.

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.
Im Rahmen dieses Fortgeschrittenenpraktikums wird ein Software-Plugin für JIRA entwickelt, welches den Nutzer der Software bei der Dokumentierung von Entscheidungen unterstützen soll. Dies geschieht auf Basis der Literatur zum Management von Entscheidungswissen und der Analyse der bestehenden Dokumentationsmodelle von JIRA und UNICASE DecDoc.

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
von Softwareprojekten äußerst lohnenswert. Unter anderem muss dieses Wissen durch die Entwickler dafür in geeigneter Form dokumentiert und zugeordnet werden. Wichtig ist hierbei, diese Anfangsinvestitionen zu verringern.

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
des Werkzeugs werden offengelegt. Abschließend werden die wichtigsten Erkenntnisse zusammengefasst und ein Ausblick gegeben, sowie Erfahrungen aus dem Praktikum dargelegt.

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.
Bei einer bereits durchgeführten Systemanalyse eines großen Klinikums, wurden die im IM existierenden Aufgaben, Objekttypen und Werkzeuge identifiziert. Dabei zeigt sich, dass Microsoft SharePoint Server ein häufig verwendetes Werkzeug ist und zahlreiche relevante Informationen enthält.

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.
Gängige CASE-Tools (Computer Aided Software Engineering) unterstützen diese Verlinkung mehr oder weniger gut. Insbesondere im Bereich von UML-Modellen gibt es abseits der modellgetriebenen Architektur (MDA) wenig bis keine Unterstützung.
Das Ziel dieses Praktikums ist die Beschreibung der gängigen Verfahren zur Herstellung von Verfolgbarkeit zu Architektur-Elementen in Form von UML Modellen und einen Vergleich der Unterstützung für Traceability bei UML Modellen durch gängige CASE-Tools.

Der/die PraktikantIn hat dabei folgende Aufgaben:
-    Grundlagen und Literaturrecherche zur Identifikation von bestehenden Studien und Werkzeugvergleichen. Insbesondere kann der Incose-Vergleich relevant sein.
-    Definition der Kriterien zum Werkzeugvergleich ausgehend von der gefundenen Literatur in Abstimmung mit der BetreuerIn
-    Definition der zu untersuchende Werkzeuge in Abstimmung mit der BetreuerIn
-    Durchführung des Werkzeugvergleichs und Dokumentation der Ergebnisse
-    Erstellung eines Berichts und Präsentation der Ergebnisse
Die erwarteten Ergebnisse können in 3 Arbeitspakete (AP) eingeteilt werden. Eine Projektplanung ist von der/dem Studierenden zu Beginn der Arbeit vorzunehmen und im Laufe des Projekts aktuell zu halten (siehe Abschnitt "Arbeitsaufwand und Zeitplan").
 

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.
Das Ziel des Praktikums ist hierbei das Erstellen einer API, zum Einlesen und Analysieren von Crawl-Daten, die zur Ermittelung von relevanten Feature-Daten dient.

 

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äufi ger 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 di fferent 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  Öffnet einen externen Link in einem neuen Fensterunicase.org zu finden.

 

EduMote – eine Software für den Einsatz der Wii-Remote im Unterricht

Betreuerin

Barbara Paech

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.
Die Aufgabe des zu entwickelnden Programmes ist die Erfassung, Aufarbeitung und Darstellung von Beschleunigungsdaten, die mit Hilfe der Wii-Remote ermittelt werden. Im Weiteren soll die Software den Export der Daten in ein beliebiges gängiges Tabellenkalkulationsprogramm anbieten. Dabei war darauf zu achten, dass das Programm plattformunabhängig, Modular erweiterbar und klar strukturiert ist.
Im Anhang dieses Berichtes befinden sich Entwürfe, die die Einsatzmöglichkeiten dieses Programmes beispielhaft darstellen. Primäres Ziel ist der Einsatz im Physikunterricht, die Verwendung in anderen Fächern ist ebenso möglich. Um dies zu verdeutlichen haben wir im Anhang neben zwei Versuche für das Fach Physik, einen weiteres Beispiel für den Einsatz der Wii-Remote im Sportunterricht beschrieben.
Um den zukünftigen Nutzern den Einstieg in die Thematik zu erleichtern, haben wir ein Tutorial verfasst, in dem wir auf die Funktion der Wii-Remote und die Benutzung des Programmes eingehen. Im Weiteren bietet das Tutorial auch tiefergehende Informationen zu der Wii-Remote an sich und zu der Kommunikation zwischen Wii-Remote und PC, sodass hiermit eine Weiterentwicklung des Programmes erleichtert wird.
In diesem Bericht beschreiben wir unser Herangehen an die Problematik und den Entwurf unseres Programmes.

 

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.
  1. dass bestehende Ansätze kein Dialogmodell verwenden.
  2. dass es möglich ist mit einem einzigen Dialogmodell mehrere Benutzungs-schnittstellen für verschiedene Plattformen (Desktop und Handy) zu entwickeln.

 

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:
  • Spezifikation der Anforderungen an diese Sysiphus-Erweiterung
  • Entwurf und Implementierung
  • Test und Dokumentation dieser Tests
  • Erstellen eines kurzen Benutzerhandbuch


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.
Durch die statistische Analyse unterschiedlicher Open-Source-Programme sollen folgende Hypothesen geprüft werden:

  • H1: „Bad Smells“ wirken sich positiv auf die Fehleranfälligkeit eines Files aus
  • H2: Es gibt eine Teilmenge von Bad Smells, die sich über mehrere Versionen hinweg auf die Fehleranfälligkeit auswirken. (Z.B. Über mehrere Versionen hinweg sind Files, die zyklische Abhängigkeiten aufweisen fehleranfälliger als andere)
  • H3: Bad Smells sind bessere Indikatoren für Fehleranfälligkeit als Komplexitätsmetriken

 

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:
  • die Analyse der möglichen Such- und Filterkriterien und die entsprechende Kombination aus den entsprechenden Kriterien durch eigene Überlegungen und durch Befragung der Benutzer des Systems
  • die Spezifikation der zu implementierenden Such- und Filterfunktionalität und deren Einbettung in das bestehende System
  • Erstellung und Realisierung des Entwurfs
  • Ausführen der notwendigen QS-Maßnahmen

 

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
Contact | Travel Info

News

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

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

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

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