University of Applied Sciences. Fachbereich Informatik Department of Computer Science. Abschlussarbeit

Größe: px
Ab Seite anzeigen:

Download "University of Applied Sciences. Fachbereich Informatik Department of Computer Science. Abschlussarbeit"

Transkript

1 Hochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Department of Computer Science Abschlussarbeit im Studiengang Master of Science in Computer Science Ein Ansatz zum Aufbau und zur Auswertung wiederverwendbarer Strukturen aus Ticketsystem- und Versionskontrollsystem-Daten für multiple Analysen von Jochen Wierum Erstbetreuer: Zweitbetreuer: Prof. in Dr. Simone Bürsner Hochschule Bonn-Rhein-Sieg Fachbereich Informatik Prof. Dr. Manfred Kaul Hochschule Bonn-Rhein-Sieg Fachbereich Informatik Eingereicht am

2 ii

3 Inhaltsverzeichnis Tabellenverzeichnis Abbildungsverzeichnis Quelltextverzeichnis Abkürzungsverzeichnis vii ix xi xiii 1. Einleitung Problemstellung Zielsetzung der Arbeit Gliederung der Arbeit Wissenschaftliche Grundlagen Mining Software Repositories Repository-Typen Bestehende Analyseverfahren Betrachtete Fragestellungen Qualität der Aussagen Graphen Graph-Datenbanken Operationen auf Graphen Text Mining Struktur von Open Source Projekten Definition der Graph-Strukturen und der Analyse-Algorithmen Strukturierung der Daten Anforderungen an den Graphen Struktur der Tickets und Commits Umgang mit verschiedenen Revisionen eines Eintrags Definition der Algorithmen zur Analyse des Graphen Analyse des Workflows Analyse des Workflows Variante Rollen im Projekt identifizieren Bewertung des Peer-Reviewings Analyse der Wissensverteilung Analyse der Wissensverteilung Variante Implementierung eines Frameworks und der Plugins Anforderungen an verwendete Systeme Strukturierung der Daten iii

4 Inhaltsverzeichnis Exportmöglichkeit der Systeme Wahl der Technologien Verwendete Programmiersprache, Bibliotheken und Werkzeuge Graphtraversierung mittels Cypher Unterstützte Repositories Architektur der Anwendung Erarbeitetes Plugin-Konzept Generalisierung des Ansatzes Implementierung der Importer Mantis Trac Redmine Subversion Git Implementierung der Linker Extraktion von Beziehungen Identifizierung von Schlüsselwörtern Identifizierung des semantischen Ticket-Status Implementierung der Algorithmen Analyse des Workflows Rollen im Projekt identifizieren Bewertung des Peer-Reviewings Analyse der Wissensverteilung Erkenntnisse Import und Aufbereitung Bewertung des Imports Bewerten der Aufbereitung Statusverlauf in Tickets Interpretation der Ergebnisse Bewertung Rollen Interpretation der Ergebnisse Bewertung Wissensverteilung Interpretation der Ergebnisse Bewertung Performance Zusammenfassung und Ausblick Bewertung der Datenstruktur Bewertung der Implementierung Möglichkeiten der Weiterentwicklung Analyse von Anhängen Weitere Klassifizierung der Tickets Verarbeitung von Dateiinhalten Alternative Oberflächen Literatur 81 iv

5 Inhaltsverzeichnis A. Tabellen xv B. Grafiken xix C. Kurzanleitung: Entwickeln eines Plugins xxvii Eidesstattliche Erklärung Danksagung xxxiii xxxv v

6 Inhaltsverzeichnis vi

7 Tabellenverzeichnis 3.1. Bestandteile eines Tickets Bestandteile eines Commits Betrachtete Eigenschaften eines Tickets Charakterisierung der Projekte Messergebnisse verschiedener Importer und Linker Verteilung der Rollen in einem realen Projekt Messergebnisse von Linkern und Analyzern A.1. Abbildung von Manits-Feldern im Graph xv A.2. Abbildung von Trac-Feldern im Graphen xvi A.3. Abbildung von Redmine-Feldern im Graph xvii A.4. Verteilung des Status-Verlaufs in einem realen Projekt xviii vii

8 Tabellenverzeichnis viii

9 Abbildungsverzeichnis 1.1. Differenz der Ansätze Verschiedene Sichten auf den Graphen Beispiel für transitive Beziehungen im Graphen Wechsel der Abhängigkeiten beim Einfügen neuer Tickets Erwarteter Statusverlauf Grafische Repräsentation des Queries in Queltext Sequenzdiagramm: Import der Repository-Daten Sequenzdiagramm: Linken der Repository-Daten Rekonstruktion der Änderungen Vergleich der Gewichtungen B.1. Suchmuster nach dem Ticket-Workflow, Teil xix B.2. Suchmuster nach dem Ticket-Workflow, Teil xix B.3. Suchmuster zur Analyse von Rollen xx B.4. Suchmuster der Review-Verteilung xx B.5. Suchmuster für kritische Begriffe xxi B.6. Suchmuster für kritische Dateien xxi B.7. Visuelle Darstellung der Statusübergänge bei Cologne Intelligence.... xxii B.8. Visuelle Darstellung der Statusübergänge in Redmine xxii B.9. Screenshot Anwendung: Import-Plugin xxiii B.10.Screenshot der Anwendung: Linker-Plugin xxiv B.11.Screenshot der Anwendung: Workflow-Analyzer-Plugin xxiv B.12.Screenshot der Anwendung: Truck-Number-Analyzer-Plugin xxv B.13.Screenshot der Anwendung: Ad hoc Analyze xxv B.14.Screenshot der Anwendung: Visualisierung des Statusverlaufs als Baum. xxvi ix

10 Abbildungsverzeichnis x

11 Quelltextverzeichnis 3.1. Beispiel für eine Cypher-Abfrage mit Attributen Algorithmus zur Extraktion der Schlüsselwörter Algorithmus zur Identifikation kritischer Schlüsselwörter Beispiel für eine komplexe Abfrage in Cypher Interfaces der Plugins Pluginbeschreibung für den Git Importer DSL zur Konfiguration eines Plugins durch den Nutzer Pseudocode zum Finden aller Mantis-Tickets Algorithmus zur Identifikation des Eltern-Commits Mapping der importierten Status Identifizierung aller Statuswechsel Identifitierung aller finaler Status Cypher-Abfrage zur Analyse sofort geschlossener Tickets Teil Cypher-Abfrage zur Analyse sofort geschlossener Tickets Teil C.1. Cypher-Abfrage zum Gruppieren von Tickets nach Versionen xxvii C.2. Integration des Queries in das Plugin xxviii C.3. Transformieren des Suchergebnisses in eine Tabelle xxix C.4. Transformieren der Tabelle in einen String xxix C.5. Zentrale Methode des Plugins xxix C.6. Fenster zum Anzeigen der Resultate xxx C.7. Verfeinerung des Sortierens xxx xi

12 Quelltextverzeichnis xii

13 Abkürzungsverzeichnis CVS Concurrent Versions System DSL Domain Specific Language DTO Data Transfer Object FIT Framework for Integrated Test HTML Hypertext Markup Language ITS Issue Tracking System JVM Java Virtual Machine KoREM Kontinuierliches Requirements-Engineering in KMU-Projekten KMU Kleine und mittelständische Unternehmen MAT Eclipse Memory Analyzer MSR Mining Software Repositories NoSQL Not Only SQL MVC Model View Controller RDF Resource Description Framework RE Requirements Engineering SOAP Simple Object Access Protocol SQL Structured Query Language SVN Apache Subversion VCS Version Control System XML Extensible Markup Language XML-RPC XML Remote Procedure Call XP Extreme Programming xiii

