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

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

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

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

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

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

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

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

Wiki-basierte Dokumentation von Software-Entwicklungsprozessen

Wiki-basierte Dokumentation von Software-Entwicklungsprozessen Wiki-basierte Dokumentation von Software-Entwicklungsprozessen Erfahrungen aus der industriellen Praxis Fraunhofer IESE Kaiserslautern Inhalt Wiki-basierte Dokumentation von Software-Entwicklungsprozessen

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

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

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

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

Leistungsbeschreibung. PHOENIX Archiv. Oktober 2014 Version 1.0

Leistungsbeschreibung. PHOENIX Archiv. Oktober 2014 Version 1.0 Leistungsbeschreibung PHOENIX Archiv Oktober 2014 Version 1.0 PHOENIX Archiv Mit PHOENIX Archiv werden Dokumente aus beliebigen Anwendungen dauerhaft, sicher und gesetzeskonform archiviert. PHOENIX Archiv

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

Handover von Daten IBM Rational DOORS StartUp Training - Teil 2

Handover von Daten IBM Rational DOORS StartUp Training - Teil 2 Handover von Daten IBM Rational DOORS StartUp Training - Teil 2 Inhalt: Überblick Daten Import & Export Import von RTF Dateien Import von Spreadsheet Daten Export als RTF und HTML DOORS Repository In-Export

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

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

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

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

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

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

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

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

31.01.2013. Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

31.01.2013. Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle Vorlesung Programmieren Versionskontrolle Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Versionskontrollsysteme Wie organisiert man die

Mehr

Das Studiengangsinformationssystem (SGIS)

Das Studiengangsinformationssystem (SGIS) Das Studiengangsinformationssystem (SGIS) Manual für Typo3-Redakteure Version 1.a Mai 2015 Kontakt: Referat 1.4 - Allgemeine Studienberatung und Career Service Christian Birringer, christian.birringer@uni-rostock.de

Mehr

Unterrichtsvorhaben Q2- I:

Unterrichtsvorhaben Q2- I: Schulinterner Lehrplan Informatik Sekundarstufe II Q2 III. Qualifikationsphase Q2 Unterrichtsvorhaben Q2- I: Im ersten Halbjahr 1 Klausur, im 2. Halbjahr ein Projekt. Die Länge der Klausur beträgt 90 min.

Mehr

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit IT-basierte Erstellung von Nachhaltigkeitsberichten Diplomarbeit zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen Fakultät der Leibniz Universität Hannover vorgelegt von

Mehr

