Bachelor-, Master-Arbeiten, sowie Praktika die bisher am Lehrstuhl durchgeführt wurden

Masterarbeiten

2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007

2019

Quality assurance of documented decision knowledge in feature branches

Betreuer
Barbara Paech, 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
Barbara Paech, 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
Barbara Paech, 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
Barbara Paech, 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.
Download

2017

Oncologie-basierte Navigation für CION

Betreuer
Barbara Paech, 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
Barbara Paech, 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
Barbara Paech, 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
Barbara Paech, 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
Öffnet einen internen Link im aktuellen FensterRumyana 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
Barbara Paech   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

2019 2018 2017 2016 2015 2014 2013 2010 2008 2007 2006 2005      

2019

Unterstützung der Erstellung von Release-Beschreibungen durch dokumentiertes Entscheidungswissen

BetreuerBarbara Paech, Anja Kleebaum
BearbeiterFabian 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

BetreuerBarbara Paech, Anja Kleebaum
BearbeiterTim 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

BetreuerBarbara Paech, Anja Kleebaum
BearbeiterinKatherina 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.

   Download

 

 

 

Visualisierung und Verwaltung von Entscheidungswissen in JIRA

BetreuerBarbara Paech, Anja Kleebaum
BearbeiterLars 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.

   Download

 

Automatisierte Empfehlung von Feature-Tags im Code

BetreuerBarbara Paech, Marcus Seiler
BearbeiterMaximilian 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.

  Download

 

Unterstützung der Konsistenz zwischen Entscheidungen und ihrer Umsetzung durch Zusammenfassung von Codeänderungen

BetreuerBarbara Paech, Anja Kleebaum
BearbeiterinVita 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.

Download

 

2018

Werkzeugunterstützung zur automatisierten Identifikation von gemeinsamen Bestandteilen in User Stories

Betreuer
Barbara Paech, Marcus Seiler
Bearbeiter
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.

Download

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

2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004

2019

Unterstützung der kontinuierlichen Dokumentation von Featurewissen

Betreuerin
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

Betreuerin
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

2012 2008 2007 2006 2005 2004

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

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

CURES paper received the best paper award on ICSSP 2018

Barbara Paech received 'Special Mentions for Most Effective Discussion Leader' on RE 2019 in Jeju