14

15 1. Einleitung Wird die Geschichte von Software betrachtet, so fällt auf, dass gerade Produkte, welche für eine Vielzahl von Nutzern entwickelt werden, selten fertig sind. Über Jahre hinweg werden sie weiterentwickelt, verbessert und an neue Bedürfnisse angepasst. Während der Weiterentwicklung werden häufig Werkzeuge eingesetzt, um die Übersicht über Änderungen und Probleme nicht zu verlieren. Diese Tools sind sehr vielfältig, sie lassen sich jedoch in Klassen zusammenfassen. Zwei wesentliche Komponenten sind dabei: ITSs (Issue Tracking Systems) sind Programme, die dazu genutzt werden, um Anforderungen oder Fehler zu verwalten. Sie halten Beschreibungen, Zuständigkeiten und Termine fest. VCSs (Version Control Systems) sind Programme, die gemeinsame Arbeit an Quelltexten ermöglichen und die die einzelnen Zwischenstände versionieren. Somit ist es möglich, Änderungen zu verfolgen oder zurückzunehmen. Eine Erklärung der einzelnen Aufgaben und Technologien erfolgt in Abschnitt auf Seite 5. Diese Programme (ihre Funktion wird in dieser Arbeit allgemein als Repositories bezeichnet) werden entwickelt, um den aktuellen Zustand des Projektes zu bewerten. Der Projektstatus lässt sich unter anderem daraus ablesen, wie viele Probleme derzeit unbehoben sind. Obwohl auch eine Betrachtung der Projektvergangenheit möglich ist, existieren Funktionen zur deren Auswertung in den Repositories selbst nicht. Die Disziplin des MSR (Mining Software Repositories) beschäftigt sich mit der Problemstellung, Repositories zu analysieren und Aussagen über Projekte zu generieren. Eine Herausforderung ist das Verwalten dieser Daten in Projekten jeglicher Größe. Wie vielseitig Repositories in der Praxis sein können, zeigt das KoREM (Kontinuierliches Requirements-Engineering in KMU-Projekten) Projekt der Hochschule Bonn-Rhein-Sieg. Dabei werden Artefakte aus dem RE (Requirements Engineering)-Prozess mit Ticketdaten verknüpft, um RE in KMUs (Kleine und mittelständische Unternehmen) mit möglichst wenig Mehraufwand zu ermöglichen. Die vorliegende Arbeit befasst sich mit der Frage, wie Inhalte aus Repositories von Projekten aus dem Bereich der Softwareentwicklung auch nachträglich zur Analyse von Projekten weiterverwendet werden können und welche Schlüsse sich daraus gewinnen lassen. Dabei liegt der Schwerpunkt auf der Wiederverwendbarkeit der importierten Daten und der Zwischenergebnisse aus einzelnen gemeinsamen Schritten in verschiedenen Analysen. 1

16 1. Einleitung Als ein unterstützendes KMU wurde die Cologne Intelligence GmbH in Köln gewonnen. In dem Projektalltag dieser Organisation wurden Fragestellungen gesammelt, die sich mit Hilfe von Repository-Daten beantworten lassen. Außerdem wurden Projektdaten zur Verfügung gestellt, welche im späteren Verlauf der Arbeit analysiert wurden Problemstellung Aus dem Verlauf eines Projektes können wertvolle Informationen gewonnen werden. Im Idealfall können zukünftige Probleme vermieden werden, indem in der Vergangenheit liegende Probleme und deren Lösungen analysiert werden. Dazu müssen jedoch erst Ansätze gefunden werde, wie typische Problemlösungen identifiziert werden können. Ein anderes häufiges Problem ist es, Muster in der Bearbeitung zu erkennen. So könnten wiederholt stattfindende Änderungen an Artefakten automatisiert werden und die Arbeit im Projektalltag wird erleichtert. Wird das Vorgehen in den meisten Untersuchungen betrachtet, so fällt auf, dass sie alle nur für spezifische Fragestellungen entwickelt werden. Viele dieser (hier als klassisch bezeichneten) Analysen von Texten oder Änderungen werden nicht zwischengespeichert. Plattformen, die eine vielseitige Analyse aufgrund allgemein aufbereiteter Daten bieten, existieren nur wenige. Viele Ansätze beschränken sich des Weiteren auf jeweils ein Repository und verzichten somit auf viele wertvolle Informationen aus anderen Quellen. Ein weiteres Potential, das bei der Analyse von Repositories häufig ungenutzt bleibt, ist die Tatsache, dass die Daten in der Regel einer festen Strukturierung folgen. Dies legt es nahe, die Struktur der Daten in die Suche mit einzubeziehen. Die Wiederverwendbarkeit der Ergebnisse und Zwischenschritte wird bei den einzelnen Untersuchungen vernachlässigt. Neue Untersuchungen können daher nur schwer auf Daten von alten Studien aufbauen. Die Ergebnisse bisheriger Untersuchungen sind dafür zu spezifisch auf die einzelnen Fragestellungen hin ausgelegt, sodass keine gemeinsame und abstrakte Datenstruktur entsteht Zielsetzung der Arbeit Das Ziel dieser Arbeit ist es, einen Ansatz zu schaffen, der es erlaubt, Repositories zu durchsuchen, ohne dass beim Aufbau der zugrundeliegenden Datenstruktur die spätere Verwendung bekannt ist. Dazu wird eine Datenstruktur geschaffen, welche alle Daten, die aus den Repositories ausgelesen werden können, zusammen mit aufbereiteten Zusatzinformationen speichert. 2

17 1.2. Zielsetzung der Arbeit Auf der definierten Datenstruktur werden dann Abfragen für praxisrelevante Fragestellungen formuliert. Diese Algorithmen sollen thematisch nicht verwandte Fragestellungen nur mithilfe der aufbereiteten Daten beantworten. Stellt sich bei der Analyse bisheriger Untersuchungen oder beim Formulieren neuer Algorithmen heraus, dass dort Gemeinsamkeiten in der Betrachtung der Daten existieren, so werden diese Gemeinsamkeiten bereits in die Datenstruktur integriert. Das Ziel ist es, beim Bereitstellen der Daten bereits Synergien auszunutzen und redundante Operationen in den einzelnen Algorithmen zu vermeiden. Als Datenmodell wird dazu ein zusammenhängender Graph verwendet, da hier insbesondere Zusammenhänge effizient untersucht werden können. Die Datenstruktur abstrahiert von den Eigenschaften und ursprünglichen Datenmodellen der einzelnen Repositories. Im Anschluss wird der Ansatz praktisch in einem Framework implementiert, welches drei Varianten von Plugins unterstützt: Importer zum Lesen von Repositories, Linker zum Anreichern des Graphen mit gefundenen Synergien und Analyzer, die die theoretisch erarbeiteten Algorithmen praktisch umsetzen. Für die Umsetzung werden Technologien ausgewählt, die geeignet sind, den Graphen zu repräsentieren und die Analyser zu implementieren. Der Ansatz wird zuletzt an realen Fragestellungen getestet und die Ergebnisse werden kritisch bewertet. Dazu wird das implementierte Framework mit realen Projektdaten aus dem Unternehmen Cologne Intelligence GmbH und dem Open Source Projekt Redmine bestückt und die Ergebnisse der Analyser wird bewertet. Die Abbildung 1.1 auf der nächsten Seite zeigt die geplante Architektur in einer Skizze. Während in Variante (a) alle Analysen auf den ursprünglichen Repositories stattfinden, ist es das Ziel der Arbeit, eine gemeinsame Datenbasis für alle Analysen zu schaffen. Sie soll, so weit es möglich ist, von der unterschiedlichen Repräsentation der Daten aus ITSs und VCSs abstrahieren und somit Untersuchungen unabhängig von der verwendeten Technologien ermöglichen. Darüber hinaus wird mit einem Graphen eine Datenstruktur verwendet, die die Struktur der Daten besser durchsuchbar macht, als es ein relationales Modell bietet, wie es die meisten ITSs verwenden. Allgemeine Vorarbeiten, die für mehrere Analysen relevant sein können, werden dabei bereits beim Erstellen der Struktur geleistet, sodass die Analysen nur die für sie individuellen Operationen durchführen müssen. Dies ist in Variante (b) dargestellt. 3

