Integration von Versionsverwaltungssystemen in die kooperative Programmierumgebung XPairtise

Größe: px
Ab Seite anzeigen:

Download "Integration von Versionsverwaltungssystemen in die kooperative Programmierumgebung XPairtise"

Transkript

1 FernUniversität in Hagen Fakultät für Mathematik und Informatik Integration von Versionsverwaltungssystemen in die kooperative Programmierumgebung XPairtise als Bachelorarbeit vorgelegt von Timo Kanera Iltisweg Troisdorf (Matrikel-Nr ) angefertigt am Lehrgebiet Praktische Informatik VI - Kooperative Systeme - der FernUniversität in Hagen Betreut durch Dr. Till Schümmer Juli 2008

2

3 Zusammenfassung Mit XPairtise entstand an der FernUniversität in Hagen ein Plug-in für die Entwicklungsumgebung Eclipse, das es räumlich entfernten Entwicklern erlaubt, kooperative Softwareentwicklung nach dem Prinzip des Distributed Pair Programming durchzuführen. Eines der Kernprobleme, die es dabei zu lösen gilt, ist die Synchronisation der benötigten Projektdaten zwischen den beteiligten Entwicklern. Bisher mussten hierfür grundsätzlich komplette Projektinhalte auf den zentralen XPairtise-Server übertragen werden, was schnell einen Performance-Engpass darstellen konnte. Im Zuge dieser Arbeit wird die Konzeption und Implementierung einer Erweiterung beschrieben, die es XPairtise ermöglicht, die Dienste der weit verbreiteten Versionsverwaltungssysteme CVS und Subversion verwenden zu können, um das für die Synchronisation anfallende Datenaufkommen zwischen dem XPairtise-Server und den Teilnehmern einer Pair-Programming-Sitzung zu minimieren. Zusätzlich wurde die Fähigkeit hinzugefügt, in einer einzelnen Sitzung mehrere Projekte verwenden zu können. iii

4

5 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung Aufbau dieser Arbeit Grundlagen Pair Programming Distributed Pair Programming Eclipse Das Eclipse-Plug-in XPairtise Die XPairtise-Architektur Versionsverwaltungssysteme CVS Subversion Anforderungsanalyse Ein Beispielszenario Betrachtung des Beispielszenarios Anforderungskatalog Stand der Technik Status Quo - Synchronisation von Ressourcen in XPairtise Verwandte Anwendungen XecliP Saros NetBeans Developer Collaboration Zusammenfassung Lösungskonzept Erweiterung der bestehenden Architektur Integration von Versionsverwaltungssystemen Die Eclipse Team API Wahl des Integrationsansatzes Wahl des Subversion-Plug-ins Umsetzung der Anforderungen Details der Umsetzung Übersicht über die Implementierung Paket de.fuh.xpairtise.common.network v

6 Inhaltsverzeichnis Paket de.fuh.xpairtise.common.replication.elements Paket de.fuh.xpairtise.common.util Paket de.fuh.xpairtise.plugin.core Paket de.fuh.xpairtise.plugin.core.resources Paket de.fuh.xpairtise.plugin.core.resources.vc Paket de.fuh.xpairtise.plugin.core.resources.util Paket de.fuh.xpairtise.plugin.ui.xpviews.sessiongallery Paket de.fuh.xpairtise.plugin.ui.util Paket de.fuh.xpairtise.server Paket de.fuh.xpairtise.server.xml Subversion-Integration durch separates Plug-in Interaktion der Komponenten Fazit Zusammenfassung Ausblick Literaturverzeichnis 65 A CD-Beilage 67 B Eidesstattliche Erklärung 69 vi

7 Abbildungsverzeichnis Abbildungsverzeichnis 2.1 Die XPairtise-Perspektive Die XPairtise-Netzwerk-Architektur Revisionsverlauf eines SVN-Projektes Die XecliP-Perspektive Der XecliP-Playback-View Die Saros-Netzwerk-Architektur Saros in Aktion Die Oberfläche des NetBeans-Developer-Collaboration-Moduls Sperrung einzelner Regionen im NetBeans-Editor Verteilung der Änderungen auf die Paketstruktur von XPairtise Klassendiagramm der Verwaltung von Ressourcen auf dem Client Commit-Dialog mit automatisch erstellter Kommentarvorlage Klassendiagramm der Integration von Versionsverwaltungssystemen Anzeige nötiger Änderungen während der initialen Synchronisation Änderungen an der Sitzungsübersicht Der überarbeitete Projektauswahldialog Dekoration mehrerer Projekte im Package Explorer Erkennung, Analyse und Versand einer Änderung Empfang und Reproduktion einer Änderung vii

8

9 1 Einleitung Die Arbeit in räumlich verteilten Gruppen ist auch in der Softwareentwicklung heute zunehmend der Normalfall. Pair Programming eignet sich in seiner herkömmlichen Form nur sehr eingeschränkt für den Einsatz in solchen Gruppen, da sich die Entwicklerpaare zwingend am selben Ort aufhalten müssen. Abhilfe können hier Software-Lösungen zur Durchführung von Distributed Pair Programming schaffen, die es unter Verwendung moderner Kommunikationsvebindungen auch entfernten Teilnehmern erlauben, Pair Programming zu betreiben. An der FernUniversität in Hagen entstand mit XPairtise [XPa08] ein solches Werkzeug in Form eines Plug-ins für die Entwicklungsumgebung Eclipse. Eine der grundlegenden Aufgaben dieser Werkzeuge ist die Synchronisation der benötigten Arbeitsdaten zwischen den Teilnehmern. XPairtise beruht auf einem klassischen Client-Server-Modell. Benötigte Projektdaten mussten bisher grundsätzlich komplett auf den zentralen XPairtise-Server übertragen und bei Bedarf von dort zu den einzelnen Teilnehmern übertragen werden. Dieser einheitliche Ansatz erleichterte zwar die Konzeption und Implementierung, kann sich jedoch schnell als Flaschenhals herausstellen, wenn Projektgröße und Teilnehmerzahl steigen und nur begrenzte Bandbreite zur Verfügung steht. Software-Projekte, die von verteilten Gruppen entwickelt werden, stehen jedoch in aller Regel bereits unter Kontrolle eines Versionsverwaltungssystems und werden von allen Entwicklern aus einem zentralen Repository bezogen. Es bietet sich daher an, diese bestehende Repository-Anbindung auch in XPairtise zu verwenden, um das zwischen den Teilnehmern einer Pair-Programming-Sitzung und dem XPairtise- Server für die Synchronisation von Projektdaten anfallende Datenaufkommen so weit wie möglich zu minimieren. Diese Arbeit beschreibt die Konzeption und Implementierung einer solchen Erweiterung von XPairtise. Zusätzlich wurde die Fähigkeit implementiert, in einer einzelnen Sitzung mehrere Projekte verwenden zu können. 1.1 Aufbau dieser Arbeit Nach dieser Einleitung gliedert sich der weitere Verlauf dieser Ausarbeitung in sechs weitere Kapitel: 1

10 1. Einleitung Kapitel 2 gibt zunächst einen Überblick über einige der für diese Arbeit relevanten Themenkomplexe. Kapitel 3 beschäftigt sich mit der Herleitung und Analyse der Anforderungen, die der endgültigen Implementierung zugrunde liegen. Kapitel 4 beleuchtet den Stand der Technik anhand einiger verwandter Anwendungen. Ein Hauptaugenmerk liegt dabei auf den verschiedenen Realisierungen der Synchronisation der benötigten Arbeitsdaten. Kapitel 5 beschreibt das gewählte Lösungskonzept zur Umsetzung der in Kapitel 3 herausgearbeiteten Anforderungen. Kapitel 6 gibt einen Überblick über die endgültige Implementierung des in Kapitel 5 beschriebenen Lösungskonzeptes. Kapitel 7 fasst die Ergebnisse dieser Arbeit zusammen und gibt einen Ausblick auf mögliche zukünftige Erweiterungen. 2