Abbildung 1: Titelbild (Quelle: http://www.oobject.com/algorithmic-architecture/follymorph-continuum-group-finalpresentation/3267/)

Abbildung 1: Titelbild (Quelle: http://www.oobject.com/algorithmic-architecture/follymorph-continuum-group-finalpresentation/3267/) Abbildung 1: Titelbild (Quelle: http://www.oobject.com/algorithmic-architecture/follymorph-continuum-group-finalpresentation/3267/) Enterprise Continuum Wiederverwendung von Unternehmensarchitekturen Modul

Mehr

Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen.

Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen. Lucene Hilfe Begriffe Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen. Ein einzelner Begriff ist ein einzelnes

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

Analysen sind nur so gut wie die Datenbasis

Analysen sind nur so gut wie die Datenbasis Analysen sind nur so gut wie die Datenbasis Datenaufbereitung und Sicherung der Datenqualität durch den kontextbasierten MIOsoft Ansatz. Daten gelten längst als wichtiger Produktionsfaktor in allen Industriebereichen.

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

Markup-basiertes Spezifikationsund Anforderungsmanagement in agilen Softwareprojekten

Markup-basiertes Spezifikationsund Anforderungsmanagement in agilen Softwareprojekten Roman Roelofsen Prof. Dr. Stephan Wilczek Markup-basiertes Spezifikationsund Anforderungsmanagement in agilen Softwareprojekten Konferenz Software Engineering & Management 2015 Dresden 19.03.2015 3 Rollen

Mehr

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung 2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer Beitrag von Peter Küsters Formen des Datentransfers bei der Erfassung von Websites Im folgenden werden Methoden und Software zur Erfassung vorgestellt.

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git Einführung in Verteilte Versionskontrollsysteme am Beispiel von Git Diplominformatiker (BA), Git Benutzer seit 2009 Daniel Böhmer Leibniz Institut für Troposphärenforschung 8. März 2012 Verteilte Versionskontrollsysteme/Git

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

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

Projektgruppe. Verfolgbarkeit von Anforderungen im Software-Entwicklungsprozess

Projektgruppe. Verfolgbarkeit von Anforderungen im Software-Entwicklungsprozess Projektgruppe Christoph Fröhlich Verfolgbarkeit von Anforderungen im Software-Entwicklungsprozess 4. Juni 2010 Motivation Anforderungen Software 2 Motivation X in Zeile heißt, dass Anforderung durch Systemkomponente

Mehr

Bekannte Tools in einem agilen Ansatz. Frank Schwichtenberg SourceTalkTage 2013 Göttingen, 2.10.2013

Bekannte Tools in einem agilen Ansatz. Frank Schwichtenberg SourceTalkTage 2013 Göttingen, 2.10.2013 Bekannte Tools in einem agilen Ansatz Frank Schwichtenberg SourceTalkTage 2013 Göttingen, 2.10.2013 Vorher Lange Planungszeiten und Releasezyklen Manche Features brauchten lange und wurden nicht gebraucht

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Die folgenden Features gelten für alle isquare Spider Versionen:

Die folgenden Features gelten für alle isquare Spider Versionen: isquare Spider Die folgenden s gelten für alle isquare Spider Versionen: webbasiertes Management (Administratoren) Monitoring Sichten aller gefundenen Beiträge eines Forums Statusüberprüfung Informationen

Mehr

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de Innovator 11 excellence DDL importieren Data-Definition-Language-Dateien in Datenbankschema importieren HowTo www.mid.de Zweck In Innovator Data excellence können Sie mit dem DDL-Import Ihr physisches

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

6 InfoCubes erstellen und konfigurieren

6 InfoCubes erstellen und konfigurieren InfoCubes bilden die Reportingschicht in der LSA; sie sind für die Performance des Reportings entscheidend. In diesem Kapitel stellen wir Ihnen vor, welche InfoCubes es gibt und wie Sie damit arbeiten.

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

Dokumentation für die Arbeit mit dem Redaktionssystem (Content Management System -CMS) zur Wartung Ihrer Homepage (Website)

Dokumentation für die Arbeit mit dem Redaktionssystem (Content Management System -CMS) zur Wartung Ihrer Homepage (Website) Dokumentation für die Arbeit mit dem Redaktionssystem (Content Management System -CMS) zur Wartung Ihrer Homepage (Website) Redaktion Mit der Redaktion einer Webseite konzentrieren Sie sich auf die inhaltliche

Mehr

Software Engineering Übung 4 Architektur, Modulentwurf

Software Engineering Übung 4 Architektur, Modulentwurf software evolution & architecture lab Software Engineering Übung 4 Architektur, Modulentwurf 1 Informationen 1.1 Daten Ausgabe Di 27.10.2009 Abgabe So 08.11.2009 bis 23:59 Uhr Besprechung am Di 17.11.2009

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

Software Configuration Management (SCM)

Software Configuration Management (SCM) Software Configuration Management () und n Einzelarbeit Namensgebung und Nummerierung Anleitung : Problemsituationen beim Arbeiten im Team Mehrere Entwickler ändern die gleichen Klassen Die Weiterentwicklung

Mehr

Software Engineering I

Software Engineering I Software I Übungsblatt 1 + 2 Claas Pinkernell Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 Welche Werkzeuge? Programmiersprache Java Integrierte Entwicklungsumgebung Eclipse

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

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

A-Plan 12.0. Zeiterfassung 2.0. Ausgabe 1.1. Copyright. Warenzeichenhinweise

A-Plan 12.0. Zeiterfassung 2.0. Ausgabe 1.1. Copyright. Warenzeichenhinweise A-Plan 12.0 Zeiterfassung 2.0 Ausgabe 1.1 Copyright Copyright 1996-2014 braintool software gmbh Kein Teil dieses Handbuches darf ohne ausdrückliche Genehmigung von braintool software gmbh auf mechanischem

Mehr

Beschreibung sicherheitsrelevanten Verhaltens in der Open Source Softwareentwicklung

Beschreibung sicherheitsrelevanten Verhaltens in der Open Source Softwareentwicklung Beschreibung sicherheitsrelevanten Verhaltens in der Open Source Softwareentwicklung Zwischenpräsentation Masterarbeit Tobias Opel Institut für Informatik FU Berlin 08.05.2008 Agenda Ziel der Arbeit Aufgaben

Mehr

Bachelor/Master-Thesis (für den Standort Stuttgart) Treiberbasierte Planung

Bachelor/Master-Thesis (für den Standort Stuttgart) Treiberbasierte Planung Bachelor/Master-Thesis (für den Standort Stuttgart) Treiberbasierte Planung Hochschulstudium (Wirtschaftsinformatik oder ein vergleichbarer Studiengang) Fachliche und technische Kenntnisse im Bereich Business

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

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

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

Glossarverwaltung GV3

Glossarverwaltung GV3 Glossarverwaltung GV3 Designbeschreibung VQWiki Leszek Kotas Sebastian Knappe Gerrit Mattausch Raimund Rönn 23. Mai 2004 Inhaltsverzeichnis 1 Allgemeines 3 1.1 Kurzcharakteristik.................................

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

Subversion. von Stefan Arndt, Christian Autermann und Dustin Demuth. 5. November 2009

Subversion. von Stefan Arndt, Christian Autermann und Dustin Demuth. 5. November 2009 Subversion von Stefan Arndt, Christian Autermann und Dustin Demuth 5. November 2009 Inhaltsverzeichnis 1 Versionierung 1 1.1 Zweck von Versionierung................................. 1 1.2 Geschichtliches......................................

Mehr

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK Mastermind mit dem Android SDK Übersicht Einführungen Mastermind und Strategien (Stefan) Eclipse und das ADT Plugin (Jan) GUI-Programmierung (Dominik) Mastermind und Strategien - Übersicht Mastermind Spielregeln

Mehr

Lerox DB/2 Datenbankreferenz in QlikView für IBM System AS/400, iseries i5, System i

Lerox DB/2 Datenbankreferenz in QlikView für IBM System AS/400, iseries i5, System i Lerox DB/2 Datenbankreferenz in QlikView für IBM System AS/400, iseries i5, System i Inhaltsverzeichnis Überblick... 3 Die QlikView Applikation im Kontext... 4 Technische Rahmenbedinungen... 5 Funktionelle

Mehr

Web Data Management Systeme

Web Data Management Systeme Web Data Management Systeme Seminar: Web-Qualitätsmanagement Arne Frenkel Agenda Einführung Suchsysteme Suchmaschinen & Meta-Suchmaschinen W3QS WebSQL WebLog Information Integration Systems Ariadne TSIMMIS

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

YAKINDU Requirements. Requirements Engineering, Management and Traceability with Eclipse. Lars Martin, itemis AG. itemis AG

YAKINDU Requirements. Requirements Engineering, Management and Traceability with Eclipse. Lars Martin, itemis AG. itemis AG YAKINDU Requirements Requirements Engineering, Management and Traceability with Eclipse Lars Martin, itemis AG Agenda YAKINDU Requirements Motivation: Warum Requirements Engineering? Grundlagen: Requirements

Mehr

STOFF- IDENT. System DAIOS. Workshop: STOFF-IDENT & openmasp 18. / 19.04.2013 Freising. marco.luthardt@hswt.de

STOFF- IDENT. System DAIOS. Workshop: STOFF-IDENT & openmasp 18. / 19.04.2013 Freising. marco.luthardt@hswt.de STOFF- IDENT System DAIOS Workshop: STOFF-IDENT & openmasp 18. / 19.04.2013 Freising marco.luthardt@hswt.de Überblick 1. Plattform - Vorschau 2. openmasp (OM) 3. STOFF-IDENT(SI) 4. Plattform - Fazit Folie

Mehr

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden 27.05.13 Autor / Redakteur: Nach Unterlagen von National Instruments / Hendrik Härter Messdaten

Mehr

Managing OpenNMS with Redmine

Managing OpenNMS with Redmine Managing OpenNMS with Redmine Herzlich willkommen, mein Name ist Marcel Fuhrmann. Ich arbeite in einer hier in Fulda ansässigen Firma und bin überzeugter OpenNMS Nutzer. Im Laufe der Zeit musste ich feststellen,

Mehr

Agile Programmierung - Theorie II SCRUM

Agile Programmierung - Theorie II SCRUM Agile Programmierung - Theorie II SCRUM Arne Brenneisen Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Seminar Softwareentwicklung in der Wissenschaft Betreuer: Christian

Mehr

codia Schriftgutverwaltung / Aktenplan

codia Schriftgutverwaltung / Aktenplan codia Schriftgutverwaltung / Aktenplan codia Software GmbH Auf der Herrschwiese 15a 49716 Meppen Telefon: 0 59 31/93 98 0 Telefax: 0 59 31/93 98 25 E-Mail: info@codia.de Internet: www.codia.de [1] 1 codia

Mehr

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Neue Technologien effizient nutzen Ehningen, 3. Juli 2014 Rodney Krick rk@aformatik.de aformatik Training & Consulting GmbH & Co. KG

Mehr

A) Durchsuchen von Datenbanken im Internet durch Endnote

A) Durchsuchen von Datenbanken im Internet durch Endnote EINLEITUNG/ANWEISUNGEN ZU DIESEM TEXT Wir werden die obere Liste (File/ Edit usw.) benutzen, obwohl die meisten Funktionen auch möglich mit rechtem Mausklick, mit Kombinationen der Tastatur oder mit den