18 1. Einleitung (a) Klassischer Ansatz zur Analyse (b) Ansatz mit Zwischenschritt vor der Analysephase zum Ausnutzen von Synergien der einzelnen Analysen und zum Wiederverwenden von Zwischenergebnissen Abbildung 1.1.: Differenz zwischen den klassischen Analysen und dem hier vorgestellten Ansatz. Bei (a) erfolgen alle Analysen unmittelbar, während bei (b) die Repositories zunächst in eine gemeinsame, wiederverwendbare Datenstruktur überführt werden Gliederung der Arbeit Die vorliegende Arbeit gliedert sich in sechs Kapitel. Der Inhalt der Kapitel wird hier kurz vorgestellt. Die Zielsetzung und Ergebnisse der einzelnen Kapitel wird innerhalb dieser noch einmal detaillierter erläutert. Kapitel eins erläutert die Problemstellung und stellt die Zielsetzung der Arbeit vor. Kapitel zwei stellt bestehende Lösungen vor, um strukturierte Daten zu verwalten und erläutert, welche Probleme bisher mittels MSR untersucht wurden. Kapitel drei stellt auf Basis von Kapitel zwei Lösungsansätze vor, um die in in Kapitel eins erarbeiteten Fragestellungen anzugehen. Die geschaffenen Lösungsansätze sind theoretisch und möglichst technologieunabhängig gehalten. Kapitel vier beschäftigt sich mit der Implementierung der in Kapitel drei erarbeiteten Algorithmen in einer konkret definierten Umgebung. Dabei wird auch die Eignung einiger relevanter ITSs und VCSs bewertet. Kapitel fünf stellt die Ergebnisse der Implementierung vor. Es werden die Eignung der verwendeten Software und andere aufgetretene Probleme beleuchtet. Die Algorithmen werden an realen Projektsituationen getestet und die Ergebnisse werden bewertet. Kapitel sechs fasst die Ergebnisse zusammen und gibt einen Ausblick auf mögliche weitere Nutzungen der Erkenntnisse. 4

19 2. Wissenschaftliche Grundlagen Die Idee, Software Repositories zu durchsuchen, existiert schon seit vielen Jahren. Seit zehn Jahren existiert eine eigene Interessensgruppe mit entsprechendem Schwerpunkt 1. Die folgenden Seiten stellen bisherige Ansätze in der Analyse von Software Repositories vor. Für die Untersuchung der Repository-Daten wurden diese als ein zusammenhängender Graph modelliert. Der Abschnitt 2.2 auf Seite 12 erläutert daher die Funktionsweisen von Graph-Datenbanken und stellt gängige Techniken vor, große Graphen zu durchsuchen. Da in Tickets Freitexte existieren, muss eine Möglichkeit gefunden werden, auch diese in Untersuchungen einzubeziehen. Der Abschnitt 2.3 auf Seite 14 erläutert einfache Verfahren zum maschinellen Verarbeiten von Texten. Zuletzt erläutert der Abschnitt 2.4 auf Seite 15 die Strukturierung von Arbeit in Open Source Projekten, da im späteren Verlauf eines von ihnen analysiert wird und sie sich in der Organisation von Projekten unterscheiden, die von einem einzelnen Unternehmen getragen werden Mining Software Repositories Mining Software Repositories (MSR) befasst sich mit der Fragestellung, welche Informationen aus Repositories extrahiert werden können. Die Ziele können dabei vielfältig sein, ebenso die extrahierten Informationen. Die folgenden Abschnitte stellen die unterschiedlichen Repository-Typen gegenüber und zeigen bestehende Möglichkeiten, den Inhalt zu verarbeiten. Darüber hinaus werden einige Arten von Zielen des MSR vorgestellt Repository-Typen Die Artefakte, die bei der Softwareentwicklung entstehen, werden meist in Repositories abgelegt. Repositories sind im weitesten Sinne Ablagen für Daten und zugehörige Metadaten. Der Begriff Ablage deutet bereits daraufhin, dass ein Repository wenig über die Strukturierung und Art des Inhalts aussagt. 1 geprüft am

20 2. Wissenschaftliche Grundlagen Aus diesem Grund werden hier die verschiedenen Repositories in vier Kategorien gegliedert. Eine allgemeingültige Unterscheidung existiert in der bekannten Literatur nicht. Die verschiedenen Repository-Typen eignen sich unterschiedlich gut für automatische Analysen. Je strukturierter die Daten vorliegen, desto leichter fällt eine automatische Verarbeitung. Versionskontrollsysteme Quellcode wird typischerweise in einem VCS abgelegt. Eine allgemein verwendete Definition eines VCS existiert nicht. Jedoch gibt es zahlreiche Artikel über ihre Zielsetzung und Verwendung (Otte 2009; Spinellis 2005). Gemeinsam haben alle VCSs, dass sie verschiedene Versionen einer Datei archivieren und die Änderungen daran verfolgen. Die einzelnen Versionen (oft als Revision bezeichnet) folgen aufeinander. Jede Revision wird von einer einzelnen Person erstellt und mit einem Kommentar über die Änderung gegenüber der Vorgängerversion versehen. Die Entwicklung muss dabei nicht linear erfolgen grundsätzlich kann eine Version auch mehrere Nachfolger (Zweige oder Branches ) haben. Ebenso kann eine Revision mehrere Vorgänger haben, wenn verschiedene Änderungen zusammengebracht werden (Der Vorgang wird als mergen bezeichnet). Darüber hinaus können einzelne Revisionen mit einem symbolischen Namen ( Tag ) versehen werden, um leichter wiedergefunden zu werden. Häufig werden auch die Bezeichnungen Source Control Management (SCM) oder Source Code Repositories (SCR) verwendet. Ticketsysteme Tickets werden häufig in einem ITS verwaltet. Meist werden Tickets auch als Issue (dt. Vorfall ) bezeichnet. Ein Ticket besteht aus einer definierten Menge Felder, die aus Freitexten oder einer vordefinierten Auswahl bestehen. Tickets enthalten einen Titel und eine kurze Beschreibung der Aufgabe. Darüber hinaus gibt es einen Autor, einen Verantwortlichen und einen Status. Tickets können kommentiert werden, sodass die ticketbezogene Kommunikation im Ticket selbst festgehalten wird. Je nach ITS existieren zahlreiche weitere Felder. Tickets werden im Normalfall von mehreren Personen bearbeitet und durchlaufen dabei komplexe Lebenszyklen. Manchmal werden Tickets auch projektübergreifend geführt (siehe auch Dougherty, Hejl und Stott 2002). In der Software-Entwicklung werden sie oft für Bugs (Fehler) oder Features (neue geplante/gewünschte Funktionalitäten) aufgenommen, prinzipiell sind sie aber nicht an einen bestimmten Zweck gebunden. 6

