Beispiele für Bachelor- und Master-Arbeiten, sowie für Praktika, die am Lehrstuhl durchgeführt wurden
Utilization of Deep Learning for the Automatic Classification of Software Aspects
Betreuer | Barbara Paech, 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. |
Download |
Tool Support for the Automatic Analysis of Natural Language User Statements
Arbeit | Masterarbeit, 2021 |
---|---|
Betreuer | Barbara, Paech, Michael Anders |
Bearbeiter | Johannes Daub |
Beschreibung | [Kontext und Motivation] Entwickler müssen die Anforderungen von Software-Nutzern, die |
Download |
Automated deployement of machine learning applications to the cloud
Arbeit | Masterarbeit, 2020 |
---|---|
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. |
Download |
Comprehensive and Targeted Access to and Visualization of Decision Knowledge
Platform to Assist Medical Experts in Training, Application, and Control of Machine Learning Models Using Patient Data from a Clinical Information System
DecXtract: Dokumentation und Nutzung von Entscheidungswissen in JIRA-Issue-Kommentaren
Arbeit | Masterarbeit, 2018 |
---|---|
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 |
Entwicklung und Umsetzung eines Konzepts zur Modellierung von Qualitätsinformationen in einem Geschäftsprozessmodell
Arbeit | Masterarbeit, 2011 |
---|---|
Betreuer | Robert Heinrich |
Bearbeiter | 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. |
Download |
Nachvollziehbare Entscheidungsprozesse in der industriellen Softwareentwicklung durch Rationale Management
Documentation of Decisions During the Implementation Phase Through Code Annotations
Arbeit | Bachelorarbeit, 2014 |
---|---|
Betreuer | Tom-Michael Hesse |
Bearbeiter | Arthur Kühlwein |
Beschreibung | Many decisions which are made during the implemetation phase of software projects are documented either not at all or through unstructured comments within the source code. This makes the rationale, i.e. the underlying issue with its context, alternative solutions and criteria behind the decision implicit. As a consequence, reproducing the decision later on becomes very difficult. It is thus necessary to make as much of this decision knowledge as possible explicit, since decisions made during the earlier stages are frequently reevaluated, changed or discarded during the evolution of a software project. |
Download |
Entwurf eines agilen Requirements Engineering Vorgehens mit Fokus auf Gebrauchstauglichkeit für das Allianz Business System
Softwareentwicklung mit dem TRAIN-Prozess
Arbeit | Bachelorarbeit, 2005 |
---|---|
Betreuer |
|
Bearbeiter | Philipp Häfele |
Beschreibung | Ziel dieser Arbeit war es, die Ziele, Inhalte und Vorgehensweisen der Übung zur Lehrveranstaltung Software Engineering I im Sommersemester 2004 zusammenzufassen. Dabei entstand ein übersichtlicher Leitfaden für künftige TeilnehmerInnen dieser Lehrveranstaltung, der ihnen einen Überblick über die typischen Modellierungstechniken der einzelnen Softwareentwicklungsphasen bietet. |
Download | TRAIN-Prozess |
Visualisierung von Wissen zu Code in Jira
Arbeit | Fortgeschrittenen-Praktikum, 2021 |
---|---|
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. |
Download |
Automatische Erkennung von Entscheidungswissen in der Beschreibung und den Kommentaren von Jira-Issues und Commit-Nachrichten
Arbeit | Fortgeschrittenen-Praktikum, 2019 |
---|---|
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. |
Download |
Automatisierung von Feature-Datenerkennung und Extraktion mit dem Text-Mining-Werkzeug Gate
Arbeit | Fortgeschrittenen-Praktikum, 2014 |
---|---|
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. |
Planung und Durchführung eines Software Engineering Projektes am Beispiel eines Internetportals aus dem Bereich Sport
Arbeit | Zulassungsarbeit, 2010 |
---|---|
Betreuerin | |
Bearbeiter | Thomas Hahn |
Beschreibung | Die vorliegende Arbeit thematisiert und erschließt den an der Universität Heidelberg gelehrten Software Engineering Prozess (TRAIN Prozess) im praktischen Einsatz. |
Download |
Konzept für die Verwendung von GameMaker zur Vermittlung von Programmierkompetenz im Schulunterricht
Das Gesamtverzeichnis der am Lehrstuhl durchgeführten Arbeiten finden Sie im Archiv.