11 2 Grundlagen In den folgenden Abschnitten werden zunächst die für diese Arbeit relevanten Themenkomplexe vorgestellt. 2.1 Pair Programming Pair Programming ist eine Entwicklungsmethode, die besonders in agilen Vorgehensmodellen der Softwareentwicklung Verwendung findet. Vor allem durch die Popularität des Extreme Programming fand es in den vergangenen Jahren zunehmend Beachtung. Pair Programming sieht die Zusammenarbeit in Paaren von jeweils zwei Entwicklern gemeinsam an einem Rechner vor, den sie im Wechsel bedienen. Einer der beiden Entwickler programmiert aktiv und erläutert dabei seine Gedankengänge und sein Vorgehen dem anderen Teilnehmer. Diese Rolle wird üblicherweise als Driver bezeichnet. Ihm zur Seite sitzt der Navigator, der das Vorgehen des Drivers verfolgt und seine Änderungen kontrolliert, ihn auf erkannte Fehler hinweist und konstruktive Vorschläge macht. Die Wahrscheinlichkeit, Probleme im aktuell bearbeiteten Programmausschnitt möglichst früh zu erkennen und zu beheben, wird durch diese fortwährende Begutachtung stark erhöht. Darüber hinaus besitzt der Navigator eine globalere Sichtweise auf die Problematik als der Driver, dessen Hauptaugenmerk ja auf dem aktuellen Programmausschnitt liegt. Der Navigator kann daher auch eher weitreichendere Gedanken zu gewählten Problemlösungsstrategien direkt in die Sitzung einfließen lassen. Gestützt auf Befragungen und kontrollierte Experimente (vgl. [Wil00]) nennen Cockburn und Williams [CW01] vielfältige positive Effekte, die durch Pair Programming erzielt werden können: Wirtschaftlichkeit: Trotz der doppelten personellen Besetzung ergeben sich im Schnitt lediglich um 15% gestiegene Entwicklungskosten durch die Umstellung auf Pair Programming. Dem gegenüber stehen stark sinkende Kosten für Fehlerbereinigung und Tests, da Pair Programming meist zu robusterem Code führt. Zufriedenheit: Arbeiten in Paaren wird unter befragten Entwicklern fast durchgehend als angenehmer und erfüllender empfunden als die Einzelarbeit. 3

12 2. Grundlagen Entwurfsqualität: Der kontinuierliche Gedanken- und Ideenaustausch der Teilnehmer (Pair-Think) führt zu qualitativ ausgereifteren Entwürfen und zu kompakterem, hochwertigerem Code. Kontinuierliche Prüfung: Durch die Arbeit in Paaren unterliegen Entwurf und Umsetzung ständiger Kontrolle (Pair-Reviews). Probleme können daher meist sehr früh erkannt und behoben werden. Problemlösung: Durch wechselseitigen, aufeinander aufbauenden Ideenaustausch (Pair-Relaying) werden schneller Lösungen für komplexe Probleme gefunden. Lernen: Die Gruppenmitglieder lernen fortwährend voneinander (Pair-Learning). Dies bezieht sich sowohl auf generelles Fachwissen als auch auf Kenntnisse über das aktuelle Projekt. Regelmäßiger Wechsel der Paarkonstellationen ermöglicht somit eine Verbreitung der nötigen Kenntnisse innerhalb des Teams auf natürliche Weise. Gruppenbildung und Kommunikation: Die Arbeit in wechselnden Paaren verbessert die Fähigkeit der Teammitglieder, miteinander zu diskutieren und zu arbeiten. Informationsfluss und Teamdynamik werden gestärkt. Mitarbeiter- und Projektleitung: Durch wechselnde Paare erhalten alle Teilnehmer Kenntnisse über alle Teile der Codebasis. Ein kurzfristiger personeller Ausfall ist dadurch durch die Teamleitung wesentlich einfacher zu kompensieren Distributed Pair Programming Mit der ständig steigenden Verfügbarkeit und Verbreitung von breitbandigen Kommunikationsverbindungen wird die Möglichkeit der Arbeit in räumlich verteilten Gruppen zunehmend attraktiver. Dies betrifft auch die Softwareentwicklung. Zahlreiche große Software-Projekte werden seit langem erfolgreich von weltweit verteilten Teams entwickelt. Eines der besten Beispiele stellt die Open-Source- Bewegung dar. Pair Programming eignet sich in seiner ursprünglichen Form offensichtlich kaum für den Einsatz in solchen verteilten Teams, da die Paare sich während der Arbeit zwingend am selben Ort befinden müssen. Diese Einschränkung nennt auch Maurer [Mau02] als einen großen Nachteil des Extreme Programming in seiner Originalform. Als zweites Problem sieht er wegen der fast vollständigen Ersetzung klassischer Projektdokumentation durch direkte Kommunikation eine mangelnde Skalierbarkeit des Verfahrens für die Verwendung in großen Entwicklerteams. Das Konzept des Distributed Pair Programming (DPP) stellt die Bemühung dar, diesen Einschränkungen entgegenzuwirken. Ziel ist es, auch räumlich verteilten 4

13 2.1 Pair Programming Entwicklern unter Verwendung moderner Kommunikationsverbindungen die Möglichkeit zu geben, Pair Programming zu betreiben. Stotts et al. [SWN03] fassen die wichtigsten Vorteile von Distributed Pair Programming zusammen: Distributed Pair Programming bietet eine stark erhöhte Orts- und Zeitflexibilität. Es ist kein Ortswechsel der Teilnehmer nötig, Sitzungen können ohne lange Planung und Anreise sehr spontan durchgeführt werden. Die ständig wachsende Verbreitung mobiler Informations- und Kommunikationssysteme ermöglicht außerdem Sitzungen mit mobilen Teilnehmern. Die Tatsache, dass alle Teilnehmer über einen eigenen Bildschirm verfügen, führt zu einer stark verbesserten Übersichtlichkeit. Der Navigator kann seinen Rechner während der laufenden Sitzung für weitere unterstützende Tätigkeiten, z.b. die Informationssuche im Internet verwenden. Die Teilnehmer sind gezwungen, digitale Versionen von Ideen und Entwürfen zu erstellen, die sie in einer herkömmlichen Pair-Programming-Sitzung auf Papier oder einem Whiteboard erstellen würden. Auf diese Weise entstandene Inhalte können später für Dokumentationszwecke innerhalb des Teams genutzt werden. Die Teilnehmer neigen weniger zu Abschweifungen in private Konversationen und bleiben durchgehend auf die Aufgabe fokussiert, da jegliche Kommunikation über den Computer abläuft. Für die Durchführung von Distributed Pair Programming werden Software-Werkzeuge benötigt, die es den Teilnehmern ermöglicht, direkt miteinander zu kommunizieren und gemeinsam an einer Datenbasis zu arbeiten. Hierfür bietet sich einerseits eine Kombination bestehender Entwicklungs- und Kommunikationswerkzeuge mit Remote-Desktop-Systemen wie VNC [RSFWH98] an, die eine Fernsteuerung des lokalen Rechners durch einen oder mehrere entfernte Teilnehmer erlauben. Dieses Modell zeichnet sich vor allem durch seine hohe Flexibilität aus, da die Teilnehmer völlig frei in der Wahl der in einer Sitzung verwendeten Programme sind. Da jegliche Aktionen direkt auf dem Host ausgeführt werden, entfällt außerdem das Problem des Abgleichs der benötigten Arbeitsdaten zwischen den Teilnehmern. Dem gegenüber steht meist ein hohes Datenaufkommen durch die ständige Übertragung des gesamten Bildschirminhaltes des Hosts zu den Teilnehmern, was die problemlose Verwendbarkeit über Kommunikationsverbindungen mit geringer Bandbreite stark einschränken kann. Stotts et al. [SWN03] evaluierten diesen Ansatz im Zuge zweier Feldversuche und kommen zu durchaus positiven Ergebnissen. Sie berichten jedoch auch von zahlreichen kleineren Problemen mit einigen der verwendeten Werkzeuge. Hinzu 5