Mehr

Betriebliche Software: Produktdaten-Management

Betriebliche Software: Produktdaten-Management Betriebliche Software: Produktdaten-Management Betriebliche Software: Produktdaten-Management Aufgrund einer großen Anzahl an neuen gesetzlichen Forderungen, die auf die Qualität, Sicherheit oder Umweltverträglichkeit

Mehr

Personalisierung. Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung. Data Mining.

Personalisierung. Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung. Data Mining. Personalisierung Personalisierung Thomas Mandl Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung Klassifikation Die Nutzer werden in vorab bestimmte Klassen/Nutzerprofilen

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

Content Management Systeme auf dem Weg zum Semantic Web

Content Management Systeme auf dem Weg zum Semantic Web Content Management Systeme auf dem Weg zum Semantic Web Semantic Web baut auf der Anreicherung bestehender Datenbestände mit strukturierten Metadaten auf. Um die vieldiskutierten Vorteile von Semantic

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

Berichte aus der Medizinischen Informatik und Bioinformatik. Günther Schadow. Krankenhauskommunikation mit HL7

Berichte aus der Medizinischen Informatik und Bioinformatik. Günther Schadow. Krankenhauskommunikation mit HL7 Berichte aus der Medizinischen Informatik und Bioinformatik Günther Schadow Krankenhauskommunikation mit HL7 Analyse, Implementation und Anwendungeines Protokollstandards für medizinische Datenkommunikation