21 2.1. Mining Software Repositories In ihrem Lebenszyklus werden Tickets bearbeitet, wobei sich die im Ticket gespeicherten Informationen (etwa der Status oder die zuständige Person) mehrfach ändern können. Ist ein Ticket abgearbeitet, wird es geschlossen. Das bedeutet, dass der Inhalt als umgesetzt gilt, und das Ticket ausgeblendet wird. Sofern es nicht wieder geöffnet wird, wird es zwar archiviert, in der Praxis jedoch oft nicht weiter beachtet. Tickets können mit anderen Tickets oder weiteren Artefakten des Projekts verknüpft werden. So sind Verweise auf Dateien oder Commits möglich. Auch Abhängigkeiten können durch die Verknüpfung modelliert werden. Tickets (oder Teile davon) werden ebenfalls versioniert, der Fokus liegt aber nicht auf der Wiederherstellung älterer Versionen, sondern auf der Nachvollziehbarkeit. ITS werden oft nur als Frontend für eine entsprechende Datenbank entwickelt. Die Arbeit von Just, Premraj und Zimmermann (2008) zeigt ebenso wie die von Zimmermann u. a. (2009), welche Ziele Bugtracker im Verständnis der Anwender haben und welche Nachteile die derzeitigen Frontends haben. Ablagen für Dokumentation Eine Dokumentation wird in Projekten sehr unterschiedlich gehandhabt. Sie beinhaltet Informationen, welche nicht in Tickets gefunden werden können. Diese können technischer oder fachlicher Natur sein. Auch Anleitungen für Entwickler (etwa eine Dokumentation, wie die Anwendung erstellt werden kann) und Begründungen von Entscheidungen sind hier oft zu finden. Dokumentation wird meist in formatiertem Fließtext, welcher keiner besonderen Vorgabe folgen muss, erstellt. Die Archivierung kann in eigener Software stattfinden, z. B. einem Wiki (Ebersbach und Glaser 2005). Sie kann jedoch auch wie Quellcode in einem VCS verwaltet werden. Im Unterschied zu VCS und ITS lassen sich Dokumentationen aufgrund der fehlenden Struktur schwerer maschinell verarbeiten. Text-Mining ist prinzipiell möglich, jedoch lassen sich aus strukturierten Artefakten wie Tickets die extrahierten Informationen leichter zuordnen, da sie aus bestimmten Feldern (etwas Schritte zur Reproduzierung stammen). Wird Dokumentation nur als formatierter Fließtext geführt, ist eine Gewichtung und Zuordnung der dort vorhandenen Informationen mit größeren Ungenauigkeiten verbunden. Sofern sich die beteiligten Autoren eine strengere Strukturierung auferlegen, lassen sich aus den Dokumentationen genauere Informationen extrahieren. Dazu ist es erforderlich, dass der Aufbau des Textes und die Relevanz einzelner Aussagen maschinenverständlich kodiert werden. Ansätze dazu lassen sich etwas im Semantic Web finden, in welchem das von Klyne und Carroll (2004) beschriebene RDF (Resource Description Framework) zur Beschreibung von beliebigen Daten genutzt werden kann. Ein Beispiel, wie Spezifikation so geschrieben werden kann, dass sie für automatisierte Tests weiterverarbeitet werden kann, zeigt beispielsweise Westphal (2005): Es wird das von Ward Cunningham entwickelte FIT (Framework for Integrated Test) 2 verwendet, um 2 geprüft am

22 2. Wissenschaftliche Grundlagen Integrationstests in HTML (Hypertext Markup Language)-Dokumenten mit technischer Dokumentation zu integrieren. Archive für Konversation Konversation findet im gesamten Team in vielfältiger Weise statt. Neben dem gesprochenen Wort zählen hierzu Mails, Mailinglisten und Chatlogs. Auch Skizzen auf Papier oder Whiteboards können als Konversation angesehen werden. Ähnlich wie in der Dokumentation gibt es nicht zwingend eine zentrale Komponente, die alle Kommunikation zusammenfasst. So existieren oft mehrere oder keine Repositories und die hier vorhandenen Informationen können nur schwer gesichtet werden. Darüber hinaus existiert für Konversation auch keine besondere Strukturierung, sodass es schwer ist, ihren Inhalt maschinell zu verarbeiten. Obwohl es möglich ist, einzelne Konversationen näher zu untersuchen, ist die Analyse solcher Daten im Allgemeinen sehr schwer. Nia u. a. (2010) beschreiben einige der Hürden. Ebenso wie die Dokumentation ist auch die Konversation nur unter bestimmten Voraussetzungen für eine automatisierte Analyse nutzbar Bestehende Analyseverfahren Die Disziplin des MSR nutzt einzelne dieser Repositories oder eine Kombination aus mehreren, um aus den Daten neue Schlüsse zu ziehen. Die meisten bestehenden Ansätze konzentrieren sich nur auf einzelne Aussagen. Die folgenden Abschnitte befassen sich damit, wie die Inhalte von Tickets analysiert werden können und welche Schlüsse daraus gezogen werden. Damit Aussagen über die Daten getroffen werden können, müssen diese zunächst maschinell verstanden werden. Hierzu gibt es unterschiedliche Ansätze. Lewis und Dreo (1993) schlagen vor, auf Freitexte ganz zu verzichten. Dieser Ansatz macht die Auswertung von Tickets für Maschinen einfach, er erfordert jedoch, dass alle Beteiligten mit einem solchen Ticket-Format einverstanden sind; ein großer Teil der Komplexität wird hier auf den Anwender verlagert. Hinzu kommt, dass sich Probleme selten ohne Freitext beschreiben lassen. Zuletzt eignet sich der Ansatz nicht, um bestehende Ticketsysteme zu analysieren, er wird daher nicht nicht weiter verfolgt. Die anderen hier vorgestellten Verfahren beziehen sich auf Ticketsysteme, die in der Praxis eingesetzt werden. Tran u. a. (2009) trennen die Felder eines Tickets in zwei Kategorien auf: Die administrativen Felder beinhalten Werte zur Einordnung des Problems. Dazu gehört die betroffene Komponente, die Kritikalität oder der verantwortliche Entwickler. Die deskriptive Komponente hingegen ist meistens als Freitext ausgelegt und beinhaltet die genaue Beschreibung des Problems, Schritte zur Reproduktion und ähnliches. 8

