Configuration Management

Größe: px
Ab Seite anzeigen:

Download "Configuration Management"

Transkript

1 Configuration Management Software Engineering Projekt WS 06/07 Fachbereich Softwaretechnik (IV) Technische Universität Berlin Oliver Frank

2 1 Einleitung Version Management Lagerung der Dateien Zentraler Ansatz Lock-Modify-Write Copy-Modify-Merge Dezentraler Ansatz Versionierung Branches und Tags Tags Branches Change Management Build Management Buildtools Ant Maven Continuous Integration CruiseControl Dependency Management Arten von Abhängigkeiten Verwaltung der Abhängigkeiten im Build-Prozess Verwaltung der Abhängigkeiten beim Release Management Release Management Definition Release Termin/Umfang eines Releases Releasenotes Versionsnummer des Releases Archivierung von Releaseständen Quellen Abbildungsverzeichnis...19

3 1 Einleitung Diese Arbeit soll einen Überblick über die verschiedenen Disziplinen des Configuration Managements geben. Es sollen hier Anworten auf die Fragen Was ist Configuration Management? Warum ist Configuration Management nötig? Wie kann man die Ziele des Configuration Managements am besten erreichen? gegeben werden. Um den Begriff Configuration Management etwas näher zu beschreiben soll hier die folgende Definition für diesen Begriff vom ANSI (American National Standardization Institute) erwähnt werden: Configuration Management... is a management process for establishing and maintaining consistency of a product's performance, its functional and physical attributes, with its requirements, design and operational information, throughout its life. Die Hauptaufgabe des Configuration Managements also ist es die Konsistenz des Produkts herzustellen und zu erhalten und es in Einklang zu bringen mit den verschiedenen Anforderungen die an das Produkt gestellt. Es sind verschiedene Techniken, Prozesse und Tools nötig, um diese Aufgabe zu erfüllen. Einige von ihnen werden im folgenden vorgestellt.

4 2 Version Management Die Aufgabe des version managements ist es dafür zu sorgen, dass mehrere Entwickler zusammen an einem Projekt arbeiten können. Das schließt natürlich insbesondere ein, dass mehrere Entwickler auch gemeinsam an einer Datei arbeiten können, ohne dass vorher abgesprochen werden muss, wer wann an dieser Datei arbeitet. Natürlich muss auch nachvollziehbar sein, wer welche Änderungen an einer Datei vorgenommen hat, z.b. wenn Fragen zu diesen Änderungen aufkommen oder wenn diese Änderung Fehler enthält. Gerade für den letzteren Punkt ist es weiterhin notwendig, dass Änderungen auch rückgängig gemacht werden können. Alle diese Aufgaben muss also ein version mangement tool erfüllen. Allerdings existieren verschiedenste Konzepte, wie diese Augaben erfüllt werden können. 2.1 Lagerung der Dateien Zentraler Ansatz In den meisten Fällen sind versions management tools als Client-Server-Systeme realisiert. Dabei stellt der Server das so genannte Repository bereit, in dem alle zum Projekt gehörigen Dateien verwaltet werden. Die Dateien können dabei entweder in einem bestimmten Filesystem oder auch in einer Datenbank gespeichert sein. Die Frage ist jetzt natürlich, wie Änderungen an Dateien genau vorgenommen werden. Auch dazu gibt es zwei Verfahrensweisen: Lock-Modify-Write Bei diesem Ansatz wird eine Datei, bevor Änderungen durchgeführt werden, durch den Benutzer gesperrt (lock), d.h. dass zu diesem Zeitpunkt nur dieser Benutzer die Datei verändern kann. Nach der Sperrung nimmt er seine Änderungen an der Datei vor (modify), und überträgt sie ins Repository (write) (s. Abbildung 1).

5 Abbildung 1: Lock-Modify-Merge Strategie Diese Strategie wird auch Pessimistic Revision Control genannt, da sie am worst case ausgerichtet ist. Dieser worst case tritt dann auf, wenn zwei Benutzer etwas an derselben Stelle in einer Datei verändern, was natürlich zu Konflikten führt. Diese kann bei diesem Verfahren nicht passieren. Allerdings tritt dieser Fall doch eher selten auf. Viel wahrscheinlicher dagegen ist es, dass zwei Benutzer an unterschiedlichen Dateien oder an unterschiedlichen Stellen in einer Datei arbeiten. Dann ist das Lock-Modify-Merge-Verfahren im Nachteil, da es einen für diese Fälle unnötigen Verwaltungsoverhead hat und außerdem auch die Gefahr besteht, dass ein Nutzer vergisst eine Datei wieder freizugeben, woraufhin kein Anderer mehr an dieser Datei arbeiten kann. Deshalb verfahren die meist benutzten version management tools nach einer anderen Strategie: Copy-Modify-Merge Bei diesem Verfahren muss der Benutzer zuerst eine lokale Arbeitskopie des Repositories angelegen (copy). Darauf folgend werden die Änderungen durchgeführt (modify) und an das Repository übertragen. Da die Datei, die gerade bearbeitet wird, hierbei für andere Benutzer nicht gesperrt ist, kann es allerdings passieren, dass inzwischen ein anderer Benutzer diese Datei ebenfalls bearbeitet hat und seine Änderung zum Repository übermittelt hat. In diesem Fall bekommt der Benutzer eine Meldung beim Übertragen, dass seine lokale Arbeitskopie nicht mehr auf dem neuesten Stand ist. Wenn dann die neueste Version abgerufen wird, werden im Normalfall, die Änderungen, die ein anderer Benutzer vorgenommen hat, mit den

6 eigenen automatisch zusammengeführt (merge). Im oben beschriebenen worst case, dass genau die selbe Stelle bearbeitet wurde, muss der Benutzer manuell die beiden Versionen zusammenführen und dann ans Repository übermitteln (s. Abbildung 2). Abbildung 2: Copy-Modify-Merge Strategie mit Konflikt Abbildung 3: Copy-Modify- Merge Strategie ohne Konflikt Dezentraler Ansatz Die Arbeitsweise bei Systemen, die mit einem dezentralen Ansatz arbeiten, unterscheidet sich meist nicht wesentlich von dem zentralen Ansatz. Allerdings ist es hierbei nötig, dass sich alle Benutzer kennen, also wissen wer an einem Projekt arbeitet, da es ja kein zentrales Repository gibt. Die aktuellste Version liegt dann immer bei dem Benutzer, der als letztes Änderungen durchgeführt hat und die anderen Benutzer können sich diese Version von ihm herunterladen. 2.2 Versionierung Allen Systemen gemein ist, dass, wenn Änderungen durchgeführt wurden, eine neue Version erstellt wird. Entweder wird für die Dateien, die gerade bearbeitet wurden, eine neue Version erstellt oder aber für das gesamte Repository, d.h bei jeder Änderung wird die Versionsnummer für das gesamte Repository inkrementiert. Der naive Ansatz die verschiedenen Versionen der Dateien zu speichern wäre, die Datei zu kopieren, jedes Mal wenn Änderungen vorgenommen werden. Wenn dieser Ansatz vefolgt werden würde, würde das Repository natürlich schon nach kurzer Zeit eine enorme Menge Speicherplatz benötigen. Deshalb speichern versions management tools nicht die gesamte Datei bei einer Änderung, sondern nur den Teil, der sich geändert hat. Das heißt die Datei wird einmal komplett im Repository gespeichert und jede Änderung wird nur inkrementell zu dieser kompletten Variante festgehalten. Die komplette Variante entspricht dabei entweder dem ersten oder letzten also aktuellsten Stand der Datei.