14 2. Grundlagen kommen erhöhte Komplexität und Lernaufwand durch die Vielzahl der benötigten Programme. Die Alternative bilden speziell für die Durchführung von Distributed Pair Programming ausgelegte Werkzeuge, die die für eine möglichst komplette Abbildung des herkömmlichen Pair-Programming-Szenarios auf eine verteilte Umgebung wünschenswerten Funktionen direkt unterstützen. Hierzu gehören neben dem Abgleich der benötigten Arbeitsdaten und Editor-Inhalten zwischen den Teilnehmern üblicherweise auch integrierte Kommunikationsmöglichkeiten sowie die Bereitstellung eines entsprechenden Rollen- und Sitzungsmodells. Die Auswahl an entsprechenden Werkzeugen ist jedoch heute noch gering. Mit XPairtise (vgl. Abschnitt 2.3) entstand ein weiteres, das die Grundlage für diese Arbeit darstellt. 2.2 Eclipse Eclipse [ECL08] ist ein Open-Source-Projekt zur Entwicklung einer erweiterbaren Plattform und eines Frameworks zur Entwicklung von Software jeglicher Art. Eclipse geht ursprünglich aus der Entwicklungssoftware IBM Visual Age for Java hervor, deren Quellcode im November 2001 freigegeben wurde. Geleitet wird das Projekt heute durch die Eclipse Foundation, eine rechtlich eigenständige gemeinnützige Genossenschaft, die 2004 durch das durch IBM geführte Eclipse- Konsortium gegründet wurde. Beginnend mit der Version 3.0 erfuhr die Eclipse-Architektur einige grundlegende Änderungen. Ursprünglich als vollständige erweiterbare Entwicklungsumgebung konzipiert, stellt Eclipse seither nur noch den schlanken Kern der Plattform dar. Jegliche Funktionalität wird durch einzelne Plug-ins bereitgestellt, die durch diesen Kern hinzugeladen werden. Diese Architektur wird als Eclipse Rich Client Platform (RCP) bezeichnet. Sie basiert auf Equinox, einer ebenfalls durch das Eclipse- Projekt erstellten Implementierung der OSGi-Spezifikation [OSG08]. Dank der Rich Client Platform eignet sich Eclipse als Grundlage für den Aufbau verschiedenster Werkzeuge. Auch wenn Eclipse und alle verfügbaren Plug-ins komplett in Java entwickelt wurden, müssen sich auf Eclipse basierende Projekte jedoch nicht auf Java beschränken. So existieren beispielsweise entsprechende Plug-ins, um Eclipse als Entwicklungsumgebung für C/C++ zu nutzen. Die bekannteste Verwendung von Eclipse ist jedoch nach wie vor die Nutzung als Entwicklungsumgebung für Java. Zu diesem Zweck wird in Form des Eclipse SDK (Software Development Kit) eine Kombination der Eclipse-Kernplattform mit Werkzeugen für die Java-Entwicklung und die Entwicklung eigener Eclipse-Plug-ins angeboten. 6

15 2.3 Das Eclipse-Plug-in XPairtise Die grafische Oberfläche der Eclipse-Komponenten basiert auf dem GUI-Framework SWT (Standard Widget Toolkit), welches ebenfalls im Rahmen des Eclipse-Projektes entwickelt wird. SWT bedient sich zur Darstellung seiner Elemente der nativen GUI- Komponenten des jeweiligen Betriebssystems, vergleichbar mit dem SUN AWT. Dies ermöglicht ein natives Erscheinungsbild der Applikationen auf verschiedenen Plattformen und potentielle Geschwindigkeitsvorteile, auf Kosten einer maximalen Plattformunabhängigkeit. Zum Zeitpunkt der Erstellung dieser Arbeit existierten SWT-Implementierungen für Windows, UNIX (GTK 2 und Motif), Mac OS X, sowie QNX. Die Eclipse-Oberfläche setzt sich aus drei Grundelementen zusammen: Editoren: Editoren sind Fenster zur Anzeige und Bearbeitung von Inhalten. Der übliche Fall sind Text-Editoren zur Bearbeitung von Quelltext in unterschiedlichen Programmiersprachen, wobei es für die verschiedenen unterstützten Sprachen meist eigene Editor-Varianten gibt. Darüber hinaus existieren jedoch auch speziellere Editoren, beispielsweise zur visuellen Erstellung von grafischen Benutzeroberflächen. Sichten: Bei Sichten (Views) handelt es sich um Fenster zur geordneten oder gruppierten Anzeige von Informationen und zur Navigation in diesen Informationen. Bekannte Beispiele sind der Package Explorer zur Anzeige von Dateisystem-Elementen in einer baumartigen Struktur oder Sichten zur Anzeige von Detailinformationen zu Elementen, die momentan in Editoren geöffnet sind. Einzelne Sichten lassen sich sehr flexibel innerhalb der Eclipse-Oberfläche platzieren. Perspektiven: Perspektiven definieren Zusammenstellungen und Anordnungen von Sichten und Editoren innerhalb der Eclipse-Oberfläche. Plug-ins definieren üblicherweise eigene Perspektiven, die nur die für sie relevanten Sichten enthalten. Diese vorkonfigurierten Perspektiven können dann durch den Benutzer flexibel an die eigenen Bedürfnisse angepasst werden. 2.3 Das Eclipse-Plug-in XPairtise XPairtise [XPa08] ist ein Eclipse-Plug-in, welches Distributed Pair Programming auf Eclipse-Basis ermöglicht. Entwickelt wurde es im Wintersemester 2006/2007 im Zuge des Fachpraktikums CSCW (Computer Supported Cooperative Work) im Lehrgebiet Kooperative Systeme der FernUniversität in Hagen. Zu den gebotenen Fähigkeiten zählen die Unterstützung von Benutzerrollen und Benutzergruppen, schneller Rollenwechsel zwischen Driver und Navigator, eine übersichtliche Verwaltung von Programmiersitzungen, ein verteilter Editor, der weitgehend unabhängig von der verwendeten Programmiersprache arbeitet, die automatische Synchronisation der benötigten Projektressourcen zwischen den Teilnehmern, eine Chat-Funktion 7

16 2. Grundlagen zur direkten Kommunikation zwischen den Teilnehmern sowie ein verteiltes Whiteboard zur gemeinsamen Anfertigung von Entwürfen und Skizzen. Abbildung 2.1 zeigt die Oberfläche der Eclipse IDE mit den verschiedenen von XPairtise beigesteuerten Sichten. Zu sehen sind der Editor (grün umrahmt), das verteilte Whiteboard (rot umrahmt), die Sitzungsübersicht (blau umrahmt), die Benutzerübersicht (gelb umrahmt), die Chat-Ansicht (lila umrahmt) sowie Kontrollflächen und Anzeigen für Verbindungsstatus und Rollenzuweisung (orange umrahmt). Abbildung 2.1: Die XPairtise-Perspektive Die XPairtise-Architektur XPairtise basiert auf einer klassischen Client-Server-Architektur. Jegliche Kommunikation zwischen Teilnehmern erfolgt über den zentralen XPairtise-Server. Als grundlegender Transportmechanismus wurde der Java Message Service (JMS) [JMS08], eine von SUN Microsystems entwickelte nachrichtenbasierte Middleware, gewählt. JMS deckt viele der von XPairtise benötigten Modelle des Nachrichtenaustausches (beispielsweise asynchrone 1:n Verteilung von Nachrichten) bereits ab. Da es sich bei JMS lediglich um eine Spezifikation handelt, musste eine konkrete 8

17 2.3 Das Eclipse-Plug-in XPairtise Implementierung gewählt werden. Die Wahl fiel auf das von der Apache Foundation entwickelte Open-Source-Projekt ActiveMQ (AMQ) [AMQ08]. Die zentrale Komponente von JMS stellt der Nachrichten-Vermittler (Message Broker) dar, der für die Verteilung der Nachrichten zwischen den einzelnen JMS- Clients zuständig ist. Der XPairtise-Server fungiert in diesem Modell lediglich als weiterer JMS-Client, der über den Broker Nachrichten von Clients empfängt (siehe Abbildung 2.2). publish XPairtise Client (Plug in) queue XPairtise Server publish queue queue AMQ Broker publish queue queue XPairtise Client (Plug in) publish queue XPairtise Client (Plug in) Abbildung 2.2: Die XPairtise-Netzwerk-Architektur Das grundlegende Applikationsmodell von XPairtise stellen replizierte Objekte dar. Jegliche Inhalte, die zwischen den Teilnehmern ausgetauscht werden, werden auf entsprechende replizierte Objekte (auch als replizierte Elemente bezeichnet) abgebildet. Entsprechende Objekttypen repräsentieren beispielsweise Benutzerinformationen, Chat-Nachrichten, oder Editor-Kommandos. Diese replizierten Objekte werden auf dem Server in Listen (replicated lists) organisiert und in serialisierter Form mit Hilfe von JMS-Objektnachrichten zu den Clients transportiert. JMS definiert zwei unterschiedliche Modelle des Nachrichtenversands, die beide von XPairtise genutzt werden: Nachrichtenwarteschlangen (message queues) erlauben den gezielten Versand von Nachrichten an einen festen Empfänger, der auf Nachrichten aus der Warteschlange wartet (n:1-versand). 9