23 2.1. Mining Software Repositories Eine gängige Methode ist es, gar keine Aufbereitung der Daten zu betreiben. Fragestellungen, die diesen Ansatz verwenden, benötigen oft keine genauen Informationen über den textuellen Inhalt der Tickets sondern beschränken sich auf Metadaten des Tickets. Es werden nur einzelne Felder betrachtet oder die Tickets werden auf bestimmte Stichwörter hin untersucht. Ein Beispiel hierfür ist der Ansatz nach Schackmann und Lichter (2009), bei welchem der Text vollständig ignoriert wird. Im Unterschied zu den anderen, meist auf Text Mining basierenden Ansätzen entsteht hier kein Zwischenergebnis, welches sich weiterverwenden lässt. Auch sind die Möglichkeiten der Auswertung sehr beschränkt, sodass sich diese Herangehensweise nicht für einen allgemeinen Ansatz eignet. Sollen mehr Informationen über den Inhalt gewonnen werden, ist Text Mining erforderlich. Dieses wird in Abschnitt 2.3 auf Seite 14 genauer beschrieben. Zunächst wird der Inhalt der deskriptiven Felder auf wichtige Begriffe reduziert. Anschließend kann eine Klassifizierung und Filterung der Wörter erfolgen, um den Inhalt des Tickets zu bestimmen. Lamkanfi u. a. (2010) suchen etwa nach Schlüsselwörtern wie crash, um die Kritikalität eines Bugs zu bestimmen. Ein durch Textmining verarbeiteter Text kann für mehrere Zwecke weiterverarbeitet werden. Eine Analyse des Inhalts erfolgt in der Regel einzeln pro Ticket. Die hierbei gewonnenen Daten der einzelnen Zwischenschritte können für andere Analysen (etwa die Suche nach anderen Schlüsselwörtern) wiederverwendet werden. Eine dritte Variante wird von Bhattacharya u. a. (2012) beschrieben. Dabei werden die Tickets, ihre Beziehung zueinander sowie der Quelltext und dessen Verwandtschaft zu Tickets als Graph modelliert. Das ermöglicht es, Aussagen über die Zusammenhänge zwischen den betrachteten Artefakten zu treffen. Im Unterschied zur obigen Variante ist das Verfahren nicht auf Tickets beschränkt es können auch Commits und Dateiinhalte erfasst werden. Bhattacharya u. a. stellen außerdem Callgraphs dar. Diese Methode eignet sich, wenn der Fokus der Analyse auf den Zusammenhängen der Daten liegt. Knoten stellen dabei einzelne Artefakte dar, während Kanten Beziehungen simulieren. Über Labels können die Kanten und Knoten mit weiteren Informationen versehen werden. Tran u. a. (2009) nutzt RDF, um solche Strukturen zu untersuchen. Ein Graph ist bereits eine eigene Datenstruktur. Enthält er genügend Informationen, können auch andere Fragestellungen als die ursprünglich entworfene mit den durch ihn repräsentierten Daten beantwortet werden. Eine Kombination aus den letzten beiden Methoden würde eine Datenstruktur ergeben, welche sowohl das Analysieren einzelner Artefakte als auch derer Zusammenhänge ermöglicht. Dieser Ansatz wird in der vorliegenden Arbeit näher untersucht Betrachtete Fragestellungen Es gibt eine Vielzahl Fragestellungen, die durch MSR beantwortet werden können. Die Artefakte werden in einigen Ansätzen voneinander losgelöst betrachtet. Andere Untersuchungen konzentrieren sich auf den Zusammenhang mehrerer Artefakte. 9

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015 Abstrakt zum Vortrag im Oberseminar Graphdatenbanken Gero Kraus HTWK Leipzig 14. Juli 2015 1 Motivation Zur Darstellung komplexer Beziehungen bzw. Graphen sind sowohl relationale als auch NoSQL-Datenbanken

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

Mehr

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher 729631 745097 736477 745011 741297 Inhalt Schlussbewertung... 3 Bewertung

Mehr

EXTRAKTION UND KLASSIFIKATION VON BEWERTETEN PRODUKTFEATURES AUF WEBSEITEN

EXTRAKTION UND KLASSIFIKATION VON BEWERTETEN PRODUKTFEATURES AUF WEBSEITEN EXTRAKTION UND KLASSIFIKATION VON BEWERTETEN PRODUKTFEATURES AUF WEBSEITEN T-SYSTEMS MULTIMEDIA SOLUTIONS GMBH, 16. FEBRUAR 2012 1. Schlüsselworte Semantic Web, Opinion Mining, Sentiment Analysis, Stimmungsanalyse,

Mehr

4. Datenabfrage mit QBE 11

4. Datenabfrage mit QBE 11 Informationsbestände analysieren Datenabfrage mit QBE 4. Datenabfrage mit QBE 11 4.1. QBE vs. SQL Relationale Datenbanken haben schon früh den Anspruch gestellt, auch für Nicht- Informatiker nutzbar zu

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes

Mehr

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen WEITER BLICKEN. MEHR ERKENNEN. BESSER ENTSCHEIDEN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN VERSION 1.0 OPTIMIERUNG VON ABFRAGEN IN MS SQL

Mehr

Freie Universität Berlin Institut für Informatik Mining-Ansätze für Software Repositories

Freie Universität Berlin Institut für Informatik Mining-Ansätze für Software Repositories Freie Universität Berlin Institut für Informatik Mining-Ansätze für Software Repositories Nataliia Lashchyk Seminar Beiträge zum Software Engineering Übersicht Einführung Mining Software Repositories (MSR)

Mehr

Andreas Lux 16.03.2010. Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse

Andreas Lux 16.03.2010. Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse Andreas Lux 16.03.2010 Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse Warum unterschiedliche Sprachen? Nicht alle Probleme eignen sich, um mit Standardsprachen beschrieben

Mehr

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann Andreas Ditze MID GmbH Kressengartenstraße 10 90402 Nürnberg a.ditze@mid.de Abstract: Data Lineage

Mehr

Integration Services - Dienstarchitektur

Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Dieser Artikel solle dabei unterstützen, Integration Services in Microsoft SQL Server be sser zu verstehen und damit die

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

Hochschule Heilbronn Technik Wirtschaft Informatik

Hochschule Heilbronn Technik Wirtschaft Informatik Hochschule Heilbronn Technik Wirtschaft Informatik Studiengang Electronic Business (EB) Diplomarbeit (280000) Evaluierung und Einführung eines Web Content Management Systems bei einem internationalen und

Mehr

Data Mining-Projekte

Data Mining-Projekte Data Mining-Projekte Data Mining-Projekte Data Mining stellt normalerweise kein ei nmaliges Projekt dar, welches Erkenntnisse liefert, die dann nur einmal verwendet werden, sondern es soll gewöhnlich ein

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Software Engineering Analyse und Analysemuster

Software Engineering Analyse und Analysemuster Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse

Mehr

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert Maika Büschenfeldt Datenbanken: Skript 1 1. Was ist eine relationale Datenbank? In Datenbanken können umfangreiche Datenbestände strukturiert abgelegt werden. Das Konzept relationaler Datenbanken soll

Mehr

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog 10.Klasse: Themenschwerpunkt I: Datenbanken Datenbanken o Einsatzbereiche von Datenbanken o Verwaltung von großen Datenmengen o Probleme aus dem Alltag in Datenbanken abbilden o Relationale Datenbanksysteme

Mehr

Semantic Wiki Eine Erweiterung des Wiki-Konzepts von Harald Cichos

Semantic Wiki Eine Erweiterung des Wiki-Konzepts von Harald Cichos Semantic Wiki Eine Erweiterung des Wiki-Konzepts von Harald Cichos Seminar: Semantic Web Wintersemester 2005/2006 Universität Jena Seminarleiter: Prof. Dr. C. Beckstein, Dr. H. Sack, Dipl.-Inform. H. Peter

