Theses

2016

Bachelorarbeit, Status: finished
Courses: Software Engineering
First supervisor: Prof. Roy Oberhauser

Bachelorarbeit, Status: finished
Courses: Software Engineering
First supervisor: Prof. Roy Oberhauser

2015

Bachelorarbeit, Status: finished
Courses: Software Engineering
First supervisor: Prof. Roy Oberhauser

2014

2013

2012

Bachelorarbeit, Status: finished
Courses: Software Engineering
First supervisor: Prof. Roy Oberhauser

2011

2010

First supervisor: Prof. Roy Oberhauser


Da in modernen Software-Unternehmen die Entwicklungsarbeit in der Regel prozessgesteuert abläuft, jedoch die angewandten Software-Entwicklungsprozesse häufig nicht "gelebt" werden und die beteiligten Entwickler den durch dessen Anwendung entstehenden Overhead eher als Last empfinden, wäre eine Automatisierung an dieser Stelle wünschenswert. So sollen Entwickler beispielsweise anhand ihrer Aufgaben und Tätigkeiten automatisch darauf hingewiesen werden, wo sie sich im Software-Entwicklungsprozess gerade befinden. Um dies zu realisieren ist die Analyse und Abstraktion von auftretenden Entwicklungs-Ereignissen notwendig, Diese Analyse und Abstraktion ist eines der Ziele dieser Arbeit.

Darüber hinaus wäre es für Software-Qualitätsmanager von Vorteil, wenn es eine Möglichkeit gäbe, automatisch die Ergebnisse von Code-Analyse-Werkzeugen auszuwerten und entsprechende Maßnahmen zur Abhilfe für entdeckte Probleme zu definieren und diese regelbasiert für das weitere Vorgehen vorzuschlagen. Daher ist es ein weiteres Ziel dieser Arbeit, ein Web-Interface zur Verfügung zu stellen, mit welchem nicht nur solche Regeln definiert werden können sondern auch ein im Rahmen dieser Arbeit entwickeltes regelbasiertes System anzustoßen, das diese Regeln verarbeitet und beim Auftreten der definierten Probleme entsprechende Gegenmaßnahmen zur Qualitätssicherung vorschlägt.

 

2009

2008

First supervisor: Prof. Roy Oberhauser


Die Diplomarbeit präsentiert eine effiziente Prüfmethode für Software-Komponenten. Mit dieser funktionalen Black-Box-Prüfmethode ist es möglich, die Qualität bestimmter Arten von Software-Komponenten nach ihrer abgeschlossen Programmierung mit wenig Aufwand quantitativ zu bewerten, und zwar durch eine Aussage über die Gesamtfehlerzahl der Komponente. Diese wird aus der bei gegebener Anzahl an durchgeführten Testfällen gefundenen Fehleranzahl hochgerechnet. Dazu wurde ein einfaches mathematisches Modell aufgestellt, das den Zusammenhang zwischen der Anzahl von Testfällen und der Fehlerabdeckung zunächst allgemein beschreibt. Mit Hilfe der Pairwise Testmethode wurde dieser Zusammenhang konkretisiert, so dass als Ergebnis eine Formel entstanden ist, mit der ein Tester durch Angabe der Anzahl der Pairwise Testfälle, der Anzahl der durchgeführten Testfälle und der Anzahl der gefundenen Fehler die Gesamtfehlerzahl berechnen kann.

First supervisor: Prof. Roy Oberhauser


Diese Diplomarbeit setzt sich zum Ziel, Mitarbeiter der Softwareentwicklung, durch ein Tool, während des Lebenszyklus eines Produkts zu unterstützen. Durch miteinander verlinkbare Sektionen innerhalb von Dateien, sowie Berechnung der Differenz einer Datei zur Vorgängerversion, können diese eingesehen und entsprechende Anpassungen vorgenommen werden. Des Weiteren wird darauf Wert gelegt, dass sich der Protoyp leicht mit anderen Tools, die zum Lebenszyklus eines Produkts beitragen, integrieren lässt. Zuerst wird eine Marktanalyse vorgenommen, ob es bereits Anwendungen gibt, die die gewünschten Anforderungen erfüllen. Diese umfassen das Anlegen eines Links zwischen zwei Dokumentenmittels XPATH, deren Editierung und Löschung, sowie das gleichzeitige Betrachten zweier Dokumente. Darüber hinaus soll ein Dokument nach verlinkten Sektionen gefiltert und alle Links zu einem Dokument eingesehen werden können. Des Weiteren soll die Möglichkeit bestehen, sich nur Links zu einem bestimmten Element, also XPATH, anzusehen. Auch die Darstellung von Differenzen bei Änderung einer Datei, sowie deren Umzug sollen möglich sein. Mögliche Differenzen sollen, nach Abarbeitung möglicher Konflikte mit anderen Dateien, wieder aufgehoben werden können. Eine mögliche Integration des Prototyps in ein ALF wird aufgezeigt.