18 2. Grundlagen Das Anmelde-Versendesystem (publish-subscribe) erlaubt den Versand von Nachrichten zu einem bestimmten Thema (message topic) an eine Gruppe von Empfängern, die dieses Thema abonniert haben (n:m-versand). Nach dem Start meldet der XPairtise-Server zunächst eine Warteschlange am Broker an, die für eingehende Nachrichten der Clients genutzt wird. In die Gegenrichtung kann der Server eingehende Nachrichten entweder direkt beantworten oder separate Nachrichten an einzelne Clients schicken. Für diesen Zweck wird eine weitere Warteschlange für jeden Client angelegt, die zum Beispiel für die initiale Übertragung des bisherigen Inhaltes der replizierten Listen nach dem Verbindungsaufbau genutzt wird. Zur Identifizierung der Teilnehmer durch den Server wird jedem Client bei der Anmeldung ein eindeutiger Identifikator (session token) zugeteilt, der dann zur Markierung von Nachrichten an den Server genutzt wird. Neben den gezielten Warteschlangen werden durch den Server im Laufe einer Sitzung außerdem mehrere Topics für den Gruppenversand der Updates der verschiedenen replizierten Listen angelegt. In der aktuellen Implementierung schickt nur der Server selbst Nachrichten an diese Topics. Von Clients stammende Nachrichten nehmen grundsätzlich erst den Weg über den Server, der die anfallenden Aktualisierungen in den replizierten Listen vornimmt und repliziert. 2.4 Versionsverwaltungssysteme Versionsverwaltungssysteme (auch Versionskontrollsysteme) stellen eines der wichtigsten Werkzeuge in der Entwicklung komplexer Software dar. Sie dienen zur zentralen Verwaltung des Datenbestandes eines Projektes und kontrollieren den gemeinsamen Zugriff der Entwickler darauf. Alle Änderungen, die im Laufe des Entwicklungszyklus am Quelltext des Projektes anfallen, werden erfasst und als neuer Versionsstand in das Archiv (Repository) aufgenommen. Zusammengefasst ergeben diese Versionsstände eine Historie über den gesamten Änderungsverlauf des Projektes. Entwickler können den Änderungsverlauf einzelner Dateien nachvollziehen, gezielt auf ältere Zwischenstände zurückgreifen und bei Bedarf fehlerhafte Änderungen zurücknehmen. Die Vielzahl der heute verfügbaren Versionsverwaltungssysteme unterscheidet sich in ihrem Funktionsumfang und in den Details der Umsetzung der angebotenen Funktionen teils recht stark. Die grundlegenden Arbeitsschritte im Umgang mit den Systemen sind jedoch immer weitgehend die selben (vgl. auch [Bae05]): 10

19 2.4 Versionsverwaltungssysteme Import: Um ein Projekt unter die Kontrolle eines Versionsverwaltungssystems zu stellen, muss es zunächst durch einen Import dem Repository hinzugefügt werden. Checkout: Als Checkout wird der Bezug einer lokalen Arbeitskopie des verwendeten Projektes aus dem Repository bezeichnet. Dies ist der grundlegende Schritt, um mit einem unter Versionskontrolle stehenden Projekt zu arbeiten. Im Normalfall wird hierdurch die aktuellste Version der Projektdaten bezogen, durch Angabe eines entsprechenden Identifikators (Revisionsnummer oder Datum) können jedoch meist auch gezielt ältere Entwicklungsstände bezogen werden. Commit: An der lokalen Arbeitskopie des Projektes vorgenommene Änderungen können mittels eines Commits (auch Checkin) an das Versionsverwaltungssystem übergeben werden. Üblicherweise wird hierbei auch die Angabe eines die Änderungen beschreibenden Kommentars angeboten, der später zusammen mit Zeitstempel und Benutzerkennung in der Historie des Änderungsverlaufs mit angezeigt wird. Add/Remove: Neue Dateien, die dem Versionsverwaltungssystem bisher nicht bekannt sind, können mittels Add nachträglich dem Repository hinzugefügt werden. Entsprechend lassen sich mittels Remove Dateien aus dem Repository entfernen (ohne jedoch ihre bisherige Historie zu verlieren). Update: Ist die lokale Projektkopie auf einem älteren Stand als die Projektdaten im Repository, so lässt sie sich mit Hilfe eines Updates auf den aktuellen Stand bringen. Neben diesen grundlegenden Schritten sind zwei weitere Eigenschaften zu nennen, die von nahezu allen aktuellen Versionsverwaltungssystemen unterstützt werden: Branches: Branches (Zweige) erlauben die Pflege verschiedener Entwicklungszweige eines einzelnen Projektes. Nach Erstellung eines neuen Zweiges lassen sich Änderungen gezielt in diesen Zweig übernehmen, ohne den Hauptzweig (Trunk) zu beeinflussen. Komplette Zweige lassen sich später wieder zusammenführen oder einzelne Änderungen eines Zweiges selektiv in einen anderen übernehmen (Merge). Tags: Tags erlauben die Markierung eines projektweiten Zwischenstandes, beispielsweise um eine fertige Version zu definieren. Hierfür wird dieser Stand mit einem symbolischen Namen versehen, über den später jederzeit darauf zurückgegriffen werden kann. Arbeiten mehrere Entwickler an einem Projekt, so ist es Aufgabe des Versionsverwaltungssystems, den gemeinsamen Zugriff aller Benutzer auf die gemeinsame Datenbasis zu koordinieren. Ziel ist hierbei einerseits, allen Teilnehmern zu ermöglichen, möglichst ohne Einschränkungen an beliebigen Teilen des Quelltextes 11