Mehr

Full Text Search in Databases

Full Text Search in Databases Full Text Search in Databases Verfasser: Stefan Kainrath (0651066) h0651066@wu-wien.ac.at 0664/1327136 Betreuer: Dipl.-Ing. Mag. Dr. Albert Weichselbraun Inhaltsverzeichnis 1 Motivation... 3 2 Anforderungen...

Mehr

Workflow Systeme mit der Windows Workflow Foundation

Workflow Systeme mit der Windows Workflow Foundation Studiengang Electronic Business (EB) Diplomarbeit (280000) Workflow Systeme mit der Windows Workflow Foundation externe Betreuung durch Christoph Müller vorgelegt bei Prof. Dr. Michael Gröschel von Hans-Martin

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

Configuration Management mit Verbosy 17.04.2013 OSDC 2013. Eric Lippmann www.netways.de

Configuration Management mit Verbosy 17.04.2013 OSDC 2013. Eric Lippmann www.netways.de Configuration Management mit Verbosy 17.04.2013 OSDC 2013 Eric Lippmann Kurzvorstellung NETWAYS Expertise OPEN SOURCE SYSTEMS MANAGEMENT OPEN SOURCE DATA CENTER Monitoring & Reporting Configuration Management

Mehr

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,

Mehr

Praktikum Ingenieurinformatik (PI)

Praktikum Ingenieurinformatik (PI) Praktikum Ingenieurinformatik (PI) Verteilte Versionskontrolle mit Git und Github Björn Meyer Fachgebiet Technische Informatik 1 Agenda Einleitung Motivation Versionskontrolle Ansätze Git Funktionen Arbeiten

Mehr

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector 7.4 Analyse anhand der SQL-Trace 337 7.3.5 Vorabanalyse mit dem Code Inspector Der Code Inspector (SCI) wurde in den vorangegangenen Kapiteln immer wieder erwähnt. Er stellt ein paar nützliche Prüfungen

Mehr

Git Eine Einführung. LinuxTag 2013, Berlin. Julius Plenz. 22. Mai 2013

Git Eine Einführung. LinuxTag 2013, Berlin. Julius Plenz. 22. Mai 2013 Git Eine Einführung LinuxTag 2013, Berlin Julius Plenz 22. Mai 2013 Ablauf Versionskontrolle: Zentral vs. Dezentral Historischer Kurzabriss zu Git Das Objektmodell wie funktioniert Git? Merge vs. Rebase

Mehr

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung

Mehr

Konzeption eines Enterprise 2.0 Projektmanagement - Tool mit Beteiligung diverser Stake Holder. Bachelorarbeit

Konzeption eines Enterprise 2.0 Projektmanagement - Tool mit Beteiligung diverser Stake Holder. Bachelorarbeit Konzeption eines Enterprise 2.0 Projektmanagement - Tool mit Beteiligung diverser Stake Holder Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft

Mehr

Zentrale und Dezentrale Versionsverwaltung in Open Source Projekten Konzeptvorstellung Masterarbeit

Zentrale und Dezentrale Versionsverwaltung in Open Source Projekten Konzeptvorstellung Masterarbeit Zentrale und Dezentrale Versionsverwaltung in Open Source Projekten Konzeptvorstellung Masterarbeit Jana von dem Berge Institut für Informatik FU Berlin 05.12.08 Zentrale und Dezentrale Versionsverwaltung

Mehr

Projektstudium Wirtschaftsinformatik

Projektstudium Wirtschaftsinformatik Projektstudium Das Projektstudium ist eine Pflichtveranstaltung für alle Studenten des BSc. Die folgenden Projekte werden im Sommersemester 2015 im Rahmen des Projektstudiums (Modulnr. IEF216) angeboten:

Mehr

Makros für SolidWorks und Excel

Makros für SolidWorks und Excel Inhalt 1 Einleitung... 1 2 Viele SolidWorks-Dateien umbenennen und im Feature-Baum austauschen (SolidWorks + Excel)... 2 2.1 Anwendungsfälle... 2 2.2 Features... 2 2.3 Vorrausetzungen... 2 2.4 Ihr Gewinn...

Mehr

SemTalk Services Stand: Februar 2015

SemTalk Services Stand: Februar 2015 SemTalk Services Stand: Was sind SemTalk Services? Navigation, Suche, Kommentierung, Reporting und andere Funktionalitäten über eine große Menge von Prozessen, Objekten und Dokumenten in veröffentlichten

Mehr

Hochschule Heilbronn Technik Wirtschaft Informatik

Hochschule Heilbronn Technik Wirtschaft Informatik Hochschule Heilbronn Technik Wirtschaft Informatik Studiengang Electronic Business Diplomarbeit "Java-Frameworks für Rich Internet Applications" vorgelegt bei Professor Dr. Michael Gröschel von Tushig

Mehr

Visualisierung der Eidolon Auswertung. VisEiA. Graphischer Client für das Emailspiel Eidolon

Visualisierung der Eidolon Auswertung. VisEiA. Graphischer Client für das Emailspiel Eidolon Visualisierung der Eidolon Auswertung VisEiA Graphischer Client für das Emailspiel Eidolon Entstanden im Ramen einer Seminararbeit in Informatik Universität Fribourg, Schweiz david.buchmann@gmx.net http://getit.at/viseia/

Mehr

Metadata Service Respository (MDS) - Sehen, lernen, verstehen!

Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Carsten Wiesbaum esentri AG Schlüsselworte Metadata Service Repository, MDS, Oracle Fusion Middleware Einleitung Früher oder später wird jeder

Mehr

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Feinentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Feinentwurf Softwareentwicklungspraktikum Sommersemester 2007 Feinentwurf Auftraggeber Technische Universität Braunschweig

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Finaler Testbericht. Finaler Testbericht. 1 Einführung 2. 1.1 Warum Softwaretests?... 2

Finaler Testbericht. Finaler Testbericht. 1 Einführung 2. 1.1 Warum Softwaretests?... 2 Inhaltsverzeichnis 1 Einführung 2 1.1 Warum Softwaretests?.................................... 2 2 Durchgeführte Tests 2 2.1 Test: allgemeine Funktionalität............................... 2 2.1.1 Beschreibung.....................................

Mehr

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik Bearbeiter: Shuangqing He Betreuer: Toralf Kirsten, Michael Hartung Universität

Mehr

P R O D U K T D A T E N B L A T T

P R O D U K T D A T E N B L A T T CETES P R O D U K T D A T E N B L A T T Komponente Testmanagement Version 1.0 CETES - Produktdatenblatt Testmanagement 1. Technische Anforderungen Rechner für Testmanagement Betriebssysteme: Windows XP

Mehr

Software Engineering in

Software Engineering in Software Engineering in der Werkzeuge für optimierte LabVIEW-Entwicklung Folie 1 Best Practices Requirements Engineering Softwaretest Versionsmanagement Build- Automatisierung Folie 2 Arbeiten Sie im Team?

Mehr

Bachelor Thesis an der Fachhochschule Kiel, Fachbereich Wirtschaft. Sommersemester 2011. : Prof. Dr. Doris Weßels

Bachelor Thesis an der Fachhochschule Kiel, Fachbereich Wirtschaft. Sommersemester 2011. : Prof. Dr. Doris Weßels Handlungsempfehlungen zur Nutzung von Social Media zur Gestaltung von Wissensmarktplätzen am Beispiel des europäischen Förderprojektes Win-Vin: Wissen nutzen im Norden Bachelor Thesis an der Fachhochschule