First supervisor: Prof. Roy Oberhauser


Variabilität als wesentliches Merkmal bei der Modellierung von Software Produktlinien soll das Zusammenstellen von verschiedenen Software-Artefakten zu unterschiedliche Produkte in verwandten Domänen ermöglichen.

Was für die Funktionalitäten einfach klingt, ist auf der Ebene der ausgetauschten Datenformate eine Herausforderung: Eine neue Klasse, eine weitere Komponente benötigen eine Erweiterung, zum Beispiel die eines Kundenobjekts um zwei weitere Attribute, vielleicht sogar eine neue Assoziation. Diese Erweiterungen müssen konsistent umgesetzt werden. Dabei muss ein Weg gefunden werden, wie die bisherigen Komponenten angepasst werden und wie sie mit entsprechenden Wrappern/Transformatoren versehen werden können.

Ziel der Diplomarbeit ist es, Variabilitäten im Datenmodell von Produktlinien zu analysieren. Dabei gilt es vor allem die Fragen zu beantworten: Wie wirkt sich die Variabilität auf die verschiedenen Software-Artefakte (Domänen-Objekt-Modell, Implementierung) aus, und welche Möglichkeiten gibt es, die Variabilitäten im Datenmodell auszudrücken? Welche verschiedenen Variabilitätsarten existieren? Welche Mechanismen sind vorstellbar, die die verschiedenen Instanziierungen aus der Produktlinie ermöglichen?

Es sollen verschiedenen Lösungsansätze für die Probleme, die sich aus der Variabilität ergeben, entwickelt und bewertet werden. Das Hauptaugenmerk gilt hierbei der konsistenten Verwendbarkeit des Datenmodells in den Artefakten. Einige dieser Ansätze sollen auf ihre Tauglichkeit in der Produktlinienentwicklung anhand einer prototypischen Entwicklung untersucht werden. Hierbei sollen Werkzeuge zum Einsatz kommen, mit denen der Entwickler die Variabilitäten in den Software-Artefakten organisieren kann, und die dabei helfen, die Artefakte in einen konsistenten Zustand zu halten.

2007

First supervisor: Prof. Roy Oberhauser


Im Laufe eines Lebenszykluses wird Software in der Qualitätssicherung fortlaufend Tests unterzogen. Der Aufwand und die Kosten sind im Vergleich zu anderen Projektphasen bedeutend größer, nach Angaben von Entwicklern wird rund 40% der Zeit bis zur Fertigstellung mit Testen verbracht.

Bei nicht automatisierten Softwaretests kommt es in der Praxis immer wieder vor, dass aus Zeitund Kostengründen wichtige Tests nicht durchgeführt und die Ressourcen an "wichtigeren" Stellen eingesetzt werden. Dadurch verringert sich allerdings der Nutzen der Tests stark und die Arbeit der Qualitätssicherung wird untergraben.

Für Firmen bietet es sich daher an, Softwaretests so weit wie möglich zu automatisieren. Vorteile die daraus entstehen, sind zum Beispiel eine höhere Zuverlässigkeit und wiederholbare Ergebnisse. Durch den effizienteren Einsatz der zur Verfügung stehenden Ressourcen, erhält man ein unmittelbares Feedback über den Zustand eines Software-Builds und besitzt eine effektivere Qualitätssicherung. Die resultierenden kürzeren Qualitätssicherungszyklen führen zu einer für das Unternehmen profitableren und schnelleren Markteinführung.

Für die Weiterentwicklung und Wartung des Softwareproduktes File Migrator Agent möchte die Firma GRAU Data Storage AG auf ein Testmanagementsystem mit automatisch ablaufenden Tests zurückgreifen. Hierzu wird im Rahmen dieser Diplomarbeit ein Framework zur Abwicklung automatischer Systemtests erstellt und dessen prototypische Implementierung erfolgen.

