Beispiele für Bachelor- und Master-Arbeiten, sowie für Praktika, die am Lehrstuhl durchgeführt wurden

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.

DownloadMasterarbeit

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.
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.

Download

Documentation of Decisions During the Implementation Phase Through Code Annotations

ArbeitBachelorarbeit, 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.
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

Visualisierung von Wissen zu Code in Jira

ArbeitFortgeschrittenen-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

ArbeitFortgeschrittenen-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

ArbeitFortgeschrittenen-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.


Das Gesamtverzeichnis der am Lehrstuhl durchgeführten Arbeiten finden Sie im Archiv.

Contact | Travel Info

News

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

'Continuous Management of Requirement Decisions Using the ConDec Tools' received the best paper award on the tool track of REFSQ'20 (pitch)

2020-2023 Barbara Paech member of DFG review board "software engineering and programing languages"

The IoT-Platform "HEIOT" was developed during the ISE project

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