Mehr

Integration mit Service Repositories zur SOA Governance

Integration mit Service Repositories zur SOA Governance Integration mit Service Repositories zur SOA Governance Nürnberg, 10.11.2009 I N H A L T 1. SOA Governance 2. Service Repository 3. Modelle und Service Repository 4. Modell-Driven SOA I N H A L T 1. SOA

Mehr

Befragung und empirische Einschätzung der Praxisrelevanz

Befragung und empirische Einschätzung der Praxisrelevanz Befragung und empirische Einschätzung der Praxisrelevanz eines Vorgehensmodells zur Auswahl von CRM-Systemen D I P L O M A R B E I T zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Oberseminar Softwareentwicklung

Oberseminar Softwareentwicklung Oberseminar Softwareentwicklung Data structures programs / Daten strukturieren Programme Pieter Hauffe Data structures programs Die Wahl der Datenrepräsentation in Software beeinflusst die gesamte Entwicklung

Mehr

Apache Lucene. Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org

Apache Lucene. Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org Apache Lucene Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org 1 Apache Apache Software Foundation Software free of charge Apache Software

Mehr

Was ist ein Compiler?

Was ist ein Compiler? Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?

Mehr

Verwendung der Support Webseite

Verwendung der Support Webseite amasol Dokumentation Verwendung der Support Webseite Autor: Michael Bauer, amasol AG Datum: 19.03.2015 Version: 3.2 amasol AG Campus Neue Balan Claudius-Keller-Straße 3 B 81669 München Telefon: +49 (0)89

Mehr

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Dokumentation zum Projekt Mail-Adapter in SAP PI 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Inhalt 1. Einleitung... 2 2. Vorgehen... 3 1. Datentyp für die Mail einrichten... 3 2. Message Typen

Mehr

Grob- und Detailplanung bei der Implementierung nutzen

Grob- und Detailplanung bei der Implementierung nutzen Softwarearchitektur Grob- und Detailplanung bei der Implementierung nutzen Bereich Realisierung Aktivität Softwareinkrement realisieren Ziele Vermitteln einer Orientierungshilfe für alle Entwickler Etablierung

Mehr

SOLISYON GMBH TOBIAS GRUBER BEN WEISSMAN. Analyse von Dimensions-Schlüsselfehlern bei der Aufbereitung von SSAS Datenbanken

SOLISYON GMBH TOBIAS GRUBER BEN WEISSMAN. Analyse von Dimensions-Schlüsselfehlern bei der Aufbereitung von SSAS Datenbanken WEITER BLICKEN. MEHR ERKENNEN. BESSER ENTSCHEIDEN. Analyse von Dimensions-Schlüsselfehlern bei der Aufbereitung von SSAS Datenbanken SOLISYON GMBH TOBIAS GRUBER BEN WEISSMAN ANALYSE VON OLAP-AUFBEREITUNGSFEHLERN

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Konfigurationsmanagement

Konfigurationsmanagement Konfigurationsmanagement Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Re-usable Content in 3D und Simulationssystemen Dozent: Prof. Dr. Manfred Thaller Referent: Jannes

Mehr

Vector Software. Verwendung des VectorCAST/Requirement Gateways mit DOORS > > >

Vector Software. Verwendung des VectorCAST/Requirement Gateways mit DOORS > > > Vector Software W H I T E P A P E R Verwendung des VectorCAST/Requirement Gateways mit DOORS Einleitung VectorCAST/Requirements Gateway ist ein an Add-on Modul für VectorCAST/C++ und VectorCAST/Ada Modul

Mehr

Wo sind meine Anforderungen?

Wo sind meine Anforderungen? Whitepaper Telekommunikation Wo sind meine Anforderungen? Eine effektive Lösung auf Basis von Confluence und JIRA 2011 SYRACOM AG 1 Einleitung Erfahrene Projektmitarbeiter sehen sich oftmals im Projektalltag

Mehr

Online Analytical Processing

Online Analytical Processing Online Analytical Processing Online Analytical Processing Online Analytical Processing (OLAP) ermöglicht die multidimensionale Betrachtung von Daten zwecks E rmittlung eines entscheidungsunterstützenden

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

4 Grundlagen der Datenbankentwicklung

4 Grundlagen der Datenbankentwicklung 4 Grundlagen der Datenbankentwicklung In diesem Kapitel werden wir die Grundlagen der Konzeption von relationalen Datenbanken beschreiben. Dazu werden Sie die einzelnen Entwicklungsschritte von der Problemanalyse

Mehr

Normfall 7.2. Whitepaper. Erstellen eines Normfall Projektspeichers auf Basis einer vorhandenen Installation von:

Normfall 7.2. Whitepaper. Erstellen eines Normfall Projektspeichers auf Basis einer vorhandenen Installation von: Normfall 7.2 Whitepaper Erstellen eines Normfall Projektspeichers auf Basis einer vorhandenen Installation von: Microsoft SQL Server 2008 R2/2012/2014 2014 Normfall GmbH Alle Rechte vorbehalten. Vorbemerkungen

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

Schriften zu Familienunternehmen Band 9. Herausgegeben vom Wittener Institut für Familienunternehmen

Schriften zu Familienunternehmen Band 9. Herausgegeben vom Wittener Institut für Familienunternehmen Schriften zu Familienunternehmen Band 9 Herausgegeben vom Wittener Institut für Familienunternehmen Dr. Alexander Leberling E-Commerce-Strategien von Familienunternehmen Erfolgs- und Risikopotenziale Mit

Mehr

1 Einleitung. Betriebswirtschaftlich administrative Systeme

1 Einleitung. Betriebswirtschaftlich administrative Systeme 1 1 Einleitung Data Warehousing hat sich in den letzten Jahren zu einem der zentralen Themen der Informationstechnologie entwickelt. Es wird als strategisches Werkzeug zur Bereitstellung von Informationen

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Dokumentation Authentische Strukturdaten

Dokumentation Authentische Strukturdaten Dokumentation Version 1.1 Version 1.0 Seite 1/18 31.10.2008 Inhaltsverzeichnis 1. Allgemeines...3 1.1 Phasenmodell...3 1.1.1 Phase I...3 1.1.2 Phase II...3 1.1.3 Phase III...3 1.2 Datenaktualität...3 2.

Mehr

Werkzeuge für das Softwarekonfigurationsmanagement

Werkzeuge für das Softwarekonfigurationsmanagement Werkzeuge für das Softwarekonfigurationsmanagement Hauptseminar Frank Herrmann Technische Universität Dresden Institut für Systemarchitektur Gliederung Ziele des Softwarekonfigurationsmanagements SCM-Standardwerkzeug

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

design kommunikation development

design kommunikation development http://www.dkd.de dkd design kommunikation development Apache Solr - A deeper look Stefan Sprenger, Developer dkd Olivier Dobberkau, Geschäftsführer dkd Agenda Einführung Boosting Empfehlungen Ausblick

Mehr

ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik

ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik ARFA ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten

Mehr

Modellbasierte Softwareentwicklung mit EMF