Wesentliche Bestandteile des Frameworks sind ein webbasiertes Testmanagementsystem, zur Verwaltung der Softwaretests, eine Test Engine, die Testaufträge verarbeitet und ein Test Engine Agent, der einen Service zur Ausführung von Tests auf einem Testrechner bereitstellt. Ein Testrechner stellt dabei eine bestimmte Testumgebung mit bestimmten Rahmenbedingungen dar. Die gesamten Schritte und Ergebnisse der Tests werden zur späteren Auswertung mitprotokolliert und gespeichert.

Die Testdaten (Testprogramme, Testdateien oder Ergebnisdateien) werden durch ein Concurrent Version System (CVS) zentral verwaltet. Durch die Zuordnung der Dateiversionen zu bestimmten Test Case Versionen ist es jederzeit möglich, frühere Testbedingungen wiederherzustellen und die Tests nachvollziehen zu können.

First supervisor: Prof. Roy Oberhauser


Diese Arbeit beschäftigt sich mit der Erweiterung der bestehenden Middleware DONAR durch einen Webservice. Auf Grund der steigenden Zahl an Komponenten, die DONAR als Middleware nutzen wollen, soll dessen Zugriffs- und Integrationsmöglichkeit erweitert werden. Dadurch soll die Funktionalität von DONAR auch Softwarekomponenten zur Verfügung gestellt werden, die im Non-Realtime Bereich angesiedelt sind und keine direkte DONAR Schnittstelle haben. Des Weiteren soll eine weitere Verbreitung von DONAR ermöglicht, sowie dessen Akzeptanz erhöht werden. Um die Anbindung von Non-Realtime Komponenten zu sichern, stellt die Diplomarbeit also eine Art Machbar-keitsstudie oder auch "Proof of Concept" dar, die zeigt, ob und inwiefern eine Middlewa-re wie DONAR über einen Webservice erweitert werden kann.

Um dies zu erreichen wird zunächst ein System entwickelt um einen "stateful Webservi-ce" zu unterstützen. Mit stateful ist gemeint, dass innerhalb des Webservices Zustände über mehrere Aufrufe von Clients hinweg gehalten werden können. Dies bezieht sich z.B. auf die Haltung einer Verbindung zwischen Webservice und DONAR, um einen Datenaustausch zu ermöglichen, oder auf Anmeldungen für eine beliebige Zahl von Clients. Die Schnittstelle zwischen DONAR und dem Webservice wird über Java gelöst. Die von DONAR zum Austausch von Daten verwendeten Objekte (Clones) sind mit Hilfe von IDL definiert und können in Java transformiert werden. Nach der Transformation beinhalten die Klassen Methoden, um mit DONAR zu interagieren.

Zur Umsetzung des Webservice wurde zunächst ein statischer Prototyp entwickelt, der mit bekannten Datentypen arbeitet und die Grundfunktionen von DONAR umsetzt. Die-ser wird um ein generisches Konzept erweitert, das darauf abzielt, das entwickelte Sys-tem zur Laufzeit um neue Datentypen zu erweitern und so die dynamische Erweiterbarkeit des Systems zu unterstützen. Komponenten, die an DONAR ange-schlossen sind, können so eigene Datentypen definieren, um ihre speziellen Anforde-rungen umsetzen zu können. Der generische Ansatz ermöglicht in dieser Hinsicht eine dynamische Erweiterbarkeit ohne Codeänderung, in dem zur Laufzeit eine Verarbeitung gesendeter Daten vorgenommen wird. Der Service erweitert sich auf Anfrage von Clients hin sozusagen selbst um bis dahin unbekannte Datentypen, die von Anwendun-gen anschließend verwendet werden können. Durch die Erweiterbarkeit des Systems steigt dessen Akzeptanz und es bedarf weniger oder keiner Codeänderung, um dies zu erreichen. Die Lösung ermöglicht es also, dass neu entwickelte Anwendungen DONAR als Plattform nutzen können, um Daten auszutauschen, ohne dass sowohl die Anwen-dungen, als auch deren verwendete Datentypen im Vorfeld definiert sein müssen.

First supervisor: Prof. Roy Oberhauser


Software development had to evolve during the past decades. Tool support became more and more necessary for the software engineers to handle the fast growing complexity of software systems. Nowadays, one speaks of the ‘computer aided software engineering' (CASE).