20 2. Grundlagen arbeiten zu können, andererseits jedoch Konflikte zu vermeiden, die bei gemeinsamer Bearbeitung sich überschneidender Bereiche durch mehrere Benutzer entstehen können. Solche Konflikte lassen sich am einfachsten durch eine pessimistische Nebenläufigkeitskontrolle vermeiden, die die Bearbeitung einer Datei zu jedem Zeitpunkt jeweils nur durch einen Benutzer erlaubt. Dieses Modell liegt einigen älteren Versionsverwaltungssystemen zugrunde, ist allerdings sehr restriktiv und widerspricht dem Ziel der möglichst uneingeschränkten Nutzung. Moderne Versionsverwaltungssysteme erlauben daher meist die gleichzeitige Bearbeitung einer Datei durch mehrere Benutzer und lösen entstehende Konflikte, so weit möglich, zum Commit- Zeitpunkt selbst auf oder fordern eine manuelle Auflösung der Konflikte durch den Entwickler. Zu den heute am häufigsten verwendeten und auch im Eclipse-Umfeld am besten unterstützten Versionsverwaltungssystemen gehören CVS und das daran angelehnte jüngere Subversion. Auf diesen beiden Systemen lag daher auch das Hauptaugenmerk der in dieser Arbeit vorgestellten Implementierung. Im Folgenden werden diese beiden Systeme kurz näher vorgestellt CVS Eines der bekanntesten Versionsverwaltungssysteme ist das Concurrent Versions System (CVS) [CVS08]. Es entstand ursprünglich im Jahr 1986 in Form einiger UNIX-Skripte als Front End für das Versionsverwaltungssystem RCS. Ziel war es, RCS um die Möglichkeit der Verwaltung mehrerer Dateien gleichzeitig und die Verwendbarkeit durch mehrere Benutzer gleichzeitig zu erweitern wurde diese Skriptsammlung dann mit erweiterter Funktionalität in die Programmiersprache C portiert und wird bis heute gepflegt. Zur Datenhaltung wird weiterhin das von RCS verwendete Format genutzt. CVS verwendet eine Client-Server-Architektur mit einem zentralen Repository. CVS-Client-Programme sind heute für alle gängigen Betriebssysteme verfügbar. So existieren neben dem ursprünglichen Kommandozeilen-Programm inzwischen vielfältige grafische Oberflächen sowie eingebettete CVS-Unterstützung in verschiedenen Entwicklungsumgebungen. Auch die Eclipse IDE verfügt standardmäßig bereits über ein CVS-Plug-in. Alle im letzten Abschnitt beschriebenen grundlegenden Arbeitsschritte werden von CVS unterstützt. Insbesondere war es das erste Versionsverwaltungssystem, welches das Branch-Konzept implementierte. Leider werden Commits durch CVS nicht als atomare Transaktionen gehandhabt. Dies kann zu inkonsistenten Zuständen 12

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de CVS-Einführung Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation und Anforderung Sobald ein Softwaresystem anwächst, ergeben sich Probleme im Umgang mit dem Quell Code. CVS (Concurrent

Mehr

Einfu hrung in Subversion mit TortoiseSVN

Einfu hrung in Subversion mit TortoiseSVN Einfu hrung in Subversion mit TortoiseSVN Inhalt Konzept... 1 Begriffe... 1 Werkzeuge... 2 Arbeiten mit TortoiseSVN... 2 Vorbereitung... 2 Erster Checkout... 2 Hinzufügen eines neuen Verzeichnisses...

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

Subversion als Werkzeug in der Software-Entwicklung Eine Einführung. Tobias G. Pfeiffer Freie Universität Berlin

Subversion als Werkzeug in der Software-Entwicklung Eine Einführung. Tobias G. Pfeiffer Freie Universität Berlin Subversion als Werkzeug in der Software-Entwicklung Eine Einführung Tobias G. Pfeiffer Freie Universität Berlin Seminar DG-Verfahren, 9. Juni 2009 Voraussetzungen/Ziele des Vortrags Situation Der Zuhörer

Mehr

Software-Engineering Grundlagen des Software-Engineering 7.3 Sourcecode-Verwaltung mit Versionsmanagement-Systemen Einführung in Subversion (SVN)

Software-Engineering Grundlagen des Software-Engineering 7.3 Sourcecode-Verwaltung mit Versionsmanagement-Systemen Einführung in Subversion (SVN) Software-Engineering Grundlagen des Software-Engineering 7.3 Sourcecode-Verwaltung mit Versionsmanagement-Systemen Einführung in Subversion (SVN) Prof. Dr. Rolf Dornberger Software-Engineering: 7.3 Versionsmanagement-Systeme

Mehr

Versionsverwaltung von Softwareartefakten. 21. Oktober 2014

Versionsverwaltung von Softwareartefakten. 21. Oktober 2014 Versionsverwaltung von Softwareartefakten 21. Oktober 2014 Überblick Wie verwaltet man Softwareartefakte? Versionskontrolle für verschiedene Softwareartefakte: Anforderungsdokumente, Modelle, Code, Testdateien,

Mehr

git & git-flow Jens Sandmann 14.12.2013 Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31

git & git-flow Jens Sandmann 14.12.2013 Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 git & git-flow Jens Sandmann Warpzone Münster e.v. 14.12.2013 Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 Überblick 1 git Versionskontrolle Allgemein VCS mit git 2 git flow 3 git nutzen 4 Anhang

Mehr

Versionsverwaltung mit git. Christoph Knabe FB VI 17.04.2014

Versionsverwaltung mit git. Christoph Knabe FB VI 17.04.2014 Versionsverwaltung mit git Christoph Knabe FB VI 17.04.2014 Inhalt Probleme bei Software-Entwicklung Begriffe in git Geschichte von git Installation Was ist verteilt an git? Mischen verteilter Änderungen

Mehr

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS 2012. Lehrstuhl i9, Prof. Dr. T.

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS 2012. Lehrstuhl i9, Prof. Dr. T. Versionsverwaltung GIT & SVN Alexander aus der Fünten Proseminar: Methoden und Werkzeuge, SS 2012 Lehrstuhl i9, Prof. Dr. T. Seidl RWTH Aachen Ablauf Was ist Versionsverwaltung? Arbeitsmodelle Lokale,

Mehr

Einführung in Subversion

Einführung in Subversion Einführung in Subversion Benjamin Seppke AB KOGS Dept. Informatik Universität Hamburg Was ist Subversion? Ein Server-basiertes Versions-Verwaltungs- System Ermöglicht mehreren Benutzern die gemeinsame

Mehr

Kurzanleitung zu. von Daniel Jettka 18.11.2008

Kurzanleitung zu. von Daniel Jettka 18.11.2008 Kurzanleitung zu Tigris.org Open Source Software Engineering Tools von Daniel Jettka 18.11.2008 Inhaltsverzeichnis 1.Einführung...1 2.Das Projektarchivs...3 2.1.Anlegen des Projektarchivs...3 2.2.Organisation

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

Seminar. Bachelor Wirtschaftsinformatik

Seminar. Bachelor Wirtschaftsinformatik Seminar Bachelor Wirtschaftsinformatik Generalthema: Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Versionierung von Java-Anwendungen mit Git Christian Ondreka Versionsverwaltung mit

Mehr

Subversion. Einstieg in die. Versionskontrolle

Subversion. Einstieg in die. Versionskontrolle Versionskontrolle mit Subversion Einstieg in die Versionskontrolle Dipl.Ing.(FH) K. H. Marbaise Agenda Wozu Versionskontrolle? Was leistet Versionskontrolle? Historie zu Subversion Projekt Handling Installation

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

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

Subversion und Trac. Michael Trunner. 23. Januar 2008. Fachschaft Informatik und Softwaretechnik Universität Stuttgart

Subversion und Trac. Michael Trunner. 23. Januar 2008. Fachschaft Informatik und Softwaretechnik Universität Stuttgart Subversion und Trac Michael Trunner Fachschaft Informatik und Softwaretechnik Universität Stuttgart 23. Januar 2008 Michael Trunner SVN & Trac (1/ 30) 1 Vorwort 2 Subversion alias SVN 3 Trac Michael Trunner

Mehr

Software Configuration Management (SCM)

Software Configuration Management (SCM) Vorlesung Softwaretechnologie 2007/8 Dr. Günter Kniesel R O O T S Software Configuration Management (SCM) SCM-Motivation SCM-Grundlagen SCM-Werkzuge: CVS und SVN Einrichten des Subversive-Plugins für Eclipse

Mehr

Versionskontrolle mit Subversion. Carnot 6.0

Versionskontrolle mit Subversion. Carnot 6.0 Versionskontrolle mit Subversion Carnot 6.0 1 Sourceforge... 3 1.1 Ordnerstruktur repository-browser... 4 2 Arbeiten mit TortoiseSVN... 4 2.1 Lokale Arbeitskopie erstellen... 5 2.2 Dateien hinzufügen /

Mehr

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz Architektur Überblick Allgemeines, Geschichtliches Architektur Oberfläche Plugins und deren Einsatz Was ist Eclipse? Open-Source-Framework zur Entwicklung von Software nahezu aller Art. Bekannteste Verwendung:

Mehr

Team- Entwicklung unter Eclipse

Team- Entwicklung unter Eclipse In dieser Starthilfe Team-Entwicklung mit CVS Anbinden von Eclipse an den CVS Server Einchecken eines vorhandenen Projektes Erzeugen einer Revision Verwalten der Revisionen einer Ressource Ersetzen der

Mehr

eclipse - Entwicklungsumgebung und mehr ETIS SS05

eclipse - Entwicklungsumgebung und mehr ETIS SS05 eclipse - Entwicklungsumgebung und mehr ETIS SS05 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung

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

Versionsmanagement mit Subversion

Versionsmanagement mit Subversion Versionsmanagement mit Subversion Einführung + Demo Lehrstuhl Softwaretechnik Softwarepraktikum 2005 Nicolas Gümbel Motivation Mitglieder einer Software Entwicklungsgruppe müssen: gemeinsamen Zugriff auf

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

Entwicklungswerkzeuge

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

Mehr

Linux Cafe 2013 11 11. Referent: Bernd Strößenreuther

Linux Cafe 2013 11 11. Referent: Bernd Strößenreuther Versionsverwaltung mit Git Linux Cafe 2013 11 11 Referent: Bernd Strößenreuther mailto:linux cafe@stroessenreuther.net Lizenz Sie dürfen dieses Dokument verwenden unter den Bedingungen der Creative Commons

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

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn michael.kuhn@informatik.uni-hamburg.de

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn michael.kuhn@informatik.uni-hamburg.de Git Fast Version Control System Michael Kuhn michael.kuhn@informatik.uni-hamburg.de Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg 2011-09-28 1 / 16 1 Einführung Überblick

Mehr

Versionskontrolle mit Subversion

Versionskontrolle mit Subversion mit im Rahmen der Projektarbeit "Moderne Methoden der Parallelverarbeitung" Michael Süß Universität Kassel http://www.se.e-technik.uni-kassel.de/se/index.php?id=494 Michael Süß, November 23, 2004 mit -

Mehr

SVN-Einführung für das SEP DS und CM. Julian Timpner, Stefan Brenner, Stephan Rottmann

SVN-Einführung für das SEP DS und CM. Julian Timpner, Stefan Brenner, Stephan Rottmann SVN-Einführung für das SEP DS und CM Julian Timpner, Stefan Brenner, Stephan Rottmann 23. April 2014 Subversion (SVN) - Allgemeines Versionsverwaltung für Dokumente Primär für reine Textdateien (*.txt,

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

Crashkurs Subversion / Trac / Provisioning. Jan Zieschang, 04.01.2008, Berlin

Crashkurs Subversion / Trac / Provisioning. Jan Zieschang, 04.01.2008, Berlin Crashkurs Subversion / Trac / Provisioning Jan Zieschang, 04.01.2008, Berlin Agenda 2 Subversion Das SCM TortoiseSvn Der Client Trac Das Tracking-Tool Provisioning Das Provisioning Tool Arbeiten mit Subversion/TortoiseSvn

Mehr

Versionskontrollsysteme. Uwe Berger & Markus Dahms

Versionskontrollsysteme. Uwe Berger & Markus Dahms <bralug@bralug.de> 1 Gliederung 1. Der Begriff 2. Aufgaben & Einsatzmöglichkeiten 3. Zentrale Konzepte 4. Bekannte Vertreter 5. Grafische Oberflächen 6. Quellen und Links 2 Der Begriff engl. Version Control

Mehr

SVN-Tutorial für WEBMM7

SVN-Tutorial für WEBMM7 SVN-Tutorial für WEBMM7 SVN-Tutorial für WEBMM7... 1 Einleitung... 2 Grundprinzip von CVS... 2 Was ist Subversion?... 2 Unterschiede Subversion/CVS... 2 SmartSVN... 3 Installation / Einrichtung... 3 Update...10

Mehr

Klicken Sie, um das Format des Titeltextes zu bearbeiten

Klicken Sie, um das Format des Titeltextes zu bearbeiten Klicken Sie, um das Format des Titeltextes zu bearbeiten Versionsverwaltung mit SVN Eike Slogsnat 18.01.2013 1 Gliederung Wichtige Linux-Befehle Aufgaben einer Versionsverwaltung Struktur Befehle Verzweigungen

Mehr

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte Inhaltsverzeichnis SVN Windows Howto DI Werner Damböck (2008) public: svn://193.170.118.37/et/howto/svn-howto-htl-et.pdf source: svn://193.170.118.37/damb/howto/svn-howto-htl-et.odt 1 Revisionshierarchie...1

Mehr

Verteilte Paarprogrammierung mit Eclipse

Verteilte Paarprogrammierung mit Eclipse Verteilte Paarprogrammierung mit Eclipse Riad Djemili (djemili@inf.fu-berlin.de) Diplomarbeitsthema Freie Universität Berlin Februar 2006 Inhalt 1. Wie ist der aktuelle Stand im Bereich des Distributed

Mehr

Enigma2 Plugin Entwicklung mit Eclipse

Enigma2 Plugin Entwicklung mit Eclipse Enigma2 Plugin Entwicklung mit Eclipse Enigma2 Plugin Entwicklung mit Eclipse 1/15 Inhaltsverzeichnis 1 ÜBER... 3 2 INSTALLATION... 4 2.1 INSTALLATION VON ECLIPSE... 4 2.2 INSTALLATION VON PYDEV... 4 3

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

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

Quellcodeverwaltung mit SubVersion

Quellcodeverwaltung mit SubVersion Access-Stammtisch-Stuttgart 06.05.2010 Quellcodeverwaltung mit SubVersion Thomas Möller, www.team-moeller.de Vorstellung Thomas Möller dipl. Sparkassenbetriebswirt Arbeit mit Access seit 1997 Seit 2000

Mehr

Einführung in Subversion. Tutorium SWP

Einführung in Subversion. Tutorium SWP Einführung in Mehrere Personen arbeiten am gleichen Dokument Probleme: Austausch/Integration der Ergebnisse? Überlappende Arbeitsbereiche? Datensicherung? Kommunikation? Wer hat was geändert? Einführung

Mehr

Open Source IDE - eclipse ETIS SS04

Open Source IDE - eclipse ETIS SS04 Open Source IDE - eclipse ETIS SS04 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung 2 Motivation

Mehr

Elektronische Unterschriften mit Adobe Acrobat 9. Version 1.0 14. April 2009

Elektronische Unterschriften mit Adobe Acrobat 9. Version 1.0 14. April 2009 Version 1.0 14. April 2009 Einleitung Diese Anleitung beschreibt in Kurzform wie (Standard, Pro und Pro Extended) PDF Dokumente signiert oder zertifiziert respektive die Signatur(en) geprüft werden können.

Mehr

Wie benutzt man TortoiseSVN

Wie benutzt man TortoiseSVN Wie benutzt man TortoiseSVN 1 Inhaltsverzeichnis 1.Benötigte Vorkenntnisse...3 2.Benötigte Software...3 3.Schritt 1 Software installieren...3 4.Schritt 2 einen Ordner anlegen...3 5.Schritt 3 Projekt auschecken...4

Mehr

Verteilte Versionskontrolle mit GIT. 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln

Verteilte Versionskontrolle mit GIT. 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln Verteilte Versionskontrolle mit GIT 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln 1 über mich 32 Jahre alt Softwareentwickler bei der Firma GreenPocket in Köln Java EE Entwickler und Rails

Mehr

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03. Software-Engineering 2 Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.2009 1 Entwicklungsumgebungen, CASE-Tools, CASE-Werkzeuge unterstützen den Software-Entwicklungsprozess

Mehr

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

Copyright (C) Open Source Press

Copyright (C) Open Source Press Riemer Hemer: CrossVC Tilo Riemer Frank Hemer CrossVC Grafische Versionskontrolle mit CVS und Subversion Alle in diesem Buch enthaltenen Programme, Darstellungen und Informationen wurden nach bestem Wissen

Mehr

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern

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

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Moodle aktuell halten mit Git

Moodle aktuell halten mit Git Moodle aktuell halten mit Git 3a 1 2 3b 3c 4c Vorstellung Andreas Grabs Softwareentwickler Seit 2010 Moodle Core- Entwickler Freier Mitarbeiter eledia GmbH Inhalt Allgemeines Allgmeine Vorteile Vorteile

Mehr

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05] Inhaltsverzeichnis 1 Einleitung 3 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]....... 4 1.2 Eclipse als Java Entwicklungsumgebung................. 21 1 Einleitung Versionierung mit CVS Eclipse