Mehr

Bugtracking Tools codecentric GmbH

Bugtracking Tools codecentric GmbH Bugtracking Tools codecentric GmbH Rainer Vehns, Java Enterprise in der Deutschen Rentenversicherung. 29. Oktober 2008 Seite 1 Agenda Bug Tracking Ziele und Abgrenzung Anforderungen an Bugtracking Tools

Mehr

Universität Passau. Betriebswirtschaftslehre mit Schwerpunkt Internationales Management Prof. Dr. Carola Jungwirth. Seminararbeit

Universität Passau. Betriebswirtschaftslehre mit Schwerpunkt Internationales Management Prof. Dr. Carola Jungwirth. Seminararbeit Universität Passau Betriebswirtschaftslehre mit Schwerpunkt Internationales Management Prof. Dr. Carola Jungwirth Seminararbeit "E-Recruiting und die Nutzung von Social Media zur Rekrutierung von externen

Mehr

Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik Fachgebiet Didaktik der Informatik

Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik Fachgebiet Didaktik der Informatik Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik Fachgebiet Didaktik der Informatik Konzeption und prototypische Implementierung eines Knowledge-Servers mit Adaptern zur Integration

Mehr

Die nächste Revolution in der modelgetriebenen Entwicklung?

Die nächste Revolution in der modelgetriebenen Entwicklung? Die nächste Revolution in der modelgetriebenen Entwicklung? Me Johannes Kleiber Software Engineer bei FMC Johannes.Kleiber@fmc-ag.com Themen Überblick Window Workflow Foundation Workflows modellieren WF

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen: 1 Einführung in Datenbanksysteme Fast jeder kennt Excel und hat damit in seinem Leben schon einmal gearbeitet. In Excel gibt es Arbeitsblätter, die aus vielen Zellen bestehen, in die man verschiedene Werte

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

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

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

Einführung in Git. Dirk Deimeke. 19. August 2013. My own IT. ddeimeke (My own IT) Einführung in Git 19. August 2013 1 / 23

Einführung in Git. Dirk Deimeke. 19. August 2013. My own IT. ddeimeke (My own IT) Einführung in Git 19. August 2013 1 / 23 Einführung in Git Dirk Deimeke My own IT 19. August 2013 ddeimeke (My own IT) Einführung in Git 19. August 2013 1 / 23 Inhalt 1 Etwas Theorie Basiswissen Git 2 Praxis Installation Erstes Repository Besonderheiten

Mehr

EXASOL Anwendertreffen 2012

EXASOL Anwendertreffen 2012 EXASOL Anwendertreffen 2012 EXAPowerlytics Feature-Architektur EXAPowerlytics In-Database Analytics Map / Reduce Algorithmen Skalare Fkt. Aggregats Fkt. Analytische Fkt. Hadoop Anbindung R LUA Python 2

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

IAWWeb PDFManager. - Kurzanleitung -

IAWWeb PDFManager. - Kurzanleitung - IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die

Mehr

Verschiedene Arten des Datenbankeinsatzes

Verschiedene Arten des Datenbankeinsatzes 1 Beispiele kommerzieller DBMS: Kapitelinhalt Was charakterisiert und unterscheidet verschiedene Einsatzbereiche für. Welche prinzipiell unterschiedlichen Anforderungen ergeben sich für das DBMS bei Ein-

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

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

Was ist ein Computerprogramm?

Was ist ein Computerprogramm? Was ist ein Computerprogramm? Michael Sonntag Institut für Informationsverarbeitung und Mikroprozessortechnik (FIM) Johannes Kepler Universität Linz, Österreich sonntag@fim.uni-linz.ac.at 1 Problemaufriss

Mehr