Software engineers use tools for different kind of problems like planning and administrating of reports or source code, searching for failures in programs or the supervision of processes. Modern software engineering processes like the ‘rational unified process' or ‘extreme programming' are using different kinds of tools to settle various tasks.

Unfortunately, the software engineering tools must be used manually most of the time. Different tools from different manufacturers are hardly compatible with each other. The tools' interfaces are not standardized and only optimized for human usage. To integrate the various tools for a common and automated usage there are problems that need to be solved.

The main concern of this thesis is to show an increased value which is won by a process oriented usage of the software engineering tools. In order to make the advantages of a ‘service oriented architecture' (SOA) usable for software development, existing tools are to be represented as ‘web services' (WS). Thereby standardized and well known interfaces are available for an automated communication between different tools.

To reach a higher level of automation, this thesis evaluates several standards and technologies which are developed for the semantic web in the first place. This contains semantic annotation of services, automated and semi-automated composition of services and execution of composite services.

2006

First supervisor: Prof. Roy Oberhauser


Es sollen einerseits die Komponententechnologien an sich verglichen werden und andererseits zwei komplette Lösungen zum Entwickeln einer verteilten Applikation mit Web Frontend. Dabei werden auf Seiten von Spring nur Komponenten von Spring verwendet, also Spring MVC und das Acegi Security System. Als Implementierung von EJB wird der JBoss Application Server verwendet also auch dessen Security System JBossSX. Des Weiteren wird das Framework SEAM von JBoss verwendet, das EJB und JavaServer Faces verbindet. Dabei wird die Norm ISO 9126 bzw. ihre deutsche Übersetzung DIN 66272 herangezogen, um den Einfluss der Technologie auf die Qualität der damit entwickelten Software zu bewerten. Es wird dabei auch auf grundlegende Technologien, wie auch auf die ISO Norm eingegangen. Des Weiteren werden neue Konzepte wie Inversion of Control und Aspektorientierte Programmierung erarbeitet und erklärt, da diese bei beiden Frameworks von zentraler Bedeutung sind. Der Vergleich wird anhand von Prototypen vollzogen, die mit beiden Technologien entwickelt werden. Diese Prototypen sollen alle Aspekte einer verteilten Applikation enthalten. Zum Schluss werden beide bewertet und verglichen. Dabei wird geschildert, unter welchen Bedingungen welche Lösung die bessere ist und eine Empfehlung ausgesprochen.

First supervisor: Prof. Roy Oberhauser


FXL is a framework for software development. It is applicable with the Model Driven Software Development (MDSD) approach. The aim of MDSD is to improve the development rate of software and software components through automation. For example, a model could be generated automatically with the help of a generator and transformation tool. Furthermore, the automation may also improve the over all software quality.

The FXL framework uses the universal basis of xApproach (see [XML04]).The xApproach describes the fact that every document of a certain non-XML-based programming language can be alternatively converted into an XMl-based representation or model. This can be achieved with the help of XML transformation languages, such as XSLT, XQuery, and TL1.0. There can be numerous transformations of this models accomplished. These transformations are changing for example, the functionality or the structure of the XML model. Through that there much functionality covered like the creation of a domain-specific language or a customisation from software or technology mapping just to name a few. With the rapid rate of development of new technologies and methodologies within software development, the need to include these new technologies into the software development process is extremely important.

There is now a requirement to integrate these technologies with the help of a mechanism into the FXL framework to keep it up to date. This is covered with the introduction of a service-oriented architecture (SOA). At a SOA every functionality is offered as a service. A new technology can now be included with the preparation of a new service which covers that functionality. The SOA is at a distributed environment which covers another advantage. The distributed environment can be used to integrate software development processes of industry partners as a service integrated into the FXL framework and used there.

The contribution of this thesis is to change the actual architecture of the FXL Framework to an SOA based approach. In order to address the currently limitation the advantages and disadvantegs should be shown. Also there should be a functionality integrated which assuaged the development for the developer.With the help of the already introduced services and semantic information's it should be possible to specify an output for which the tool should calculate all possible workflows to reach that specified output. This mechanism takes much work from the developer. It should be integrated into the FXL framework as a prototype during this thesis to show the feasibility of it.

Prof. Roy Oberhauser

+49 7361 576-4206
G2 1.20
Office hours
Upon request