Mehr

CVS. The open standard for version control. (Concurrent Versions System) Maik Zemann CVS

CVS. The open standard for version control. (Concurrent Versions System) Maik Zemann CVS CVS Maik Zemann CVS (Concurrent Versions System) The open standard for version control 1 Gliederung Gliederung Was ist CVS? Motivation? Konzept von CVS Die wichtigsten Befehle Merging Logging im Quelltext

Mehr

MICROS-FIDELIO GmbH. Informationen zum Support mit der BOMGAR Software

MICROS-FIDELIO GmbH. Informationen zum Support mit der BOMGAR Software Support & Services MICROS-FIDELIO GmbH Informationen zum Support mit der BOMGAR Software 2010 MICROS-FIDELIO GmbH Europadamm 2-6 41460 Neuss Deutschland Alle Rechte vorbehalten. Ohne vorherige schriftliche

Mehr

Versionsverwaltung mit SVN

Versionsverwaltung mit SVN Versionsverwaltung mit SVN Jan-Philipp Kappmeier Technische Universität Berlin 11. 04. 2012 Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten an einem Projekt Arbeiten

Mehr

Medieninformatik Praktikum. Jens Rademacher 14.07.2013

Medieninformatik Praktikum. Jens Rademacher 14.07.2013 mit mit Medieninformatik Praktikum 14.07.2013 1 / 13 mit 2 / 13 Nutzen von und an en mit Verwaltung unterschiedlicher Versionen einer Datei Protokollierung von Änderungen (Änderung, Zeitpunkt, Person)

