3. Versionsmanagement. Typischer Weg der Software-Entwicklung

Größe: px
Ab Seite anzeigen:

Download "3. Versionsmanagement. Typischer Weg der Software-Entwicklung"

Transkript

1 3. Versionsmanagement Typischer Weg der Software-Entwicklung Inkrementelle Entwicklungsschritte Varianten der Versionskontrolle Repository Typischer Arbeitszyklus Auflösung von Konflikten Literatur: [CFP07] B. Collins-Sussman, B. W. Fitzpatrick, C. M. Pilato, Version Control with Subversion, [als PDF von Subversion-Webseite frei verfügbar, Aufgabenteil auswählen Programmstück kodieren Programmstück testen läuft nicht fertig fertig kleiner Fehler Fehler unklar kleine Überarbeitung Umstrukturierung Korrekturversuch Einbau/Nutzung von Debuginformationen kleine Lösungsvariante große Lösungsvariante Software-Versionen Software entwickelt sich inkrementell, bei Versuchen muss der Weg zurück möglich sein Versionsbaum Paket 1 V 1 V 2 V 3 V 4 V 5 Paket 2 V 1 V 2 V 3 V 4 V 5 V 6 Paket 3 V 1 V 2 V 3 V 4 V 5 Inkrement 1 V 6 V 7 Inkrement 2 Verwaltung von Software Die gemeinsame Entwicklung von Software hat u. a. folgende Aufgaben zu lösen: wie kann ein Entwickler seine eigene Softwareentwicklung koordinieren wie bekommen andere Entwickler mit, was der aktuelle Entwicklungsstand ist wie wird aus den einzelnen Dateien effizient das lauffähige System kompiliert Die ersten beiden Fragen beantwortet ein Versionskontrollsystem die letzte Frage fordert die Erweiterung zum Softwarekonfigurationsmanagementsystem (-> Ant) 50 51

2 Versionskontrolle: konservative Variante Dateien werden zentral im Repository verwaltet Entwickler checkt zu ändernde Software aus Entwickler erhält damit lokale Kopie zur Bearbeitung Während der Entwickler an der Software arbeitet, kann niemand anderes diese Software bearbeiten (erhält die Situation klärenden Hinweis) Entwickler checkt lokale Kopie (mit Änderungsverweis) wieder ein; jeder kann diese Kopie zur erneuten Bearbeitung auschecken Vorteil: garantiert nur ein Bearbeiter Nachteile: keine gleichzeitige Arbeit an unterschiedlichen Programmstellen, wartende Entwickler, vergessenes Einchecken Realisierung von Repository sehr unterschiedlich lösbar (Datenbanksystem, Aufsatz auf Filesystem) Hinweis: Generell sollte das Einchecken mit einer Prüfung verbunden sein 52 Versionskontrolle: progressive/chaotische Variante Dateien werden zentral im Repository verwaltet Entwickler checkt zu ändernde Software aus Entwickler erhält damit lokale Kopie zur Bearbeitung andere Entwickler können gleichen Programmcode auschecken erst beim Einchecken wird geprüft, ob seit dem Auschecken zwischenzeitliche neue Version eingecheckt wurde, wenn ja, passiert Versionsabgleich, Konflikt muss gelöst werden Vorteil: massive parallele Arbeit wird möglich, kein Ausbremsen anderer Entwickler Nachteil: Chaos bei häufig veränderten Ressourcen Lösung: für selten genutzte Dateien progressiver, für sehr kritische oder häufig genutzte Dateien konservativer Ansatz bisher Open Source: progressiv, kommerziell: konservativ 53 Übungsaufgabe Ein klassisches Problem der Versionierung ist der Fall, dass ein Entwickler X alleine bearbeitet, ein anderer Entwickler Y alleine bearbeitet und beide (ohne Probleme) ihre Änderungen einchecken. Das alte Programm lief ohne Probleme, die neue Variante läuft nicht, da gegenseitige Abhängigkeiten nicht berücksichtigt worden. Schreiben Sie ein einfaches lauffähige Programm mit den Klassen A und B. Überlegen Sie sich Änderungen von A nach A und von B nach B, so dass A mit B und A mit B ohne Probleme laufen, A mit B zusammen aber nicht läuft. Versionsmanagementsysteme Subversion (SVN) ( Git ( Concurrent Versions System (CVS) ( Mercurial ( Bazaar ( Microsoft Visual Source Safe ( Clearcase ( 142.ibm.com/software/products/de/de/clearcase) Perforce (

3 Repository anlegen Architektur von Subversion [CFP07] Hinweis: Sie werden bei der Arbeit mit Subversion typischerweise nur sehr wenige Befehle benötigen, hier werden weitere Befehle vorgestellt, die das Üben auf dem eigenen Rechner ermöglichen. Dabei immer das lesenswerte freie Buch [CFP07] beachten Hinweis: Anlegen passiert durch zentralen Administrator (FH- Regelung im Praktikum) G:\> svnadmin create /svnrepos hier wird u. a. eine Datenbank angelegt, diesen Ordner nie von Hand bearbeiten svnadmin ist Administrationswerkzeug und wird von einfachen Nutzern nie genutzt Repository in Ordnerstruktur organisiert, diese Ordner werden vom Nutzer selbst angelegt Man beachte, dass immer / genutzt werden muss Einspielen der Daten Es werden lokale Daten in das Repository eingespielt Zentrale Versionsmanagementaufgabe: Sinnvolle Dateistruktur für das Projekt anzulegen Typischerweise werden generierbare Dateien (*.class) nicht unter Versionskontrolle genommen, evtl. sinnvoll, fertige Releases vollständig einzuchecken (mit Executable), dieses aber nicht veränderbar Daten vor dem Einspielen in eine sinnvolle Repository-Struktur bringen G:\>svn import g:/antspiel/src file:///g:/svnrepos/mvc/source -m:"ausgangsdaten" file steht für lokales Verzeichnis, hier normalerweise URL file://localhost/svnrepos file:///g:/svnrepos oder "file:///g /svnrepos" Hinweis: import Befehl wird nur einmal für Daten genutzt, danach zum Ändern immer die folgenden Befehle nutzen 58 Auschecken der Daten Ansatz: Daten werden immer aus Repository in lokalen Ordner kopiert G:\arbeit>svn checkout file:///g:/svnrepos/mvc/source quelle A quelle/de A quelle/de/kleuker A quelle/de/kleuker/xview.java A quelle/de/kleuker/xmodel.java A quelle/de/kleuker/xcontroller.java A quelle/de/kleuker/xstarter.java A quelle/de/kleuker/xmodellistener.java Ausgecheckt, Revision 1. G:\arbeit>dir quelle :28 <DIR> :28 <DIR> :28 <DIR>.svn :28 <DIR> de.svn ist zentrales Verwaltungsverzeichnis zum Erkennen von Änderungen (verwaltet u. a. den Stand beim Auschecken) Danach ist lokale Bearbeitung der Dateien möglich 59

4 Einchecken der Daten ausgecheckte Dateien beliebig veränderbar löschen, kopieren und verschieben, an Subversion melden Mit commit können ganze Verzeichnisse eingecheckt werden, man kann aber auch Dateien angeben (nur Neues wird kopiert), z. B. (ohne m mit Kommentar oder f File nicht ausführbar) G:\arbeit\quelle\de\kleuker>svn commit XView.java -m"groesse angepasst" Sende XView.java übertrage Daten. Revision 2 übertragen. G:\arbeit\quelle\de\kleuker>svn commit -m"groesse 450" Sende kleuker/xview.java übertrage Daten. Revision 3 übertragen. Bei Problemen wird das Einchecken nicht durchgeführt Einchecken ist atomar (ganz oder gar nicht) Datenunterschiede erkennen diff-befehl zeigt zeilenweise Unterschiede (bei eigener Arbeit, aber auch zwischen zwei Dateien), hier XStarter.java bearbeitet G:\arbeit\quelle\de\kleuker>svn diff XStarter.java Index: XStarter.java ================================================== --- XStarter.java (Revision 8) +++ XStarter.java -3,9 public class XStarter { public static void main(string[] args) { - XModel x= new XModel(); - new XView(x); - new XController(x); + XModel xmodel= new XModel(); + new XView(xmodel); + new XController(xmodel); Konfliktbearbeitung (1/5) Annahme: wir bearbeiten XStarter.java, diese Datei wurde nach uns von anderem Entwickler zwischenzeitlich eingecheckt G:\arbeit\quelle\de\kleuker>svn commit XStarter.java -m"variablennamen angepasst" Sende XStarter.java svn: übertragen fehlgeschlagen (Details folgen): svn: Out of date: '/MVC/source/de/kleuker/XStarter.java' in transaction '6' Lösungsansatz: Zunächst eigene Dateien aktualisieren G:\arbeit\quelle\de\kleuker>svn update G XStarter.java Aktualisiert zu Revision 5. U: selbst nicht bearbeitet, aber neue Version im Repository G: lokal und im Repository bearbeitet, von Subversion gelöst (merge) [???!!!] C: selbst bearbeitet und im Repository bearbeitet, Subversion hat keinen Lösungsvorschlag 62 Konfliktbearbeitung (2/5) merge muss kontrolliert werden (Änderungen an unterschiedlichen Stellen) hier Ergebnis (überlegen Sie, was anderer Implementierer gemacht hat): public class XStarter { public static void main(string[] args) { XModel xmodel= new XModel(); new XView(xmodel); new XController(xmodel); new XView(x); // zweiter View new XController(x); // zweiter Controller 63

5 Konfliktbearbeitung (3/5) Bei erkanntem Konflikt auf Datei XStarter.java werden bei update folgende Dateien angelegt G:\arbeit\quelle\de\kleuker>svn update C XStarter.java Aktualisiert zu Revision 11. G:\arbeit\quelle\de\kleuker>dir XStarter.* : XStarter.java : XStarter.java.mine : XStarter.java.r : XStarter.java.r11.java.mine: unsere aktuelle Variante (falls.java verändert).r<alt>: Version beim Auschecken.r<neu>: aktuelle Version aus dem Repository.java: unsere Datei mit Konfliktmarkierungen (wenn Subversion Überarbeitung für möglich hält) Nutzer muss dann von Hand die wünschenswerte Lösung komponieren (diff ist hilfreich) 64 Konfliktbearbeitung (4/5) Beispiel für Konfliktbeschreibung in Datei package de.kleuker; public class XStarter { public static void main(string[] args) { XModel xmodel= new XModel(); <<<<<<<.mine new XView(xmodel); new XController(xmodel); new XView(xmodel); new XController(xmodel); ======= XView[] views= {new XView(xmodel), new XView(xmodel); new XController(xmodel); for(int i=0;i<2;i++) views[i].setlocation(0+i*500,0); >>>>>>>.r11 65 Konfliktbearbeitung (5/5) Nutzer überarbeitet Konflikt eine Variante: eigene Änderungen zurückziehen (lokale Dateien automatisch gelöscht) svn revert XStarter.java Konfliktlösung muss Subversion mitgeteilt werden (lokale Dateien automatisch gelöscht) svn resolved XStarter.java ohne Meldung der Lösung kann keine commit erfolgreich sein (theoretisch neues Problem möglich, falls zwischenzeitlich erneut neue Version eingespielt) Generell gilt, dass häufig auftretende Konflikte auf eine mangelnde Projektorganisation oder Kommunikation hindeuten 66 History-Informationen svn log r4 Administrator :59: (Sun, 11 Feb 2007) 1 line ArrayStrukur r3 Administrator :12: (Sat, 10 Feb 2007) 1 line Variablennamen angepasst r2 Administrator :50: (Sat, 10 Feb 2007) 1 line zwei Models und Views r1 Administrator :40: (Sat, 10 Feb 2007) 1 line Ausgangsdaten Möglichkeit, bestimmte Releases anzusehen: svn log r 4:3 Möglichkeit History einer Datei anzusehen (nur Releases mit Änderung angezeigt) : svn log XModel.java 67

6 Arbeit mit alten Versionen man kann aktuellen Stand mit Revisionen vergleichen svn diff r3 XStarter.java man kann zwei Revisionen vergleichen svn diff r2:3 XStarter.java man kann sich alten Stand ansehen (evtl. umlenken) svn cat r2 XStarter.java svn cat r2 XStarter.java > analysedatei Inhalt des Repository ansehen (-v verbose häufiger nutzbar) G:\arbeit\quelle\de\kleuker>svn list -v file:///g:/svnrepos/mvc/source/de/kleuker 1 Administ 1566 Feb 10 17:16 XController.java 1 Administ 1186 Feb 10 17:16 XModel.java 1 Administ 90 Feb 10 17:16 XModelListener.java 11 Administ 313 Feb 11 09:59 XStarter.java 4 Administ 1223 Feb 10 17:40 XView.java Auschecken einer alten Revisionsnummer (richtigen Ort beachten, danach normal mit commit und update bearbeitbar) svn checkout file:///g:/svnrepos/mvc/source/de -r3 68 Versionsnummern Versionsnummern einzelner Dateien werden bei commit hochgezählt Subversion nutzt Versionsnummern für vollständige Bäume, bedeutet, dass Revisionsnummer für alle Dateien (auch nicht geänderte) hochgezählt wird (anders in anderen Versionsmanagementwerkzeugen) mit Abfrage der History feststellbar, ob Datei überhaupt in der Version geändert wurde Statusabfrage zeigt aktuelle Versionsnummer und in welcher Version letzte Änderung (formal alle in Version 19) G:\arbeit\quelle\de\kleuker>svn status -v Administrator Administrator XView.java Administrator doku Administrator doku/comment.txt 11 1 Administrator XModel.java 11 1 Administrator XController.java Administrator XStarter.java 11 1 Administrator XModelListener.java 69 Status abfragen Vor commit oder update immer sinnvoll, den aktuellen Arbeitsstatus abzufragen, gibt Informationen welche Änderungen durchgeführt wurden A C D M R?! ~ I X Soll hinzugefügt werden (add) Steht in einem Konflikt, muss vor commit gelöst werden Soll gelöscht werden (delete) Inhalt wurde verändert (modify) Soll ersetzt werden (gleicher Name, neuer Inhalt, replace) Befindet sich nicht unter Versionskontrolle (kein Problem) Unter Versionskontrolle, fehlt aber (irrtümlich gelöscht) Typ in Repository und Arbeitsbereich passt nicht Nicht unter Versionskontrolle, Ignorieren vereinbart Nicht versioniert, aber als extern gekennzeichnet 70 Arbeiten an der Dateistruktur Werden Dateistrukturen geändert, so muss dies Subversion mitgeteilt werden, da Dateien sonst nicht unter Versionsverwaltung (Änderungen erst nach commit) Hinzufügen einer Datei oder eines Verzeichnisses (Verzeichnis automatisch rekursiv absteigend, ausschalten mit --nonrecursive), Daten müssen vorher existieren svn add neuedatei Löschen einer Datei oder eines Verzeichnisses svn delete wegdamit Kopieren einer Datei /eines Verzeichnisses (kein *) svn copy quelldatei zieldatei Verschieben einer Datei/ eines Vezeichnisses (kein *) svn move quelldatei neuerquelldateiname Verzeichnis anlegen svn mkdir verzeichnis (einige Befehle direkt auf Repository anwendbar) 71

7 Locking Setzen eines Locks (aktuell nur für Dateien möglich!) svn lock XStarter.java -m "Namen anpassen"»xstarter.java«gesperrt durch»administrator«. [anderer Nutzer] svn lock XStarter.java svn: warnung: Pfad»/MVC/source/src/de/kleuker/XStarter.java«ist bereits durch Benutzer»Administrator«im Dateisystem»g:/svnrepos/db«gesperrt Aufheben eines Locks, entweder mit commit (für alle Dateien eines angegebenen Verzeichnisses) oder svn unlock XStarter.java Erkennen eines Locks (z. B.) svn -v status --show-updates K 3 3 Administrator XStarter.java Neben dem Administrator kann jeder auch ein Lock löschen oder sogar stehlen (schlechter Projektstil) svn lock XStarter.java --force -m "Namen anpassen" evtl. aufräumen: svn cleanup (z. B. Problem, wenn ein Nutzer mehrmals gleiche Dateien auscheckt) 72 Nutzung von Properties Dateien und Verzeichnisse können Properties (Eigenschaften) als Paare Eigenschaftsname und Wert zugeordnet werden Properties stehen unter Versionskontrolle Es gibt Systemproperties (eigene dürfen deshalb nicht mit svn: beginnen Setzen (und ändern) von Properties svn propset lizenz 'free' XModel.java Lesen von Properties svn propget lizenz XModel.java svn proplist -v XModel.java Löschen von Properties svn propdel lizenz XModel.java 73 Dateien ignorieren Generierte Dateien werden typischerweise nicht unter Versionskontrolle genommen, diese und Hilfsdateien wie ~*, können aus der Verwaltung ausgeschlossen werden es gibt zentrale Möglichkeit für Repository (haben wir nicht) Einstellung über Properties für Verzeichnisse (nicht absteigend gesetzt) svn propset svn:ignore -F ignore.txt kleuker ignore.txt ist Datei mit folgendem Inhalt: (Zeilenumbrüche beachten) Wenn doch alles gezeigt werden soll svn status --no-ignore? ignore.txt I bla.class I x.jar *.class *.jar Verzweigungen In großen Projekten möchte man häufig auf einem stabilen Stand eigene Experimente machen Typisch ist die Möglichkeit, Branches (Verzweigungen) ab einer bestimmten Version anzulegen (nicht Subversion) Subversion-Ansatz: Arbeitsversion als Kopie in Subversion erstellen (diese später synchronisieren und löschen) Direktes Kopieren auf Repository ist möglich svn copy file:///svnrepos/mvc/source file:///g:/svnrepos/mvc/branch -m"lokaler Branch" svn list -v file:///svnrepos/mvc 23 Administ Feb 11 15:09 branch/ 22 Administ Feb 11 15:06 source/ 74 75

8 Zusammenfassung: Typische Arbeitsschritte Am Anfang auschecken (einmal) oder aktualisieren checkout update evtl. Dateien erzeugen, löschen, verschieben add delete copy remove Änderungen analysieren status diff revert Änderungen durchführen commit Konflikte lösen update resolved Man beachte: Lokale Arbeitskopien können einfach gelöscht werden, dann neue Version auschecken 76 Weitere Konfigurationsmanagementaufgaben generell: Verwaltung aller Projektergebnisse, neben Quellcodes Dokumentation Arbeitsplatzstruktur (Dateistruktur des Projekts) Sicherung der benutzen Arbeitsumgebung, z. B. Kopie des verwendeten Betriebssystems Kopie des verwendeten Compilers Kopie der verwendeten Software- Entwicklungsumgebung eventuell alles mit Versionsnummer (z. B. bei Compilerwechsel) Erstellung von Sicherungskopien (wenn Server abbrennt, müssen fast aktuelle Arbeitsergebnisse erhalten bleiben; gibt Internetlösungen) muss jederzeit in der Lage sein, jedes Release in kurzer Zeit wieder herzustellen 77 Subversion und Eclipse = Subversive Subversionverbindung in Eclipse Subversion gut in Eclipse integriert Ansatz: Eclipseprojekt erstellen und dann in den Projektbaum in Subversion (nicht oberste Ebene) einbauen Generell dann Subversion-Nutzung bei Programmierung nur aus Eclipse heraus Shell, z. B. für Befehl svn status, zum Schauen ist erlaubt 78 79

9 Windows-Explorer+Subversion=TortoiseSVN 80 Übung (1/2) [Angaben für UNIX anpassen] 1. Neben dem eigentlichen Projekt-Repository, das Sie nur nutzen können, haben Sie die Möglichkeit, eigene Repositories anzulegen. Legen Sie zum Üben ein Repository unter z:/svnrepos an und spielen Sie ein Java-Projekt, genauer die *.java-dateien, ein. 2. Gehen Sie in ein anderes Verzeichnis, z. B. z:/tmp/svn1 und checken Sie das Projekt aus, probieren Sie die Befehle status, diff, commit und revert mehrfach mit kleinen Dateiänderungen aus. 3. Öffnen Sie eine zweite DOS-Box (cmd), gehen Sie in ein zweites Verzeichnis, z. B. /tmp/svn2 und checken Sie das Projekt aus. Ändern Sie in beiden DOS-Boxen eine Datei und versuchen Sie sie einzuchecken, nutzen Sie die Befehle status, update und resolved. Erzeugen Sie einmal eine Situation, in der Subversion die Dateien automatisch merged und eine Situation, in der Sie den Konflikt von Hand lösen müssen. 81 Übung (2/2) 4. Experimentieren Sie mit den Befehlen add, delete, copy. 5. Stellen Sie in einem Verzeichnis sicher, dass Dateien mit der Endung tmp nicht von Subversion verwaltet werden und prüfen Sie den Erfolg. 6. Setzen Sie und verändern Sie Eigenschaften (Properties) einer Datei. Was passiert, wenn zwei Nutzer unterschiedliche Änderungen machen? 7. Erzeugen Sie in Eclipse ein neues Java-Projekt und spielen Sie (nicht-versionierte) Dateien ein. Stellen Sie das Projekt unter Versionskontrolle und wiederholen Sie die Befehle ab Aufgabe 2 erneut (Sie müssen allerdings nicht erneut auschecken.) 8. Ergänzen Sie in Ihrem Repository ein neues Projekt von Eclipse aus. Ändern Sie eine Datei in Eclipse und außerhalb von Eclipse, checken Sie in Eclipse ein. 9. [Windows: Beschäftigen Sie sich mit den Nutzungsmöglichkeiten von TortoiseSVN] Logging Grundidee Aufbau des Loggings in Java Konfiguration des Loggings systematisches Logging Hinweis: Hier Logging-Klassen aus java.util.logging vorgestellt, gibt Alternativen (log4j, und abstrahierende Frameworks für unterschiedlicher Logger 83

10 Was ist Loggen? Logging erzeugt Nachrichten, die informieren, was im Programm passiert zunächst vergleichbar mit System.out.println() Nachrichten können auf Konsolen oder in Dateien ausgegeben, über Schnittstellen übertragen werden Logging kann in der Entwicklung das Debuggen unterstützen Logging kann beim Kunden Statusnachrichten und Probleme sammeln (Ziel: sinnvoller Fehlerbericht) Grundsätzlicher Ansatz Programm Logger Filter Handler Filter Formatter Ausgabe Software generiert Logging-Nachricht mit Level Logger entscheidet mit Filter ob weiter bearbeitet bei Bearbeitung an angeschlossene n Handler Handler entscheidet mit Filter ob weiter bearbeitet bei Bearbeitung wird Nachricht mit Formatter formatiert und in zugehöriger Ausgabeform ausgegeben (Logger hierarchisch organisiert) Logging-Level Level sind einfache Aufzählung und haben zunächst keine konkrete Bedeutung Level.SEVERE Level.WARNING Level.INFO Level.CONFIG Level.FINE Level.FINER Level.FINEST Nutzer kann Leveln Bedeutung zuordnen Nutzung: LOG.log(Level.INFO, "Hallo") alternativ LOG.info("Hallo") 86 Minibeispiel (1/4) - einfache Logging-Nutzung package myutil; import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.ioexception; import java.util.logging.filehandler; import java.util.logging.filter; import java.util.logging.handler; import java.util.logging.logmanager; import java.util.logging.logrecord; import java.util.logging.logger; public class Global { public static Logger LOG; public static void init(){ LOG = Logger.getLogger("MyLogs"); 87

11 Minibeispiel (2/4) - einfache Logging-Nutzung package geo; import java.util.logging.level; import myutil.global; public class Punkt { private int x; private int y; public Punkt(){ Global.LOG.log(Level.FINEST,"fein fein"); Global.LOG.log(Level.SEVERE,"servieren"); System.out.println("Ruf mich auf"); 88 Minibeispiel (3/4) - einfache Logging-Nutzung package main; import java.util.logging.level; import geo.punkt; import myutil.global; public class Main { public static void spielerei1(){ Global.init(); Punkt p = new Punkt(); System.out.println(Global.LOG.getLevel()); Global.LOG.setLevel(Level.FINEST); p = new Punkt(); public static void main(string[] args) { spielerei1(); 89 Minibeispiel (4/4) - einfache Logging-Nutzung Default-Einstellung (1/2) mit getlogger(<name>) wird eindeutiger Logger über Namen identifiziert; bei Erstnutzung erzeugt Filter im Default-Logger lässt nur Nachrichten ab Level INFO durch Handler bereitet Nachricht zur Konsolen-Ausgabe (System.err) vor Default-Einstellungen stehen in JRE- Unterverzeichnis lib/logging.properties Änderbar über einmaligen LogManager LogManager.getLogManager().readConfiguration(new FileInputStream("mylog.properties")); 90 91

12 Default-Einstellung (2/2) - Ausschnitt # Default global logging level..level= INFO # default file output is in user's home directory. java.util.logging.filehandler.pattern = %h/java%u.log java.util.logging.filehandler.limit = java.util.logging.filehandler.count = 1 java.util.logging.filehandler.formatter = java.util.logging.xmlformatter # Limit the message that are printed on the console # to INFO and above. java.util.logging.consolehandler.level = INFO java.util.logging.consolehandler.formatter = java.util.logging.simpleformatter 92 Beispiel mit eigener Konfigurationsdatei (1/2) #Kopie der Standarddatei, einzige Änderung java.util.logging.consolehandler.level = FINEST In Global.java ergänzt: public static void lokalekonfig(){ try { LogManager.getLogManager().readConfiguration( new FileInputStream("mylog.properties")); catch (SecurityException e) { catch (FileNotFoundException e) { catch (IOException e) { 93 Beispiel mit eigener Konfigurationsdatei (2/2) public static void spielerei2(){ Global.lokaleKonfig(); Global.init(); Punkt p = new Punkt(); System.out.println(Global.LOG.getLevel()); Global.LOG.setLevel(Level.FINEST); p = new Punkt(); 94 Änderung des Default-Verhaltens im Programm standardmäßig Übergabe von Nachrichten an oberen Logger Einstellungsmöglichkeit in Konfigurationsdatei Einstellungsmöglichkeit im Programm, in Global.java public static void keindefaultlogger(){ LOG.setUseParentHandlers(false); // in Main.java public static void spielerei3(){ Global.init(); Global.keinDefaultLogger(); Punkt p = new Punkt(); Global.LOG.setLevel(Level.FINEST); p = new Punkt(); 95

13 Erstellung eigener Filter (1/2) In Global.java public static void machfilter(){ Filter f = new public boolean isloggable(logrecord lr) { System.out.println("Filter: " + lr.getmessage()); return true; ; LOG.setFilter(f); Filter ist Interface Erstellung eigener Filter (2/2) public static void spielerei4(){ Global.init(); Global.keinDefaultLogger(); Global.machFilter(); Punkt p = new Punkt(); Global.LOG.setLevel(Level.FINEST); p = new Punkt(); Klasse LogRecord get- und set-methoden 98 Erstellung eigener Handler (1/2) public static void machhandler(){ Handler h= new public void close() throws SecurityException public void flush() public void publish(logrecord lr) { System.err.println("Handler: "+lr.getmessage() +" "+lr.getsourceclassname()); ; LOG.addHandler(h); 99

14 Erstellung eigener Handler (2/2) public static void spielerei5(){ Global.init(); Global.keinDefaultLogger(); Global.machFilter(); Global.machHandler(); Punkt p = new Punkt(); Global.LOG.setLevel(Level.FINEST); p = new Punkt(); 100 Nutzung vorhandener Handler (1/4) public static void nutzehandler(){ try { LOG.addHandler(new FileHandler("log.xml")); FileHandler fh= new FileHandler( "log.txt",true); fh.setformatter(new SimpleFormatter()); LOG.addHandler(fh); catch (SecurityException e) { catch (IOException e) { übergebener String ist Pattern: "%t" the system temporary directory "%h" the value of the "user.home" system property "%g" the generation number to distinguish rotated logs "%u" a unique number to resolve conflicts "%%" translates to a single percent sign "%" 101 Nutzung vorhandener Handler (2/4) public static void spielerei6(){ Global.init(); Global.keinDefaultLogger(); Global.nutzeHandler(); Punkt p = new Punkt(); Global.LOG.setLevel(Level.FINEST); p = new Punkt(); Nutzung vorhandener Handler (3/4) aus log.xml <?xml version="1.0" encoding="windows-1252" standalone="no"?> <!DOCTYPE log SYSTEM "logger.dtd"> <log> <record> <date> t12:54:37</date> <millis> </millis> <sequence>0</sequence> <logger>mylogs</logger> <level>severe</level> <class>geo.punkt</class> <method><init></method> <thread>10</thread> <message>servieren</message> </record>

15 Nutzung vorhandener Handler (4/4) log.txt Typischer Konstruktor von FileHandler (javadoc) nach zwei Programmdurchläufen :54:37 geo.punkt <init> SCHWERWIEGEND: servieren :54:37 geo.punkt <init> AM FEINSTEN: fein fein :54:37 geo.punkt <init> SCHWERWIEGEND: servieren :02:57 geo.punkt <init> SCHWERWIEGEND: servieren :02:57 geo.punkt <init> AM FEINSTEN: fein fein :02:57 geo.punkt <init> SCHWERWIEGEND: servieren Wann Loggen Grundsätzlich unterscheiden: Entwicklung und Auslieferung Einfacher zentraler Umschalter in einer Konfigurationsdatei (nicht im Code) Kunde möchte keine unverständlichen Details sehen (Start von Web-Server und DB-Servern häufig mit viel Laberei verbunden) Nutzer sollte Logging-Level einfach konfigurieren wichtig, nicht alles speichern Was ggfls. sinnvoll loggen Kritische Ereignisse, z. B. Belegung oder Verbrauch von Ressourcen Zusammenfassende Ergebnisse langer Transaktionen, wie das Einspielen von Datensätzen Kommunikationen, die über Grenzen des entwickelten Systems herausgehen Bereiche, die bei letzten Updates kritisch waren, Bereiche, die bei verschiedenen Kunden zu unterschiedlichen Problemen führen Generell: nicht jedes Mal neue Datei anfangen z. B. zwei Dateien, die zyklisch geschrieben werden und garantierten Speicherplatz behalten

16 5. Vorgehensmodelle 5.1 Phasen der Software-Entwicklung 5.2 Wasserfallmodell 5.3 Prototypische Entwicklung 5.4 Iterative Entwicklung 5.5 Iterativ-inkrementelle Entwicklung 5.6 Allgemeines V-Modell 5.7 Das V-Modell der Bundesrepublik Deutschland 5.8 Rational Unified Process 5.9 Agile Vorgehensmodelle 5.10 Scrum 5.11 Extreme Programming Herausforderungen der SW-Entwicklung 5.1 Software-Systeme sind heutzutage verteilte Anwendungen Anschluss an existierende Software (z.b. SAP, MS Office, bestehende Unternehmenssoftware...) Integration neuer Komponenten in existierende Systeme Erweiterung existierender Systeme eigene Komponenten neues System??? Legacy Systeme Systeme an anderen Standorten?? Systeme anderer Anbieter Die Phasen der SW- Entwicklung Anforderungsanalyse Grobdesign Feindesign Implementierung Test und Integration Erhebung und Festlegung des WAS mit Rahmenbedingungen Klärung der Funktionalität und der Systemarchitektur durch erste Modelle Detaillierte Ausarbeitung der Komponenten, der Schnittstellen, Datenstrukturen, des WIE Ausprogrammierung der Programmiervorgaben in der Zielsprache Zusammenbau der Komponenten, Nachweis, dass Anforderungen erfüllt werden, Auslieferung Wasserfallmodell 5.2 Anforderungsanalyse Grobdesign Feindesign Implementierung Test und Integration Merkmale: Phasen werden von oben nach unten durchlaufen Vorteile: - Plan auch für Nichtexperten verständlich - einfache Meilensteinplanung - lange Zeit am häufigsten eingesetzt Nachteile: - Anforderungen müssen 100%-ig sein - späte Entwicklungsrisiken werden spät erkannt - Qualität des Design passt sich Zeitplan an Optimierung: es ist möglich, in die vorherige Phase zu springen

17 Prototypische Entwicklung 5.3 Grobdesign Feindesign Anforderungsanalyse Implementierung Test und Integration Prototyp Anforderungsanalyse Grobdesign Feindesign Implementierung Test und Integration Merkmale: - potenzielle Probleme frühzeitig identifiziert, - Lösungsmöglichkeiten im Prototypen gefunden, daraus Vorgaben abgeleitet Vorteile: - frühzeitige Risikominimierung - schnelles erstes Projektergebnis Nachteile: - Anforderungen müssen fast 100%-tig sein - Prototyp (illegal) in die Entwicklung übernommen - Kunde erwartet schnell Endergebnis Optimierung: es ist möglich, in die vorherige Phase zu springen 112 Iterative Entwicklung 5.4 Anforderungsanalyse Grobdesign Feindesign Implementierung Test und Integration Merkmale: - Erweiterung der Prototypidee; SW wird in Iterationen entwickelt - In jeder Iteration wird System weiter verfeinert - In ersten Iterationen Schwerpunkt auf Analyse und Machbarkeit; später auf Realisierung große Vorteile: - dynamische Reaktion auf Risiken - Teilergebnisse mit Kunden diskutierbar Nachteile im Detail: - schwierige Projektplanung - schwierige Vertragssituation - Kunde erwartet zu schnell Endergebnis - Kunde sieht Anforderungen als beliebig änderbar 113 Iterativ Inkrementelle Entwicklung (State of the Art) 5.5 Anforderungsanalyse Grobdesign Feindesign Implementierung Test und Integration Bsp.: vier Inkremente Merkmal: - Projekt in kleine Teilschritte zerlegt - pro Schritt neue Funktionalität (Inkrement) + Überarbeitung existierender Ergebnisse (Iteration) - n+1-ter Schritt kann Probleme des n- ten Schritts lösen Vorteile: - siehe iterativ - flexible Reaktion auf neue funktionale Anforderungen Nachteile: - siehe iterativ (etwas verstärkt) Optimierung/Anpassung: Anforderungsanalyse am Anfang intensiver durchführen 114 Fertigstellung mit Iterationen Anforderungsanalyse Grobdesign Feindesign Implementierung Test und Integration Iterationen % Fertigstellungsgrad 100% 115

18 Bekanntheit von Vorgehensmodellen W asserfallm odell V-M odell S piralm odell Inkrem entelle E ntw icklung E volutionäres P rototyping Extrem e Program m ing R U P (R ational U nified Process) keines dieser M odelle genutzte M odelle bekannte M odelle Quelle: Softwareentwicklung läuft nicht auf Zuruf, Computer Zeitung Nr. 46/ Struktur komplexer Vorgehensmodelle 5.6 Aktuelle Vorgehensmodelle, wie V-Modell XT des Bundes (Rational) Unified Process OEP (Object Engineering Process) enthalten Aktivitäten (was soll gemacht werden), Rollen (wer ist wie an Aktivität beteiligt) und Produkte (was wird benötigt; bzw. ist Ergebnis) es gibt Vorschläge für typische Anwendungsszenarien, wie Aktivitäten zu verknüpfen sind Rahmenwerke, am Anfang eines Projekts muss (werkzeuggestützt) bestimmen, welche Aktivitäten, Rollen, Produkte und Reihenfolgen von Aktivitäten für das individuelle Projekt relevant sind (tailoring, d. h. zurecht schneidern, benötigt viel Erfahrung) 117 allgemeines V-Modell manuelle Prüfung manuelle Prüfung manuelle Prüfung Konstruktion Funktionaler Systementwurf Technischer Systementwurf Anforderungsdefinition Komponenten- Spezifikation manuelle Prüfung Anmerkung: wird iterativ / inkrementell zum W-Modell Validierung Validierung Validierung Validierung Programmierung Komponententest Integrationstest Systemtest Abnahmetest Integration 118 V-Modell des Bundes 5.7 Regelung der Softwarebearbeitung (im Bereich der Bundeswehr, des Bundes und der Länder) einheitliche und (vertraglich) verbindliche Vorgabe von Aktivitäten und Produkten (Ergebnissen), Historie: V-Modell 92 (Wasserfall im Mittelpunkt), Überarbeitung V-Modell 97 (Anpassung an inkrementelle Ideen (W-Modell); Forderung nach zu früher Festlegung von Anforderungen) aktuell: V-Modell XT (extreme Tailoring), neuer Erstellung mit Fokus auf Verhältnis von Auftragnehmer und Auftraggeber (starker akademischer Einfluss bei Entwicklung) 119

19 Struktur des V-Modell XT für V-Modell XT-Informationen: Copyright Reserved Bundesrepublik Deutschland Produktorientierung im V-Modell XT Eine Projektdurchführungsstrategie definiert die Reihenfolge der im Projekt zu erreichenden Projektfortschrittsstufen; nutzt Entscheidungspunkte (go, no go) Produkte stehen im Mittelpunkt, sie sind DIE Projektergebnisse Projektdurchführungsstrategien und Entscheidungspunkte geben die Reihenfolge der Produktfertigstellung und somit die grundlegende Struktur des Projektverlaufs vor Die detaillierte Projektplanung und -steuerung wird auf der Basis der Bearbeitung und Fertigstellung von Produkten durchgeführt Für jedes Produkt ist eindeutig eine Rolle verantwortlich und im Projekt dann eine der Rolle zugeordnete Person Die Produktqualität ist überprüfbar durch definierte Anforderungen an das Produkt und explizite Beschreibungen der Abhängigkeiten zu anderen Produkten 121 Entscheidungspunkte des V-Modells XT Beispiel: Projektdurchführungsplan relevant für alle V-Modell-Projekte Organisationsspezifisches V-Modell Schnittstelle Auftraggeber / Auftragnehmer Systementwicklung Projekt genehmigt Projekt definiert Anforderungen festgelegt Projekt ausgeschrieben Angebot abgegeben Vorgehensmodell analysiert Verbesserung Vorgehensmodell konzipiert Verbesserung Vorgehensmodell realisiert Geamtprojekt aufgeteilt Projekt beauftragt System spezifiziert System entworfen Feinentwurf abgeschlossen Gesamtfortschritt überprüft Projektfortschritt überprüft Iteration geplant Abnahme erfolgt Lieferung durchgeführt System integriert Systemelemente realisiert Projekt abgeschlossen (Systementwicklungsprojekt eines Auftraggebers (AG))

20 Beispielaktivität: Anforderungen festlegen Rational Unified Process (RUP) 5.8 Disziplinen Konzeption Entwurf Phasen Konstruktion Inbetriebnahme Geschäftsprozessmodell Anforderungsanalyse Design Implementierung Test Installation Konfigurations- und Änderungsmanagement Projektmanagement Projektumfeld Start nach IBM/Rational: Rational Unified Process Entwurf Iteration 1 Entwurf Iteration 2 Konstruktion Iteration 1 Konstruktion Iteration 2 Iterationen Konstruktion Iteration n Inbetrieb Iteration 1 Inbetrieb Iteration Phasen des RUP inception (Konzeption): Ermittlung zentraler Anforderungen, Projektumfang definieren, erste Entwurfs- und Implementierungsansätze, Identifikation der Projektrisiken und Aufwände elaboration (Ausarbeitung): stabile, möglichst vollständige Anforderungen, Entwurfsspezifikation, detaillierter Projektplan mit aktivem Risikomanagement construction (Konstruktion): Implementierung, Integration, auslieferbare Version transition (Inbetriebnahme): Beta-Test, Endabnahme, Inbetriebnahme, Endlieferung Struktur des RUP strukturiert durch Disziplin Software Engineering Process Arbeitsablauf verfeinert durch beschrieben in bearbeitet Rolle Hilfsmittel verantwortlich für Hilfsmittel Checkliste beschrieben durch Eingabe Aktivität Produkt (Artifact) Ergebnis Werkzeuganleitung Strukturbeschreibung (Template) erstellt mit Hilfe von Arbeitsablaufdetails Hilfsmittel Bericht

21 Kritik an klassischen Vorgehensmodellen 5.9 Es müssen viele Dokumente erzeugt und gepflegt werden Eigene Wissenschaft Modelle wie V-Modelle und RUP zu verstehen und zurecht zu schneidern Prozessbeschreibungen hemmen Kreativität Anpassung an neue Randbedingungen, z. B. neue Technologien (Web-Services) in Prozessen und benutzten Werkzeugen ist extrem aufwändig alternativer Ansatz: Menschen machen Projekte erfolgreich, traue den Menschen => agile Prozesse (vorherige Name: leichtgewichtige Prozesse) Arten von agilen Prozessen (1/2) generell: Methoden lernen von einander; es gibt nicht die eine agile Methode Variante 1: Beschreibung auf Metaprozessebene Grundregeln zur Projektorganisation Vorgehensweisen in Projekten werden vom Team festgelegt Beispiele: Scrum (u. a. Ken Schwaber, Jeff Sutherland) [s. Folien] Crystal Methodenfamilie (Alistair Cockburn) Arten von agilen Prozessen (2/2) Variante 2: Konkrete Prozessbeschreibungen Für verschiedene Phasen der Software- Entwicklung werden konkrete Verfahren vorgeschlagen Abhängigkeiten der Verfahren werden dokumentiert ( wer A macht muss auch B machen ); Möglichkeiten zur individuellen Optimierung Beispiele: extreme Programming (XP) (u. a. Kent Beck, Ward Cunningham) [s. Folien] Dynamic Systems Development Method (Konsortium) 130 Agiles Manifest (Februar 2001) We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas 131

22 Scrum (1/2) 5.10 ( Scrum : Gedränge beim Rugby) Scrum Teams mit maximal 7 Personen mit unterschiedlichen Fähigkeiten, einem Leiter (Scrum Master) Bei größeren Teams: mehrere Teilteams durch Scrum Master koordiniert Zentrales Steuerungselement: Scrum meetings; jeden Tag 15 Minuten: was habe ich seit letztem Meeting gemacht? was werde ich bis zum nächsten Meeting machen? was hat meine Arbeit behindert? Scrum Master ist Koordinator; beseitigt Behinderungen; kommuniziert im Unternehmen Arbeitsablauf im Team wird vom Team selbst geregelt Scrum (2/2) Projektplanung: Eng mit dem Kunden werden Hauptaufgaben identifiziert (Stack mit product backlog) Hauptaufgaben können auch Test von Technologien und die Entwicklung von Prototypen sein Scrum Team schätzt Aufwände; wählt mit Kunden aus product backlog wichtigste nächste Aufgaben für nächste Iteration (heißt sprint) aus Jeder sprint dauert ca. 30 Tage; hat sprint backlog mit priorisierten Aufgaben; sorgt für nicht unterbrochene Arbeitsphase des Teams (Scrum Master kann abbrechen) Nach jedem sprint Analyse mit dem Kunden, was wurde erreicht; wie kann Projekt verbessert werden [zurück Planung] siehe auch: Scrum - Überblick... Product backlog Aufgabe 1 Aufgabe 2... Planung für sprint sprint backlog Teilaufgabe 1 Teilaufgabe 2 Status- Review Scrum-Meeting Arbeitstag sprint 30 Arbeitstage Ideen des Extreme Programming (XP) (1/3) 5.11 Planning User stories are written Release planning creates the schedule Make frequent small releases The Project Velocity is measured The project is divided into iterations Iteration planning starts each iteration Move people around A stand-up meeting starts each day Fix XP when it breaks Designing Simplicity Choose a system metaphor Use CRC cards for design sessions Create spike solutions to reduce risk No functionality is added early Refactor whenever and wherever possible

23 Ideen des Extreme Programming (XP) (2/3) Coding The customer is always available Code must be written to agreed standards Code the unit test first All production code is pair programmed Only one pair integrates code at a time Integrate often Use collective code ownership Leave optimization till last No overtime Testing All code must have unit tests All code must pass all unit tests before it can be released When a bug is found tests are created Acceptance tests are run often and the score is published 136 Ideen des Extreme Programming (XP) (3/3) User Stories Releaseplan Anforderungen Systemidee unklare Annahmen Release- Planung Miniprototyp (Spike) neue User-Story geänderte Randbedingung Kundenzustimmung abgesicherte Annahmen Testfälle Iteration Fehler aktuelle Version nächste Iteration Akzeptanz -tests kleine Releases Quelle der XP-Folien : Varianten: z. B. in der Nutzung von Dokumentation (keine minimal) Architekturansatz 137 Versuch einer Beurteilung von agilen Methoden agile Methoden haben viele Innovationen in verstaubte SW- Entwicklungsprozesse gebracht (etwas Neues; viel neu arrangiertes) Einsetzbarkeit hängt stark von technischen und menschlichen Fähigkeiten des Teams ab große Erfolge möglich, wenn Dream-Team gefunden Aufpassen bei Beratungs-Hype ( XP ist die Zukunft ) Hamburger Berater: Wir haben agile Methoden erfolgreich in Versicherung X eingeführt und manifestiert Projektleiter bei X: Haben neue Ideen zur Optimierung unseres existierenden Prozesses genutzt; konkret übrig geblieben sind Stand-Up-Meetings Agiles Manifest interessant für alle SW-Entwicklungsprozesse Ideen auf andere Ansätze übertragbar Überblick mit Kommentaren in Artikeln von J. Coldewey Generell: Vorgehensmodell muss zum Projekt und den Menschen passen 138

3. Versions- und Konfigurationsmanagement. Typischer Weg der Software-Entwicklung

3. Versions- und Konfigurationsmanagement. Typischer Weg der Software-Entwicklung 3. Versions- und Konfigurationsmanagement Typischer Weg der Software-Entwicklung Inkrementelle Entwicklungsschritte Varianten der Versionskontrolle Repository Typischer Arbeitszyklus Auflösung von Konflikten

Mehr

Herausforderungen der SW-Entwicklung

Herausforderungen der SW-Entwicklung 4. Vorgehensmodelle 4.1 Phasen der Software-Entwicklung 4.2 Wasserfallmodell 4.3 Prototypische Entwicklung 4.4 Iterative Entwicklung 4.5 Iterativ-inkrementelle Entwicklung 4.6 Allgemeines V-Modell 4.7

Mehr

3. Versions- und Konfigurationsmanagement

3. Versions- und Konfigurationsmanagement 3. Versions- und Konfigurationsmanagement Inkrementelle Entwicklungsschritte Varianten der Versionskontrolle Repository Typischer Arbeitszyklus Auflösung von Konflikten Literatur: [CFP07] B. Collins-Sussman,

Mehr

4. Vorgehensmodelle. Herausforderungen der SW-Entwicklung

4. Vorgehensmodelle. Herausforderungen der SW-Entwicklung 4. Vorgehensmodelle 4.1 Phasen der Software-Entwicklung 4.2 Wasserfallmodell 4.3 Prototypische Entwicklung 4.4 Iterative Entwicklung 4.5 Iterativ-inkrementelle Entwicklung 4.6 Allgemeines V-Modell 4.7

Mehr

Sind wir nicht alle ein bisschen agil? Dipl.-Inform. Tammo Freese xpdays, Karlsruhe, 22. November 2004

Sind wir nicht alle ein bisschen agil? Dipl.-Inform. Tammo Freese xpdays, Karlsruhe, 22. November 2004 Sind wir nicht alle ein bisschen agil? Dipl.-Inform. Tammo Freese xpdays, Karlsruhe, 22. November 2004 Das Manifest der agilen Softwareentwicklung Ähnliche Werte bei XP, ASD, Crystal, DSDM, FDD, Scrum,...

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

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

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

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

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

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

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

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Taking RM Agile CLICK TO EDIT MASTER OPTION 1 Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Click to edit Master subtitle style Christian Christophoridis Requirements Management

Mehr

Versionsverwaltung mit Mercurial für Einsteiger

Versionsverwaltung mit Mercurial für Einsteiger Versionsverwaltung mit Mercurial für Einsteiger Chemnitzer Linuxtage 2009 Stefan Schwarzer, SSchwarzer.com info@sschwarzer.com Chemnitz, Germany, 2009-03-14 Versionsverwaltung mit Mercurial für Einsteiger

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

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

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

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Herkömmliche Softwareentwicklungsmodelle vs. Agile Methoden

Herkömmliche Softwareentwicklungsmodelle vs. Agile Methoden vs. Agile Methoden Christoph.Kluck@Student.Reutlingen University.de Medien und Kommunikationsinformatik Agenda Einführung Vorgehensmodelle Herkömmlich agil Resümee Klassische Probleme Nachgereichte Anforderungen

Mehr

Agile Management Einführung in agiles Management

Agile Management Einführung in agiles Management Agile Management Einführung in agiles Management Agile Management Agile Management-Methoden Einführung Agile Management PQRST e.u. - Ing. Erich Freitag Version 25.06.2013 Lernziele Den Unterschied zwischen

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

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

SharePoint Workspace 2010 Installieren & Konfigurieren

SharePoint Workspace 2010 Installieren & Konfigurieren [Geben Sie Text ein] SharePoint Workspace 2010 Installieren & Konfigurieren SharePoint Workspace 2010 Installieren & Konfigurieren Inhalt SharePoint Workspace 2010 Installieren... 2 SharePoint Workspace

Mehr

IT-Projekt-Management

IT-Projekt-Management IT-Projekt-Management email: vuongtheanh@netscape.net http: www.dr-vuong.de 2005 by, Bielefeld Seite 1 Vorgehensmodell 2005 by, Bielefeld Seite 2 Was ist ein Vorgehensmodell? Strukturbeschreibung über

Mehr

WinCVS Version 1.3. Voraussetzung. Frank Grimm fgr@micenet.de http://www.micenet.de. Mario Rasser mario@rasser-online.de http://www.rasser-online.

WinCVS Version 1.3. Voraussetzung. Frank Grimm fgr@micenet.de http://www.micenet.de. Mario Rasser mario@rasser-online.de http://www.rasser-online. WinCVS Version 1.3 Frank Grimm fgr@micenet.de http://www.micenet.de Mario Rasser mario@rasser-online.de http://www.rasser-online.de Voraussetzung 1. Installation von Python (Version >= 2.1) Download von

Mehr

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung Projektmanagement Management- und Phasen-Modelle Vom Wasserfall bis Extreme Programming / Scrum Dokument V 1.1 Wie kommt es zu einem Projektauftrag? Auftraggeber Projekt-Idee / Ziele [Anforderungen/Spezifikation/

Mehr

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind. Wir erledigen alles sofort Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind. agilecoach.de Marc Bless Agiler Coach agilecoach.de Frage Wer hat

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

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

Mercurial. or how I learned to stop worrying and love the merge. Ted Naleid IAIK

Mercurial. or how I learned to stop worrying and love the merge. Ted Naleid IAIK Mercurial or how I learned to stop worrying and love the merge Ted Naleid Inhalt Einleitung Vergleich SVN / Mercurial Mercurial verstehen Zusammenarbeit mit Mercurial Demo Mercurial - Intro Entwickelt

Mehr

ZuuL - Entwicklung eines Adventures

ZuuL - Entwicklung eines Adventures ZuuL - Entwicklung eines Adventures im Rahmen der Uni-Tage 2009 Team 120 Universität Hamburg 16./17. November 2009 Team 120 (Universität Hamburg) ZuuL - Entwicklung eines Adventures 16.11.09 1 / 21 Übersicht

Mehr

Agile Softwareentwicklung mit Scrum

Agile Softwareentwicklung mit Scrum Agile Softwareentwicklung mit Scrum Einführung und Überblick zum agilen Softwareentwicklungsprozess Scrum März 2006 Robert Schmelzer, DI(FH) E-Mail: robert@schmelzer.cc Web: http://www.schmelzer.cc Einführung

Mehr

Die Projek*ools. Files, Git, Tickets & Time

Die Projek*ools. Files, Git, Tickets & Time Die Projek*ools Files, Git, Tickets & Time Agenda Die Abgabe von Dokumenten: Files Das Pflegen von Software: Versionskontrolle mit Git Management von Anforderungen: Tickets Management von Zeit: Time Files

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

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. 4. Methodologien. Franz-Josef Elmer, Universität Basel, HS 2014

Software Engineering. 4. Methodologien. Franz-Josef Elmer, Universität Basel, HS 2014 Software Engineering 4. Methodologien Franz-Josef Elmer, Universität Basel, HS 2014 Software Engineering: 4. Methodologien 2 Wie den Entwicklungsprozess organisieren? Dokumentieren Verwalten Instandhalten

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

Praktische Erfahrungen beim Einsatz des Vorgehensmodells "SCRUM" bei AGFA HealthCare

Praktische Erfahrungen beim Einsatz des Vorgehensmodells SCRUM bei AGFA HealthCare Praktische Erfahrungen beim Einsatz des Vorgehensmodells "SCRUM" bei AGFA HealthCare SCRUM Praktische Erfahrungen beim Einsatz des Vorgehensmodells "SCRUM" eines Entwicklerteams von AGFA HealthCare 2 Praktische

Mehr

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Softwareentwicklungsprozess im Praktikum. 23. April 2015 Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit

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

extreme Programming (XP) Hermann Götz Sergij Paholchak Agenda Was ist XP? Grundprinzipien Der Entwicklungsprozess Die Projektplanung Praktiken Vorteile und Nachteile Wann macht XP Sinn für ein Projekt?

Mehr

Versionsverwaltung für die KU Betriebssysteme. Eine Einführung

Versionsverwaltung für die KU Betriebssysteme. Eine Einführung Versionsverwaltung für die KU Betriebssysteme Eine Einführung 1 1 Versionsverwaltung? Wozu? Nachvollziehbarkeit Wer hat was wann geändert Wiederherstellbarkeit kaputteditiert Wartbarkeit Verschiedene Versionen

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

Torsten Flatter inovex GmbH. "Git.NET" gibt's nicht?

Torsten Flatter inovex GmbH. Git.NET gibt's nicht? Torsten Flatter inovex GmbH "Git.NET" gibt's nicht? Vorstellung Torsten Flatter inovex GmbH.NET / C# seit 2004 VSS, CVS, SVN, TFS, hq, git Enterprise-Umfeld Agenda Überblick Grundlagen Einsatzbereiche

Mehr

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Herzlich willkommen Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Heike Bickert Software-/Systemingenieurin, Bereich Quality Management Braunschweig // 17.11.2015 1 Agenda ICS AG Fragestellungen

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

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

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

Agile Softwareprozess-Modelle

Agile Softwareprozess-Modelle Agile Softwareprozess-Modelle Steffen Pingel Regionale Fachgruppe IT-Projektmanagement 2003-07-03 Beweglich, Lebhaft, Wendig Was bedeutet Agil? Andere Bezeichnung: Leichtgewichtiger Prozess Manifesto for

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

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

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

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

DOKUMENTATION VOGELZUCHT 2015 PLUS

DOKUMENTATION VOGELZUCHT 2015 PLUS DOKUMENTATION VOGELZUCHT 2015 PLUS Vogelzucht2015 App für Geräte mit Android Betriebssystemen Läuft nur in Zusammenhang mit einer Vollversion vogelzucht2015 auf einem PC. Zusammenfassung: a. Mit der APP

Mehr

Scrum. Agile Software Entwicklung mit. Agile Software Entwicklung mit. Scrum. Raffael Schweitzer 18. November 2003

Scrum. Agile Software Entwicklung mit. Agile Software Entwicklung mit. Scrum. Raffael Schweitzer 18. November 2003 Agile Software Entwicklung mit Raffael Schweitzer 18. November 2003 Agenda Einleitung Was ist? Wie funktioniert? Einsatzbereiche Erfolgsfaktoren Fazit Agenda Einleitung Was ist? Wie funktioniert? Einsatzbereiche

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld Sharing. Auf dem Bildschirm sollte folgendes Fenster erscheinen: Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle

Mehr

FastViewer Remote Edition 2.X

FastViewer Remote Edition 2.X FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden

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

Projektmanagement. Dokument V 1.2. Oliver Lietz - Projektmanagement. Probleme bei Projekten

Projektmanagement. Dokument V 1.2. Oliver Lietz - Projektmanagement. Probleme bei Projekten Projektmanagement Agile Methoden: Extreme Programming / Scrum Dokument V 1.2 Probleme bei Projekten Viel Arbeit, die an den Zielen vorbeigeht Viel Dokumentation für f r unbenutzte Bestandteile Fehlende

Mehr

Software-Engineering Grundlagen des Software-Engineering

Software-Engineering Grundlagen des Software-Engineering Software-Engineering Grundlagen des Software-Engineering 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE

Mehr

ANECON. Business Process meets Agile Software Development. DI Ernst Lieber Leiter Geschäftsfeld Softwareentwicklung

ANECON. Business Process meets Agile Software Development. DI Ernst Lieber Leiter Geschäftsfeld Softwareentwicklung ANECON Business Process meets Agile Software Development DI Ernst Lieber Leiter Geschäftsfeld Softwareentwicklung ANECON Software Design und Beratung G.m.b.H. Alser Str. 4/Hof 1 A-1090 Wien Tel.: +43 1

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Adami CRM - Outlook Replikation User Dokumentation

Adami CRM - Outlook Replikation User Dokumentation Adami CRM - Outlook Replikation User Dokumentation Die neue Eigenschaft der Adami CRM Applikation macht den Information Austausch mit Microsoft Outlook auf vier Ebenen möglich: Kontakte, Aufgaben, Termine

Mehr

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen Was bedeutet es, ein Redaktionssystem einzuführen? Vorgehensmodell für die Einführung eines Redaktionssystems Die Bedeutung Fast alle Arbeitsabläufe in der Abteilung werden sich verändern Die inhaltliche

Mehr

Professionelles Projektmanagement mit dem V - Modell XT

Professionelles Projektmanagement mit dem V - Modell XT Professionelles Projektmanagement mit dem V - Modell T Dr. Ingo Zank / IKMT (VT, 04/2007) V-Modell Release 1.2 Ein Seminar des IKMT - Institut für kreatives Management und Training Postfach 330145 14171

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

MailUtilities: Remote Deployment - Einführung

MailUtilities: Remote Deployment - Einführung MailUtilities: Remote Deployment - Einführung Zielsetzung Die Aufgabe von Remote Deployment adressiert zwei Szenarien: 1. Konfiguration der MailUtilities von einer Workstation aus, damit man das Control

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

WOT Skinsetter. Nun, erstens, was brauchen Sie für dieses Tool zu arbeiten:

WOT Skinsetter. Nun, erstens, was brauchen Sie für dieses Tool zu arbeiten: WOT Skinsetter WOT Skinsetter steht für World of Tanks skinsetter (WOTS von nun an). Mit diesen Tool können Sie Skins importieren und ändern, wann immer Sie möchten auf einfache Weise. Als World of Tanks

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

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

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

8. Dokumentenverwaltung mit CVS eine Einführung

8. Dokumentenverwaltung mit CVS eine Einführung 8. Dokumentenverwaltung mit CVS eine Einführung 8.1 Warum CVS? 8.2 Basiskonzepte 8.3 Vorbereitungen 8.4 Anlegen eines neuen Projekts 8.5 Bearbeiten eines Projekts 8. Dokumentenverwaltung mit CVS 8-1 8.1

Mehr

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta! Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Um mehrere Versionsstände parallel betreiben zu können, sollte man die folgenden Hintergründe kennen, um zu verstehen wo ggf. die Hürden liegen.

Mehr

PROJEKTVERZEICHNIS EINRICHTEN

PROJEKTVERZEICHNIS EINRICHTEN Z endstudio ermöglicht das Arbeiten mit der Versionsverwaltungssystem Subversion. In Zusammenarbeit mit TortoiseSVN können wir komfortabel innerhalb des Windows-Explorers unsere Sourcecode-Repositorys

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

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

IBM Software Demos Tivoli Provisioning Manager for OS Deployment Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

SCRUM. Software Development Process

SCRUM. Software Development Process SCRUM Software Development Process WPW 07.08.2012 SCRUM Poster www.scrum-poster.de Was ist Scrum? Extrem Schlanker Prozess 3 Rollen 4 Artefakte Wenige Regeln Die Rollen Product Owner Der Product Owner

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

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

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH MATESO GmbH Daimlerstraße 7 86368 Gersthofen www.mateso.de Dieses Dokument beschreibt die Konfiguration

Mehr

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen Stand: 13.12.2010 Die BüroWARE SoftENGINE ist ab Version 5.42.000-060 in der Lage mit einem Microsoft Exchange Server ab Version 2007 SP1

Mehr

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle IT-Basics 2 DI Gerhard Fließ Vorgehensmodelle Sichtbarkeit Die Sichtbarkeit von Membervariablen und Methoden können durch die folgenden Schlüsselworte geregelt werden: private nur in der eigenen Klasse

Mehr

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de GEVITAS-Sync Bedienungsanleitung Stand: 26.05.2011 Copyright 2011 by GEVITAS GmbH www.gevitas.de Inhalt 1. Einleitung... 3 1.1. Installation... 3 1.2. Zugriffsrechte... 3 1.3. Starten... 4 1.4. Die Menü-Leiste...

Mehr

m.e.d. concept methode erfolg datenverarbeitung V-Modell XT im Überblick 2 V-Modell XT Einführung - Analyse und Roadmap 3

m.e.d. concept methode erfolg datenverarbeitung V-Modell XT im Überblick 2 V-Modell XT Einführung - Analyse und Roadmap 3 Projektmanagement Kompetenztraining V-Modell XT Das V-Modell XT ist urheberrechtlich geschützt, Bundesrepublik Deutschland, 2004, Alle Rechte vorbehalten m.e.d. concept methode erfolg datenverarbeitung

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

Das Wasserfallmodell - Überblick

Das Wasserfallmodell - Überblick Das Wasserfallmodell - Überblick Das Wasserfallmodell - Beschreibung Merkmale des Wasserfallmodells: Erweiterung des Phasenmodells Rückkopplungen zwischen den (benachbarten) Phasen sind möglich Ziel: Verminderung

Mehr

Präsentation einer agilen Methode

Präsentation einer agilen Methode Präsentation einer agilen Methode Adaptive Software Development Rainer Ulrich Überblick 1. Entstehung 2. Einordnung 3. Manifesto for Agile Software Development 4. Ansatz 5. Adaptive Conceptual Model 5.1.

Mehr

10.3.1.10 Übung - Konfigurieren einer Windows-XP-Firewall

10.3.1.10 Übung - Konfigurieren einer Windows-XP-Firewall 5.0 10.3.1.10 Übung - Konfigurieren einer Windows-XP-Firewall Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie erfahren, wie man die Windows XP-Firewall konfiguriert und

Mehr

Eine Anwendung mit InstantRails 1.7

Eine Anwendung mit InstantRails 1.7 Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen

Mehr

objectif Requirements Modeller

objectif Requirements Modeller objectif Requirements Modeller Das ist neu in Version 1.1 1 Inhalt objectif Requirements Modeller das Tool für Requirements Engineering in Software- und Systementwicklung Das ist neu in Version 1.1 Seite

Mehr

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung Avira Management Console 2.6.1 Optimierung für großes Netzwerk Kurzanleitung Inhaltsverzeichnis 1. Einleitung... 3 2. Aktivieren des Pull-Modus für den AMC Agent... 3 3. Ereignisse des AMC Agent festlegen...

Mehr

Sourcecodeverwaltung

Sourcecodeverwaltung Subversion SEP 20 Sourcecodeverwaltung zentrale Verwaltung des Sourcecodes unablässig bei Gruppenarbeit offensichtlich schlecht: Code per Email herumschicken: Aktualität, Vollständigkeit Code in Verzeichnis

Mehr