7 Es existiert also die komplette Änderungshistorie für jede Datei. So können z.b. Dateien in älteren Versionen wieder abgerufen werden oder auch Vergleiche zwischen zwei Versionen einer Datei durchgeführt werden. Der Ansatz nicht einzelne Dateien zu versionieren bietet dabei den Vorteil, dass man immer genau weiß, wie der Rest des Repositories aussah als eine bestimmte Änderung an einer Datei durchgeführt wurde. Wenn z.b. Änderungen an zwei Dateien vorgenommen wurden, die beide rückgängig gemacht werden sollen, muss man sich im Fall, dass jede Datei einzeln versioniert wird, merken welche Dateien bearbeitet wurden. Allerdings bieten version managemnet tools eine Möglichkeit dieses Merken zu automatisieren. 2.3 Branches und Tags Tags Mit Hilfe eines Tags kann man den Stand von einer beliebigen nicht leeren Menge von Dateien sichern und, wenn man ihn braucht, später wieder abrufen. Man kann sich ein Tag als Punkt auf dem Zeitstrahl vorstellen, zu dem man immer wieder zurückspringen kann (s. Abb //TODO). Eine wirklich wichtige Rolle spielen Tags allerdings nur bei Systemen, die Dateien einzeln versionieren (s.o.), bei Systemen, die das gesamte Repository versionieren sind sie lediglich ein Label für einen bestimmten Stand, da ja sowieso jeder Stand wieder abgerufen werden kann Branches Ein Branch ist eine Verzweigung des Zeitstrahls, auf der parallel gearbeitet werden kann. Abbildung 4: Tags und Branches

8 Ebenso wie ein Tag kann man einen Branch für eine beliebige Menge von Dateien ziehen. Wenn jetzt Änderungen auf dem Hauptzweig (trunk) durchgeführt werden, haben diese keine Auswirkungen auf den Branch und genauso andersherum. Branches werden z.b. dafür genutzt an mehreren Versionen eines Programms zu arbeiten. So werden z.b. an einer älteren Version, die schon veröffentlicht wurde, nur noch bugfixes durchgeführt, wogegen auf dem Trunk neue Funktionalität eingebaut wird. Wenn Änderungen, die an einem Zweig durchgeführt werden, auch in anderen Zweigen erscheinen sollen, müssen diese mit einem speziellen Kommando in die anderen Zweige überführt werden, was allerdings sehr aufwendig werden kann, wenn sich diese Zweige stark unterscheiden. 3 Change Management Eine wichtige Frage in Sofwareprojekten ist, wie man auf Änderungswünschen verfährt. Hierbei sind natürlich in erster Linie größere Änderungen zu beachten, z.b. wenn Anforderungen geändert werden, aber auch kleinere im Programm gefundene Fehler bedürfen eines festgelegten Prozesses, wie mit ihnen zu verfahren ist. Schließlich sind auch bei kleinen Änderungen Resourcen einzuplanen und die Ergebnisse zu überprüfen. Nun ist es schwer einen exakten Prozess vorzugeben, der alle Probleme löst, wenn man sich nur an ihn hält. Der im Folgenden vorgestellte Prozess ist deswegen nur als Schablone zu verstehen und nicht als absolute Lösung: Änderungsanfrage erstellen Änderungsanfrage überprüfen Gültig? Änderungsanfrage an CCB übermitteln Änderungsanfrage in Datenbank aufnehmen Implementierung und Aufwand schätzen Genehmigt? Änderungsanfrage verwerfen Implementieren und testen der Änderung Neue Version des Programms erstellen

9 1. Änderungsanfrage erstellen Zuerst ist natürlich nötig eine Änderungsanfrage zu erstellen. Dieses kann von versieden Personen durchgeführt werden. Änderungen der Anforderungen werden meist von Kunden gewünscht, gefundene Fehler dagegen werden (im besten Fall) von Testern oder auch von Entwicklern gemeldet. Um Missverständnisse und daraus folgend zu viel oder zu wenig geleistete Arbeit zu vermeiden, muss diese gewissen Ansprüchen genügen. Erst einmal sollte klar sein, wer diese Änderungsanfrage erstellt hat, um Rückfragen an den richtigen Ansprechpartner richten zu können. Auch wenn es eigentlich selbstverständlich ist, soll hier darauf hingewiesen werden, dass es von höchster Wichtigkeit ist, den Änderungswunsch exakt zu beschreiben. In jeder Änderungsanfrage sollte die Programmversion enthalten sein, in der die Änderung vorgenommen werden soll. Weiterhin muss bei gefundenen Fehler genau beschrieben sein, in welcher Situation, mit welchen Daten, welcher Fehler aufgetreten ist, damit dieser auch reproduziert und dann behoben werden kann. So kann z.b. mit der Erklärung Wenn ich den Button OK anklicke, stürzt das Programm ab. niemand etwas anfangen. Wenn dagegen beschrieben ist Wenn ich einen neuen Benutzer xyz anlegen will und in diesem Dialog auf OK klicke, stürzt das Programm ab kann der Fehler leicht nachvollzogen werden. 2. Änderungsanfrage überprüfen Wenn eine Änderungsanfrage erstellt wurde, ist zu überprüfen, ob sie den o.g. Kriterien genügt. Wenn das nicht der Fall ist muss sie geändert oder zurückgenommen werden. 3. Implementierung und Aufwand abschätzen Natürlich ist es für die Planung sehr wichtig eine Abschätzung zu haben, wie lange es dauert diese Änderung zu implementieren. Um den Aufwand realistisch abschätzen zu können, ist es vorher nötig ein konzeptuelles Design durchzuführen, wie diese Änderung implementiert werden kann. Mit Hilfe dieses Designs kann man dann relativ genau den Aufwand schätzen. 4. Änderungsanfrage in Datenbank aufnehmen Um die durchgeführte Änderung später auf ihre Richtigkeit hin überprüfen zu können und um den aktuellen Entwicklungsstatus überwachen zu können, ist es nötig die Änderung elektronisch zu speichern. Das ist am besten in einer Datenbank möglich. 5. Änderungsanfrage an das Change Control Board übermitteln Nach der Speicherung der Anfrage, wird diese an das Change Control Board übermittelt. Die genaue Zusammensetzung und Größe dieses Gremiums hängt sehr von der Größe des Projekts ab, seine Aufgabe jedoch ist es die Änderungsanfrage von einem organisatorischen anstatt eines entwicklungstechnischen Standpunkts zu bewerten. Dieses Gremium sollte aus Mitgliedern bestehen, die nicht in die Entwicklung involviert sind. Bei großen Projekten können ihm auch Vertreter des Kunden angehören. 6. Implementieren und testen der Änderung Nach erfolgreicher Überprüfung durch das CCB wird die Änderung implementiert und anschließend getestet. Auch hierfür ist es sehr wichtig, dass die Anfrage gespeichert wurde, um die Anforderungen mit dem IST-Zustand vergleichen zu können.

10 7. Neue Version des Programms erstellen Wurden die durchgeführten Änderungen erfolgreich getestet, können sie nun in die neue Version des Programms einfließen. 4 Build Management Zu einem Softwareprojekt gehören normalerweise viele Dateien die in eine ausführbare Datei integriert werden müssen. Erstmal müssen alle Quellcode Dateien übersetzt werden, es müssen Resourcedateien (z.b. Grafiken) integriert werden und es muss aus diesen Dateien ein Programm erstellt werden, welches dann auch ausführbar ist. Bei kleinen Projekten ist es ohne Probleme möglich diese Aufgabe manuell bzw. mit Unterstützung der Entwicklungsumgebung zu lösen. So ist es z.b. ohne großen Aufwand möglich, eine Menge von class-dateien in ein ausführbares jar-archive zu packen oder aus C++-Dateien eine exe-datei zu erstellen. Wenn allerdings zusätzliche Bibliotheken oder mehrere ausführbare Dateien erstellt werden müssen, wird dieser Vorgang schnell sehr aufwändig und unübersichtlich und damit natürlich auch fehleranfällig. Deswegen ist es spätestens, wenn die Dateien eines Projekts nicht mehr in einem Projekt einer Entwicklungsumgebung verwaltet werden können oder sollen, notwendig ein Tool einzusetzen, welches den Build-Vorgang automatisiert ausführt. 4.1 Buildtools Ant Es gibt diverse Tools, die diese Aufgabe erledigen. Eines der bekanntesten Programme ist ant. Ant wird über eine Xml-Datei konfiguriert, in der man einstellt welche Tasks zum Bauen des Programms ausgeführt werden sollen. Zum Beispiel gibt es einen Task über den das Kompilieren der Source-Dateien gesteuert wird. Für diesen gibt man das Quell- und das Zielverzeichnis und den Compiler an, welcher bei Aufruf dieses Tasks gestartet wird und dann die angegebenen Dateien übersetzt. Allerdings setzt ant auf einer niedrigen Ebene an. Letztendlich bietet ant nicht viel mehr Funktionalität als ein Skript oder eine Sammlung von Skripten, wenn es natürlich auch deutlich komfortabler zu konfigurieren ist Maven2 Auf einer höheren Ebene setzt dagegen das Tool maven an. Maven basiert auf der Idee, dass jedes Projekt letztendlich die gleichen Anforderungen an ein Buildtool stellt. So ist es bei (fast) jedem Projekt notwendig Dateien zu kompilieren, automatisch Unit-Tests laufen zu lassen und die Dateien zu einer ausführbaren Datei zusammenzupacken. Das heißt, dass die Tasks, die man in ant definieren muss, für

11 sehr viele Projekte die gleichen oder sich zumindest sehr ähnlich sind. Deswegen ist es für den Einsatz von maven nicht nötig Tasks zu definieren, sondern nur die Projektstruktur. In Maven2 sind je nach Art des Projekts (Jar, War, Ear o.ä.) die übichen Tasks (bei Maven2 Phasen genannt) schon vordefiniert. So existieren z.b. für ein Jar-Projekt folgende Phasen: process-resources Verarbietet die Ressourcen compile Übersetzt die Quellcode-Dateien process-test-resources Verarbietet die Test-Ressourcen test-compile Übersetzt die Quellcode-Dateien für die Tests test Führt die JUnit-Tests durch package Erstellt eine Jar-Datei aus den kompilierten Sourcen install Legt die Jar-Datei in einem lokalen Repository ab (s.u.) deploy Legt die Jar-Datei in einem globalen Repository ab (s.u.) Jede Phase baut dabei auf den vorangegangenen auf, d.h. der Aufruf mvn package verarbeitet die Ressourcen, überstzt alle Klassen und führt die Tests aus. Da alle diese Phasen vordefiniert sind, ist leicht möglich, ein Projekt aufzusetzen, auf dem die Phasen ausgeführt werden können: Konfiguriert wird maven ebenso wie ant über eine Xml-Datei, die standarmäßig pom.xml heißt (POM = Project Object Model). Eine pom.xml für maven könnte z.b. so aussehen: <project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/ <modelversion>4.0.0</modelversion> <groupid>com.mycompany.app</groupid> <artifactid>my-app</artifactid> <packaging>jar</packaging> <version>1.0-snapshot</version> <name>maven Quick Start Archetype</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project> Bei Einhaltung der richtigen Ordnerstruktur genügt diese pom.xml, um alle o.g. Phasen ausführen zu können. Standardmäßig setzt Maven2 folgende Ordnerstruktur voraus:

12 my-app -- pom.xml `-- src -- main -- java `-- resources `-- test -- java `-- resources In dem Projektverzeichnis liegt die entsprechende pom-datei und der Ordner src. In diesem finden sich zwei Unterverzeichnisse main und test. In main liegen alle Dateien, die für die Ausführung des Programms erforderlich sind. Dies sind zum einen Quellcode-Dateien, die sich im Unterordner java befinden. Außerdem existiert noch ein Verzeichnis resources, in dem die notwendigen Resource-Dateien zu finden sind. Die gleiche Struktur findet sich im Ordner test, hier allerdings liegen die Dateien, die für JUnit-Test benötigt werden. Auch Abhängigkeiten lassen sich sehr leicht definieren. Anzugeben ist nur der Name, die Gruppe, die Version und, wenn es sich nicht um eine Jar-Datei handelt, der Typ des Projekts, zu dem eine Abhängigkeit besteht, Ein Pfad, wo diese Datei zu finden ist, muss nicht angegeben werden. Maven2 benutzt einen speziellen Ordner (Repository) dazu sämtliche Artefakte, die durch Maven2 erstellt wurden, zu verwalten. Durch den Befehl mvn install erreicht man, dass ein Projekt in dieses Repository übernommen wird. Für Libraries oder Frameworks, die in vielen Projekten eingesetzt werden (z.b. JUnit), gibt es auch diverse globale Repositories, die über http erreichbar sind. Durch diverse Plugins, die für Maven2 existieren, sind fast sämtliche Aufgaben, die in einem Projekt anfallen zu automatisieren und leicht zu konfigurieren. 4.2 Continuous Integration Heutzutage existieren kaum noch Softwareprojekte, deren Umfang so gering ist, dass eine Person das gesamte Projekt alleine bewältigen kann. Wenn allerdings mehrere Leute an einem Projekt arbeiten. Dies kann zu Problemen führen. Wenn z.b. Entwickler A an einer Library arbeitet und Entwickler B an einem Teilprojekt, dass diese Library verwendet, kann es vorkommen, dass A Änderungen an der Library vornimmt, ohne dass Person B diese mitbekommt. Das kann zum Releaseschluss dazuführen, dass sämtliche zum Projekt gehörenden Komponenten nicht zusammenpassen. Dies würde zu einem unkalkulierbaren Aufwand am Ende eines Projekts/Releases führen, den man nicht in Kauf nehmen will.

13 Daher ist es notwendig zu jedem Zeitpunkt die Integration der einzelnen Komponenten überwachen zu können. Es existieren diverse Tools, die die Aufgabe der kontinuierlichen Integration bewerkstelligen. Im weiteren wird exemplarisch als ein Vertreter dieser Continuous Integration Tools CruiseControl vorgestellt CruiseControl CruiesControl bietet die Möglichkeit ein Repository oder einen Teil des Repositories zu überwachen, bei Änderungen einen Build zu starten und anschließend die Ergebnisse des Builds zu veröffentlichen. CruieControl übernimmt also nur administrative Aufgaben, d.h. es wird weiterhin ein Versionskontrollsystemen wie Subversion und ein Buildtool wie Maven2 benötigt. Abbildung 5: Funktionsweise von CruiseControl

14 In Abbildung 5 ist das Verhalten von CruiseControl exemplarisch für die Zusammenarbeit mit CVS und Ant abgebildet. Sobald die Entwickler Änderungen an CVS übermittelt haben, registriert CC diese. Es wird jetzt nicht zwangsläufig ein Build angestoßen, da es bei großen Projekten, deren Build vielleicht mehrere Stunden dauert, zu einer enormen Belastung der Hardwareressourcen führen würde, wenn bei jeder Änderung im Repository ein Build gestarten wird. Daher kann in CC flexibel konfiguriert werden zu welchem Zeitpunkt, bzw. in welchen Intervallen gebaut werden soll. Zu diesem Zeitpunkt wird dann überprüft, ob Änderungen stattgefunden haben. Wenn dies der Fall ist, wird Ant aufgerufen, welches dann das Projekt baut. Nach Abschluss des Builds übermittelt Ant dann die Buildresultate zurück an CC, welches sie entsprechend veröffentlich kann. Standardmäßig werden die Ergebnisse auf einer Website veröffentliche, es können aber auch Mails verschickt oder diverse Aktionen durchgeführt werden. Konfiguriert wird CC über eine Xml-Datei (config.xml), die z.b. so aussehen kann: <cruisecontrol> <project name="sampleccproject"> <bootstrappers> <currentbuildstatusbootstrapper file="../logs/currentbuild.txt" /> <svnbootstrapper file="build-cc.xml" localworkingcopy="../../../workarea/sampleccproject" /> </bootstrappers> <modificationset quietperiod="60" > <svn LocalWorkingCopy="../../../WorkArea/SampleCCProject"/> </modificationset> <schedule interval="60" > <ant antworkingdir="../../../workarea/sampleccproject" buildfile="build-cc.xml" /> </schedule> <log dir="../logs/sampleccproject"> <merge dir="../../../workarea/sampleccproject/reports/junit/data"/> </log> <publishers> <currentbuildstatuspublisher file="../logs/currentbuild.txt" /> <artifactspublisher dir="../../../workarea/sampleccproject/dist" dest="../logs/sampleccproject" /> < mailhost="smtp.yourdomain.com" skipusers="true" reportsuccess="fixes" subjectprefix="[cruisecontrol]" buildresultsurl="http://buildserver:8080/cruisecontrol/results"> <failure /> <success /> </ > </publishers> </project> </cruisecontrol>

15 Im Folgenden möchte ich die hier verwendeten Tags kurz vorstellen: <cruisecontrol> Dies ist das Wurzeltag. Innerhalb dieses Tags werden die einzelnen Projekte definiert. <project> In diesem Element wird die Konfiguration für ein Projekt vorgenommen. Da CC auch mehrere Projekte unterstützt, ist es nötig, dass die Projekte einzeln konfiguriert werden können. <bootstrappers> Hier können Aktionen definiert werden, die ausgeführt werden sollen, bevor der Build beginnt. Es kann z.b. definiert werden, dass ein Log-Eintrag für jeden gestarteten Build erzegt wird oder es können die letzten Änderungen aus einem Subversion-Repository geholt werden. <modificationset> Mit Hilfe dieses Tags kann ein Repository auf Änderungen überwacht werden, die dann zum gegebenen Zeitpunkt einen Build auslösen. Es ist auch möglich einzustellen, dass CC nicht auf eine Änderung warten soll, um das Projekt zu bauen. <schedule> Über dieses Element wird eingestellt, in welchem Intervall ein Build gestartet werden soll und welches Buildtool aufgreufen wird. <log> Über dieses Tag wird konfiguriert, welche Ergebnisse des Builds veröffentlicht werden sollen. So können hier z.b. noch die Ergebnisse der JUnit-Tests die Ant produziert in die Standardausgabe von CC eingefügt werden. <publishers> Hier wird definiert wie die Ergebnisse veröffentlicht werden sollen. Es können s zur Benachrichtigung verschickt werden oder auch bestimmte Dateien in angegebenes Verzeichnis verschoben werden. Standardmäßig werden die Ergebnisse des Builds auf einer Website veröffentlicht, die dann z.b. so aussehen kann:

16 Abbildung 6: Webausgabe von CruiseControl 5 Dependency Management Es ist aus verschiedenen Gründen wichtig zu wissen, welche Abhängigkeiten zu anderen Projekten in einem Projekt bestehen. 5.1 Arten von Abhängigkeiten Man kann Abhängigkeiten anhand verschiedener Kriterien klassifzieren: 1. Sind es externe oder interne Abhängigkeiten? Interne Abhängigkeiten bestehen zu anderen Projekten der gleichen Firma oder des gleichen Entwicklungsteams. Dagegen müssen externe Abhängigkeiten von anderen Firmen o.ä. geholt werden. 2. Zu welcher Art von Artefakt besteht eine Abhängigkeit. Meistens werden von Projekten diverse Libraries vorrausgesetzt, die vom eigenen Programm verwendet werden. Es können aber genauso gut Abhängigkeiten zu bestimmten Ressourcen oder auch zu anderen ausführbaren Programmen bestehen. 3. Zu welchem Zeitpunkt werden Abhängigkeiten benötigt? Libraries werden meistens schon beim Build benötigt. Bei Ressourcen oder externen Programmen kommt es dagegen häufig vor, dass diese erst zur Laufzeit des Programms benötigt werden.

17 5.2 Verwaltung der Abhängigkeiten im Build- Prozess Um ein Projekt oder ein Teilprojekt desselben zu bauen, ist es natürlich notwendig zu wissen, welche Abhängigkeiten bestehen, zu welchem Zeitpunkt diese Abhängigkeiten aufgelöst werden und ob es sich um externe oder interne Abhängigkeiten handelt. Es muss sichergestellt werden, dass die Artefakte, zu denen Abhängigkeiten bestehen, auch zum Zeitpunkt des Builds bereitstehen. Hierfür bietet Maven2 eine komfortable Möglichkeit an dieses sicherzustellen. Name und Version der von einem Projekt benötigten Artefakte werden in die Maven2- Konfigurationsdatei dieses Projekts eingetragen. Dadurch findet Maven2 diese Artefakte, solange sie sich in einem der konfigurierten Maven2-Repositories befinden (s ). Interne Abhängigkeiten werden, wenn sie in den Repositories nicht vorhanden sind, automatisch erzeugt, wenn es sich bei beiden Projekten um Teilprojekte desselben Projekts handelt. Außerdem kann Maven2 auch transitive Abhängigkeiten verwalten: Projekt A benötigt die Abhängigkeit B, Projekt C benötigt das Projekt A und B als Abhängigkeit. Mit Maven2 ist dann nicht nötig Projekt B im Projekt C als Abhängigkeit zu definieren, da dies bereits im Projekt A geschehen ist. 5.3 Verwaltung der Abhängigkeiten beim Release Management Allerdings ist dieser Weg der Abhängigkeitsverwaltung beim Erstellen eines Releases oder bei der Auslieferung eines Teilprojekts nicht praktikabel. Wenn man diesen Weg wählen würde, wäre es nötig die Abhängigkeiten aus den Maven2- Konfigurationsdateien für dieses Projekt und, da Maven2, wie gesagt, transitive Abhängigkeiten unterstützt, rekursiv für sämtliche Projekte, zu denen Abhängigkeiten bestehen, abzulesen. Daher ist es für das Release Management notwendig an einer zentralen Stelle (z.b. in einer Datenbank) nicht transitiv alle Artefakte, die ein Projekt benötigt, aufzulisten. So kann sichergestellt werden, dass bei der Erstellung eines Releases keine benötigte Datei vergessen wird.

18 6 Release Management Um einen Plan erstellen, wann ein Release erstellt wird und welche Änderungen in diesem Release veröffentlicht werden, ist es notwendig zu wissen, was ein Release überhaupt ist. 6.1 Definition Release Ein Release ist die installierbare und ausführbare Zusammenstellung aller zum Projekt gehörigen Source und Resource Dateien in einer bestimmten Konfiguration. 6.2 Termin/Umfang eines Releases Da die Version natürlich installierbar und ausführbar sein soll, ist es wichtig, dass eher zu wenig als zu viele Änderungen für ein Release einzuplanen. Wenn sich zum Releaseschluss oder kurz vorher herausstellt, dass die eingeplanten Entwicklungen nicht beendet werden konnten oder können, müssen entweder die angefangen Änderungen für eine bestimmte Entwicklung rückgängig gemacht werden, was u.u. mit großem Aufwand verbunden sein kann oder der Zeitpunkt, zu dem ein Release freigegeben wird, muss verschoben werden. Wenn Lieferungen an Kunden zu einem bestimmten Termin schon zugesagt wurden und dieser nicht eingehalten werden kann, kann dies u.u. zu hohen Kosten und/oder zu Imageverlust führen. Neben der übermäßigen Einplanung von Änderungen kann auch die Integration der einzelnen Komponenten die Releasefreigabe verzögern. Wenn die Komponeneten erst kurz vor Releaseschluss in ein Gesamtsystem integriert werden, ist es wahrscheinlich, dass diese nicht, wie gewünscht, zusammenarbeiten. Das hat im Allgemeinen einen erheblichen Zeitaufwand zur Folge, durch den der geplante Termin oft nicht mehr eingehalten werden kann. Daher sollte man zu jedem Zeitpunkt sicherstellen, dass die Komponenten auch in einem System problemlos zusammenarbeiten (s. 4.2). 6.3 Releasenotes Genauso so wichtig wie eine gute Dokumentation der Arbeiten, die in einem Release enthalten sein sollen, ist eine Dokumentation der Änderungen, die tatsächlich in einem Release enthalten sind. Nun ist es höchstwahrscheinlich nicht durchführbar kurz vor Releaseschluss jede(n) EntwicklerIn zu fragen, welche Änderungen er/sie in diesem Release implementiert hat. Daher ist es notwendig ein strukturiertes Vorgehen zu finden, wie die Releasenotes erstellt werden. Eine Möglichkeit für ein solches Vorgehen besteht darin ein Ticketsystem zu benutzen, in welchem Änderungsanfragen gespeichert sind. Wenn dort für jede Änderungsanfrage beschrieben ist, ob/wie sie umgestzt wurde, kann man daraus automatisch Releasenotes generieren.

19 6.4 Versionsnummer des Releases Jedes Release sollte jederzeit eindeutig identifizierbar sein. Daher sollte man für jedes Release eine eindeutige Versionsnummer vergeben. Diese sollte einer gewissen Gesetzmäßigkeit folgen, die z.b. so aussehen kann: Versionsnummer besteht aus drei Zahlen X.Y.Z wobei X für ein Release erhöht wird, in dem große funktionale Änderungen durchgeführt wurden, Y dann erhöht wird, wenn kleine funktionale Änderungen stattgefunden haben und Z inkrementiert wird, wenn nur Bugs gefixed wurden (Service Pack). 6.5 Archivierung von Releaseständen Wenn ein Release freigegeben wurde, heißt das nicht, dass nie wieder Änderungen an diesem Release vorgenommen werden. Sobald dort Fehler gefunden werden, müssen diese natürlich auf diesem Stand des Programms behoben werden, auch wenn vielleicht schon ein oder zwei weitere Releases danach freigegeben wurden. Diese Möglichkeitet bietet das Anlegen von Branches im Versionskontrollsystem (s ). Dort können dann Fehler behoben werden, ohne dass andere Versionen des Programms davon betroffen sind. Außerdem hat man so sichergestellt, dass die Sourcen von jeder Version des Programms zu jedem Zeitpunkt wieder abrufbar sind. 7 Quellen [1] verwaltung [2] [4] [3] [4] Ian Sommerville Software Engineering 5. Auflage [5] [6] [7] [8] 8 Abbildungsverzeichnis Abbildung 1: Lock-Modify-Merge Strategie...5 Abbildung 2: Copy-Modify-Merge Strategie mit Konflikt...6 Abbildung 3: Copy-Modify-Merge Strategie ohne Konflikt... 6 Abbildung 4: Tags und Branches...7 Abbildung 5: Funktionsweise von CruiseControl...13 Abbildung 6: Webausgabe von CruiseControl... 16

20

Software- Konfigurationsmanagement (Software Configuration Management)

Software- Konfigurationsmanagement (Software Configuration Management) Software- Konfigurationsmanagement (Software Configuration Management) Definition Software-Konfigurationsmanagement (SKM) ist die Disziplin zur Verfolgung und Steuerung der Evolution von Software. W. Tichy

Mehr

Maven 2 Softwareprojekte mit Kultur

Maven 2 Softwareprojekte mit Kultur Maven 2 Softwareprojekte mit Kultur Patrick Zeising 28.05.2010 Motivation Projekte unterscheiden sich stark im Aufbau Abläufe beim Übersetzen und Deployen unterscheiden sich stark

Mehr

Softwareprojekte mit Kultur

Softwareprojekte mit Kultur Maven Softwareprojekte mit Kultur Patrick Zeising Konfigurationsmanagement Motivation Projektaufbau unterschiedlich Abläufe zum Übersetzen und Deployen unterschiedlich Verwendete Tools, Prozesse, Skripte

Mehr

Der Weisheit letzter Schluss:

Der Weisheit letzter Schluss: Der Weisheit letzter Schluss: Maven 2 in der Java Entwicklung Web Site: www.soebes.de Blog: blog.soebes.de Email: info@soebes.de Dipl.Ing.(FH) Karl Heinz Marbaise Agenda 1. Was ist Maven? 2. Features von

Mehr

Build Management. Präsentation von Daniel Mies daniel.mies@1und1.de

Build Management. Präsentation von Daniel Mies daniel.mies@1und1.de Build Management Präsentation von Daniel Mies daniel.mies@1und1.de Agenda 1&1 Member of United Internet Build Management mit Maven Motivation Kompilieren & Paketieren Dependency Management Software Analyse

Mehr

Seminar - Bericht. Maven Project Management & Comprehension. Fachhochschargau Departement Technik Studiengang Informatik. Gruppe Jonas Weibel

Seminar - Bericht. Maven Project Management & Comprehension. Fachhochschargau Departement Technik Studiengang Informatik. Gruppe Jonas Weibel Seminar - Bericht Maven Project Management & Comprehension Fachhochschargau Departement Technik Studiengang Informatik Gruppe Jonas Weibel Betreuender Dozent Prof. Dr. Dominik Gruntz Windisch, im Januar

Mehr

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012 Buildsystem Maven & Scons Controls Entwicklungsforum Januar 2012 1 2 a call from the past Binary Repository Speichern von Artefakten (z.b. Shared Library und zugehörige Header) Versionierung von Artefakten

Mehr

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de ANT Kurzvortrag von Manuel Schulze mschulze@inf.fu-berlin.de ANT Überblick Teilprojekt der Apache Software Foundation [1] ANT ist Opensource Build-Tool ähnlich wie make (?) jedoch voll auf Java zugeschnitten

Mehr

Automatischer Build mit Maven 2

Automatischer Build mit Maven 2 Automatischer Build mit Maven 2 Stefan Scheidt OPITZ CONSULTING GmbH Ihr Referent Stefan Scheidt Senior Architekt bei der OPITZ CONSULTING GmbH Seit über 10 Jahren im Oracle- und Java-Umfeld tätig Schwerpunkte:

Mehr

Verteilte Systeme (WS 2013/14) Übung 0: Einführung in Maven und Git. Oliver Kleine Institut für Telematik, Universität zu Lübeck

Verteilte Systeme (WS 2013/14) Übung 0: Einführung in Maven und Git. Oliver Kleine Institut für Telematik, Universität zu Lübeck Verteilte Systeme (WS 2013/14) Übung 0: Einführung in Maven und Git Oliver Kleine Institut für Telematik, Universität zu Lübeck Build-Management in JAVA 3 Build-Management? Wozu? Traditionelle manuelle

Mehr

Buildwerkzeuge für Javaprojekte. Christian Bunse Institut für Informatik 03.07.2008

Buildwerkzeuge für Javaprojekte. Christian Bunse Institut für Informatik 03.07.2008 Buildwerkzeuge für Javaprojekte Christian Bunse Institut für Informatik 03.07.2008 Inhalt Der Build Besonderheiten von Javaprojekten Ziele von Buildwerkzeugen Continuous Integration Vorstellung von Buildwerkzeugen

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 12: Metawissen Java Bibliotheken, Maven Robert Jakob Albert-Ludwigs-Universität Freiburg, Germany SS 2013 Robert Jakob (Univ. Freiburg) Programmieren in Java JAVA 1 / 33

Mehr

Software Configuration Management. Referat von Jens Zastrow Software Engineering Projekt WS 2001/2002

Software Configuration Management. Referat von Jens Zastrow Software Engineering Projekt WS 2001/2002 Software Configuration Management Referat von Jens Zastrow Software Engineering Projekt WS 2001/2002 Inhalt Motivation SCM-Aufgaben Item-Identifikation Identifikation Version/Release Management Change

Mehr

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

1. Ausgangslage. 2. Bisheriger Build- und Deployment-Prozess

1. Ausgangslage. 2. Bisheriger Build- und Deployment-Prozess Modernisierung des Entwicklungsprozesses - ein Projektbericht Markus Heinisch Principal Consultant September 2013 Neue und höhere Anforderungen an eine Entwicklungsabteilung eines Finanzinstituts erfordern

Mehr

Einführung in Maven und GWT

Einführung in Maven und GWT Einführung in Maven und GWT Prof. Christoph Knabe Beuth-Hochschule Berlin 08.05.2014 Gliederung Motivation für Build-Werkzeug Maven-Ziele, Begriffe Maven-Benutzung in 5 min Maven-Vorteile GWT-Ziele GWT-Projekt

Mehr

Software Engineering. 13. Configuration Management. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering. 13. Configuration Management. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 13. Configuration Management Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 13. Configuration Management 2 Übersicht Dokumentation, Installationssoftware, etc.

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

Build-Prozesse für Geschäftsanwendungen mit Apache Maven

Build-Prozesse für Geschäftsanwendungen mit Apache Maven Build-Prozesse für Geschäftsanwendungen mit Apache Maven Was sind eigentlich Geschäftsanwendungen? Geschäftsanwendungen (z.b. ERP) potenziell viele Benutzer in unterschiedlichen Rollen und unterschiedlichen

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

Apache Subversion (SVN)

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

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

Permanente Integration Einstellung und Prozess versus Werkzeuge

Permanente Integration Einstellung und Prozess versus Werkzeuge Consulting Guild AG Methodenberatung für Projekte im 21. Jahrhundert Permanente Integration Einstellung und Prozess versus Werkzeuge Inhalt: Einleitung 1 Worum geht's hier überhaupt? 2 Überblick 2 Permanente

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

Referent: Thomas Storch (FI für Anwendungsentwicklung, 1. Lj.) Vortrag: Apache Maven. Datum: 25.04.2012. Deutsche Software Engineering & Research GmbH

Referent: Thomas Storch (FI für Anwendungsentwicklung, 1. Lj.) Vortrag: Apache Maven. Datum: 25.04.2012. Deutsche Software Engineering & Research GmbH Referent: Thomas Storch (FI für Anwendungsentwicklung, 1. Lj.) Vortrag: Apache Maven Datum: 25.04.2012 Deutsche Software Engineering & Research GmbH Steinstraße 11 02826 Görlitz Germany Telefon: +49 35

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

URT Eclipse All in one

URT Eclipse All in one URT Eclipse All in one Das Paket Eclipse All in one enthält Programme und Einstellungen, die zum Programmieren mit Eclipse in Zusammenarbeit mit Subversion und ANT benötigt werden. Dieses Paket dient als

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

1 Software-Configurationsmanagement (SCM)

1 Software-Configurationsmanagement (SCM) Inhaltsverzeichnis Vorlesungsplan 1. Einstieg OO 2. Modellierung (UML) 3. Design (Designmuster) 4. Implementierung (GUI-Programmierung) 5. Spezifikation (Design by Contract) 6. Qualitätssicherung (Korrektheit,

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

Apps-Entwicklung mit Eclipse

Apps-Entwicklung mit Eclipse JDroid mit Eclipse Seite 1 Apps-Entwicklung mit Eclipse Version 1.1, 30. April 2013 Vorbereitungen: 1. JDK installieren JDK SE neuste Version (64 oder 32 Bit) herunterladen und installieren (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Softwaretests. Werkzeuge zur Automatisierung. Thementag Wer testet, ist feige. Autor: für 24.06.2009. Markus Alvermann.

Softwaretests. Werkzeuge zur Automatisierung. Thementag Wer testet, ist feige. Autor: für 24.06.2009. Markus Alvermann. Softwaretests Werkzeuge zur Automatisierung für Thementag Wer testet, ist feige 24.06.2009 Autor: Markus Alvermann Seite 2 / 39 Agenda Motivation Versionsverwaltung Build-Tools Unit-Tests GUI-Tests Continuous

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

Software Engineering. 14. Build und Deployment. Franz-Josef Elmer, Universität Basel, WS 2006/07

Software Engineering. 14. Build und Deployment. Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering 14. Build und Deployment Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering: 14. Build und Deployment 2 Übersicht Dokumentation, Installationssoftware, etc. Source

Mehr

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 1. Benötigte Software Zur Erstellung des Installers wird folgende Software benötigt. Es wird sich in dieser Dokumentation

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

Konfigurationsmanagement

Konfigurationsmanagement Konfigurationsmanagement Versionsverwaltung Oktober 2012, Robert Kolb Themen Theorie Konfigurationsmanagement Versionierungsschema Varianten (Branches) Versionsverwaltung Praxis Konfigurationsmanagement

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

Konfigurationsmanagement

Konfigurationsmanagement Konfigurationsmanagement mit Maven 2 Michael Albrecht, Manfred Wolff Michael Albrecht ist Chefarchitekt bei der NEUSTA GmbH und seit 2002 mit der Entwicklung und der Architektur von Java EE Projekten beschäftigt.

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

Build-Management. Der Einsatz von Make, Ant und Maven und Co. Prof. Dr. Nikolaus Wulff

Build-Management. Der Einsatz von Make, Ant und Maven und Co. Prof. Dr. Nikolaus Wulff Build-Management Der Einsatz von Make, Ant und Maven und Co. Prof. Dr. Nikolaus Wulff Integrierter Arbeitsplatz Eine IDE wie Eclipse, JBuilder oder NetBeans unterstützt die alltägliche Arbeit. Sie bietet

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

Migrationsanleitung von 2.0 auf 2.1

Migrationsanleitung von 2.0 auf 2.1 Die wichtigste Neuerung von 2.0 auf 2.1 aus Sicht der Anwendungs- Migration ist die Verwendung von Maven. Mit Maven holt sich die Anwendung alle notwendigen Bibliotheken in den jeweils angegebenen Versionen

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

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Office Integration. M. Friedrichs, DEVWARE GmbH 2.0.17

Office Integration. M. Friedrichs, DEVWARE GmbH 2.0.17 Projekt SharePoint Toolbox 2010 Office Integration Dokumententyp Dokumentation Autor Version M. Friedrichs, DEVWARE GmbH 2.0.17 Vom 03.07.2013 Letzte Bearbeitung 03.07.2013 Seite 2 1. EINLEITUNG... 4 2.

Mehr

Allgemeines. Architektur der Anwendung. Server starten. Anmeldung

Allgemeines. Architektur der Anwendung. Server starten. Anmeldung Allgemeines Architektur der Anwendung Grundsätzlich führen viele Wege nach Rom bzw. es gibt nicht den einen Weg, wie die gestellte Aufgabe mit Magnolia gelöst werden muss. Es wäre problemlos möglich, eine

Mehr

JBuilderX: Installation und Kurzanleitung (Windows)

JBuilderX: Installation und Kurzanleitung (Windows) JBuilder X Seite 1 JBuilderX: Installation und Kurzanleitung (Windows) 1. JBuilder installieren Eine Gratis-Version kann von der Webseite www.borland.de heruntergeladen werden. Systemvoraussetzungen: 256

Mehr

JDroidLib mit Eclipse (Mac/Linux/Windows)

JDroidLib mit Eclipse (Mac/Linux/Windows) JDroidLib mit Eclipse (Mac/Linux/Windows) Version 1.3, 25. März 2013 (Unter Windows besser die ADT-Bundle Version installieren, siehe entsprechende Anleitung) Vorbereitungen: 1. JDK SE neuste Version installieren,

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

TERRA X5.Filialabgleich Client

TERRA X5.Filialabgleich Client TERRA X5.Filialabgleich Client Inhaltsverzeichnis TERRA X5.Filialabgleich Client...1 Installation...3 Mindestvoraussetzungen...3 Der erste Start / die Konfiguration...4 Das Hauptfenster...5 Installation

Mehr

Business Value-Driven Management and IT Consulting. Erfolgreiches Build- und Release-Management in großen Projekten

Business Value-Driven Management and IT Consulting. Erfolgreiches Build- und Release-Management in großen Projekten Business Value-Driven Management and IT Consulting Erfolgreiches Build- und Release-Management in großen Projekten Stefan M. Heldt Holger Koschek Holisticon AG 20. April 2007 stefan.heldt@holisticon.de,

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

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein.

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Pfade einstellen Stand: Dezember 2012 Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Diese Anleitung soll zeigen, wie man Pfad-Favoriten

Mehr

Builddreikampf: Ant, Maven und Gradle. Sven Bunge / Carl Düvel

Builddreikampf: Ant, Maven und Gradle. Sven Bunge / Carl Düvel Builddreikampf: Ant, Maven und Gradle Sven Bunge / Carl Düvel holisticon AG Wettkampfplan 1. Die Regeln 2. Vorstellung der Kandidaten 3. Ring frei die Disziplinen! 1. Dependency Management 2. Multiprojektsupport

Mehr

Automatisierte Regressionstests per Knopfdruck sparen Zeit und Ressourcen sichern die Qualität schonen die Nerven

Automatisierte Regressionstests per Knopfdruck sparen Zeit und Ressourcen sichern die Qualität schonen die Nerven Automatisierte Regressionstests per Knopfdruck sparen Zeit und Ressourcen sichern die Qualität schonen die Nerven Dipl.-Inf (FH) Matthias Müller 09.06.2010 Regressionstests Unter einem Regressionstest

Mehr

Oberseminar Software-Entwicklung: Maven. Das Software-Projekt-Verwaltungspragramm - Maven. Oberseminar Software-Entwicklung. Autor: Martin Hoffmann

Oberseminar Software-Entwicklung: Maven. Das Software-Projekt-Verwaltungspragramm - Maven. Oberseminar Software-Entwicklung. Autor: Martin Hoffmann Das Software-Projekt-Verwaltungspragramm - Maven Oberseminar Software-Entwicklung Autor: Martin Hoffmann 1/13 Inhaltsverzeichnis Oberseminar Software-Entwicklung: Maven 1. Einführung...3 2. Der Ansatz

Mehr

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates RIWA NetUpdater Tool für automatische Daten- und Softwareupdates Grundlegendes... 1 Ausführbare Dateien und Betriebsmodi... 2 netupdater.exe... 2 netstart.exe... 2 netconfig.exe... 2 nethash.exe... 2 Verzeichnisse...

Mehr

Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006

Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006 Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006 Oliver Böhm MKS GmbH Agenda Überblick Der Entwicklungsprozess: Requirements

Mehr

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner c.leithner@celix.at

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner c.leithner@celix.at End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner c.leithner@celix.at www.celix.at September 2015 celix Solutions GmbH Spezialist für Team Collaboration und IT Prozess Management Agile

Mehr

PrivaSphere Secure Messaging Outlook AddIn V.3.0.0 der Infover AG

PrivaSphere Secure Messaging Outlook AddIn V.3.0.0 der Infover AG PrivaSphere Secure Messaging Outlook AddIn V.3.0.0 der Infover AG Technische Dokumentation für Administratoren Das File Version_3.0.0.zip muss in ein Verzeichnis kopiert werden. Die folgenden Dateien werden

Mehr

Maven Tycho. Google Guice. Mylyn für Modelle. 7. bis 11. November 2011. www.jax.de. Eclipse meets. Plus CD! The Westin Grand München Arabellapark

Maven Tycho. Google Guice. Mylyn für Modelle. 7. bis 11. November 2011. www.jax.de. Eclipse meets. Plus CD! The Westin Grand München Arabellapark M Plus CD! JE TZ ER T N! 4.11 Deutschland 9,80 Österreich 10,80, Schweiz sfr 19,20 4.2011 KE Neue Serie: The Making of an Eclipse Project eclipse magazin VO R The Westin Grand München Arabellapark Anmeldung

Mehr

Verwendung der Sharepoint-Portal-Server Website

Verwendung der Sharepoint-Portal-Server Website VDE Prüf- und Zertifizierungsinstitut Version: 2006-09-18 Telefon: 069/8306- Fax: 069/8306- E-Mail: Verwendung der Sharepoint-Portal-Server Website Inhalt: 1 Ziel...1 2 Allgemeine Techniken zur Benutzung

Mehr

Vom lokalen Build zum Deployment

Vom lokalen Build zum Deployment Vom lokalen Build zum Deployment International PHP Conference Manuel Pichler 12.10.2011 Vom lokalen Build zum Deployment 1 / 36 Über mich Diplominformatiker Mehr als 10 Jahre Erfahrung im PHP-Umfeld Autor

Mehr

Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen

Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen für das BMBF-Projekt Modellgetriebene agile Entwicklung für mobile Anwendungen (ModAgile Mobile) Arbeitspaket

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

Erfolgreicher Ums9eg auf Git

Erfolgreicher Ums9eg auf Git CONCEPT PEOPLE IT- TALK Ein Erfahrungsbericht Erfolgreicher Ums9eg auf Git René Preißel (etosquare) Nils Hartmann (Techniker Krankenkasse) VORSTELLUNG René Preißel Freiberuflicher SoGwarearchitekt, Entwickler

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

AVR-Programmierung unter Mac OSX

AVR-Programmierung unter Mac OSX AVR-Programmierung unter Mac OSX im Studiengang BEL3 Lehrveranstaltung Embedded Systems Tutorial ausgeführt von: Jürgen Hausladen A-2460 Bruck/Leitha, Obere Neugasse 6 Wien 01.02.2011 Inhaltsverzeichnis

Mehr

Automatisierte Build-Prozesse in Java-Projekten

Automatisierte Build-Prozesse in Java-Projekten Continuous Integration Referent Olaf Kossak Freiberuflicher Informatiker Studium an der Universität Hamburg Java-Entwickler Teamleiter Qualitätsingenieur Banken, Versicherungen, Großhandel, Telekommunikation,

Mehr

Konfiguration Management System. Konfiguration Management System. Versionierung Parallele Entwicklung Workspace

Konfiguration Management System. Konfiguration Management System. Versionierung Parallele Entwicklung Workspace Konfiguration System ClearCase ClearQuest Unified Change Konfiguration System ClearCase Merkmale eines Konfiguration Systems (KM) Buildoptimierung UCM-Unified Change Der Software-sprozess Projekt definiert

Mehr

Zeiterfassungsanlage Handbuch

Zeiterfassungsanlage Handbuch Zeiterfassungsanlage Handbuch Inhalt In diesem Handbuch werden Sie die Zeiterfassungsanlage kennen sowie verstehen lernen. Es wird beschrieben wie Sie die Anlage einstellen können und wie das Überwachungsprogramm

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

Subversion und Tortoise SVN Tutorial. Quelle: mit freundlicher Genehmigung von sd&m Research

Subversion und Tortoise SVN Tutorial. Quelle: mit freundlicher Genehmigung von sd&m Research Subversion und Tortoise SVN Tutorial Quelle: mit freundlicher Genehmigung von sd&m Research Agenda Agenda Tutorial Troubleshooting und FAQ Weiterführende Informationen Exkurs: Alternativ-Tool zu Tortoise

Mehr

Gemeinsam mehr erreichen.

Gemeinsam mehr erreichen. Gemeinsam mehr erreichen. Oracle ESS 12c Client Application mit ADF ADF Spotlight 6. März 2015 Ihr Ansprechpartner Carsten Wiesbaum Principal Consultant carsten.wiesbaum@esentri.com @CWiesbaum Schwerpunkte:

Mehr

Apps-Entwicklung mit Netbeans

Apps-Entwicklung mit Netbeans JDroid mit Netbeans Seite 1 Apps-Entwicklung mit Netbeans Version 2.2, 30. April 2013 Vorbereitungen: 1. JDK SE neuste Version installieren, (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Agiles Konfigurationsmanagement mit Open-Source-Werkzeugen. Gunther Popp

Agiles Konfigurationsmanagement mit Open-Source-Werkzeugen. Gunther Popp Agiles Konfigurationsmanagement mit Open-Source-Werkzeugen Gunther Popp Gunther Popp arbeitet als freier Softwarearchitekt, Berater und Autor in München Schwerpunkte: Konzeption und Implementierung von

Mehr

Ant in Eclipse Starthilfe

Ant in Eclipse Starthilfe IN DIESER KURSEINHEIT Einleitung o Um was geht's eigentlich? Hello World o Das Ant Skript Mehrere Targets und Properties o Hello World Ausgabe Ant Launch Configurations o Definition o Modifikation o Nutzung

Mehr

intersoft AG Continuous Integration Der einfache Weg zu besserer Software Copyright 2006 by intersoft AG

intersoft AG Continuous Integration Der einfache Weg zu besserer Software Copyright 2006 by intersoft AG intersoft AG Continuous Integration Der einfache Weg zu besserer Software Inhalt Was ist Continuous Integration? Was soll Continuous Integration? Wie geht Continuous Integration? Wie sieht Continuous Integration

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

1. Vorbereiten das Host, folgende Software Pakete müssen installiert werden: gnome-devel bison flex texinfo libncurses5-dev git codeblocks putty

1. Vorbereiten das Host, folgende Software Pakete müssen installiert werden: gnome-devel bison flex texinfo libncurses5-dev git codeblocks putty 1. Vorbereiten das Host, folgende Software Pakete müssen installiert werden: gnome-devel bison flex texinfo libncurses5-dev git codeblocks putty 2. Buildroot installieren Buildroot (www.buildroot.org)

Mehr

Installationsanleitung Tivoli Storage Manager für Mac OS

Installationsanleitung Tivoli Storage Manager für Mac OS 11. März 2009, Version 1.0 Installationsanleitung für Mac OS X Verwaltungsdirektion Informatikdienste Installationsanleitung für Mac OS Inhaltsverzeichnis...1 Installation... 1 Voraussetzungen...1 Version

Mehr

Computergrafik 1 Übung, Wintersemester 2011. Eclipse Hands-On. C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10.

Computergrafik 1 Übung, Wintersemester 2011. Eclipse Hands-On. C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10. Computergrafik 1 Übung, Wintersemester 2011 Eclipse Hands-On C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10.12 1 Eclipse - Die IDE 1. Entwicklungsumgebung (IDE) herunterladen / installieren

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

15 Mit Feature-Branches entwickeln

15 Mit Feature-Branches entwickeln 123 15 Mit Feature-Branches entwickeln Wenn alle im Team auf einem gemeinsamen Branch entwickeln, entsteht eine sehr unübersichtliche First-Parent-Historie mit vielen Merge- Commits. Dadurch wird es schwierig,

Mehr

Konfigurationsmanagement

Konfigurationsmanagement Konfigurationsmanagement Seminar Simulation und Bildanalyse mit Java SS04 Andreas Stieger Motivation Konfigurationsmanegement Zusammenarbeit mehrerer Entwickler komplexe Softwareprojekte Sourcen, Dokumente,

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

Standard Daten-Backup-Script

Standard Daten-Backup-Script Inhaltsverzeichnis 1. Installations-Anleitung... 2 2. Ausführen manuelle Backups... 5 3. Backup-Script beim Abmelden ausführen... 6 4. Backup-Script zum Task-Planer hinzufügen... 8 2010 web-net.ch, Seite

Mehr

Hex Datei mit Atmel Studio 6 erstellen

Hex Datei mit Atmel Studio 6 erstellen Hex Datei mit Atmel Studio 6 erstellen Es werden generell keine Atmel Studio Dateien ins Repository geladen, da jeder seine Dateien an anderen Orten liegen hat und weil nicht jeder das Atmel Studio 6 benutzt.

Mehr

Webtests mit Selenium, Groovy, TestNG und Maven

Webtests mit Selenium, Groovy, TestNG und Maven mit Selenium, Groovy, TestNG und Maven Im ersten Teil dieser Artikelserie [1] wurden Testkonzepte und Selenium [2] näher vorgestellt. Dieser zweite Teil stellt die Integration in ein Projekt vor und rundet

Mehr

DataNAUT 4.x Server-Installation

DataNAUT 4.x Server-Installation DataNAUT 4.x Server-Installation Dieses Dokument beschreibt, wie Sie aus einer lokalen Installation von DataNAUT 4.x in ein zentral gemanagtes System mit einem MS-SQL Server umziehen. Diesen und weitere

Mehr

RELEASE AUF KNOPFDRUCK: MIT CONTINUOUS DELIVERY KOMMEN SIE SCHNELLER ANS ZIEL.

RELEASE AUF KNOPFDRUCK: MIT CONTINUOUS DELIVERY KOMMEN SIE SCHNELLER ANS ZIEL. RELEASE AUF KNOPFDRUCK: MIT CONTINUOUS DELIVERY KOMMEN SIE SCHNELLER ANS ZIEL. Die Erwartungen Ihrer Businesskunden an ihre IT steigen. Mehr denn je kommt es darauf an, die Software optimal am Kunden auszurichten

Mehr

Build My Plug-in! >> Innerhalb der Eclipse IDE werden Plugins. In wenigen Schritten zum automatisierten PDE Build. Praxis

Build My Plug-in! >> Innerhalb der Eclipse IDE werden Plugins. In wenigen Schritten zum automatisierten PDE Build. Praxis Praxis Build-Prozess von Eclipse Plug-ins In wenigen Schritten zum automatisierten PDE Build Build My Plug-in! >> NILS HARTMANN UND GERD WÜTHERICH Mit dem PDE Build stellt die Eclipse IDE ein mächtiges

Mehr

Ant - das Java Build-Tool

Ant - das Java Build-Tool Hauptseminar Ant - das Java Build-Tool Funktionalität, Mächtigkeit und Praxiserfahrungen Betreuer: Vortragender: Dipl.Inf. Thorsten Strufe Christoph Lühr Gliederung Build-Tools Aufgaben und Probleme Ant

Mehr

Ein ganz normaler Tag. Eclipse und Ich

Ein ganz normaler Tag. Eclipse und Ich Ein ganz normaler Tag Eclipse und Ich 2008 Bredex GmbH Version 2.3 Agenda Motivation 08:32 Uhr Los geht s 08:47 Uhr Einstieg in die tägliche Arbeit 08:48 Uhr Support 09:30 Uhr Standup Meeting 10:12 Uhr

Mehr

If knowledge matters DOKUMENTENERSTELLUNG MIT SHAREPOINT LIBRARIES

If knowledge matters DOKUMENTENERSTELLUNG MIT SHAREPOINT LIBRARIES If knowledge matters DOKUMENTENERSTELLUNG MIT SHAREPOINT LIBRARIES Das Erstellen von Dokumenten mit Sharepoint Libraries bietet eine Reihe von Vorteilen gegenüber der traditionellen Arbeitsweise und dem

Mehr

Continuous Integration mit Jenkins

Continuous Integration mit Jenkins Continuous Integration mit Jenkins Christian Robert anderscore GmbH Senior Software Engineer Frankenwerft 35 christian.robert@anderscore.com 50677 Köln www.anderscore.com FrOSCon 2012 Christian Robert

Mehr

IMBA. Installationsanleitung. SQL Server-Datenbankadapter. Das Instrument für den fähigkeitsgerechten Personaleinsatz

IMBA. Installationsanleitung. SQL Server-Datenbankadapter. Das Instrument für den fähigkeitsgerechten Personaleinsatz Das Instrument für den fähigkeitsgerechten Personaleinsatz IMBA SQL Server-Datenbankadapter Installationsanleitung gefördert durch das Bundesministerium für Gesundheit und Soziale Sicherung Vorbereitung

Mehr

IKONIZER II Installation im Netzwerk

IKONIZER II Installation im Netzwerk Der IKONIZER II ist netzwerkfähig in allen bekannten Netzwerken. Da jedoch etwa 95% der Installationen lokal betrieben werden, erfolgt diese grundsätzlich sowohl für das Programm wie auch für den lizenzfreien

Mehr

Handbuch TweetMeetsMage

Handbuch TweetMeetsMage Handbuch TweetMeetsMage für Version 0.1.0 Handbuch Version 0.1 Zuletzt geändert 21.01.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Voraussetzungen... 3 1.2 Funktionsübersicht... 3 2 Installation... 4

Mehr