Mehr

Contents. Subversion Einrichten. Vorbereitung Folgende Tools werden benötigt. Ladet diese herunter und befolgt die Installationsanweisungen.

Contents. Subversion Einrichten. Vorbereitung Folgende Tools werden benötigt. Ladet diese herunter und befolgt die Installationsanweisungen. Contents Subversion Einrichten 1 Vorbereitung 1 Public & Private key generieren 1 PuTTY konfigurieren 2 Repository einrichten 3 Subversion konfigurieren 3 Arbeiten mit TortoiseSVN 4 Subversion Einrichten

Mehr

GIT & SVN. Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Datenmanagement und -exploration Prof. Dr. T. Seidl

GIT & SVN. Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Datenmanagement und -exploration Prof. Dr. T. Seidl Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Datenmanagement und -exploration Prof. Dr. T. Seidl Proseminar: Methoden und Werkzeuge GIT & SVN Versionsverwaltung Alexander aus der Fünten

Mehr

Deployment Deployment Seite 1 / 25

Deployment Deployment Seite 1 / 25 Seite 1 / 25 Versionskontrolle Seite 2 / 25 Verteilte Versionskontrollsysteme Seite 3 / 25 Seite 4 / 25 Zusammenfassung Versionskontrolle Wir verwenden bei der Entwicklung das dezentralisierte Versionskontrollsystem

Mehr

Apache Subversion (SVN)

Apache Subversion (SVN) Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 18.10.2013 Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 18.10.2013 git Datamining

Mehr

Git II. Dezentrale Versionsverwaltung im Team

Git II. Dezentrale Versionsverwaltung im Team Git II Dezentrale Versionsverwaltung im Team Themenbereiche Arbeit mit Remote Repositories Austausch zwischen Repositories Änderungen rückgängig machen Zusammenarbeit über Workflows Git hat mehr als nur

Mehr

peer-to-peer Dateisystem Synchronisation

peer-to-peer Dateisystem Synchronisation Ziel Realisierungen Coda Ideen Fazit Literatur peer-to-peer Dateisystem Synchronisation Studiendepartment Informatik Hochschule für Angewandte Wissenschaften Hamburg 30. November 2007 Ziel Realisierungen

Mehr

Versionsverwaltung von Softwareartefakten. Dr. Thorsten Arendt Marburg, 06. November 2014

Versionsverwaltung von Softwareartefakten. Dr. Thorsten Arendt Marburg, 06. November 2014 Versionsverwaltung von Softwareartefakten Dr. Thorsten Arendt Marburg, 06. November 2014 Überblick Warum ist die Versionsverwaltung von Softwareartefakten wichtig? Wie verwaltet man Softwareartefakte?

Mehr

Software Engineering. 10. Konfigurationsmanagement

Software Engineering. 10. Konfigurationsmanagement Software Engineering 10. Konfigurationsmanagement Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Testen

Mehr

Proseminar Unix-Tools CVS. 19.11.2002 Daniel Weber & Zhen Zhang Betreuer: Volker Baier

Proseminar Unix-Tools CVS. 19.11.2002 Daniel Weber & Zhen Zhang Betreuer: Volker Baier Proseminar Unix-Tools CVS 19.11.2002 Daniel Weber & Zhen Zhang Betreuer: Volker Baier Was ist CVS? Was leistet CVS? ermöglicht Revisionsverwaltung für Projekte arbeitet auf ganzen Verzeichnisbäumen zentrales

Mehr

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse 1. Einführung 1.1 Eclipse Die Eclipse ist eine kostenlose integrierte Entwicklungsumgebung oder auch IDE genannt, (Abkürzung IDE, engl. Integrated development enviroment). Sie ist eine grafische Benutzeroberfläche

Mehr

Alinof ToDoList. Benutzerhandbuch. Version 2.0! Copyright 2011-2014 by Alinof Software GmbH!!!!!!! Seite 1/

Alinof ToDoList. Benutzerhandbuch. Version 2.0! Copyright 2011-2014 by Alinof Software GmbH!!!!!!! Seite 1/ Alinof ToDoList Benutzerhandbuch Version 2.0 Copyright 20-2014 by Alinof Software GmbH Seite 1/ Inhaltsverzeichnis Vorwort... 3 Urheberechte... 3 Änderungen... 3 Garantie... 3 Systemvoraussetzungen...

Mehr

git Änderungen verwalten mit git

git Änderungen verwalten mit git Änderungen verwalten mit git Wie arbeitet man am besten an einem Protokoll zusammen? PeP et al. Toolbox, 2014 2 Idee: Austausch über Mails PeP et al. Toolbox, 2014 3 Mails: Probleme Risiko, dass Änderungen

Mehr

VMware Schutz mit NovaBACKUP BE Virtual

VMware Schutz mit NovaBACKUP BE Virtual VMware Schutz mit NovaBACKUP BE Virtual Anforderungen, Konfiguration und Restore-Anleitung Ein Leitfaden (September 2011) Inhalt Inhalt... 1 Einleitung... 2 Zusammenfassung... 3 Konfiguration von NovaBACKUP...

Mehr

Vertriebssteuerungs und Opportunity. Management System. Bedienungsanleitung. Wolfgang Kuhn

Vertriebssteuerungs und Opportunity. Management System. Bedienungsanleitung. Wolfgang Kuhn Vertriebssteuerungs und Opportunity Management System Bedienungsanleitung Wolfgang Kuhn 27.06.2011 Vertriebssteuerungsprogramm oder Opportunity Management System für den Mittelstand Das Softwarepaket basiert

Mehr

FS 2013. cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

FS 2013. cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer cs108 Programmierpraktikum Subversion Lukas Beck Cedric Geissmann Alexander Stiemer Probleme in der SW-Entwicklung Teamarbeit Gemeinsamer (und gleichzeitiger) Zugriff auf Ressourcen Dateiserver Datenverlust

Mehr

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten 1. Einschränkung für Mac-User ohne Office 365 Mac-User ohne Office 365 müssen die Dateien herunterladen; sie können die Dateien nicht direkt öffnen und bearbeiten. Wenn die Datei heruntergeladen wurde,

Mehr

TIKOS Leitfaden. TIKOS Update

TIKOS Leitfaden. TIKOS Update TIKOS Leitfaden TIKOS Update Copyright 2015, Alle Rechte vorbehalten support@socom.de 06.05.2015 Inhalt 1. Allgemeine Hinweise... 3 2. Ausführen des Updates... 3 3. Mögliche Meldungen beim Update... 9

Mehr

CRM mit Adress PLUS und der SelectLine Warenwirtschaft

CRM mit Adress PLUS und der SelectLine Warenwirtschaft CRM mit Adress PLUS und der SelectLine Warenwirtschaft Überblick Die Schnittstelle zwischen Adress PLUS und der SelectLine Warenwirtschaft tauscht Kunden- und Interessentendaten zwischen diesen beiden

Mehr

SEAL Systems Integrationen für SAP PLM 7 und Web UI Anwendungen