Modellbasierte Softwareentwicklung mit EMF Softwaretechnik I, WS 2009/10 Modellbasierte Softwareentwicklung mit EMF Übungsblatt 5 13. November 2009 Organisatorisches Zur Bearbeitung der Übungsaufgabe stehen Ihnen die folgenden 3 Wochen (Kalenderwochen

Mehr

Risikomanagement für IT-Projekte: Vergleich von Risiken und Methoden

Risikomanagement für IT-Projekte: Vergleich von Risiken und Methoden Sperrvermerk Risikomanagement für IT-Projekte: Vergleich von Risiken und Methoden Bachelorarbeit Zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft

Mehr

Bestandsabgleich mit einem Onlineshop einrichten

Bestandsabgleich mit einem Onlineshop einrichten Bestandsabgleich mit einem Onlineshop einrichten Mit unserem Tool rlonlineshopabgleich können die Warenbestände zwischen unserem Programm raum level und einem Onlineshop abgeglichen werden. Einleitend

Mehr

Antwortzeitverhalten von Online Storage Services im Vergleich

Antwortzeitverhalten von Online Storage Services im Vergleich EPOD Encrypted Private Online Disc Antwortzeitverhalten von Online Storage Services im Vergleich Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee

Mehr

Internetauftritt: Hochschulpartnerschaften - Datenbank

Internetauftritt: Hochschulpartnerschaften - Datenbank Hochschule für Technik, Wirtschaft und Kultur Leipzig (FH) University of Applied Sciences Internetauftritt: Hochschulpartnerschaften - Datenbank Modul: Anleitung für Typo3 bzgl. Partnerhochschulen einpflegen

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

Business Intelligence Praktikum 1

Business Intelligence Praktikum 1 Hochschule Darmstadt Business Intelligence WS 2013-14 Fachbereich Informatik Praktikumsversuch 1 Prof. Dr. C. Wentzel Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.10.2013 Business Intelligence Praktikum

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Quellen: Towards a Human Computer InteractionPerspective. Übersicht. Warum visuelle Sprachen? Begriffsdefinitionen: Hinderungsgründe bisher:

Quellen: Towards a Human Computer InteractionPerspective. Übersicht. Warum visuelle Sprachen? Begriffsdefinitionen: Hinderungsgründe bisher: Quellen: Towards a Human Computer InteractionPerspective von B.K. & B.K. LV: Visuelle Sprachen (03-763) Universität Bremen WS 2001/02 Visual Language Theory: Towards a Human- Computer Perspective; N. Hari

Mehr

Benutzerdokumentation Hosted Backup Services Client

Benutzerdokumentation Hosted Backup Services Client Benutzerdokumentation Hosted Backup Services Client Geschäftshaus Pilatushof Grabenhofstrasse 4 6010 Kriens Version 1.1 28.04.2014 Inhaltsverzeichnis 1 Einleitung 4 2 Voraussetzungen 4 3 Installation 5

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

BIF/SWE 1 - Übungsbeispiel

BIF/SWE 1 - Übungsbeispiel Arthur Zaczek Sep 2015 1 Übungsbeispiel embedded sensor cloud 1.1 Aufgabenstellung Auf einem [[tragen Sie bitte hier Ihr Embedded System Ihrer Wahl ein]] soll ein Messdaten Erfassungssystem implementiert

Mehr

Business Intelligence Praktikum 1

Business Intelligence Praktikum 1 Hochschule Darmstadt Business Intelligence SS 2014 Fachbereich Informatik Praktikumsversuch 1 Prof. Dr. C. Wentzel Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 07.05.2014 Business Intelligence Praktikum

Mehr

1.1 Das Ziel: Basisdaten strukturiert darzustellen

1.1 Das Ziel: Basisdaten strukturiert darzustellen MS Excel 203 Kompakt PivotTabellen. Das Ziel: Basisdaten strukturiert darzustellen Jeden Tag erhalten wir umfangreiche Informationen. Aber trotzdem haben wir oft das Gefühl, Entscheidungen noch nicht treffen

Mehr

Cell Computing Model Projektantrag

Cell Computing Model Projektantrag Projektantrag Autor Benjamin Hadorn I01-2 E-Mail bhadorn@swissinfo.org Ablage/Website http://bhadorn.kdl.ch Betreuer P.Schwab, G.Schwab Datum 03.03.05 Version 0.1.0.1 Benjamin Hadorn I01-2 Page 1 of 12

Mehr

eclipse - EGit HowTo

eclipse - EGit HowTo eclipse - EGit HowTo An der HSR steht den Studierenden ein git Server für die Versionskontrolle zur Verfügung. Dieses HowTo fasst die notwendigen Informationen zur Verwendung dieses Dienstes in Verwendung

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

GitLab als alternative Entwicklungsplattform zu Github.com

GitLab als alternative Entwicklungsplattform zu Github.com Entwicklungsplattform zu Github.com Chemnitzer Linux-Tage 2015 21. März 2015 Ralf Lang Linux Consultant/Developer lang@b1-systems.de - Linux/Open Source Consulting, Training, Support & Development GitLab

Mehr

Anleitung zum Import und der Umwandlung von Lastschriftvorlagen in SEPA-Lastschriftvorlagen

Anleitung zum Import und der Umwandlung von Lastschriftvorlagen in SEPA-Lastschriftvorlagen Seite 1 von 5 Anleitung zum Import und der Umwandlung von Lastschriftvorlagen in SEPA-Lastschriftvorlagen Mit dieser Anleitung möchten wir Ihnen Schritt für Schritt bei der Umstellung Ihrer bereits vorhandenen

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013 Access 2013 Susanne Weber 1. Ausgabe, 1. Aktualisierung, Juni 2013 Grundlagen für Anwender ACC2013 2 Access 2013 - Grundlagen für Anwender 2 Mit Datenbanken arbeiten In diesem Kapitel erfahren Sie was

Mehr

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 374

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 374 DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN Nr. 374 Eignung von Verfahren der Mustererkennung im Process Mining Sabrina Kohne

Mehr

U P T I M E products. SAP-Archivierung

U P T I M E products. SAP-Archivierung U P T I M E products SAP-Archivierung Zerfifizierte Archiv-Schnittstelle Daten und Dokumente eines SAP-Systems können über den SAP Archive Link in ein Archivsystem ausgelagert und bei Bedarf wieder zurückgeladen

Mehr

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von.

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von. HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG Fakultät Informatik Das Luzifer-Rätsel Prof. Dr. Hartmut Plesske Wintersemester 2008/09 von Max Nagl nagl@fh-konstanz.de Inhaltsverzeichnis Inhaltsverzeichnis

Mehr

Effizientes Änderungsmanagement in Outsourcing- Projekten

Effizientes Änderungsmanagement in Outsourcing- Projekten Effizientes Änderungsmanagement in Outsourcing- Projekten Dr. Henning Sternkicker Rational Software IBM Deutschland GmbH Sittarder Straße 31 52078 Aachen henning.sternkicker@de.ibm.com Abstract: Es werden

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert The Rational Unified Process Eine Einführung von T. Langer und A. Nitert Übersicht Einleitung Probleme der SW-Entwicklung, Best Practices, Aufgaben Was ist der Rational Unified Process? Struktur des Prozesses

Mehr

ZENITY - Die Software für Ihre Unternehmens-Releaseplanung

ZENITY - Die Software für Ihre Unternehmens-Releaseplanung ZENITY - Die Software für Ihre Unternehmens-Releaseplanung RELEASEPLANUNG HEUTE Heutige Anwendungen in in Grossunternehmen sind sind keine keine alleinstehenden alleinstehenden Insel-Applikationen Insel-Applikationen

Mehr