SEAL Systems Integrationen für SAP PLM 7 und Web UI Anwendungen SEAL Systems Integrationen für SAP PLM 7 und Web UI Anwendungen Mit SAP PLM 7 und anderen Web UI Anwendungen hat SAP neue Oberflächen für bestehende und neue Funktionalität geschaffen. Diese Anwendungen

Mehr

PDF Dateien für den Druck erstellen

PDF Dateien für den Druck erstellen PDF Dateien für den Druck erstellen System Mac OS X Acrobat Version 6 Warum eigentlich PDF? PDF wird nicht nur in der Druckwelt immer wichtiger. Das Internet ist voller Informationsschriften im PDF-Format,

Mehr

Zero Effort Backup (ZEB) automatische Datensicherung über das Internet

Zero Effort Backup (ZEB) automatische Datensicherung über das Internet Ralph Lehmann. Computerservice und IT-Beratung. Kochstraße 34. 04275 Leipzig Ralph Lehmann Computerservice und IT-Beratung Kochstraße 34 04275 Leipzig Ralph Lehmann Computerservice und IT-Beratung Tel.:

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Versionskontrolle 1 / 30 Versionskontrolle Matthias Meitner Marc Spisländer Lehrstuhl für Software Engineering

Mehr

Outlook-Abgleich. Änderungen, Irrtümer und Druckfehler vorbehalten. Bearbeitet von Harald Borges. Stand April 2015 www.cobra.de

Outlook-Abgleich. Änderungen, Irrtümer und Druckfehler vorbehalten. Bearbeitet von Harald Borges. Stand April 2015 www.cobra.de Outlook-Abgleich Copyright 2015 cobra computer s brainware GmbH cobra Adress PLUS, cobra CRM PLUS, cobra CRM PRO und cobra CRM BI sind eingetragene Warenzeichen der cobra computer s brainware GmbH. Andere

Mehr

Transit/TermStar NXT

Transit/TermStar NXT Transit/TermStar NXT Einzelplatz-Installationen mit Ressourcen im Netzwerk 2015-06 Gültig ab Service Pack 6 Stand 2015-06. Dieses Dokument ist gültig ab Transit NXT Service Pack 6. Transit wird kontinuierlich

Mehr

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

Versionskontrollsysteme

Versionskontrollsysteme Versionskontrollsysteme Erfassung von Änderungen an Dateien Protokollierung von Änderungen Wiederherstellung alter Zustände Archivierung der gesamten Historie Koordinierung des gemeinsamen Zugriffs Verzweigung

Mehr

Kapitel 2. Software Configuration Management mit CVS und SVN

Kapitel 2. Software Configuration Management mit CVS und SVN Vorlesung Softwaretechnologie Wintersemester 2008 R O O T S Kapitel 2. Software Configuration Management mit CVS und SVN Motivation und Grundbegriffe Arbeiten mit SVN und CVS Vergleich von SVN und CVS

Mehr

Installationsanleitung für R

Installationsanleitung für R Installationsanleitung für R R ist eine Programmiersprache und Statistiksoftware zur Analyse von Daten und deren graphischer Darstellung. Um in R zu programmieren, ist zunächst die R- Basissoftware zu

Mehr

6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ

6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ 6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ 6HKUJHHKUWH6RIW&OHDQ $QZHQGHU LQ XQVHUHP 6RIW&OHDQ 8SGDWHV 'RZQORDGEHUHLFK ILQGHQ 6LH ]ZHL $UWHQ YRQ 8SGDWHV 1DFKIROJHQGHUIDKUHQ6LHZHOFKHV8SGDWHI U6LHGDVULFKWLJHLVWXQGZLH6LHGDV8SGDWHDXI,KUHP$UEHLWVSODW]GXUFKI

Mehr

Framework zur Unterstützung von Unit-Tests

Framework zur Unterstützung von Unit-Tests JUnit Framework zur Unterstützung von Unit-Tests Automatisierte Ausführung von Tests Ideen dahinter Testgetriebene Entwicklung: Erst testen, dann programmieren Alle Testfälle häufig ausführen (nach jeder

Mehr

Anwendertreffen 20./21. Juni

Anwendertreffen 20./21. Juni Anwendertreffen Forum Windows Vista Warum Windows Vista? Windows Vista wird in relativ kurzer Zeit Windows XP als häufigstes Betriebssystem ablösen. Neue Rechner werden (fast) nur noch mit Windows Vista

Mehr

Simulationsprojekte einfacher mit Subversion und Trac

Simulationsprojekte einfacher mit Subversion und Trac Simulationsprojekte einfacher mit Subversion und Trac Workshop Simulation in den Umwelt- und Geowissenschaften, Medizin und Biologie Stefan Schwarzer, SSchwarzer.com Mike Müller, IBGW GmbH Berlin, 2007-03-22

Mehr

Architektur eines Managementsystems für wissenschaftliche Daten

Architektur eines Managementsystems für wissenschaftliche Daten Architektur eines Managementsystems für wissenschaftliche Daten Simulation and Software Technology (SISTEC) http://www.sistec.dlr.de Workshop Wege aus dem Daten-Chaos, DLR Köln-Porz, 16. Mai 2002 1 Übersicht

Mehr

Eclipse und Java Einheit 05: Arbeiten im Team: CVS

Eclipse und Java Einheit 05: Arbeiten im Team: CVS Eclipse und Java Einheit 05: Arbeiten im Team: CVS Laith Raed Ludwig-Maximilians-Universität München Institut für Informatik: Programmierung und Softwaretechnik Prof.Wirsing Inhaltsverzeichnis 1 Source

Mehr

DMSEXPLORER PRODUKTINFORMATIONEN

DMSEXPLORER PRODUKTINFORMATIONEN DMS Explorer DMSEXPLORER PRODUKTINFORMATIONEN BEL-IT GmbH 2014 Seite 1 von 26 1 INHALT 2 Motivation... 4 3 Funktionen... 4 3.1 DOMEA Bereiche... 4 3.2 Akten/Vorgänge Funktionen... 6 3.3 Metadatenbearbeitung...

Mehr

Mobile Client beim Bundesministerium für Landesverteidigung

Mobile Client beim Bundesministerium für Landesverteidigung Mobile Client beim Bundesministerium für Landesverteidigung Dr. Gerald Ritz Senior Solution Architect, HP 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change

Mehr

Von Netop ProtectOn 2 auf Netop ProtectOn Pro umstellen

Von Netop ProtectOn 2 auf Netop ProtectOn Pro umstellen Von Netop ProtectOn 2 auf Netop ProtectOn Pro umstellen Wenn Sie Benutzer von ProtectOn 2 sind und überlegen, auf ProtectOn Pro upzugraden, sollten Sie dieses Dokument lesen. Wir gehen davon aus, dass

Mehr

Informationen zur Installation und Nutzung von Subversion (SVN)

Informationen zur Installation und Nutzung von Subversion (SVN) Informationen zur Installation und Nutzung von Subversion (SVN) Ansprechpartner im Rechenzentrum bei Problemen ist Herr Eike Armbrust (Rechenzentrum; eike.armbrust@ostfalia.de; 939-19410) Auf den Seiten

Mehr

Software Qualität Übung 1

Software Qualität Übung 1 1. Informationen 1.1 Formales Software Qualität Übung 1 Regressionstests mit JUnit Versionskontrolle mit CVS Bugtracking mit Bugzilla Abgabetermin: Freitag 20.April 2007, 18.00 CET (Central European Time)

Mehr

DGNB System Software: Unterschiede zwischen Version 1 und Version 2

DGNB System Software: Unterschiede zwischen Version 1 und Version 2 DGNB System Software: Unterschiede zwischen Version 1 und Version 2 1 DGNB GmbH 2015 Inhaltsverzeichnis (1) 1. Aufteilung in Web-Oberfläche und Client 2. Anmeldung in der Web-Oberfläche 3. Installieren

Mehr

Softwareprojekt - Einführung

Softwareprojekt - Einführung Softwareprojekt - Einführung Danny Götte danny.goette@tu-ilmenau.de Softwareprojekt - Einführung FG System- und Software-Engineering Prof. Armin Zimmermann Armin.Zimmermann@tu-ilmenau.de Ablauf Einführung

Mehr